.password-prompt-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);gap:32px;padding:32px}.password-aras-media-logo{height:250px;width:auto;position:absolute;top:32px;left:50%;transform:translate(-50%)}.password-form{display:flex;flex-direction:column;gap:24px;padding:48px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.password-rheinperle-logo{width:100%;max-width:300px;height:auto;align-self:center}.password-input-wrapper{display:flex;flex-direction:column;gap:8px}.password-input-wrapper input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s ease}.password-input-wrapper input:focus{outline:none;border-color:#667eea}.error-message{color:#d32f2f;font-size:14px;text-align:center}.password-form button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.password-form button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.password-form button:active{transform:translateY(0)}.time-display{display:flex;align-items:center;gap:20px}.date-value,.time-value{font-size:14px;font-weight:600;color:#495057}.table{width:101px;height:101px;border-radius:8px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease;position:relative}.table:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.table.frei{background-color:#4caf50}.table.belegt{background-color:#f99}.table.reserviert,.table.warning{background-color:#8b0000}.table-content{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;gap:4px}.table-number{font-weight:700;font-size:30px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.2)}.warning-icon{font-size:25px;position:absolute;top:4px;right:4px;animation:pulse 1s infinite}.table-warning-icon{position:absolute;top:2px;right:2px;width:25px;height:25px;display:flex;justify-content:center;align-items:center;animation:pulse 1.5s infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.countdown{font-size:15px;color:#fff;font-weight:600;background-color:#0000004d;padding:2px 6px;border-radius:4px;text-shadow:0 1px 2px rgba(0,0,0,.3)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.floor-plan{position:relative;width:100%;height:100%;background-color:#f9f9f9;overflow:auto;cursor:default}.tables-container{position:relative;width:100%;min-height:100%;padding:10px}.reservations-list-container{display:flex;flex-direction:column;width:100%;height:100%;padding:40px;background-color:#fff}.reservations-list-container h1{font-size:28px;color:#333;margin-bottom:24px}.reservations-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-right:16px}.reservation-card{padding:20px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;transition:all .2s ease}.reservation-card:hover{background-color:#f0f3ff;box-shadow:0 4px 12px #667eea26;transform:translate(4px)}.reservation-header{display:flex;gap:12px;align-items:center;margin-bottom:12px}.table-number{background-color:#667eea;color:#fff;padding:4px 12px;border-radius:6px;font-weight:600;font-size:12px;min-width:50px;text-align:center}.guest-name{font-size:16px;font-weight:600;color:#333}.reservation-details{display:flex;gap:16px;align-items:center;margin-bottom:8px}.time-info{display:flex;gap:8px;align-items:center}.time{font-family:Courier New,monospace;font-weight:500;color:#495057;font-size:14px}.separator{color:#dee2e6}.guest-info{display:flex;gap:12px}.guest-count{font-size:13px;color:#666}.phone-number{font-size:13px;color:#667eea;font-weight:500}.reservation-created{margin-top:8px;font-size:12px;color:#999}.reservation-notes{margin-top:12px;padding-top:12px;border-top:1px solid #dee2e6;font-size:13px;color:#666;font-style:italic}.no-reservations{text-align:center;color:#999;padding:60px 20px;font-size:16px}.reservations-scroll::-webkit-scrollbar{width:8px}.reservations-scroll::-webkit-scrollbar-track{background:transparent}.reservations-scroll::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:4px}.reservations-scroll::-webkit-scrollbar-thumb:hover{background:#adb5bd}.reservation-tables{margin-top:12px}.table-badges{display:flex;flex-wrap:wrap;gap:6px}.table-action-menu{position:fixed;background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:180px;overflow:hidden}.menu-item{display:block;width:100%;padding:12px 16px;border:none;border-left:4px solid #667eea;background-color:transparent;text-align:left;font-size:14px;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease}.menu-item:hover{background-color:#f8f9fa;padding-left:18px}.menu-item:active{background-color:#e9ecef}.dashboard-container{display:flex;flex-direction:column;width:100%;height:100%;background-color:transparent}.dashboard-header{display:flex;flex-direction:column;padding:20px 10px;background-color:transparent;gap:4px}.header-row-1{display:flex;justify-content:space-between;align-items:center;gap:40px}.header-row-2{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-left:30px;padding-right:30px}.header-logos{display:flex;align-items:center;gap:24px}.aras-media-logo{height:120px;width:auto}.rheinperle-logo{height:60px;width:auto}.dashboard-nav{display:flex;gap:16px;margin-left:auto;align-items:center}.nav-dropdown{position:relative}.nav-button{padding:10px 24px;background-color:#fff;border:2px solid #dee2e6;border-radius:8px;font-size:14px;font-weight:600;color:#495057;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;white-space:nowrap}.nav-button:hover{border-color:#667eea;color:#667eea;background-color:#f0f3ff}.nav-button.active{background-color:#667eea;color:#fff;border-color:#667eea}.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background-color:#fff;border:2px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:200px;z-index:1000;overflow:hidden}.nav-dropdown-item{display:block;width:100%;padding:12px 20px;background-color:#fff;border:none;text-align:left;font-size:14px;font-weight:600;color:#495057;cursor:pointer;transition:all .2s ease}.nav-dropdown-item:hover{background-color:#f0f3ff;color:#667eea}.nav-dropdown-item.active{background-color:#667eea;color:#fff}.logout-button{padding:10px 12px;background-color:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#495057}.logout-button:hover{border-color:#dc3545;color:#dc3545;background-color:#fff5f5}.logout-button svg{display:block}.dashboard-main{flex:1;overflow:hidden;position:relative}.floor-plan-wrapper{display:flex;width:100%;height:100%;transition:all .3s ease}.floor-plan-wrapper.with-sidebar{gap:20px;padding:20px}.table-detail-sidebar{width:300px;background-color:#f8f9fa;border-left:1px solid #dee2e6;overflow-y:auto;padding:24px;border-radius:8px;background-color:#fff;box-shadow:-2px 0 8px #0000001a}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-detail-sidebar h2{margin:0;color:#333;font-size:18px}.close-sidebar-button{padding:6px;background-color:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:all .2s ease}.close-sidebar-button:hover{background-color:#f0f0f0;color:#333}.close-sidebar-button svg{display:block}.reservations-list{display:flex;flex-direction:column;gap:16px}.reservation-item{padding:16px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.reservation-item p{margin:0 0 8px;font-size:13px}.guest-name{font-weight:700;font-size:18px;color:#333;margin-bottom:4px}.time-range{color:#666;font-size:12px}.guest-count,.guest-phone,.reservation-note,.reservation-source,.reservation-created{color:#333;font-size:13px}.notes{color:#999;font-size:12px;font-style:italic;margin-top:8px}.no-reservations{color:#999;text-align:center;padding:32px 16px;font-size:14px}.table-badges{margin-top:12px}.tables-label{font-size:12px;color:#666;margin-bottom:8px}.table-badge-list{display:flex;flex-wrap:wrap;gap:6px}.table-badge{background-color:#667eea;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600}.undo-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#667eea;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.undo-button:hover{background-color:#5568d3}.undo-button svg{display:block}.reservation-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.reservation-form-modal{position:relative;width:100%;max-width:1200px;height:90vh;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;overflow:hidden}.close-modal-button{position:absolute;top:16px;right:16px;z-index:10000;padding:8px;background-color:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#495057;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.close-modal-button:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.close-modal-button svg{display:block}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:transparent}body{overflow:hidden}
