*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-color: #0f172a;--bg-gradient: linear-gradient(135deg, #0f172a 0%, #172554 100%);--surface-color: rgba(30, 58, 138, .3);--surface-border: rgba(255, 255, 255, .12);--surface-border-hover: rgba(255, 255, 255, .25);--text: #f8fafc;--text-muted: #94a3b8;--text-light: #64748b;--primary: #3b82f6;--primary-hover: #2563eb;--accent: #0ea5c9;--success: #22c55e;--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.05);--shadow-md: 0 8px 32px 0 rgba(0,0,0,.37);--shadow-lg: 0 10px 40px rgba(0,0,0,.5);--glass-blur: blur(16px);--radius: 16px;--radius-sm: 8px;--font: "Inter", system-ui, -apple-system, sans-serif}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--surface-border);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-prompt-wrapper{display:flex;align-items:center;justify-content:center;min-height:60vh}.login-prompt{background:var(--surface-color);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--surface-border);border-radius:var(--radius);padding:48px;max-width:500px;width:100%;text-align:center;box-shadow:var(--shadow-md);animation:fadeInUp .4s ease}.login-prompt-icon{color:var(--primary);margin-bottom:20px;display:flex;justify-content:center;filter:drop-shadow(0 0 12px rgba(59,130,246,.4))}.login-prompt-title{font-size:24px;font-weight:700;color:var(--text);margin-bottom:12px}.login-prompt-text{font-size:15px;color:var(--text-muted);line-height:1.6}.app-container{max-width:960px;margin:0 auto;padding:0 16px 120px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0 24px;margin-bottom:24px}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;filter:drop-shadow(0 0 12px rgba(59,130,246,.4))}.header-title{font-size:18px;font-weight:600;color:var(--text);line-height:1.2;letter-spacing:-.02em}.header-user{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:#ffffff1a;color:var(--text);border:1px solid var(--surface-border);font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center}.user-name{font-size:14px;font-weight:500;color:var(--text)}.save-indicator{font-size:12px;padding:4px 10px;border-radius:20px;font-weight:500;transition:all .3s}.save-indicator.saving{background:#facc1533;color:#fde047}.save-indicator.saved{background:#22c55e33;color:var(--success)}.btn-logout{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:transparent;color:var(--text-muted);border:1px solid var(--surface-border);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;margin-left:8px}.btn-logout:hover{background:var(--danger-light);color:var(--danger);border-color:#ef44444d}.card{background:var(--surface-color);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--surface-border);border-radius:var(--radius);padding:28px;margin-bottom:20px;box-shadow:var(--shadow-md);animation:fadeInUp .3s ease}.card--success{border-color:var(--success);background:#22c55e1a}.card--sticky{position:sticky;bottom:16px;z-index:50}.card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--surface-border)}.card-header-icon{font-size:20px;line-height:1;width:40px;height:40px;border-radius:10px;background:#ffffff0d;border:1px solid var(--surface-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-title{font-size:17px;font-weight:600;color:var(--text)}.card-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px}.card-header-badge{margin-left:auto;font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.field-group{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;font-weight:500;color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em}.field-label-mobile{display:none}.field-hint{font-size:11px;color:var(--success);font-weight:500}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-input{width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--surface-border);font-family:var(--font);font-size:14px;color:var(--text);background:#00000040;transition:border-color .2s,box-shadow .2s,background .2s;outline:none}.field-input::placeholder{color:#475569}.field-input:focus{border-color:var(--primary);background:#0006;box-shadow:0 0 0 2px #3b82f64d}.field-input--readonly{background:#ffffff0d;color:var(--text-muted);cursor:not-allowed}.field-input--compact{padding:8px 10px;font-size:13px}.field-input--narrow{max-width:120px}.field-input--km{text-align:right;padding-right:36px}.km-input-wrapper{position:relative;display:flex;align-items:center}.km-unit{position:absolute;right:10px;font-size:12px;color:var(--text-muted);pointer-events:none}.stammdaten-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.stammdaten-col{display:flex;flex-direction:column;gap:16px}.stammdaten-col--right{justify-content:flex-start}.rechnung-info-card{border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:20px;background:#00000026}.rechnung-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.rechnung-logo{height:40px;object-fit:contain;filter:brightness(0) invert(1) opacity(.8)}.rechnung-firma-name{font-size:14px;font-weight:600;color:var(--text)}.rechnung-firma-addr{font-size:12px;color:var(--text-muted)}.rechnung-meta{display:flex;flex-direction:column;gap:8px}.rechnung-meta-row{display:flex;justify-content:space-between;align-items:center}.rechnung-meta-label{font-size:12px;color:var(--text-muted)}.rechnung-meta-value{font-size:13px;font-weight:500;color:var(--text)}.rechnung-nr{color:#60a5fa;font-weight:600}.fahrten-header{display:grid;grid-template-columns:40px 130px 1fr 1fr 100px 36px;gap:8px;padding:8px 4px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--surface-border)}.fahrten-list{display:flex;flex-direction:column;gap:4px;margin:8px 0}.fahrt-row{display:grid;grid-template-columns:40px 130px 1fr 1fr 100px 36px;gap:8px;align-items:center;padding:6px 4px;border-radius:var(--radius-sm);transition:background .15s}.fahrt-row:hover{background:#ffffff0d}.fahrt-nr{font-size:13px;color:#475569;text-align:center}.fahrten-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;margin-top:8px;border-top:1px solid var(--surface-border)}.fahrten-summe{display:flex;align-items:center;gap:12px}.fahrten-summe-label{font-size:13px;font-weight:500;color:var(--text-muted)}.fahrten-summe-value{font-size:18px;font-weight:600;color:var(--text)}.abrechnung-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.abrechnung-stats{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.stat-block{display:flex;flex-direction:column}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500}.stat-value{font-size:22px;font-weight:600;color:var(--text)}.stat-value--total{font-size:28px;color:#60a5fa;text-shadow:0 0 12px rgba(59,130,246,.4)}.stat-divider{font-size:20px;color:#475569;margin-top:16px}.abrechnung-action{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hint-msg{font-size:12px;color:var(--text-muted);max-width:240px;text-align:right}.error-msg{font-size:13px;color:var(--danger);font-weight:500}.success-message{text-align:center;padding:16px 0}.success-icon{width:56px;height:56px;border-radius:50%;background:#22c55e33;color:var(--success);border:1px solid rgba(34,197,94,.4);font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 0 20px #22c55e33;animation:popIn .4s cubic-bezier(.17,.67,.32,1.3)}.success-message h2{font-size:20px;font-weight:600;color:var(--text);margin-bottom:8px}.success-message p{color:var(--text-muted);font-size:14px}.success-detail{font-weight:500;color:#94a3b8;margin-top:8px!important}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 20px;font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #3b82f663;white-space:nowrap}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-primary.btn--loading{pointer-events:none}.btn-lg{padding:14px 28px;font-size:15px;border-radius:10px}.btn-secondary{display:inline-flex;align-items:center;gap:6px;background-color:#ffffff1a;color:var(--text);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:8px 16px;font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#ffffff26;transform:translateY(-2px)}.btn-icon{width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s;background:transparent;color:var(--text-muted)}.btn-icon--danger:hover{background:var(--danger-light);color:var(--danger);transform:scale(1.1)}.btn-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;animation:spin .6s linear infinite;flex-shrink:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 720px){.stammdaten-grid{grid-template-columns:1fr;gap:20px}.fahrten-header{display:none}.fahrt-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:8px;padding:12px;background:#00000026;border-radius:var(--radius-sm);border:1px solid var(--surface-border);margin-bottom:8px}.fahrten-col--nr{display:none}.fahrten-col--datum{grid-column:1}.fahrten-col--km{grid-column:2}.fahrten-col--betreuter,.fahrten-col--anlass{grid-column:1 / -1}.fahrten-col--action{grid-column:2;grid-row:1;justify-self:end}.field-label-mobile{display:block}.abrechnung-inner{flex-direction:column;align-items:stretch}.abrechnung-action{align-items:stretch}.btn-primary.btn-lg{width:100%;justify-content:center}.stat-value--total{font-size:24px}.header-user .user-name{display:none}}
