:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--status-bar-height:max(var(--safe-area-top),24px);--nav-bar-height:max(var(--safe-area-bottom),72px);--app-header-height:64px;--mobile-nav-height:60px;--dialog-header-height:56px;--dialog-footer-height:72px;--safe-header-height:calc(var(--status-bar-height) + var(--app-header-height));--safe-footer-height:calc(var(--nav-bar-height) + var(--mobile-nav-height));--available-height:calc(100vh - var(--safe-header-height) - var(--safe-footer-height))}.app-container{min-height:100vh;padding-top:var(--safe-area-top);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left)}.safe-area-top{padding-top:var(--safe-area-top)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.safe-area-inset{padding-top:var(--safe-area-top);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left)}.pt-safe-area-top{padding-top:var(--status-bar-height)}.pb-safe-area-bottom{padding-bottom:var(--nav-bar-height)}.mobile-header{height:var(--safe-header-height);background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));z-index:50;padding-bottom:12px;padding-top:var(--status-bar-height);box-sizing:border-box;align-items:flex-end;display:flex;position:fixed;top:0;left:0;right:0}.mobile-content{margin-top:var(--safe-header-height);margin-bottom:var(--safe-footer-height);min-height:var(--available-height);padding:16px;padding-bottom:calc(16px + var(--safe-footer-height));box-sizing:border-box}.mobile-bottom-nav{height:var(--safe-footer-height);background:hsl(var(--background));border-top:1px solid hsl(var(--border));z-index:50;padding-top:8px;padding-bottom:var(--nav-bar-height);box-sizing:border-box;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}@media (min-width:768px){:root{--app-header-height:72px;--mobile-nav-height:0px}.mobile-header{height:var(--app-header-height);padding-top:0;position:static}.mobile-content{min-height:auto;margin-top:0;margin-bottom:0;padding:24px}.mobile-bottom-nav{display:none}}@media (min-width:1024px){:root{--app-header-height:80px}.mobile-content{padding:32px}}
@media (max-width:768px){button,.btn,[role=button]{touch-action:manipulation!important;border-radius:8px!important;min-width:48px!important;min-height:48px!important;padding:12px 16px!important;font-size:16px!important}button[data-size=icon],.btn-icon{min-width:48px!important;min-height:48px!important;padding:12px!important}button[data-size=sm],.btn-sm{min-height:44px!important;padding:10px 14px!important;font-size:14px!important}.fab{bottom:calc(var(--safe-area-bottom) + 80px);z-index:1000;border-radius:50%;width:56px;height:56px;position:fixed;right:16px;box-shadow:0 4px 12px #00000026}.button-group{-webkit-overflow-scrolling:touch;gap:8px;padding:8px 0;display:flex;overflow-x:auto}.button-group button{white-space:nowrap;flex-shrink:0}.select-trigger,[role=combobox]{width:100%!important;min-height:48px!important;padding:12px 16px!important;font-size:16px!important}.form-actions{background:hsl(var(--background));border-top:1px solid hsl(var(--border));padding:16px;padding-bottom:calc(16px + var(--safe-area-bottom));margin:0 -16px -16px;position:sticky;bottom:0}.form-actions .button-row{gap:12px;display:flex}.form-actions button{flex:1;font-weight:600;min-height:52px!important}input,textarea,select{transform-origin:0 0;font-size:16px!important;transition:none!important}.keyboard-open{height:100vh;overflow:hidden}.keyboard-open .mobile-content{padding-bottom:0}input,textarea,select{border-radius:8px!important;min-height:48px!important;padding:12px 16px!important}input[type=checkbox],input[type=radio]{width:24px!important;height:24px!important;margin:12px!important}.mobile-bottom-nav{background:hsl(var(--background));border-top:1px solid hsl(var(--border));box-shadow:0 -2px 8px #0000001a}.mobile-bottom-nav button{flex-direction:column;gap:4px;min-height:56px!important;padding:8px 4px!important}.tabs-trigger{min-height:48px!important;padding:12px 20px!important;font-size:16px!important}*{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scroll-area,.overflow-auto{overscroll-behavior:contain}.ptr-indicator{background:hsl(var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:top .3s;display:flex;position:absolute;top:-60px;left:50%;transform:translate(-50%)}.ptr-active .ptr-indicator{top:20px}.card,.dialog-content,.mobile-header,.mobile-bottom-nav{will-change:transform;transform:translateZ(0)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:active,.btn:active{transition:transform .1s;transform:scale(.98)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple:active:after{width:200px;height:200px}}
@media (max-width:768px) and (orientation:portrait){.responsive-card-table{border:none;width:100%}.responsive-card-table thead{display:none}.responsive-card-table tbody tr{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:12px;margin-bottom:1.5rem;padding:0;display:block;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.responsive-card-table tbody td:first-child{background:hsl(var(--primary)/.05);border-bottom:1px solid hsl(var(--border));color:hsl(var(--primary));padding:1rem;font-size:1.1rem;font-weight:700;display:block}.responsive-card-table tbody td:first-child:before{display:none}.responsive-card-table tbody td:not(:first-child){border-bottom:1px solid hsl(var(--border)/.2);grid-template-columns:40% 1fr;align-items:center;gap:1rem;min-height:44px;padding:.75rem 1rem;font-size:.95rem;display:grid}.responsive-card-table tbody td:last-child{background:hsl(var(--muted)/.3);color:hsl(var(--primary));border-bottom:none;font-weight:600}.responsive-card-table tbody td:not(:first-child):before{content:attr(data-label)":";color:hsl(var(--muted-foreground));font-size:.9rem;font-weight:500}.responsive-card-table td[data-label*=Gesamt]{font-size:1.1rem;font-weight:700}.responsive-card-table .text-amber-500{background:hsl(var(--destructive)/.15);color:hsl(var(--destructive-foreground));border-radius:6px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}}.dark .responsive-card-table tbody tr{background:hsl(var(--card));border-color:hsl(var(--border))}.dark .responsive-card-table .text-amber-500{background:hsl(var(--destructive)/.2);color:hsl(var(--destructive-foreground))}
@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-fade-in-scale{animation:.2s ease-out fadeInScale}.animate-slide-in-right{animation:.3s ease-out slideInFromRight}.animate-slide-in-left{animation:.3s ease-out slideInFromLeft}.animate-bounce-in{animation:.5s ease-out bounceIn}.animate-pulse-slow{animation:2s infinite pulse}.animate-shake{animation:.5s ease-in-out shake}.hover-lift{transition:transform .2s,box-shadow .2s}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.hover-scale{transition:transform .2s}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow .2s}.hover-glow:hover{box-shadow:0 0 20px rgba(var(--primary),.3)}.btn-animate{transition:all .2s;position:relative;overflow:hidden}.btn-animate:active{transform:scale(.98)}.btn-animate:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-animate:active:before{width:300px;height:300px}.loading-dots:after{content:"";animation:1.5s infinite dots}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.success-flash{animation:.6s ease-out successFlash}@keyframes successFlash{0%{background-color:#0000}50%{background-color:#22c55e33}to{background-color:#0000}}.error-flash{animation:.6s ease-out errorFlash}@keyframes errorFlash{0%{background-color:#0000}50%{background-color:#ef444433}to{background-color:#0000}}.stagger-item{opacity:0;animation:.3s ease-out forwards fadeIn}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}@media (max-width:768px){.animate-fade-in,.animate-fade-in-scale,.animate-slide-in-right,.animate-slide-in-left{animation-duration:.2s}.hover-lift:hover{transform:translateY(-1px)}.hover-scale:hover{transform:scale(1.01)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-pulse-slow{animation:none}}.focus-ring{transition:box-shadow .2s}.focus-ring:focus{box-shadow:0 0 0 2px rgba(var(--primary),.5);outline:none}.progress-bar{position:relative;overflow:hidden}.progress-bar:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}
.dark{--background:222 84% 4.9%;--foreground:210 40% 98%;--card:222 84% 6%;--card-foreground:210 40% 98%;--popover:222 84% 6%;--popover-foreground:210 40% 98%;--primary:142 76% 50%;--primary-foreground:222 84% 4.9%;--secondary:217 33% 17%;--secondary-foreground:210 40% 98%;--muted:217 33% 15%;--muted-foreground:215 20% 70%;--accent:217 33% 17%;--accent-foreground:210 40% 98%;--border:217 33% 20%;--input:217 33% 18%;--ring:142 76% 36%;--destructive:0 63% 31%;--destructive-foreground:210 40% 98%;--success:142 76% 36%;--success-foreground:210 40% 98%;--warning:38 92% 50%;--warning-foreground:222 84% 4.9%;--info:217 91% 60%;--info-foreground:222 84% 4.9%;--shadow-color:222 84% 2%;--shadow-elevation-low:0 1px 2px 0 hsl(var(--shadow-color)/.05);--shadow-elevation-medium:0 4px 6px -1px hsl(var(--shadow-color)/.1),0 2px 4px -1px hsl(var(--shadow-color)/.06);--shadow-elevation-high:0 10px 15px -3px hsl(var(--shadow-color)/.1),0 4px 6px -2px hsl(var(--shadow-color)/.05);--glow-primary:142 76% 36%/.3;--glow-secondary:217 91% 60%/.2}.dark .card{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow-elevation-low)}.dark .card:hover{box-shadow:var(--shadow-elevation-medium);transition:box-shadow .2s}.dark button{border-color:hsl(var(--border))}.dark button:hover{background:hsl(var(--accent));border-color:hsl(var(--border))}.dark .bg-primary,.dark button.bg-primary,.dark [class*=bg-primary],.dark .btn-primary{color:#020817!important;background:#1fe066!important;border:1px solid #1fe066!important}.dark .bg-primary:hover,.dark button.bg-primary:hover,.dark [class*=bg-primary]:hover,.dark .btn-primary:hover{color:#020817!important;background:#1cca5b!important;border:1px solid #1cca5b!important}.dark button[class*=ghost]{color:hsl(var(--foreground))!important}.dark button[class*=ghost]:hover{background:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.dark input,.dark textarea,.dark select{background:hsl(var(--input));border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.dark input:focus,.dark textarea:focus,.dark select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--glow-primary))}.dark table{background:hsl(var(--card))}.dark th{background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border))}.dark td{border-bottom:1px solid hsl(var(--border))}.dark tr:hover{background:hsl(var(--muted)/.5)}.dark [role=dialog]{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow-elevation-high)}.dark .mobile-header{background:hsl(var(--background)/.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid hsl(var(--border))}.dark .mobile-bottom-nav{background:hsl(var(--background)/.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid hsl(var(--border))}.dark .badge{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.dark .badge-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dark .badge-success{background:hsl(var(--success));color:hsl(var(--success-foreground))}.dark .badge-warning{background:hsl(var(--warning));color:hsl(var(--warning-foreground))}.dark .badge-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.dark .skeleton{background:linear-gradient(90deg,hsl(var(--muted))25%,hsl(var(--muted)/.5)50%,hsl(var(--muted))75%);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:hsl(var(--muted))}.dark ::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary))}.dark ::selection{background:hsl(var(--primary)/.3);color:hsl(var(--foreground))}.dark :focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.dark a{color:hsl(var(--primary))}.dark a:hover{color:hsl(var(--primary));text-decoration:underline}.dark code{background:hsl(var(--muted));color:hsl(var(--foreground));border-radius:4px;padding:2px 4px;font-family:Courier New,monospace}.dark .tooltip{background:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--border));box-shadow:var(--shadow-elevation-medium)}.dark .text-blue-700,.dark .text-blue-800,.dark .text-blue-900{color:#93c5fd!important}.dark .text-green-700,.dark .text-green-800,.dark .text-green-900{color:#86efac!important}.dark .text-orange-700,.dark .text-orange-800,.dark .text-orange-900{color:#fdba74!important}.dark .text-yellow-700,.dark .text-yellow-800,.dark .text-yellow-900{color:#fde047!important}.dark .text-purple-700,.dark .text-purple-800,.dark .text-purple-900{color:#c4b5fd!important}.dark .text-red-700,.dark .text-red-800,.dark .text-red-900{color:#fca5a5!important}.dark .text-blue-200,.dark .text-blue-300{color:#93c5fd!important}.dark .text-green-200,.dark .text-green-300{color:#86efac!important}.dark .text-orange-200,.dark .text-orange-300{color:#fdba74!important}.dark .text-yellow-200,.dark .text-yellow-300{color:#fde047!important}.dark .text-purple-200,.dark .text-purple-300{color:#c4b5fd!important}.dark .text-red-200,.dark .text-red-300{color:#fca5a5!important}
.glass-subtle{-webkit-backdrop-filter:blur(12px);background:#ffffff80;border:1px solid #ffffff40;box-shadow:0 4px 16px #0000000f}.glass-medium{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffa6;border:1px solid #ffffff4d;box-shadow:0 8px 32px #00000014}.glass-strong{-webkit-backdrop-filter:blur(30px)saturate(200%);background:#fffc;border:1px solid #fff6;box-shadow:0 12px 48px #0000001f}.dark .glass-subtle{background:#14141e66;border:1px solid #ffffff0f;box-shadow:0 4px 16px #0000004d}.dark .glass-medium{background:#1e1e2880;border:1px solid #ffffff14;box-shadow:0 8px 32px #0006}.dark .glass-strong{background:#282837a6;border:1px solid #ffffff1f;box-shadow:0 12px 48px #00000080}.glass-button{-webkit-backdrop-filter:blur(16px);background:#fff9;border:1px solid #ffffff4d;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #00000014}.glass-button:hover{background:#ffffffbf;transform:translateY(-2px);box-shadow:0 6px 24px #0000001f}.glass-button:active{transform:translateY(0);box-shadow:0 2px 8px #00000014}.dark .glass-button{background:#1e1e2880;border:1px solid #ffffff14;box-shadow:0 4px 16px #0000004d}.dark .glass-button:hover{background:#28283799;box-shadow:0 6px 24px #0006}.glass-input{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #ffffff4d;transition:all .3s;box-shadow:inset 0 2px 4px #0000000a}.glass-input:focus{border-color:hsl(var(--primary));background:#ffffffd9;box-shadow:0 0 0 3px #22c55e1a,inset 0 2px 4px #0000000a}.dark .glass-input{background:#14141e80;border:1px solid #ffffff14;box-shadow:inset 0 2px 4px #0003}.dark .glass-input:focus{border-color:hsl(var(--primary));background:#1e1e2899;box-shadow:0 0 0 3px #4ade8026,inset 0 2px 4px #0003}.glass-header{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#fffc;border-bottom:1px solid #ffffff4d;box-shadow:0 4px 16px #0000000f}.dark .glass-header{background:#14141ecc;border-bottom:1px solid #ffffff14;box-shadow:0 4px 16px #0006}.glass-modal{-webkit-backdrop-filter:blur(32px)saturate(200%);background:#ffffffe6;border:1px solid #fff6;box-shadow:0 20px 60px #00000026}.dark .glass-modal{background:#191923d9;border:1px solid #ffffff1a;box-shadow:0 20px 60px #0009}.frosted-glass{-webkit-backdrop-filter:blur(40px)saturate(150%);background:#fff6;border:1px solid #fff3}.dark .frosted-glass{background:#0f0f1999;border:1px solid #ffffff0d}.gradient-glass{-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#ffffffb3 0%,#ffffff80 100%);border:1px solid #ffffff4d}.dark .gradient-glass{background:linear-gradient(135deg,#28283799 0%,#19192366 100%);border:1px solid #ffffff14}.glass-shimmer{position:relative;overflow:hidden}.glass-shimmer:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:3s infinite shimmer;position:absolute;top:0;left:-100%}.dark .glass-shimmer:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}@keyframes shimmer{0%{left:-100%}to{left:100%}}.glass-glow{box-shadow:0 8px 32px #00000014,0 0 40px #22c55e26}.dark .glass-glow{box-shadow:0 8px 32px #0006,0 0 40px #4ade8033}.glass-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-lift:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 16px 48px #0000001f}.dark .glass-lift:hover{box-shadow:0 16px 48px #00000080}.blur-sm{-webkit-backdrop-filter:blur(8px)}.blur-md{-webkit-backdrop-filter:blur(16px)}.blur-lg{-webkit-backdrop-filter:blur(24px)}.blur-xl{-webkit-backdrop-filter:blur(32px)}.saturate-100{-webkit-backdrop-filter:saturate()}.saturate-150{-webkit-backdrop-filter:saturate(150%)}.saturate-200{-webkit-backdrop-filter:saturate(200%)}
