@font-face{font-family:Nunito;src:url(fonts/nunito-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--bg:#f5f7f9;--surface:#fff;--surface-2:#ecf0f3;--line:#dde2e7;--line-strong:#c2c9d0;--fg:#1b2530;--fg-2:#51606c;--fg-3:#6c7884;--blue:#0069b4;--blue-strong:#004a80;--blue-soft:#e8f2fa;--green:#76b82a;--green-strong:#4f7d1c;--green-soft:#f1f8e6;--warn:#9a6a00;--warn-soft:#fdf2cf;--bad:#b4372c;--bad-soft:#fce0dd}
@media (prefers-color-scheme:dark){:root{--bg:#0f1820;--surface:#16212b;--surface-2:#1d2a36;--line:#2a3946;--line-strong:#3a4c5c;--fg:#e6edf3;--fg-2:#a9b6c2;--fg-3:#8796a4;--blue:#5aa3d6;--blue-strong:#95c4e6;--blue-soft:#132c42;--green:#8cc23f;--green-strong:#a4d063;--green-soft:#1a2c12;--warn:#f0c04a;--warn-soft:#33290f;--bad:#f08a80;--bad-soft:#3a1a17;color-scheme:dark}}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 "Open Sans","Segoe UI",system-ui,-apple-system,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
a{color:var(--blue)}
.demo{background:var(--warn-soft);color:var(--warn);font-size:12.5px;padding:6px 16px;text-align:center}
header.top{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none}.brand img{height:32px;width:auto;background:#fff;border-radius:6px;padding:2px 4px}
.brand b{font:700 17px/1.1 Nunito,sans-serif;color:var(--blue-strong)}.brand small{display:block;font-size:11px;color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase}
.wer{font-size:13px;color:var(--fg-2)}
.shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;max-width:1320px;margin:0 auto;padding:22px 16px 48px}
nav.side{display:flex;flex-direction:column;gap:4px;position:sticky;top:80px;align-self:start}
nav.side a{padding:9px 12px;border-radius:12px;color:var(--fg-2);font-weight:600;text-decoration:none}nav.side a:hover{background:var(--surface-2)}nav.side a[aria-current=page]{background:var(--blue-soft);color:var(--blue-strong)}
main{min-width:0;display:flex;flex-direction:column;gap:18px}
h1{font:700 26px/1.2 Nunito,sans-serif;color:var(--blue-strong);margin:0}h2{font-size:16px;margin:0}h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin:0}p{margin:0}.sub{color:var(--fg-2);max-width:70ch}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}.tile:hover{border-color:var(--blue)}
.tile b{font:700 28px/1 Nunito,sans-serif;color:var(--blue)}.tile.rot b{color:var(--bad)}.tile span{font-weight:600}.tile small{color:var(--fg-3)}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;white-space:nowrap}
.c-w{background:var(--green-soft);color:var(--green-strong)}.c-r{background:var(--blue-soft);color:var(--blue-strong)}.c-t{background:var(--warn-soft);color:var(--warn)}.c-n{background:var(--surface-2);color:var(--fg-3)}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap}.p-g{background:var(--green-soft);color:var(--green-strong)}.p-y{background:var(--warn-soft);color:var(--warn)}.p-r{background:var(--bad-soft);color:var(--bad)}.p-n{background:var(--surface-2);color:var(--fg-2)}
.btn{border:1px solid transparent;border-radius:999px;padding:7px 16px;font-weight:600;cursor:pointer;background:var(--blue);color:#fff;white-space:nowrap;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(.94)}.btn.ghost{background:transparent;border-color:var(--line-strong);color:var(--fg)}.btn.green{background:var(--green-strong)}.btn.sm{padding:3px 12px;font-size:12.5px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=search],input[type=number],select,textarea{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;padding:7px 11px;width:100%;min-width:0}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters input{flex:1 1 220px;width:auto}.filters select{width:auto}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:13.5px}th{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:12.5px}.muted{color:var(--fg-3)}
.gesperrt{color:var(--fg-3);font-size:12.5px}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line)}.tabs a{padding:9px 14px;font-weight:600;color:var(--fg-2);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}.tabs a[aria-current=page]{color:var(--blue-strong);border-bottom-color:var(--blue)}.tabs a.zu{color:var(--fg-3)}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 22px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field label{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-weight:700}.field .v{font-weight:600;overflow-wrap:anywhere}
.lockbox{border:1px dashed var(--line-strong);border-radius:18px;padding:26px 18px;text-align:center;color:var(--fg-2)}.lockbox b{display:block;color:var(--fg)}
.note{border-left:3px solid var(--blue);background:var(--blue-soft);padding:10px 14px;border-radius:0 12px 12px 0}.note.warn{border-color:#e0a400;background:var(--warn-soft)}.note.bad{border-color:var(--bad);background:var(--bad-soft)}.note.ok{border-color:var(--green);background:var(--green-soft)}
.schritte{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}.schritte li{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface);font-size:13px;font-weight:600}.schritte li.fertig{background:var(--green-soft);border-color:transparent;color:var(--green-strong)}.schritte li.jetzt{border:2px solid var(--blue);background:var(--blue-soft);color:var(--blue-strong)}
.essen th,.essen td{padding:5px 4px;text-align:center}.essen th:first-child,.essen td:first-child{position:sticky;left:0;background:var(--surface);text-align:left;padding-left:12px;white-space:nowrap;z-index:1}
.tag{width:24px;height:24px;border:1px solid var(--line-strong);border-radius:6px;background:transparent;cursor:pointer;color:transparent;font-size:12px;padding:0}.tag.an{background:var(--green-strong);border-color:var(--green-strong);color:#fff}.tag:disabled{cursor:default;opacity:.7}
.summen{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summen b{display:block;font:700 22px/1.1 Nunito,sans-serif;color:var(--blue-strong)}.summen span{font-size:12.5px;color:var(--fg-3)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline{display:inline}
.login{max-width:420px;margin:48px auto;padding:0 16px;display:flex;flex-direction:column;gap:16px}.login img.qr{width:200px;height:200px;background:#fff;padding:8px;border-radius:12px}
@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:14px}nav.side{position:static;flex-direction:row;overflow-x:auto;border-bottom:1px solid var(--line)}nav.side a{white-space:nowrap}header.top{position:static}.schritte{grid-template-columns:minmax(0,1fr)}h1{font-size:22px}}
.logo-gross{height:56px;align-self:flex-start}.schmal{width:110px!important}header.top select{width:auto}form.row .btn,.note .row{margin-top:8px}fieldset.chips{border:0;padding:0}
