.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px 18px;position:relative;background:#000;color:#fff}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 40%,rgba(255,255,255,.08) 0%,transparent 55%),radial-gradient(circle at 80% 18%,rgba(255,255,255,.05) 0%,transparent 52%),radial-gradient(circle at 55% 85%,rgba(255,255,255,.04) 0%,transparent 58%),linear-gradient(135deg,#050505,#0a0a0a 55%,#000);opacity:1}.auth-shell{position:relative;width:100%;max-width:520px}.auth-card{border-radius:20px;border:1px solid rgba(255,255,255,.15);background:#0f0f0f99;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:0 28px 90px #0009;padding:32px 28px 28px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 20px}.auth-title{font-size:16px;font-weight:700;letter-spacing:.2px;color:#fffffff2}.auth-subtitle{font-size:12px;color:#ffffffa6}.auth-form{padding:16px 0 0;display:flex;flex-direction:column;align-items:center;gap:20px}.auth-card :where(input,button,a,label,p,h1,h2,h3,h4,h5,h6){color:inherit}.auth-card :where(h1,h2,h3,h4,h5,h6){text-align:center!important;color:#fff!important;font-weight:600!important;margin-bottom:24px!important;margin-top:0!important}.auth-card :where(label){text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;color:#fff!important;font-weight:500!important;margin-bottom:8px!important;gap:10px!important}.auth-card :where(input){background:#ffffff14!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:14px!important;text-align:center!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:14px 16px!important;color:#fffffff2!important;font-size:15px!important;transition:all .2s ease!important}.auth-card :where(input):focus{background:#ffffff1f!important;border-color:#ffffff4d!important;outline:none!important;box-shadow:0 0 0 3px #ffffff1a!important}.auth-card :where(input)::placeholder{color:#ffffff80!important}.auth-card :where(form){display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;gap:24px!important}.auth-card :where(button[type=submit]){border-radius:14px!important;margin:8px auto 0!important;width:100%!important;max-width:100%!important;padding:14px 20px!important;background:linear-gradient(145deg,#3b82f6,#2563eb)!important;color:#fff!important;font-weight:600!important;font-size:15px!important;border:none!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 4px 12px #3b82f64d!important}.auth-card :where(button[type=submit]):hover{background:linear-gradient(145deg,#2563eb,#3b82f6)!important;box-shadow:0 6px 16px #3b82f666!important;transform:translateY(-1px)!important}.auth-card :where(a){text-align:center!important;display:block!important;width:100%!important;margin-top:12px!important;color:#60a5fa!important;text-decoration:none!important;font-size:14px!important;transition:color .2s ease!important}.auth-card :where(a):hover{color:#93c5fd!important;text-decoration:underline!important}.auth-card :where(p){text-align:center!important}.auth-footer{margin-top:12px;text-align:center}.auth-footnote{font-size:11px;color:#ffffff73}.vehicle-item{padding:2px 4px;margin:0 0 1px;border:none;cursor:pointer;transition:background-color .1s ease;line-height:1.2}.vehicle-item:hover{opacity:.9}.vehicle-item.selected{font-weight:600}.vehicle-item-name{color:var(--text-primary);font-size:.8125rem;font-family:Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-list{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-color)}.vehicle-list-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.vehicle-list-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.refresh-btn{padding:.5rem 1rem;background:#ffffff1a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.875rem;transition:all .2s ease}.refresh-btn:hover{background:#ffffff26}.vehicle-list-items{flex:1;overflow-y:auto;padding:0}.vehicle-list-loading,.vehicle-list-error,.vehicle-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);text-align:center}.vehicle-list-error button{margin-top:1rem;padding:.5rem 1rem;background:#ef444433;border:1px solid rgba(239,68,68,.5);border-radius:8px;color:var(--text-primary);cursor:pointer}.vehicle-list-error button:hover{background:#ef44444d}.vehicle-status-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);overflow-y:auto}.status-filters-header{display:flex;justify-content:flex-end;padding:.75rem 1.5rem;border-bottom:1px solid var(--border-color)}.status-filters{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s ease}.filter-btn:hover{background:#ffffff1a}.filter-btn.active{background:#3b82f64d;border-color:#3b82f680;color:#fff}.vehicle-status-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:1rem}.vehicle-status-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.vehicle-status-panel-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.status-badge{padding:.5rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.vehicle-status-panel-content{display:flex;flex-direction:column;gap:2rem;padding:0 1.5rem 1.5rem}.vehicle-info{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;justify-content:space-between;padding:.75rem;background:#ffffff08;border-radius:8px}.info-label{font-weight:500;color:var(--text-secondary)}.info-value{color:var(--text-primary)}.status-control{padding:1.5rem;background:#ffffff08;border-radius:12px;border:1px solid var(--border-color)}.status-control h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.status-buttons{display:flex;gap:.75rem}.status-btn{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:#ffffff0d;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.status-btn:hover{background:#ffffff1a}.status-btn.active{background:#3b82f64d;border-color:#3b82f680;color:#fff}.kontrolliert-section{padding:1.5rem;background:#ffffff08;border-radius:12px;border:1px solid var(--border-color)}.kontrolliert-section h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.image-flags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.image-flag{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.image-flag.has-image{background:#10b9811a;border-color:#10b9814d}.image-flag.no-image{opacity:.5}.image-flag-indicator{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.image-flag.has-image .image-flag-indicator{color:#10b981}.image-flag.no-image .image-flag-indicator{color:var(--text-muted)}.image-flag-label{font-size:.75rem;color:var(--text-secondary);text-align:center}.images-section{padding:1.5rem;background:#ffffff08;border-radius:12px;border:1px solid var(--border-color)}.images-section h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.images-loading,.images-empty{text-align:center;color:var(--text-muted);padding:2rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.image-item{display:flex;flex-direction:column;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:all .2s ease}.image-item:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.image-wrapper{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;overflow:hidden}.r2-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;image-rendering:auto;display:block}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.75rem;text-align:center;padding:1rem}.image-filename{padding:.25rem .5rem .5rem;font-size:.65rem;color:var(--text-secondary);text-align:center;word-break:break-all;line-height:1.2}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;display:flex;overflow:hidden}.app-sidebar{width:350px;min-width:300px;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #1a1a1a;--bg-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #a0a0a0;--accent-primary: #ffffff;--accent-secondary: #ffffff;--accent-hover: #ffffff;--border-color: rgba(255, 255, 255, .1);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .1);--shadow-md: 0 8px 24px rgba(0, 0, 0, .15);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .2);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 20% 40%,rgba(255,255,255,.06) 0%,transparent 52%),radial-gradient(circle at 80% 18%,rgba(255,255,255,.04) 0%,transparent 50%),radial-gradient(circle at 55% 85%,rgba(255,255,255,.03) 0%,transparent 55%),linear-gradient(135deg,#050505,#0a0a0a 55%,#000);color:var(--text-primary);min-height:100vh}#root{width:100%;min-height:100vh}@media (max-width: 768px){body,*{-webkit-tap-highlight-color:transparent}button,a{-webkit-tap-highlight-color:rgba(255,255,255,.1)}}
