:root{--navy: #0C3B6F;--navy2: #092d55;--blue: #1B74D3;--blue-lt: #EAF2FC;--amber: #B26E0E;--ok: #1a7f37;--ok-bg: #e3f4e8;--warn: #b45309;--warn-bg: #fdf0e0;--crit: #b91c1c;--crit-bg: #fde8e8;--paper: #eef1f5;--card: #ffffff;--line: #e2e6ec;--ink: #1e293b;--muted: #64748b;--faint: #94a3b8;--sh: 0 1px 3px rgba(16, 32, 64, .06), 0 6px 18px rgba(16, 32, 64, .05);--login-grad: linear-gradient(140deg, #0C3B6F 0%, #1B74D3 72%, #3f8ede 100%);--side-grad: linear-gradient(180deg, var(--navy), var(--navy2));--rec-grad: linear-gradient(120deg, var(--navy), #25508f);--side-text: #c7d6ec;--side-foot: #7d9ac2;--row-hover: #f8fafc;--row-line: #f0f2f5;--dash-border: #bcd2ee;--form-bg: #fbfdff}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh}body{background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}input,select,textarea,button{font-family:inherit}a{color:var(--blue)}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:12px}.grid{display:grid;gap:14px}.grid.g2{grid-template-columns:1fr 1fr}.grid.g3{grid-template-columns:1fr 1fr 1fr}.grid.g4{grid-template-columns:1fr 1fr 1fr 1fr}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--sh)}.card h2{color:var(--navy);font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:12px}.card h2 .sub{margin-left:auto;color:var(--faint);font-size:11.5px;font-weight:500}.secT{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:8px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:var(--sh)}.kpi .l{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.kpi .v{font-size:23px;font-weight:800;color:var(--navy);letter-spacing:-.01em}.kpi .d{font-size:11.5px;color:var(--muted)}.kpi .d .up{color:var(--ok);font-weight:700}.kpi .d .dn{color:var(--crit);font-weight:700}.ampel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:var(--sh);cursor:pointer;transition:transform .12s,box-shadow .12s}.ampel:hover{transform:translateY(-2px);box-shadow:0 10px 26px #1020401f}.ampel.ok{border-left:5px solid var(--ok)}.ampel.warn{border-left:5px solid var(--warn)}.ampel.crit{border-left:5px solid var(--crit)}.ampel.neutral{border-left:5px solid #9aa7b5}.ampel .lab{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.ampel .val{font-size:15px;font-weight:800;display:flex;align-items:center;gap:7px;margin:4px 0 2px}.ampel .det{font-size:12px;color:var(--muted)}.dotIc{width:21px;height:21px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.dotIc.ok{background:var(--ok)}.dotIc.warn{background:var(--warn)}.dotIc.crit{background:var(--crit)}.dotIc.neutral{background:#9aa7b5}.chip{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.crit{background:var(--crit-bg);color:var(--crit)}.chip.info{background:var(--blue-lt);color:var(--blue)}.chip.gray{background:var(--paper);color:var(--muted)}.btn{background:var(--blue);color:#fff;border:0;border-radius:9px;padding:8px 15px;font-size:12.5px;font-weight:600;cursor:pointer}.btn:hover{background:var(--navy)}.btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--line)}.btn.ghost:hover{background:var(--blue-lt)}.btn.small{padding:5px 11px;font-size:11.5px}.btn[disabled]{opacity:.4;cursor:default}.btn[disabled]:hover{background:var(--blue)}.btn.ghost[disabled]:hover{background:#fff}.btnL{width:100%;border:0;border-radius:10px;padding:12px;font-size:14px;font-weight:700;background:var(--blue);color:#fff;cursor:pointer}.btnL:hover{background:var(--navy)}.btnL.sec{background:#fff;color:var(--blue);border:1.5px solid var(--blue-lt);font-weight:600}.btnL.sec:hover{background:var(--blue-lt)}.btnL[disabled]{opacity:.4;cursor:default}.logout{background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}.logout:hover{color:var(--crit);border-color:var(--crit)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:13px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:2px solid var(--blue);border-color:transparent}.feld{display:block;margin-bottom:12px}.feld>span{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:4px}.feld>input,.feld>select{width:100%}.loginFeld input{width:100%;border-radius:10px;padding:11px 13px;font-size:14px}.leitNote{background:var(--blue-lt);color:var(--navy);border-radius:12px;padding:11px 15px;font-size:12.5px}.leitNote.okNote{background:var(--ok-bg);color:var(--ok)}.leitNote.warnNote{background:var(--warn-bg);color:var(--warn)}.fehlerBox{background:var(--crit-bg);color:var(--crit);border-radius:10px;padding:10px 13px;font-size:12.5px}.path{display:flex;gap:3px;overflow-x:auto}.path .p{min-width:88px;text-align:center;font-size:11.5px;font-weight:700;padding:7px 12px;background:var(--paper);color:var(--muted);white-space:nowrap;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%)}.path .p.done{background:var(--blue-lt);color:var(--blue)}.path .p.cur{background:var(--navy);color:#fff}.kv{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}.kv b{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}.hintRow{font-size:11.5px;color:var(--faint);margin-top:10px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:0 10px 8px 0}td{padding:9px 10px 9px 0;border-top:1px solid var(--row-line);vertical-align:middle}tr.hov:hover td{background:var(--row-hover);cursor:pointer}.lvTabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.lvTabs button{background:none;border:0;padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--muted);border-bottom:2.5px solid transparent;cursor:pointer}.lvTabs button.on{color:var(--blue);border-bottom-color:var(--blue)}.card.tabsKarte{padding:6px 14px 0}.card.tabsKarte .lvTabs{border-bottom:0;margin-bottom:0}.linkZeile{display:flex;gap:8px;align-items:center}.linkZeile input{flex:1;font-size:12px;color:var(--muted);background:var(--form-bg)}.belegRow{display:flex;align-items:center;gap:12px;padding:9px 2px;border-top:1px solid var(--row-line);font-size:13px}.belegRow:first-child{border-top:0;padding-top:2px}.belegRow .haus{font-weight:700;color:var(--navy);width:150px;flex-shrink:0}.belegRow .klient{color:var(--muted);flex:1;min-width:0}.spin{display:inline-block;width:16px;height:16px;border:2.5px solid var(--blue-lt);border-top-color:var(--blue);border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.modalScrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a193273;z-index:95;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px #0f1e3c2e;padding:18px 20px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal h2{color:var(--navy);font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:12px}.modal h2 .mx{margin-left:auto;background:none;border:0;color:var(--muted);font-size:14px;cursor:pointer;padding:2px 6px}.modal h2 .mx:hover{color:var(--crit)}.toastWrap{position:fixed;bottom:18px;right:18px;z-index:98;display:flex;flex-direction:column;gap:8px}.toast{background:var(--navy);color:#fff;border-radius:10px;padding:10px 15px;font-size:12.5px;font-weight:600;box-shadow:0 16px 40px #0f1e3c2e;max-width:340px}.toast.ok{background:var(--ok)}.toast.crit{background:var(--crit)}.appWrap{display:flex;min-height:100vh;min-height:100dvh}aside.side{width:232px;flex-shrink:0;background:var(--side-grad);color:var(--side-text);padding:calc(16px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:2px}.brand{background:#fff;border-radius:12px;padding:12px 10px;text-align:center;margin-bottom:12px}.brand img{max-width:158px;width:100%;display:block;margin:0 auto}.brand .claim{font-size:10px;font-weight:600;color:#0c3b6f;margin-top:4px}.brand .bs{font-size:9.5px;font-weight:800;letter-spacing:.3em;color:var(--blue)}.nav{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;font-size:13.5px;font-weight:500;color:var(--side-text);text-decoration:none;cursor:pointer}.nav .ic{width:18px;text-align:center;flex-shrink:0}.nav:hover{background:#ffffff14;color:#fff}.nav.active{background:var(--blue);color:#fff;font-weight:700;box-shadow:0 4px 12px #00143c40}.nav .badge{margin-left:auto;background:var(--amber);color:#fff;border-radius:99px;font-size:10.5px;font-weight:700;padding:1px 7px}.sideFoot{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:10.5px;color:var(--side-foot)}.offlineBanner{background:#b45309;color:#fff;font-size:12px;font-weight:600;text-align:center;padding:6px 12px;padding-top:max(6px,env(safe-area-inset-top))}.main{flex:1;min-width:0;display:flex;flex-direction:column}header.top{position:sticky;top:0;z-index:20;background:var(--card);border-bottom:1px solid var(--line);padding:calc(10px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) 10px calc(20px + env(safe-area-inset-left));display:flex;align-items:center;gap:14px}header.top h1{font-size:16.5px;font-weight:700;color:var(--navy);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchBox{border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:13px;width:230px;background:var(--row-hover)}.searchBox[disabled]{color:var(--faint);cursor:not-allowed}.bell{position:relative;background:none;border:0;font-size:17px;color:var(--muted);cursor:pointer;margin-left:auto;padding:4px 6px}.bell .dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:var(--crit)}.notifPanel{position:absolute;right:16px;top:54px;width:330px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px #0f1e3c2e;padding:8px;z-index:60}.notifPanel .leer{padding:18px 10px;text-align:center;color:var(--faint);font-size:12.5px}.pushGlocke{padding:6px 6px 4px}.pushGlocke .pgTitel{font-weight:700;font-size:13px;margin:2px 4px 8px}.pushGlocke .pgInfo{font-size:12px;color:var(--muted, #55607a);line-height:1.45;margin:4px}.pushGlocke .pgZeile{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;padding:4px}.pushGlocke .pgKat{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.pushGlocke .pgKatTitel{font-size:11.5px;color:var(--faint);margin:0 4px 6px}.pushGlocke .pgKatZeile{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px;border-radius:8px;cursor:pointer}.pushGlocke .pgKatZeile:hover{background:var(--row-hover)}.pushGlocke .pgKatZeile input{width:16px;height:16px;accent-color:var(--navy)}.pushGlocke .pgTest{width:100%;margin-top:10px}.pushGlocke .pgOk{font-size:11.5px;color:var(--green, #157347);margin:8px 4px 2px}.pushGlocke .pgFehler{font-size:11.5px;color:var(--danger, #b3261e);margin:8px 4px 2px}.userChip{display:flex;align-items:center;gap:8px;background:var(--row-hover);border:1px solid var(--line);border-radius:99px;padding:4px 12px 4px 4px}.userChip .av{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.userChip b{font-size:12.5px;font-weight:700;line-height:1.1;display:block}.userChip .rolle{font-size:10.5px;color:var(--faint);line-height:1.1;display:block}.burger{display:none;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:16px;cursor:pointer}.logoTop{display:none;height:24px}.viewRoot{padding:20px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;max-width:1200px;margin:0 auto;width:100%}.scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a193273;z-index:80}.scrim.on{display:block}.loginWrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--login-grad);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.lc{background:#fff;border-radius:20px;box-shadow:0 30px 80px #0a193766;padding:36px 34px;width:100%;max-width:400px;text-align:center}.lc.breit{max-width:480px}.lc.setupKarte{max-width:900px}.lc .logo{max-width:230px;width:100%;margin:0 auto 10px;display:block}.lc .claim{font-size:16px;font-weight:700;color:#0c3b6f;letter-spacing:.01em}.lc .wortmarke{font-size:10.5px;font-weight:700;letter-spacing:.3em;color:var(--blue);margin:4px 0 22px}.lc form,.lc .inhalt{text-align:left}.lc .foot{margin-top:18px;font-size:11px;color:var(--faint)}.codeListe{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;background:var(--form-bg);border:2px dashed var(--dash-border);border-radius:12px;padding:14px 18px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px;font-weight:600;color:var(--ink)}.qrBox{background:var(--form-bg);border:2px dashed var(--dash-border);border-radius:12px;padding:16px;text-align:center}.qrBox img{width:168px;height:168px;image-rendering:pixelated}.qrBox .secret{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;color:var(--muted);word-break:break-all;margin-top:6px}.ladeWrap{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:13px}@media(max-width:920px){.grid.g2,.grid.g3,.grid.g4{grid-template-columns:1fr}}.nurMobil{display:none!important}.kachelGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kachel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;text-align:left;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:2px;min-height:76px}.kachel:active{background:var(--row-hover)}.kachel .kZahl{font-size:26px;font-weight:800;line-height:1.1}.kachel .kLabel{font-size:12px;color:var(--muted, #55607a)}.heuteTitel{font-size:13px;font-weight:800;color:var(--navy);margin:2px 2px 8px}.heuteLeer{font-size:12.5px;color:var(--faint);padding:4px 2px}.heuteListe{display:flex;flex-direction:column;gap:10px}.heuteEintrag{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font:inherit;text-align:left}.heuteEintrag:hover{background:var(--row-hover)}.heuteEintrag .heTxt{display:flex;flex-direction:column;gap:2px;min-width:0}.heuteEintrag .heTxt b{font-size:13px;color:var(--ink, #16233c)}.heuteEintrag .heSub{font-size:11.5px;color:var(--faint)}.tabLeiste{display:none}@media(max-width:840px){body{font-size:13.5px}.nurMobil{display:block!important}.kachelGrid.nurMobil{display:grid!important}.nurDesktop{display:none!important}.burger,.logoTop{display:block}header.top{background:var(--navy);border-bottom:none}header.top h1{color:#fff}.burger,.bell{color:#fff}.burger{background:#ffffff1f;border-color:#ffffff59}.logoTop{filter:brightness(0) invert(1)}.userChip{background:#ffffff24;border-color:transparent}.logout{background:#ffffff1f;border-color:#ffffff59;color:#fff}.tabLeiste{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;background:var(--card);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -8px 24px #0f1e3c14}.tabLeiste a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;font-size:10.5px;color:var(--faint);text-decoration:none;border-radius:10px}.tabLeiste a.active{color:var(--navy);font-weight:800}.tabLeiste .tIc{font-size:18px;line-height:1;position:relative}.tabLeiste .tBadge{position:absolute;top:-5px;right:-12px;background:#e07000;color:#fff;border-radius:9px;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center}aside.side{position:fixed;top:0;bottom:0;left:-270px;width:250px;z-index:90;transition:left .22s ease}aside.side.open{left:0;box-shadow:0 0 50px #00000059}header.top{padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 10px calc(12px + env(safe-area-inset-left));gap:8px}header.top h1{font-size:14.5px}.searchBox{display:none}.userChip{padding:4px}.userChip .txt{display:none}.logout{padding:7px 9px}.burger,.bell,.logout{min-height:40px}.burger{min-width:40px}.viewRoot{padding:12px 12px calc(76px + env(safe-area-inset-bottom));gap:12px}.grid{grid-template-columns:1fr!important}.grid.g4{grid-template-columns:1fr 1fr!important}.card{padding:14px;overflow-x:auto}.kpi .v{font-size:19px}.lvTabs{overflow-x:auto;white-space:nowrap}}@media(max-width:480px){.logoTop{display:none}header.top{gap:6px;padding:10px}.logout{font-size:11.5px;padding:6px 8px;white-space:nowrap}.bell{padding:4px}}.mailRow{display:flex;align-items:center;gap:12px;padding:10px 6px;border-top:1px solid #f0f2f5;cursor:pointer}.mailRow .mAbs{font-weight:600;min-width:180px}.mailRow .mBet{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mailRow .mZeit{font-size:12px;white-space:nowrap}.mailRow .mAkt{display:flex;gap:6px;align-items:center}@media(max-width:840px){.mailRow{flex-direction:column;align-items:stretch;gap:3px;padding:12px 4px}.mailRow .mAbs{min-width:0}.mailRow .mBet{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mailRow .mZeit{font-size:11.5px}.mailRow .mAkt{width:100%;min-height:44px;flex-wrap:wrap;margin-top:4px}.mailRow .mAkt button{min-height:44px;flex:1 1 auto}.viewRoot{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}html,body{overflow-x:hidden}.viewRoot table{display:block;width:100%!important}.viewRoot table thead{display:none}.viewRoot table tbody{display:block}.viewRoot table tr{display:block;border-bottom:1px solid #e5e9ef;padding:8px 0}.viewRoot table td,.viewRoot table th{display:block;width:auto!important;max-width:100%;text-align:left!important;border:none;padding:2px 0;white-space:normal;overflow-wrap:anywhere}}
