:root{--bg:#f5f7fa;--surface:#fff;--line:#e1e6ee;--fg:#1a2233;--muted:#5d6a80;--accent:#0c499a;--accent-soft:#e7eef9;--good:#1f7a4d;--good-soft:#e3f3ea;--warn:#9a6a00;--warn-soft:#fbf1d6;--crit:#b3261e;--crit-soft:#fbe4e2;--display:"Manrope", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--r:10px;--shadow:0 1px 2px #141e280d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14181d;--surface:#1d2229;--line:#2c333c;--fg:#e8ebef;--muted:#9aa4b0;--accent:#7fa9e8;--accent-soft:#1b2a44;--good:#5fc08a;--good-soft:#1c2f25;--warn:#e2b64a;--warn-soft:#332a14;--crit:#f08a82;--crit-soft:#3a1f1d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14181d;--surface:#1d2229;--line:#2c333c;--fg:#e8ebef;--muted:#9aa4b0;--accent:#7fa9e8;--accent-soft:#1b2a44;--good:#5fc08a;--good-soft:#1c2f25;--warn:#e2b64a;--warn-soft:#332a14;--crit:#f08a82;--crit-soft:#3a1f1d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--body);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0}.app{grid-template-columns:232px 1fr;min-height:100%;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:2px 6px 16px;display:flex}.brand img{width:auto;height:34px;display:block}.brand b{font:700 14px/1.1 var(--display);display:block}.brand small{color:var(--muted);font-size:11.5px}.nav{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.nav svg{flex:none;width:18px;height:18px}.nav:hover{background:var(--bg);color:var(--fg)}.nav.on{background:var(--accent-soft);color:var(--accent)}.nav .n{background:var(--crit-soft);color:var(--crit);border-radius:99px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.side .grow{flex:1}.user{border-top:1px solid var(--line);color:var(--muted);padding-top:12px;font-size:12.5px}.user b{color:var(--fg);font-weight:600;display:block}.user .row{justify-content:space-between;align-items:center;gap:8px;display:flex}.firma-select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);font:inherit;border-radius:8px;margin-top:8px;padding:7px 8px}.linkbtn{color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}.main{min-width:0;padding:20px 28px 90px}.top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.top h1{font:700 22px/1.2 var(--display)}.top .sub{color:var(--muted);width:100%;margin-top:-8px;font-size:13px}.spacer{flex:1}.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:6px;padding:7px 13px;font-weight:500;display:inline-flex}.btn.p{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--crit)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.nav:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.note{background:var(--accent-soft);color:var(--accent);border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:12.5px}.note.warn{background:var(--warn-soft);color:var(--warn)}.note.crit{background:var(--crit-soft);color:var(--crit)}.note.good{background:var(--good-soft);color:var(--good)}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0;padding:14px 16px}.tile .l{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.tile .v{font:700 clamp(18px, 1.6vw, 24px)/1.1 var(--display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px}.tile .s{color:var(--muted);margin-top:4px;font-size:12px}.tile.crit .v{color:var(--crit)}.tile.warn .v{color:var(--warn)}.tile.good .v{color:var(--good)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.card h2{font:600 15px var(--display);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.card h2 small{color:var(--muted);font-weight:400;font-family:var(--body);font-size:12.5px}.card .body{padding:16px}.card .empty{text-align:center;color:var(--muted);padding:28px 16px}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 16px;font-size:11.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:11px 16px}tr:last-child td{border-bottom:0}tr.row{cursor:pointer}tr.row:hover td{background:var(--bg)}.pill{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}.pill.n{background:var(--bg);color:var(--muted)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:99px;padding:5px 12px;font-size:12.5px}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.form{grid-template-columns:1fr 1fr;gap:12px;padding:16px;display:grid}.form label,.field{color:var(--muted);gap:4px;font-size:12.5px;display:grid}.form input,.form select,.form textarea,.field input,.field select{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--fg);font:inherit;border-radius:8px;padding:9px 10px}.form .full{grid-column:1/-1}.checks{color:var(--fg);flex-wrap:wrap;gap:8px 14px;font-size:13px;display:flex}.checks label{align-items:center;gap:6px;display:inline-flex}.fehler{color:var(--crit);font-size:12.5px}.two{grid-template-columns:1.6fr 1fr;align-items:start;gap:16px;display:grid}.two>*{min-width:0}.kv{grid-template-columns:150px 1fr;gap:6px 12px;margin:0;padding:14px 16px;font-size:13.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.hist{color:var(--muted);margin:0;padding:10px 16px;font-size:12.5px;list-style:none}.hist li{border-bottom:1px solid var(--line);padding:6px 0}.hist li:last-child{border:0}.hist b{color:var(--fg);font-weight:500}.back{color:var(--accent);background:0 0;border:0;margin-bottom:10px;padding:0;font-weight:500;text-decoration:none;display:inline-block}.search{background:var(--surface);border:1px solid var(--line);min-width:180px;max-width:380px;color:var(--muted);border-radius:8px;flex:1;align-items:center;gap:8px;padding:7px 11px;display:flex}.search input{color:var(--fg);font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:0}select.chip{appearance:auto;padding:4px 10px}.cal{background:var(--line);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.wd{background:var(--bg);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;padding:6px 8px;font-size:11px}.day{background:var(--surface);flex-direction:column;gap:3px;min-width:0;min-height:84px;padding:6px;font-size:11.5px;display:flex}.day.off{background:var(--bg)}.day.today .dn{background:var(--accent);color:#fff}.dn{font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:600;display:grid}.ev{white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:1px 5px;font-size:11px;text-decoration:none;display:block;overflow:hidden}.ev.good{background:var(--good-soft);color:var(--good)}.ev.warn{background:var(--warn-soft);color:var(--warn)}.ev.crit{background:var(--crit-soft);color:var(--crit)}.ev.n{background:var(--bg);color:var(--muted)}.form textarea{resize:vertical}@media (max-width:820px){.two{grid-template-columns:1fr}.kv{grid-template-columns:110px 1fr}.day{min-height:56px;padding:3px}.ev{border-radius:3px;height:6px;padding:0;font-size:0}}.auth{place-items:center;min-height:100%;padding:24px 16px;display:grid}.auth .box{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:100%;max-width:400px;padding:28px;box-shadow:0 6px 30px #0c499a14}.auth .box img{width:auto;height:48px;margin:0 auto 14px;display:block}.auth h1{font:700 20px/1.2 var(--display);text-align:center}.auth p.sub{text-align:center;color:var(--muted);margin:6px 0 20px;font-size:13px}.auth form{gap:12px;display:grid}.auth .btn.p{justify-content:center;width:100%;margin-top:4px;padding:10px}.auth .foot{text-align:center;color:var(--muted);margin-top:18px;font-size:12px}.update{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);z-index:50;border-radius:10px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #00000040}.update button{background:var(--accent);color:#fff;border:0;border-radius:7px;padding:6px 12px;font-weight:600}.update .x{color:inherit;opacity:.7;background:0 0;padding:4px}.laden{text-align:center;color:var(--muted);padding:40px}.placeholder{text-align:center;color:var(--muted);padding:48px 16px}.placeholder svg{width:40px;height:40px;color:var(--accent);margin-bottom:10px}.bottom{display:none}.sheet-bg{z-index:40;background:#00000059;position:fixed;inset:0}.sheet{background:var(--surface);padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));z-index:41;border-radius:16px 16px 0 0;grid-template-columns:repeat(4,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.sheet button{background:var(--bg);color:var(--muted);border:0;border-radius:10px;justify-items:center;gap:4px;padding:10px 4px;font-size:11px;display:grid}.sheet button svg{width:22px;height:22px}.sheet button.on{color:var(--accent);background:var(--accent-soft)}@media (max-width:820px){.app{grid-template-columns:1fr}.side{display:none}.main{padding:16px 16px 96px}.tiles{grid-template-columns:1fr 1fr}.tile .v{font-size:19px}.form{grid-template-columns:1fr}.mobil-kopf{align-items:center;gap:10px;margin-bottom:14px;display:flex}.mobil-kopf img{height:28px}.mobil-kopf select{border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;border-radius:8px;flex:1;min-width:0;padding:8px}.bottom{background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));z-index:30;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom button,.bottom a{color:var(--muted);background:0 0;border:0;border-radius:8px;justify-items:center;gap:2px;padding:4px 0;font-size:10.5px;text-decoration:none;display:grid}.bottom svg{width:20px;height:20px}.bottom .on{color:var(--accent)}}@media (min-width:821px){.mobil-kopf{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
