@charset "UTF-8";:root{--primary: #00578a;--primary-hover: #004a6e;--bg-body: #f0f4f8;--bg-white: #ffffff;--bg-secondary: #f8f9fa;--header-bg: rgba(255, 255, 255, .8);--text-main: #1e293b;--text-light: #64748b;--border: #e2e8f0;--accent: #00a6eb;--danger: #ef4444;--success: #10b981;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-float: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius-xl: 16px;--radius-pill: 9999px;--max-width: 100%;--side-margin: 0px}html{font-size:16px}*{box-sizing:border-box;margin:0;padding:0}body{font-size:1rem;font-family:var(--font-body, "Open Sans", "Inter", sans-serif);background-color:var(--bg-body);color:var(--text-main);transition:background-color .3s,color .3s;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-y:scroll;min-height:100vh}body.modal-open{overflow:hidden !important}h1,h2,h3,h4,.brand-text{font-family:var(--font-header, "Roboto", sans-serif)}.settings-layout{display:flex;gap:2rem;max-width:1100px;margin:0 auto;padding:2rem 1rem;min-height:80vh}.settings-sidebar{width:250px;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.sidebar-category{font-size:.7rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;padding:1.5rem 1rem .5rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-main);border:1px solid transparent}.sidebar-item:hover{background:var(--bg-secondary);transform:translate(4px)}.sidebar-item.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 4px 15px #00578a40}.sidebar-item span{font-size:1.1rem}.settings-content{flex-grow:1;background:var(--bg-white);padding:2.5rem;border-radius:20px;border:1px solid var(--border);box-shadow:var(--shadow-md)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 768px){.settings-layout{flex-direction:column;gap:1rem}.settings-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.settings-nav-item{white-space:nowrap}}.logo-upload-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.logo-drop-zone{border:2px dashed var(--border);border-radius:12px;padding:2rem;text-align:center;background:var(--bg-secondary);transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative;overflow:hidden}.logo-drop-zone:hover,.logo-drop-zone.drag-over{border-color:var(--primary);background:rgba(var(--primary-rgb, 0, 95, 168),.05)}.logo-drop-zone.drag-over{transform:scale(1.02)}.logo-preview-wrapper{width:80px;height:80px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.logo-preview-wrapper img{width:100%;height:100%;object-fit:cover}.logo-drop-zone .hint{font-size:.85rem;color:var(--text-light)}.logo-actions-row{display:flex;gap:.75rem;flex-wrap:wrap}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:max(var(--side-margin),env(safe-area-inset-left));padding-right:max(var(--side-margin),env(safe-area-inset-right))}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;border-radius:var(--radius-pill);font-weight:500;font-size:.9rem;transition:all .2s ease;cursor:pointer;border:none;text-decoration:none;gap:.5rem}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 6px -1px #005fa833}[data-theme=dark] .btn-primary{color:var(--bg-body);font-weight:600}.btn-primary:active{transform:translateY(1px)}.tag{padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;background:#e0f2fe;color:#0369a1;text-transform:uppercase;letter-spacing:.05em}.form-control{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-white);color:var(--text-main);font-size:.9rem;outline:none;transition:all .2s}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00a6eb1a}.form-control::placeholder{color:var(--text-light);opacity:.6}.toast-container{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;padding-bottom:env(safe-area-inset-bottom)}.toast{background:var(--bg-white);color:var(--text-main);padding:.75rem 1.25rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-float);border:1px solid var(--border);font-size:.9rem;animation:toastIn .3s ease-out;pointer-events:auto}.toast.success{border-left:4px solid var(--success)}.toast.warning{border-left:4px solid #f59e0b}.modal-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:none;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.modal-overlay.show{display:flex}.modal-box{background:var(--bg-white);border-radius:16px;padding:1.5rem;max-width:500px;width:90%;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 2rem);overflow-y:auto;box-shadow:var(--shadow-float);animation:modalIn .2s ease-out;display:flex;flex-direction:column}.modal-title{font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.modal-message{color:var(--text-light);margin-bottom:1.5rem;font-size:.95rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-btn{padding:.5rem 1rem;border-radius:var(--radius-pill);font-weight:500;font-size:.9rem;cursor:pointer;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-main);transition:all .2s}.modal-btn.confirm{background:var(--danger);color:#fff;border-color:var(--danger)}.app-header{background:var(--header-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;left:0;z-index:100;padding-top:max(.5rem,env(safe-area-inset-top));transition:background .3s,border-color .3s;width:100vw;max-width:100%}.header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.75rem max(1rem,env(safe-area-inset-right)) .75rem max(1rem,env(safe-area-inset-left));gap:.5rem;box-sizing:border-box;min-height:56px}.header-left{display:flex;align-items:center;gap:.5rem;min-width:0;justify-self:start}.header-center{display:flex;justify-content:center}.header-right{display:flex;justify-content:flex-end}.brand-area{display:flex;align-items:center;gap:.5rem;cursor:pointer;text-decoration:none;min-width:0;flex-shrink:1}.brand-logo{width:32px;height:32px;border-radius:8px;object-fit:cover;flex-shrink:0;border:2px solid transparent;transition:box-shadow .5s,border-color .5s}.brand-text{font-size:1.1rem;font-weight:700;color:var(--primary);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.nav-main{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0}.nav-btn{background:#00000008;border:none;padding:.5rem 1rem;border-radius:var(--radius-pill);font-weight:600;color:var(--text-main);cursor:pointer;transition:all .2s ease;user-select:none}.nav-btn:hover{background:#0000000f;color:var(--primary)}.nav-btn.active{background:var(--bg-white);color:var(--primary);box-shadow:0 0 0 1px var(--success),0 0 12px rgba(16,185,129,.25)}.nav-btn.long-pressing{animation:pulse 1s infinite;background:#dc26261a;color:var(--danger)}[data-theme=dark] .nav-btn{background:#ffffff0d}.profile-area{position:relative}.avatar{width:40px;height:40px;background:transparent;color:var(--text-main);display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:.8}.avatar:hover{opacity:1;background:var(--bg-secondary)}.gear-icon{width:24px;height:24px;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.avatar:hover .gear-icon{transform:rotate(90deg) scale(1.1)}.dropdown-menu{position:absolute;top:120%;right:0;width:260px;background:var(--bg-white);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-float);padding:.5rem;display:none;animation:slideUp .15s ease-out;z-index:200}.dropdown-menu.show{display:block}.dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;color:var(--text-main);text-decoration:none;border-radius:8px;font-size:.9rem;transition:background .1s;cursor:pointer}.dropdown-item:hover{background:var(--bg-secondary)}.dropdown-divider{height:1px;background:var(--border);margin:.5rem 0}.dropdown-label{font-size:.75rem;color:var(--text-light);padding:.5rem 1rem .25rem;text-transform:uppercase}.standort-select{width:100%;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-main);font-family:inherit;font-size:.9rem;margin:.25rem 0 .5rem}.header-bottom{background:var(--header-bg);padding:.75rem 0 1rem;transition:background .3s}.search-container{width:100%;position:relative;margin-bottom:1rem;padding-top:1rem}.search-input-wrapper{position:relative;width:100%;max-width:600px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-light)}.search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-white);color:var(--text-main);font-size:.95rem;outline:none;transition:all .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00a6eb1a}.search-results{position:absolute;top:calc(100% + 8px);left:0;width:100%;background:var(--bg-white);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-float);max-height:300px;overflow-y:auto;display:none;z-index:150}.search-results.show{display:block}.search-result-item{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;border-bottom:1px solid var(--border)}.search-result-item:hover{background:var(--bg-secondary)}.song-grid{display:grid;gap:1rem}.song-card{background:var(--bg-white);padding:1rem 1.5rem;border-radius:var(--radius-xl);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;transition:transform .2s,box-shadow .2s;cursor:pointer}.song-card:hover{border-color:var(--accent)}.song-info{display:flex;gap:1rem;align-items:center}.song-number{font-family:monospace;font-size:1.1rem;font-weight:700;color:var(--text-light);width:50px}.song-details h3{font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.song-meta{display:flex;gap:.75rem;align-items:center}.meta-text{font-size:.85rem;color:var(--text-light)}.meta-dot{width:4px;height:4px;background:#cbd5e1;border-radius:50%}.btn-offline{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;background:var(--bg-white);color:var(--text-light);cursor:pointer;transition:all .2s}.btn-offline.active{background:#dcfce7;color:#166534;border-color:#86efac}[data-theme=dark] .btn-offline.active{background:#064e3b;color:#a7f3d0;border-color:#059669}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 600px){.header-top{padding:.5rem;gap:.25rem;grid-template-columns:auto 1fr auto}.header-left{width:auto}.header-center{justify-content:center}.nav-btn{padding:.4rem .5rem;font-size:.8rem}.song-card{padding:.75rem 1rem}.avatar{width:32px;height:32px;font-size:.8rem}.brand-text{display:none}}@media (min-width: 601px) and (max-width: 900px){.header-top{padding:.5rem 1rem}.nav-btn{padding:.5rem .75rem;font-size:.85rem}.brand-text{max-width:150px}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-light);display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state-icon{font-size:2.5rem;opacity:.5;margin-bottom:.5rem}.modal-pwa{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;backdrop-filter:blur(12px) saturate(180%);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem;animation:modalFadeIn .3s cubic-bezier(.4,0,.2,1)}.modal-pwa .modal-box{background:#fffffff2;padding:2.5rem;border-radius:24px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fff inset;max-width:650px;width:100%;position:relative;animation:modalScaleUp .4s cubic-bezier(.34,1.56,.64,1)}.modal-pwa h2{margin-bottom:1.5rem;color:var(--primary);font-size:1.8rem;font-weight:800;letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}.modal-pwa p{margin-bottom:1.5rem;line-height:1.7;color:var(--text-light);font-size:1.05rem}.modal-pwa .modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.modal-pwa .restore-confirm-input{width:100%;padding:1rem 1.25rem;border:2px solid var(--border);border-radius:12px;margin-top:1rem;margin-bottom:.5rem;font-family:monospace;font-size:1.2rem;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-main);transition:all .2s ease;text-align:center;letter-spacing:.3em}.modal-pwa .restore-confirm-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #00578a26;outline:none;background:#fff}.v-comp-table{width:100%;border-collapse:separate;border-spacing:0 .5rem;margin:1.5rem 0}.v-comp-row{background:var(--bg-secondary);border-radius:12px;transition:transform .2s ease}.v-comp-row:hover{transform:scale(1.02);box-shadow:var(--shadow-sm)}.v-comp-row td{padding:1rem;vertical-align:middle}.v-comp-row td:first-child{border-radius:12px 0 0 12px;font-weight:600;font-size:1rem;color:var(--primary)}.v-comp-row td:last-child{border-radius:0 12px 12px 0;text-align:right}.v-comp-status{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.badge-version{padding:.3rem .6rem;border-radius:8px;font-size:.8rem;font-weight:700;background:var(--bg-white);border:1px solid var(--border);font-family:monospace}.badge-diff{padding:.25rem .6rem;border-radius:8px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.badge-diff.up{background:#dcfce7;color:#166534}.badge-diff.down{background:#fee2e2;color:#991b1b}.badge-diff.same{background:#f1f5f9;color:#475569}.v-size{font-size:.8rem;color:var(--text-light);margin-top:.25rem}.maint-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2.5rem}.maint-card{background:#fff;border-radius:24px;padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.maint-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary);opacity:0;transition:opacity .3s}.maint-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--primary)}.maint-card:hover:before{opacity:1}.maint-card h3{margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;font-size:1.4rem;font-weight:800;color:var(--text-main)}.upload-zone-pwa{border:2px dashed var(--border);border-radius:20px;padding:4rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-zone-pwa:hover{background:#fff;border-color:var(--primary);color:var(--primary);box-shadow:inset 0 0 20px #00578a0d}.backup-item-pwa{padding:1.5rem;border-radius:18px;background:var(--bg-secondary);margin-bottom:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease;border:1px solid transparent}.backup-item-pwa:hover{background:#fff;box-shadow:var(--shadow-sm);border-color:var(--primary);transform:translate(6px)}.backup-info-row{display:flex;justify-content:space-between;align-items:center}.backup-name-pwa{font-weight:700;font-size:1.05rem;color:var(--primary)}.backup-meta-pwa{font-size:.85rem;color:var(--text-light);display:flex;gap:1.5rem}.backup-actions-pwa{display:flex;gap:.75rem;border-top:1px solid var(--border);padding-top:1rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.progress-container{width:100%;background:var(--bg-secondary);border-radius:12px;height:24px;margin:1.5rem 0 .5rem;position:relative;overflow:hidden;border:1px solid var(--border)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));width:0%;transition:width .3s ease-out;border-radius:11px}.progress-label{position:absolute;width:100%;text-align:center;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:800;color:var(--text-main);text-shadow:0 0 10px rgba(255,255,255,.5);pointer-events:none}.progress-status{font-size:.8rem;color:var(--text-light);text-align:center;margin-bottom:1rem;font-style:italic}

/* Locations PWA Integration (v1.8.0) */
.standorte-liste{margin-top:.5rem}.standorte-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.standorte-header strong{color:var(--primary);font-size:.9rem}.standorte-ul{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.standorte-ul li{margin:0}.standorte-ul a{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;color:var(--text-main);text-decoration:none;border-radius:8px;transition:background .2s;font-size:.9rem}.standorte-ul a:hover{background:var(--bg-secondary)}.standorte-ul a::after{content:"→";opacity:.3;font-size:.8rem}.bereiche-checkbox-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:background .2s;font-size:.95rem}.checkbox-item:hover{background:var(--bg-secondary)}.checkbox-item input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.checkbox-item label{cursor:pointer;margin:0;flex:1;color:var(--text-main)}
.profile-selector{padding:0.25rem 1rem 0.5rem 1rem}.profile-selector-label{font-size:0.75rem;color:var(--text-light);margin-bottom:2px;font-weight:500;text-transform:uppercase;letter-spacing:0.03em}.profile-selector-current{font-size:0.9rem;cursor:pointer;padding:2px 0;display:flex;align-items:center;gap:4px;color:var(--primary);font-weight:500}.profile-selector-current:hover{color:var(--primary-hover)}.profile-selector-current::after{content:"▾";font-size:0.7rem;opacity:0.6;transition:transform .2s}.profile-selector-list .dropdown-item{padding-left:1.5rem;font-size:0.85rem}
.search-scopes{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;justify-content:center}.scope-chip{padding:4px 14px;border-radius:9999px;border:1px solid var(--border);background:var(--bg-white);color:var(--text-light);font-size:.8rem;cursor:pointer;transition:all .2s;font-weight:500;line-height:1.4;outline:none}.scope-chip:hover{border-color:var(--accent);color:var(--text-main)}.scope-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.result-count{text-align:center;font-size:.85rem;color:var(--text-light);margin-bottom:.75rem;padding:0 1rem}
