:root{--ink:#173d46;--muted:#607980;--brand:#123e49;--accent:#006a70;--bg:#f0f5f4;--line:#d6e2e0;--red:#9f313f;--green:#1c7258;--paper:#fff;--radius:20px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{touch-action:manipulation}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:white;border-radius:14px;color:var(--ink);padding:12px 16px;font-weight:700;min-height:48px;cursor:pointer;touch-action:manipulation}button:active{transform:translateY(1px)}button:disabled{opacity:.48;cursor:not-allowed;transform:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e8af4e;outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:white}.danger{background:var(--red);border-color:var(--red);color:white}.quiet{background:transparent}.small{padding:9px 12px;min-height:44px;font-size:.88rem}.wide{width:100%}[hidden]{display:none!important}.terminal{max-width:720px;margin:0 auto;height:100vh;height:100svh;background:var(--bg);position:relative;display:flex;flex-direction:column;overflow:hidden}.brandbar{background:var(--brand);color:white;display:flex;align-items:center;gap:11px;padding:13px 20px;min-height:74px;flex-shrink:0}.brandbar img{width:42px;height:42px;border-radius:50%;background:white}.brandbar strong{display:block;font-size:1.18rem}.brandbar small{display:block;font-size:.78rem;opacity:.76;margin-top:4px;max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.logout{margin-left:auto;background:#ffffff14;color:white;border-color:#ffffff35;font-size:.87rem;padding:10px;min-height:44px}.logout span{font-size:1.2rem;margin-left:5px}.clock{text-align:center;margin:18px 0 14px}.clock time{display:block;font-size:clamp(2.6rem,10vw,3.9rem);font-weight:700;letter-spacing:-2px;font-variant-numeric:tabular-nums}.clock>span{display:block;font-size:.9rem;color:var(--muted);margin-top:5px}.lock-screen{padding:0 28px 20px;overflow-y:auto;flex:1;min-height:0}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}h1{font-size:1.32rem;line-height:1.25;margin:7px 0 14px}h2{font-size:1.1rem;margin:8px 0}p{line-height:1.5}.pin-panel{text-align:center;max-width:390px;margin:0 auto}.pin-panel h1{font-size:1.24rem}.pin-dots{display:flex;gap:16px;justify-content:center;padding:4px 0 19px}.pin-dots i{width:16px;height:16px;border-radius:50%;border:2px solid #a5babb;background:transparent}.pin-dots i.filled{background:var(--brand);border-color:var(--brand)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{height:clamp(57px,9vh,82px);font-size:1.7rem;box-shadow:0 3px 0 #d8e3e180;border-radius:18px}.keypad .primary{font-size:2rem}.hint{font-size:.77rem;color:var(--muted);line-height:1.5;margin:10px 0}.pin-panel>.hint{max-width:290px;margin:18px auto 0}.center{text-align:center;padding:20px}.pair-panel{max-width:430px;margin:auto}.pair-panel input{letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.notice{padding:12px 14px;border-radius:13px;background:#e6eff1;border:1px solid #bdcfd6;font-size:.9rem;line-height:1.4;margin:10px 0;overflow-wrap:anywhere}.notice.error{background:#fbecec;color:#853440;border-color:#e6bec4}.notice.success{background:#e5f3eb;color:#20583d;border-color:#b9d9c4}.notice.busy{display:flex;align-items:center;gap:10px}.spinner{display:inline-block;vertical-align:middle;flex-shrink:0;width:20px;height:20px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button .spinner{margin-right:8px;width:16px;height:16px;border-width:2px}.session{display:flex;flex-direction:column;flex:1;min-height:0}.personbar{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 4px;gap:10px;flex-shrink:0}.personbar h1{font-size:1.25rem;margin:4px 0;overflow-wrap:anywhere}.pill{font-size:.8rem;background:#e0eae8;color:var(--muted);padding:7px 9px;border-radius:50px;white-space:nowrap;font-variant-numeric:tabular-nums}.kstbar{padding:7px 20px 10px;flex-shrink:0}.kstbar label{font-size:.72rem;margin-bottom:4px}.kstbar select{min-height:46px;padding:10px 12px;font-weight:700;background:white}.session>.notice{margin:0 20px 10px;flex-shrink:0;max-height:120px;overflow:auto}.workspace{overflow-y:auto;overflow-x:hidden;padding:0 20px 20px;flex:1;min-height:0;scrollbar-width:thin}.status-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:12px 20px;margin-top:3px;display:flex;flex-direction:column;align-items:center;gap:6px}.status-label{font-weight:700;font-size:.88rem;display:flex;align-items:center;gap:7px}.status-label:before{content:'';width:8px;height:8px;border-radius:50%;background:#8c9e9f}.status-label.in:before{background:#229370}.status-label.paused:before{background:#cb952e}.status-card strong{font-size:1.95rem;letter-spacing:-1px;font-variant-numeric:tabular-nums}.status-card small{font-size:.73rem;color:var(--muted);text-align:center}.stamp-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:11px;margin-top:13px}.stamp-button{min-height:84px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:1.03rem}.action-icon{font-size:1.8rem;line-height:1}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 10px}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{border:1px solid var(--line);border-radius:16px;background:white;padding:13px 14px;min-width:0}.kpi small{display:block;font-size:.7rem;color:var(--muted);line-height:1.4;min-height:1em}.kpi strong{font-size:1.57rem;letter-spacing:-.5px;display:block;margin:5px 0 3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi.balance{background:var(--brand);color:white;border-color:var(--brand)}.kpi.balance small{color:#c2d7db}.kpi .negative{color:var(--red)}.kpi.balance .negative{color:#ffd0d1}.kpi .carry{font-size:.64rem;min-height:0}.bottom-nav{flex-shrink:0;background:white;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:7px 10px max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.bottom-nav button{border:0;background:transparent;font-size:.76rem;padding:7px 4px;min-height:59px;border-radius:13px;color:var(--muted);display:flex;flex-direction:column;gap:5px;align-items:center}.bottom-nav button>span{font-size:1.3rem;line-height:1}.bottom-nav button.active{background:#e7f1ef;color:var(--accent)}.monthbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 15px}.monthbar h2{text-align:center;font-size:1rem}.monthbar button{font-size:1.5rem;min-width:46px;padding:5px 12px}.day{border:1px solid var(--line);border-radius:14px;background:white;padding:11px 13px;margin:9px 0}.day summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none;min-height:35px;font-size:.84rem}.day summary strong{font-size:1rem;font-variant-numeric:tabular-nums}.day p{font-size:.8rem;margin:8px 0;color:var(--muted);overflow-wrap:anywhere}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;margin:12px 0}.request-card h3{font-size:1rem;margin:2px 0 8px}.request-card .request-head{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.request-card p{font-size:.84rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.status-tag{font-size:.7rem;background:#f5ecd7;color:#7a6025;padding:5px 7px;border-radius:8px;white-space:nowrap}.status-tag.approved{background:#e1f0e9;color:#1c7258}.status-tag.rejected{background:#f9e3e6;color:#8c303f}.row{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.row button{flex:1}label{font-size:.84rem;font-weight:700;display:block;margin:10px 0 6px}input,textarea,select{border:1px solid #bfcfce;border-radius:11px;background:white;color:var(--ink);padding:11px 10px;min-height:48px;width:100%;min-width:0}textarea{resize:vertical}.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkline{display:flex;align-items:center;gap:10px;font-size:.79rem;line-height:1.4}.checkline input{width:21px;height:21px;min-height:21px;flex-shrink:0;accent-color:var(--accent)}.segment{border:1px solid var(--line);padding:10px;border-radius:13px;margin-bottom:12px;background:var(--bg)}.segment label{font-size:.73rem}.segment .row{margin-top:7px}.pager{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:14px 0;font-size:.8rem}.countdown{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#102f3bee;backdrop-filter:blur(9px);color:white;padding:26px}.countdown-content{text-align:center;max-width:390px}.countdown-ring{width:230px;height:230px;border:10px solid #8bd3c9;border-radius:50%;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#1b4c58;box-shadow:0 0 0 13px #ffffff0c}.countdown-ring strong{font-size:6rem;font-variant-numeric:tabular-nums;line-height:1}.countdown-ring span{font-size:.9rem;opacity:.8;margin-top:7px}.countdown h2{font-size:1.55rem}.countdown p{font-size:.98rem;line-height:1.6;color:#cce0e4}.countdown button{display:block;margin:12px auto;min-width:220px}.countdown .quiet{color:white;border-color:#73959c}.countdown .primary{background:#bce6df;color:var(--brand);border-color:#bce6df}.empty{text-align:center;padding:22px 12px;color:var(--muted);font-size:.88rem}.admin-shell{max-width:1000px;margin:0 auto;padding:24px 24px 70px}.admin-shell .card{margin-bottom:22px}.admin-header{display:flex;align-items:center;gap:15px;justify-content:space-between}.admin-header a{color:var(--accent)}.employee{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,190px) auto;gap:12px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.employee:first-child{border:0}.employee small{display:block;font-size:.77rem;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.employee .row{margin:0}.device-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.activation-code{display:block;font-size:1.8rem;letter-spacing:.1em;margin:16px 0;font-variant-numeric:tabular-nums}.admin-shell>h1{font-size:2rem}.admin-shell input[type=search]{margin:10px 0 15px}@media(max-height:710px){.brandbar{min-height:64px;padding:10px 16px}.brandbar img{width:37px;height:37px}.clock{margin:12px 0 10px}.clock time{font-size:2.8rem}.clock>span{font-size:.8rem}.keypad{gap:8px}.keypad button{height:57px}.pin-panel>.hint{margin:12px auto 0;font-size:.73rem}.pin-dots{padding-bottom:13px}.lock-screen{padding:0 23px 16px}.personbar{padding-top:11px}.status-card{padding:12px 16px}.stamp-button{min-height:81px}}@media(min-width:570px){.workspace{padding:0 28px 25px}.brandbar,.personbar{padding-left:28px;padding-right:28px}.kstbar{padding-left:28px;padding-right:28px}.status-card{padding:24px}.stamp-button{min-height:115px;font-size:1.17rem}.kpi{padding:18px}.kpi strong{font-size:1.85rem}.bottom-nav{padding-top:10px;padding-bottom:13px}}@media(max-width:600px){.employee{grid-template-columns:1fr 1fr}.employee>div:first-child{grid-column:1/-1}.employee .row{flex-direction:column}.admin-shell{padding:18px 16px 50px}.activation-code{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){button:active{transform:none}.spinner{animation-duration:1.5s}}

/* v163 · Tages-IST/SOLL und Überstundenentscheidung */
.today-kpis{margin-top:12px}.today-kpi{background:#f7fbfa}.today-kpi strong{font-size:1.65rem}.overtime-choice{margin-top:8px;padding-top:6px;border-top:1px solid var(--line)}.overtime-choice>p{font-size:.88rem;line-height:1.45}.overtime-choice input[type=number]{font-size:1.15rem;font-weight:800}.choice-outcome{margin:8px 0 2px;padding:10px 12px;border-radius:12px;background:#eef6f4;color:var(--muted);font-size:.8rem;line-height:1.4}.choice-confirm{margin-top:10px;padding:12px;border:1px solid #e0b8bf;border-radius:13px;background:#fff5f6}.choice-confirm p{margin:0 0 8px;font-size:.82rem;line-height:1.45}.danger-outline{background:#fff;color:var(--red);border-color:#d9a6ae}.danger-outline:active{background:#fbecee}
