*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0f172a;color:#f8fafc;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font:inherit;cursor:pointer}.screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px}.card{background:#1e293b;border-radius:16px;padding:32px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}.input{font-size:24px;padding:16px;border-radius:8px;border:2px solid #334155;background:#0f172a;color:#f8fafc;text-align:center}.button{font-size:20px;font-weight:600;padding:20px;border-radius:8px;border:none;color:#f8fafc}.button-in{background:#16a34a}.button-out{background:#dc2626}.button-secondary{background:#334155}.button-row{display:flex;gap:16px}.button-row .button{flex:1}.pending-banner{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;text-align:center;font-size:16px;background:#334155}.pending-banner.urgent{background:#b45309;font-weight:700}.error-text{color:#fca5a5;font-size:16px}.confirmation{font-size:22px;font-weight:700;color:#4ade80;text-align:center}.hint{font-size:14px;color:#94a3b8;text-align:center;margin:0}.status-badge{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:16px;font-weight:600}.status-in{background:#14532d;color:#4ade80}.status-out{background:#1e293b;color:#94a3b8;border:1px solid #334155}.status-dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex-shrink:0}.status-duration{font-weight:400;font-size:14px;opacity:.8}.button-primary-action{box-shadow:0 0 0 3px #fff3;font-size:22px}.rapport-card{max-width:640px}.rapport-card h2{font-size:18px;margin:0;color:#94a3b8}.rapport-table{width:100%;border-collapse:collapse;font-size:15px}.rapport-table th{text-align:left;font-size:12px;color:#64748b;padding:4px 8px 8px;border-bottom:1px solid #334155}.rapport-table td{padding:8px;border-bottom:1px solid #1e293b}.rapport-row.rapport-in td:nth-child(2){color:#4ade80}.rapport-row.rapport-out td:nth-child(2){color:#f87171}.rapport-row.rapport-anfahrt td:nth-child(2),.rapport-row.rapport-abfahrt td:nth-child(2){color:#94a3b8}
