
:root{
  --bg:#0b0f17; --card:#121826; --card2:#182132; --text:#f8fafc; --muted:#93a4b8;
  --line:#263247; --accent:#4f8cff; --accent2:#73a5ff; --danger:#ff5d6c; --ok:#49d17d;
  --shadow:0 16px 40px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
.hidden{display:none!important}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 18px 12px;position:sticky;top:0;background:linear-gradient(var(--bg) 75%,transparent);z-index:10}
.topbar h1{margin:2px 0 0;font-size:27px}.eyebrow{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:20px}
main{max-width:900px;margin:0 auto;padding:0 14px 110px}
.tab{display:none}.tab.active{display:block}
.hero-card,.card{background:linear-gradient(145deg,var(--card),#101724);border:1px solid var(--line);border-radius:24px;padding:18px;margin:12px 0;box-shadow:var(--shadow)}
.hero-card{padding:20px}
.hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.timer{font-size:43px;font-weight:800;letter-spacing:-.04em;margin-top:8px}
.hero-customer{max-width:42%;text-align:right;font-weight:700;color:#d7e3f5}
.pill{display:inline-flex;padding:6px 10px;border-radius:99px;background:#1f2b3f;color:#b9c8dc;font-size:12px;font-weight:800}
label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin:12px 2px 7px;text-transform:uppercase;letter-spacing:.05em}
input,select,textarea{width:100%;border:1px solid var(--line);background:#0e1420;color:var(--text);border-radius:14px;padding:13px 14px;font-size:16px;outline:none;margin:5px 0}
textarea{min-height:85px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#4f8cff;box-shadow:0 0 0 3px rgba(79,140,255,.12)}
button,.buttonlike{border:0;border-radius:14px;padding:12px 16px;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none;text-align:center}
.primary{background:var(--accent);color:white}.secondary{background:#27344a;color:#eef5ff}.danger{background:#3a1f28;color:#ff9ca6;border:1px solid #5a2833}
.wide{width:100%;display:block;margin-top:10px}.big{padding:16px;font-size:17px}
.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0 20px}
.quick-grid button{background:var(--card);border:1px solid var(--line);color:var(--text);padding:14px 6px;border-radius:18px}
.quick-grid b{display:block;font-size:22px;margin-bottom:5px}.quick-grid span{font-size:11px;color:var(--muted)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 4px 8px}.section-title h2{font-size:20px;margin:0}.section-title span{color:var(--muted);font-weight:700}
.small{padding:8px 12px}
.list{display:flex;flex-direction:column;gap:9px}
.list-item{background:var(--card);border:1px solid var(--line);padding:14px;border-radius:18px}
.list-item .row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.list-item h4{margin:0 0 4px;font-size:16px}.muted{color:var(--muted);font-size:13px;line-height:1.45}
.amount{font-weight:800;font-size:15px;white-space:nowrap}.subline{margin-top:8px;color:#b8c6d9;font-size:13px}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#111827;color:#c9d5e6;padding:8px 11px;border-radius:99px;font-size:12px}
.chip.active{background:#233b66;border-color:#3a69ac;color:white}
.checkchip input{display:none}.checkchip{display:inline-flex}.checkchip span{border:1px solid var(--line);background:#111827;color:#c9d5e6;padding:9px 12px;border-radius:99px;font-size:12px;font-weight:800}.checkchip input:checked+span{background:#244d39;border-color:#347052;color:#dffff0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:9px}.inline{display:grid;grid-template-columns:1fr auto;gap:8px}
.compact-list{margin-top:12px;border-top:1px solid var(--line)}.compact-row{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px solid var(--line);font-size:14px}
.status{font-size:11px;font-weight:800;padding:5px 8px;border-radius:99px;background:#222e40;color:#c8d5e8}
.status.bestellen,.status.fehl{background:#4a2a25;color:#ffc2b7}.status.bestellt{background:#403b1f;color:#ffe991}.status.erledigt{background:#1f3e2e;color:#9df1bd}
.filter-row{display:flex;gap:7px;overflow:auto;padding:2px 0 10px}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(900px,100%);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(11,15,23,.93);backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:20}
.bottom-nav button{background:transparent;color:#73849a;padding:8px 2px;font-size:18px}.bottom-nav button span{display:block;font-size:10px;margin-top:4px}.bottom-nav button.active{color:#8bb4ff}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0,#182c51,transparent 40%),var(--bg)}
.auth-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow);text-align:center}
.brand-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#4f8cff,#88b5ff);display:grid;place-items:center;font-size:28px;font-weight:900;margin:0 auto 12px}.auth-card h1{margin:7px 0}.auth-card input{text-align:left}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:10px}
.modal-card{width:min(760px,100%);max-height:88vh;overflow:auto;background:#101725;border:1px solid var(--line);border-radius:26px 26px 16px 16px;padding:18px;box-shadow:var(--shadow)}
.modal-card h2{margin-top:2px}.tabsmall{display:flex;gap:7px;overflow:auto;margin:10px 0}.tabsmall button{background:#172131;color:#bac8db;padding:8px 10px;font-size:12px}.tabsmall button.active{background:#294c7f;color:white}
#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:99;background:#172131;border:1px solid #2d3f59;color:white;padding:11px 15px;border-radius:13px;box-shadow:var(--shadow);display:none;max-width:90%;font-weight:700}
.buttonlike{background:#27344a;color:#eef5ff;display:block;margin-top:10px}
@media(max-width:560px){.quick-grid{grid-template-columns:repeat(4,1fr)}.timer{font-size:38px}.hero-top{align-items:center}.hero-customer{font-size:13px}.split{grid-template-columns:1fr 1fr}}

.time-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}
.danger-chip{background:#3a1f28!important;color:#ffb1b9!important;border-color:#5a2833!important}


/* V2 – polished mobile UI */
:root{--bg:#08101d;--card:#101b2b;--card2:#152338;--text:#f7f9fc;--muted:#8fa2bb;--line:rgba(143,162,187,.17);--accent:#3b82f6;--accent2:#60a5fa;--danger:#fb7185;--ok:#34d399;--shadow:0 18px 45px rgba(0,0,0,.24)}
body{background:radial-gradient(1000px 520px at 50% -100px,rgba(59,130,246,.18),transparent 62%),var(--bg);letter-spacing:-.01em}
.topbar{max-width:900px;margin:0 auto;padding:18px 18px 14px;background:rgba(8,16,29,.8);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.025)}
.topbar h1{font-size:25px;letter-spacing:-.045em}.user-role{display:inline-flex;margin-top:5px;padding:4px 8px;border-radius:999px;background:rgba(96,165,250,.1);color:#9cc4ff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.icon-btn{background:rgba(255,255,255,.045);border-color:var(--line);transition:.15s transform}.icon-btn:active{transform:scale(.94)}
.hero-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#16335f 0%,#10213c 52%,#0f1a2a 100%);border:1px solid rgba(120,170,255,.22);box-shadow:0 22px 55px rgba(0,0,0,.32)}
.hero-card:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(96,165,250,.13);right:-90px;top:-130px;filter:blur(4px);pointer-events:none}
.hero-top,.hero-card>div{position:relative}.timer{font-size:46px;font-variant-numeric:tabular-nums;letter-spacing:-.06em}.pill{background:rgba(255,255,255,.09);color:#d9e8ff;border:1px solid rgba(255,255,255,.08)}
.hero-customer{color:#fff;font-size:14px;line-height:1.35}.card{background:linear-gradient(150deg,rgba(17,29,46,.98),rgba(12,22,36,.98));border-color:var(--line);box-shadow:0 12px 32px rgba(0,0,0,.16)}
input,select,textarea{background:rgba(5,12,23,.62);border-color:rgba(143,162,187,.19);min-height:48px;transition:border .15s,box-shadow .15s,background .15s}
input:focus,select:focus,textarea:focus{background:#0b1524;border-color:rgba(96,165,250,.65);box-shadow:0 0 0 4px rgba(59,130,246,.11)}
button,.buttonlike{transition:transform .12s ease,filter .12s ease,background .12s ease}button:active,.buttonlike:active{transform:scale(.985)}button:disabled{opacity:.42;cursor:not-allowed}
.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 9px 22px rgba(37,99,235,.23)}.secondary{background:rgba(71,94,128,.32);border:1px solid rgba(143,162,187,.12)}
.passkey-btn{background:rgba(255,255,255,.055);color:#eef6ff;border:1px solid rgba(120,170,255,.25);box-shadow:inset 0 1px rgba(255,255,255,.035)}
.passkey-btn:not(:disabled):hover{background:rgba(80,135,225,.13)}


.quick-grid{gap:10px}.quick-grid button{min-height:78px;background:linear-gradient(145deg,rgba(17,29,46,.95),rgba(11,20,33,.95));border-color:var(--line);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.quick-grid button b{font-size:24px;color:#a9caff}.quick-grid button span{font-size:11px;font-weight:700;color:#96a8bf}.section-title{margin-top:26px}.section-title h2{font-size:21px;letter-spacing:-.035em}
.list{gap:10px}.list-item{background:linear-gradient(145deg,rgba(17,29,46,.9),rgba(11,20,33,.92));border-color:var(--line);padding:15px;border-radius:19px}.list-item h4{letter-spacing:-.02em}.amount{font-variant-numeric:tabular-nums;color:#dceaff}
.chip{background:rgba(255,255,255,.035);border-color:var(--line)}.chip.active{background:rgba(59,130,246,.2);border-color:rgba(96,165,250,.38)}
.checkchip span{background:rgba(255,255,255,.035);border-color:var(--line)}.checkchip input:checked+span{background:rgba(52,211,153,.13);border-color:rgba(52,211,153,.35);color:#c9ffe1}
.bottom-nav{width:min(880px,calc(100% - 18px));bottom:9px;border:1px solid rgba(143,162,187,.13);border-radius:22px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(13,23,38,.88);box-shadow:0 18px 55px rgba(0,0,0,.38)}
.bottom-nav button{border-radius:15px;min-height:49px}.bottom-nav button.active{background:rgba(59,130,246,.13);color:#a8caff}.nav-icon{display:block;font-size:18px;line-height:17px;font-weight:700}.bottom-nav button span{font-weight:750}
.auth-screen{background:radial-gradient(600px 380px at 50% 10%,rgba(59,130,246,.24),transparent 72%),#07101d}.auth-card{background:linear-gradient(145deg,rgba(18,31,50,.97),rgba(10,20,34,.98));border-color:rgba(143,162,187,.17);box-shadow:0 30px 80px rgba(0,0,0,.42)}
.brand-mark{background:linear-gradient(145deg,#4b91ff,#2865d8);box-shadow:0 14px 38px rgba(37,99,235,.34)}.auth-divider{display:flex;align-items:center;gap:10px;color:#6f8299;font-size:11px;margin:15px 0 5px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.microcopy{color:#72869e;font-size:11px;line-height:1.45;margin:10px 0 0}.microcopy a,.security-hint a{color:#8db8ff;text-decoration:none}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.card-head h3{margin:2px 0 0}.card-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#7f9fc6}.security-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(59,130,246,.12);color:#98c1ff;border:1px solid rgba(96,165,250,.15);font-size:21px}.security-hint{margin:12px 0 2px;color:#8ca1ba;font-size:12px}.ok-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#34d399;margin-right:7px;box-shadow:0 0 0 4px rgba(52,211,153,.08)}
.passkey-row{align-items:center}.passkey-row>div{display:flex;flex-direction:column;gap:3px}.passkey-row small{color:var(--muted);font-size:11px}.icon-danger{width:31px;height:31px;padding:0;border-radius:10px;background:rgba(251,113,133,.1);color:#ff9aa9;border:1px solid rgba(251,113,133,.18);font-size:18px}.empty-mini{padding:13px 2px;color:#71859e;font-size:12px}.modal{backdrop-filter:blur(8px)}.modal-card{background:linear-gradient(150deg,#111d2f,#0b1524);border-color:var(--line)}
@media(min-width:760px){main{padding-top:4px}.hero-card{padding:25px}.timer{font-size:52px}.quick-grid button{min-height:88px}.topbar{border-radius:0 0 20px 20px}}
@media(max-width:560px){main{padding-left:12px;padding-right:12px;padding-bottom:112px}.topbar{padding-left:15px;padding-right:15px}.hero-card{border-radius:23px}.timer{font-size:40px}.quick-grid{gap:8px}.quick-grid button{padding:12px 4px}.bottom-nav{width:calc(100% - 14px);bottom:7px}.split{gap:8px}}


.history-total{font-size:19px;font-weight:900;color:#b8d4ff;font-variant-numeric:tabular-nums}.history-list{margin-top:12px;max-height:520px;overflow:auto}.history-entry{padding:12px 2px;border-bottom:1px solid var(--line)}.history-entry:last-child{border-bottom:0}.history-entry .row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.history-meta{margin-top:5px;color:#7890aa;font-size:12px}.history-entry strong{font-variant-numeric:tabular-nums;color:#dceaff;white-space:nowrap}

.sync-status{display:inline-flex;align-items:center;gap:6px;margin-top:7px;font-size:11px;font-weight:800;color:#87d8aa;letter-spacing:.02em}
.sync-dot{width:7px;height:7px;border-radius:50%;background:#49d17d;box-shadow:0 0 0 4px rgba(73,209,125,.12)}
.sync-dot.offline{background:#ff7c87;box-shadow:0 0 0 4px rgba(255,93,108,.12)}

.modal-card{position:relative}
.modal-close{position:sticky;top:0;float:right;z-index:5;width:42px;height:42px;border-radius:14px;background:#1b2638;color:#eef5ff;border:1px solid #33445f;font-size:28px;line-height:1;padding:0;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.modal-close:active{transform:scale(.96)}
#modalBody{clear:both}

.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.modal-head h2{margin:0!important;min-width:0}
.modal-close{flex:0 0 44px;width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center;background:#1b2638;border:1px solid #33435b;color:#e9f1ff;font-size:28px;font-weight:400;line-height:1}
.modal-close:active{transform:scale(.96);background:#26344a}

/* V6 – Wochenplan & Kalender */
.bottom-nav{grid-template-columns:repeat(6,1fr)}
.bottom-nav button span{font-size:9px}
.calendar-card{padding:16px}
.calendar-topline{display:flex;justify-content:space-between;gap:10px;align-items:center}
.calendar-switch{display:flex;gap:7px}
.calendar-employee{width:auto;max-width:48%;margin:0;min-height:40px;padding:8px 10px;font-size:13px}
.calendar-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin:16px 0 8px}
.cal-nav-btn{width:44px;height:44px;padding:0;border-radius:14px;background:rgba(255,255,255,.055);color:#dceaff;border:1px solid var(--line);font-size:27px}

.calendar-title-wrap{text-align:center;min-width:0}.calendar-title-wrap b{display:block;font-size:15px;color:#eef5ff}.calendar-title-wrap small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.cal-today{margin-top:3px;min-height:42px;padding:9px 12px}
.calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 16px}.cal-stat{padding:12px 8px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);text-align:center}.cal-stat b{display:block;color:#b9d6ff;font-size:16px;font-variant-numeric:tabular-nums}.cal-stat span{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:700}.cal-mates{grid-column:1/-1;color:#91a8c1;font-size:12px;padding:2px 3px 0}
.calendar-view{display:flex;flex-direction:column;gap:10px}.week-day{border:1px solid var(--line);border-radius:18px;padding:13px;background:rgba(6,14,25,.34)}.week-day.today{border-color:rgba(96,165,250,.45);box-shadow:inset 0 0 0 1px rgba(59,130,246,.08)}.week-day-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.week-day-head>div{display:flex;align-items:baseline;gap:8px}.week-day-head b{font-size:15px}.week-day-head span{font-size:11px;color:var(--muted)}.week-day-head strong{font-size:13px;color:#aecfff;font-variant-numeric:tabular-nums}
.day-events{display:flex;flex-direction:column;gap:8px}.calendar-event{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:start;padding:11px;border-radius:14px;background:rgba(72,112,174,.09);border:1px solid rgba(121,157,209,.12)}.event-time{font-size:11px;color:#91a8c1;font-variant-numeric:tabular-nums;padding-top:2px}.event-body{display:flex;flex-direction:column;gap:3px;min-width:0}.event-body b{font-size:14px;color:#f2f6fb}.event-body span{font-size:11px;color:#8398b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-body small{font-size:11px;color:#9fb3cb}.event-hours{font-size:12px;color:#cfe2ff;font-weight:900;white-space:nowrap}.cal-empty{padding:8px 2px;color:#62758d;font-size:11px}

.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:6px}.month-weekdays span{text-align:center;color:#6f8299;font-size:10px;font-weight:800}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.month-day{min-height:70px;padding:7px 4px;border-radius:13px;background:rgba(255,255,255,.025);border:1px solid var(--line);color:#cbd8e8;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left}.month-day.ghost{visibility:hidden}.month-day>span{font-size:12px;font-weight:800}.month-day b{font-size:11px;color:#a9cbff;margin-top:8px;font-variant-numeric:tabular-nums}.month-day i{font-style:normal;font-size:8px;color:#6f839b;margin-top:3px;line-height:1.1}.month-day.worked{background:rgba(59,130,246,.08);border-color:rgba(96,165,250,.2)}.month-day.today{box-shadow:inset 0 0 0 1px #4f8cff}.calendar-day-total{font-size:24px;font-weight:900;color:#b9d6ff;margin:4px 0 14px}
@media(max-width:560px){.calendar-event{grid-template-columns:54px 1fr auto;gap:8px;padding:10px 9px}.event-hours{font-size:11px}.month-day{min-height:64px}.bottom-nav button{padding-left:1px;padding-right:1px}.bottom-nav button span{font-size:8.5px}.calendar-employee{max-width:50%}}
