:root{
  --bg:#f5f7fb;--surface:#ffffff;--surface-2:#f8fafc;--text:#172033;--muted:#6b7280;
  --border:#e7ebf2;--primary:#4f46e5;--primary-dark:#4338ca;--primary-soft:#eef2ff;
  --success:#16a34a;--success-dark:#15803d;--success-soft:#ecfdf3;
  --danger:#dc2626;--danger-dark:#b91c1c;--danger-soft:#fef2f2;
  --shadow:0 10px 30px rgba(30,41,59,.07);--shadow-lg:0 20px 50px rgba(30,41,59,.11);
  --radius:18px;--radius-sm:11px
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#eef2ff 0,transparent 28rem),var(--bg);color:var(--text);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.container{width:min(1220px,calc(100% - 40px));margin-inline:auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,235,242,.9);box-shadow:0 1px 0 rgba(15,23,42,.02);margin-bottom:30px}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-size:18px;font-weight:850;letter-spacing:-.025em}
.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#6366f1,#4338ca);box-shadow:0 8px 18px rgba(79,70,229,.28);font-size:19px}
nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
nav a{color:#667085;text-decoration:none;font-weight:700;padding:9px 12px;border-radius:10px;transition:.18s ease}
nav a:hover{color:var(--primary);background:var(--primary-soft)}
nav a.active{color:var(--primary);background:var(--primary-soft)}
nav a.logout{color:#9f1239;margin-left:5px}
main.container{padding-bottom:44px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 22px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-weight:850;margin-bottom:5px}
h1,h2,h3{color:#172033;letter-spacing:-.025em;margin-top:0}
h1{font-size:clamp(26px,4vw,36px);line-height:1.16;margin-bottom:7px}
h2{font-size:20px;margin-bottom:16px}
p{margin-top:0}.lead{color:var(--muted);font-size:16px;margin:0}
.card{background:rgba(255,255,255,.96);border:1px solid rgba(231,235,242,.95);border-radius:var(--radius);padding:24px;margin-bottom:22px;box-shadow:var(--shadow)}
.card.hero{padding:28px;background:linear-gradient(135deg,#fff 0%,#fbfcff 70%,#f3f1ff 100%)}
.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.card-title h2,.card-title h1{margin:0}
.grid{display:grid;gap:22px}.grid.two{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)}
.narrow,.login-card{max-width:660px;margin:50px auto}.login-card{padding:34px}
label{display:block;font-weight:750;color:#344054;margin:0 0 16px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d9dee8;border-radius:var(--radius-sm);font:inherit;color:var(--text);margin-top:7px;background:#fff;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
input:focus,select:focus,textarea:focus{border-color:#818cf8;box-shadow:0 0 0 4px rgba(99,102,241,.12)}
textarea{resize:vertical;min-height:104px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 15px;text-decoration:none;color:#fff;cursor:pointer;font-weight:800;font:inherit;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}
.btn.primary{background:linear-gradient(135deg,#6366f1,var(--primary));box-shadow:0 7px 16px rgba(79,70,229,.18)}.btn.primary:hover{background:linear-gradient(135deg,#5b5fe9,var(--primary-dark))}
.btn.success{background:linear-gradient(135deg,#22c55e,var(--success));box-shadow:0 7px 16px rgba(22,163,74,.17)}.btn.success:hover{background:linear-gradient(135deg,#16a34a,var(--success-dark))}
.btn.danger{background:linear-gradient(135deg,#ef4444,var(--danger));box-shadow:0 7px 16px rgba(220,38,38,.14)}.btn.danger:hover{background:linear-gradient(135deg,#dc2626,var(--danger-dark))}
.btn.secondary{background:#eef1f6;color:#3d4758;box-shadow:none}.btn.secondary:hover{background:#e4e8ef;color:#222c3c}
.btn.big{padding:14px 20px;font-size:16px;min-height:50px}.btn.small{padding:8px 11px;font-size:13px;border-radius:9px}
.clock-state{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:13px;background:var(--success-soft);color:#166534;font-weight:750;margin:0 0 18px}.clock-state.off{background:#f8fafc;color:#64748b}
.pulse{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.stats div{background:var(--surface-2);border:1px solid var(--border);padding:15px;border-radius:14px;min-width:0}
.stats span{display:block;color:var(--muted);font-size:12px;font-weight:750;margin-bottom:5px}.stats b{display:block;font-size:20px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis}
.activity-list{display:grid;gap:12px}
.activity{display:flex;gap:18px;align-items:flex-start;padding:17px;border:1px solid var(--border);border-radius:15px;background:#fff;transition:border-color .18s,box-shadow .18s,transform .18s}
.activity:hover{border-color:#d5daf0;box-shadow:0 8px 22px rgba(30,41,59,.055);transform:translateY(-1px)}
.activity.running{border-color:#c7d2fe;background:linear-gradient(135deg,#fff,#fafaff)}
.grow{flex:1;min-width:0}.activity-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}.activity-title{font-size:16px}.activity p{margin:9px 0 0;color:#4b5563}.activity-meta{color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.running-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-right:2px;box-shadow:0 0 0 4px rgba(34,197,94,.10)}
.badge{display:inline-flex;align-items:center;background:var(--badge);color:#fff;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:850;letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.actions form{margin:0}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:18px;border:1px solid transparent;font-weight:700;box-shadow:var(--shadow)}.alert.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.alert.danger{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.muted,small{color:var(--muted)}.empty-state{text-align:center;padding:34px 18px;color:var(--muted);border:1px dashed #d8deea;border-radius:15px;background:#fafbfc}.empty-icon{font-size:28px;margin-bottom:8px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:0}th{background:#f8fafc;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.055em;font-weight:850;white-space:nowrap}tbody tr:hover td{background:#fcfcfe}
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{margin:0;min-width:180px}
.category-row{display:grid;grid-template-columns:2fr 76px 92px 95px auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.category-row:last-child{border-bottom:0}.category-row input{margin:0}.check{margin:0;font-weight:600;color:var(--muted)}.check input{width:auto;margin-right:6px}
.user-chip{display:inline-flex;align-items:center;gap:8px;color:#475467;font-weight:700;font-size:13px;margin-left:8px}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:900}
@media(max-width:900px){.grid.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.user-chip{display:none}}
@media(max-width:720px){.container{width:min(100% - 24px,1220px)}.topbar{margin-bottom:22px}.nav{align-items:flex-start;padding:12px 0;flex-direction:column;gap:10px}.brand{width:100%}nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}nav a{font-size:13px;padding:8px 10px}.card{padding:18px;border-radius:16px}.card.hero{padding:20px}.activity{flex-direction:column}.actions{width:100%}.actions .btn,.actions form{flex:1}.actions form .btn{width:100%}.category-row{grid-template-columns:1fr 74px 84px}.category-row .check{grid-column:1/2}.stats b{font-size:18px}.page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.stats{grid-template-columns:1fr 1fr;gap:8px}.stats div{padding:12px}.btn.big{width:100%}.login-card{margin-top:24px;padding:22px}.filters label{width:100%;min-width:0}.filters .btn{width:100%}}

/* Zeitbilanz */
.time-balance-card{background:linear-gradient(135deg,#fff 0%,#fbfcff 100%)}
.time-balance{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.15fr);gap:12px;align-items:stretch}
.balance-item{padding:17px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);min-width:0}
.balance-item span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:5px}
.balance-item b{display:block;font-size:22px;letter-spacing:-.025em;white-space:nowrap}
.balance-operator{display:grid;place-items:center;color:#98a2b3;font-weight:900;font-size:22px}
.balance-item.result{border-width:1px}
.balance-item.result.positive{background:#ecfdf3;border-color:#bbf7d0;color:#166534}
.balance-item.result.zero{background:#f8fafc;border-color:#d8dee8;color:#475569}
.balance-item.result.negative{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.balance-item.result span{color:inherit;opacity:.82}
.balance-hint{margin:14px 0 0;color:#9f1239;font-size:13px;font-weight:700}
@media(max-width:720px){.time-balance{grid-template-columns:1fr}.balance-operator{height:14px}.balance-item b{font-size:20px}}

/* Tätigkeitspausen */
.btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 7px 16px rgba(217,119,6,.16)}
.btn.warning:hover{background:linear-gradient(135deg,#e58b08,#b45309)}
.activity.paused{border-color:#fde68a;background:linear-gradient(135deg,#fff,#fffbeb)}
.paused-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f59e0b;margin-right:2px;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
.paused-label{color:#b45309;font-weight:750}

/* Zeitbilanz kompakt in "Arbeitszeit heute" */
.work-balance-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:-8px 0 22px;padding-top:14px;border-top:1px solid var(--border)}
.work-balance-inline>div{padding:14px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.work-balance-inline span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:5px}
.work-balance-inline b{display:block;font-size:20px;letter-spacing:-.02em}
.work-balance-result.positive{background:#ecfdf3;border-color:#bbf7d0;color:#166534}
.work-balance-result.zero{background:#f8fafc;border-color:#d8dee8;color:#475569}
.work-balance-result.negative{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.work-balance-result span{color:inherit;opacity:.82}
@media(max-width:430px){.work-balance-inline{grid-template-columns:1fr 1fr;gap:8px}.work-balance-inline>div{padding:12px}.work-balance-inline b{font-size:18px}}
