:root{color:#252a2f;font-synthesis:none;text-rendering:optimizelegibility;--red:#b51f24;--red-dark:#8e171b;--ink:#252a2f;--muted:#6b737b;--line:#dce1e5;--card:#fffffff0;--bg:#f3f5f7;--green:#1e734b;--blue:#205f9c;--amber:#9a6500;--safe-bottom:env(safe-area-inset-bottom,0px);background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:linear-gradient(180deg, #b51f2409, transparent 240px), var(--bg);min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(1.65rem,6vw,2.2rem);line-height:1.08}h2{margin-bottom:12px;font-size:1.08rem}h3{margin-bottom:4px;font-size:1rem}.muted{color:var(--muted)}.center{text-align:center}.align-right{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.text-good{color:var(--green);font-weight:750}.text-bad{color:var(--red);font-weight:750}.boot,.login{place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.boot img{width:min(420px,82vw)}.boot p{color:var(--muted)}.spinner{border:4px solid #d5dadd;border-top-color:var(--red);border-radius:50%;width:36px;height:36px;margin-top:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login__watermark,.brand-watermark{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.038;position:fixed;transform:rotate(-14deg)}.login__watermark{width:min(950px,125vw)}.login__watermark img,.brand-watermark img{width:100%}.login__card{z-index:1;background:#fffffff2;border:1px solid #b51f2424;border-radius:22px;width:min(440px,100%);padding:28px;position:relative;box-shadow:0 24px 70px #191d211f}.login__logo{width:min(310px,100%);margin-bottom:24px}.demo-note{color:var(--muted);text-align:center;margin:16px 0 0;font-size:.82rem}.app-shell{min-height:100dvh;padding-bottom:calc(74px + var(--safe-bottom))}.brand-watermark{width:min(760px,112vw);top:32%;left:50%;transform:translate(-50%)rotate(-13deg)}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;gap:14px;min-height:78px;padding:12px max(16px,50vw - 380px);display:flex;position:sticky;top:0}.app-header__logo{object-fit:contain;object-position:left center;width:min(300px,53vw);max-height:54px}.app-header__right{flex-direction:column;align-items:flex-end;gap:5px;min-width:120px;font-size:.86rem;display:flex}.sync-badge{color:#3e474f;cursor:pointer;background:#edf0f2;border:0;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.72rem;font-weight:750;display:inline-flex}.sync-badge__dot{background:var(--green);border-radius:50%;width:7px;height:7px}.sync-badge--offline .sync-badge__dot,.sync-badge--error .sync-badge__dot,.sync-badge--auth-error .sync-badge__dot{background:var(--red)}.sync-badge--syncing .sync-badge__dot{background:var(--blue);animation:.8s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.55;transform:scale(1.55)}}.content{z-index:1;width:min(760px,100%);margin:0 auto;padding:20px 16px 36px;position:relative}.page-title,.month-nav{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.eyebrow{color:var(--red);letter-spacing:.11em;font-size:.73rem;font-weight:850}.clock{color:var(--red);background:#ffffffd9;border:1px solid #e4c9ca;border-radius:12px;padding:9px 12px;font-size:1.05rem;font-weight:850}.card{border:1px solid var(--line);background:var(--card);border-radius:16px;margin-bottom:12px;padding:16px;position:relative;box-shadow:0 7px 24px #23282c0b}.card--warning{background:#fff9e5f5;border-color:#e7c876}.field{color:#3c444b;gap:6px;margin-bottom:14px;font-size:.83rem;font-weight:750;display:grid}.field input,.field select,.field textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #cfd5da;border-radius:11px;outline:none;padding:10px 12px;font-size:1rem;font-weight:500}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #b51f241a}.button{color:#fff;background:var(--red);cursor:pointer;border:1px solid #0000;border-radius:11px;min-height:44px;padding:10px 15px;font-weight:800}.button:hover:not(:disabled){filter:brightness(.96)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button--wide{width:100%}.button--large{min-height:54px;font-size:1.04rem}.button--secondary{color:var(--ink);background:#fff;border-color:#c8ced3}.button--danger{background:var(--red)}.button--success{background:var(--green)}.planned-site{justify-content:space-between;align-items:center;gap:10px;margin:-4px 0 14px;font-size:.92rem;display:flex}.planned-site .button{flex:none}.notice{border-left:4px solid var(--blue);color:#35424e;background:#edf5fc;border-radius:8px;margin:10px 0 14px;padding:11px 12px;font-size:.86rem;line-height:1.4}.notice--error{border-left-color:var(--red);color:#7d171b;background:#fff0f0}.notice--success{border-left-color:var(--green);color:#1d4d33;background:#edf8f1}.notice--warning{color:#5c4508;background:#fff8e3;border-left-color:#d9a520}.page-messages{z-index:15;position:sticky;top:86px}.page-messages .notice{margin-top:0;box-shadow:0 6px 18px #141e281f}.notice--closable{align-items:flex-start;gap:10px;display:flex}.notice--closable>span{flex:1}.notice__close{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:1.2rem;line-height:1}.notice--confirm p{margin:0 0 10px}.notice__actions{justify-content:flex-end;gap:8px;display:flex}.timer-card{text-align:center;padding:25px 18px}.timer-card--running{background:#fff9e4f5;border-color:#dfbc65}.timer-card__time{font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin:8px 0;font-size:clamp(2.4rem,12vw,4.2rem);font-weight:900}.metric-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 18px;display:grid}.vacation-pending{margin:-10px 0 14px;font-size:.9rem}.metric{border:1px solid var(--line);background:#ffffffe6;border-radius:13px;min-width:0;padding:12px}.metric span{color:var(--muted);text-overflow:ellipsis;margin-bottom:5px;font-size:.72rem;display:block;overflow:hidden}.metric strong{font-variant-numeric:tabular-nums;font-size:clamp(.9rem,3.4vw,1.15rem);display:block}.metric--good strong{color:var(--green)}.metric--bad strong{color:var(--red)}.section-title{margin:24px 2px 10px;font-size:1.06rem}.row-between{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.record-state{color:#465059;background:#edf0f2;border-radius:999px;margin-top:10px;padding:4px 8px;font-size:.7rem;font-weight:800;display:inline-block}.record-state--pending{color:#765000;background:#fff0c7}.record-state--conflict,.record-state--error{color:#8a171c;background:#ffe3e4}.record-state--synced{color:#17603e;background:#dff4e9}.record-state--office{color:#1d4f7a;background:#e1eefa;margin-left:6px}.month-nav h1{text-align:center;text-transform:capitalize;margin:0}.month-nav .button{min-width:44px;padding:7px 14px;font-size:1.45rem}.approval{font-size:.78rem}.approval--approved{color:var(--green)}.approval--rejected{color:var(--red)}.approval--pending{color:var(--amber)}.sync-overview{align-items:center;gap:14px;display:flex}.sync-orb{background:var(--green);border:8px solid #dcefe5;border-radius:50%;flex:none;width:46px;height:46px}.sync-orb--offline,.sync-orb--error,.sync-orb--auth-error{background:var(--red);border-color:#ffe0e1}.sync-orb--syncing{border-top-color:var(--blue);background:0 0;animation:.8s linear infinite spin}.definition-list{margin:0 0 18px}.definition-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:9px 0;display:flex}.definition-list dt{color:var(--muted)}.definition-list dd{text-align:right;margin:0;font-weight:750}.bottom-nav{z-index:30;padding:6px max(8px, calc((100vw - 760px) / 2)) calc(6px + var(--safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.69rem;font-weight:800;display:flex}.bottom-nav button span{font-size:1.18rem;line-height:1}.bottom-nav button.active{color:var(--red);background:#b51f2413}.bottom-nav button{position:relative}.nav-badge{color:#fff;background:var(--red);border-radius:9px;min-width:18px;padding:1px 5px;font-size:.66rem;font-style:normal;line-height:16px;position:absolute;top:4px;right:calc(50% - 22px)}.assignment{padding:0}.assignment__head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:14px 16px;display:flex}.assignment__time{font-weight:800}.assignment__title{flex-basis:100%;font-size:1.05rem}.assignment__head .muted{flex-basis:100%}.assignment--cancelled .assignment__title{text-decoration:line-through}.assignment__details{padding:0 16px 14px}.assignment__details .definition-list{margin:0}.assignment__notes{white-space:pre-line;margin:10px 0 0}.assignment__notes .muted{margin-bottom:2px;display:block}.tag{color:#35424e;background:#e9edf1;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800}.tag--bestaetigt{color:#0f4c81;background:#e3f0fb}.tag--erledigt{color:var(--green);background:#e6f4ec}.tag--abgesagt{color:#7d171b;background:#fde8e8}.tag--changed{color:#5c4508;background:#ffe9a8}@media (width<=520px){.app-header{min-height:70px}.page-messages{top:78px}.app-header__right>strong{display:none}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid .metric:last-child:nth-child(odd){grid-column:1/-1}.row-between{gap:10px}}@media (display-mode:standalone){.app-header{padding-top:calc(12px + env(safe-area-inset-top,0px))}}
