.app-wrapper{background-color:#fff;flex-direction:column;width:100%;min-height:100vh;display:flex}.map-container{z-index:1}.navbar{z-index:100;background-color:#fff;flex-direction:column;align-items:center;gap:12px;padding:15px 20px;display:flex;top:0}.brand-title{letter-spacing:.5px;color:green;background:green;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px #007bff33);-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.4rem;font-weight:800}@media (width<=600px){.brand-title{font-size:1.8rem}}.room-selector{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.room-btn{color:#636e72;cursor:pointer;background-color:#dfe6e9;border:none;border-radius:50px;align-items:center;gap:5px;padding:10px 18px;font-size:clamp(12px,2vw,16px);font-weight:700;transition:all .3s;display:flex}.room-btn.active{color:#fff;background-color:#74b9ff;box-shadow:0 4px 10px #74b9ff66}.map-viewport{scrollbar-width:thin;scrollbar-color:#007bff #f0f0f0;flex:1;width:100%;padding:10px;display:block;overflow:auto}.map-container{aspect-ratio:16/9;background-color:#000;background-image:radial-gradient(#333 1px,#0000 1px);background-size:30px 30px;border:4px solid #333;border-radius:20px;width:98%;min-width:1000px;max-width:1400px;min-height:650px;margin:0 auto;position:relative}.map-label{color:#636e72;text-transform:uppercase;z-index:1;font-size:12px;font-weight:700;position:absolute;top:15px;left:20px}.table-box{z-index:10;cursor:pointer;color:#fff;text-align:center;box-sizing:border-box;border:2px solid #fff3;border-radius:18%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;padding:5px;font-weight:700;transition:left .6s cubic-bezier(.4,0,.2,1),top .6s,transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;transform:translate(-50%,-50%);pointer-events:auto!important}.table-box:hover{z-index:50;transform:translate(-50%,-50%)scale(1.1)}.available{background:linear-gradient(145deg,#2ecc71,#27ae60);border:2px solid #fff}.occupied{background:linear-gradient(145deg,#e74c3c,#c0392b);border:2px solid #fff}.joined{box-shadow:0 0 15px #f1c40f80;border:4px dashed #f1c40f!important}.table-number{font-size:clamp(16px,3vw,24px)}.guests-count{background:#0003;border-radius:10px;margin-top:2px;padding:2px 6px;font-size:clamp(9px,1.5vw,12px)}@media (width<=600px){.map-container{aspect-ratio:9/13;max-height:70vh}.room-name{display:none}.room-btn{padding:10px 15px}.room-icon{font-size:20px}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 25px #0003}.modal-input{text-align:center;border:2px solid #dfe6e9;border-radius:10px;width:80px;margin:20px 0;padding:10px;font-size:20px}.modal-actions{gap:10px;display:flex}.btn-confirm{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:10px;padding:10px 20px;font-weight:700}.btn-cancel{color:#636e72;cursor:pointer;background:#dfe6e9;border:none;border-radius:10px;padding:10px 20px}.table-box.occupied{color:#fff;border:2px solid #ff6b81;background-color:#ff4757!important}.table-box.blocked{background:linear-gradient(135deg,#f39c12,#e67e22);border-color:#d35400;box-shadow:0 5px 15px #f39c1266}.joined-indicator{background:#f1c40f;border-radius:50%;padding:4px;font-size:12px;position:absolute;top:-10px;right:-10px}.admin-actions{align-items:center;gap:15px;display:flex}.gear-btn{cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:1.5rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex}.gear-btn:hover{background:#fff3;transform:rotate(90deg)scale(1.1);box-shadow:0 0 15px #ffffff1a}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.login-modal{text-align:center;color:#2d3436;background:#fffffff2;border-radius:24px;width:100%;max-width:380px;padding:40px;box-shadow:0 20px 40px #0006}.login-modal h3{color:#1e272e;margin-bottom:25px;font-size:1.8rem;font-weight:800}.login-modal input{background:#f8f9fa;border:2px solid #f1f2f6;border-radius:12px;width:100%;margin:10px 0;padding:15px;font-size:1rem;transition:all .3s}.login-modal input:focus{background:#fff;border-color:#2ecc71;outline:none;box-shadow:0 0 0 4px #2ecc711a}.login-modal .modal-actions{flex-direction:column;gap:12px;margin-top:20px;display:flex}.login-modal .btn-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:12px;width:100%;padding:15px;font-size:1.1rem;font-weight:700;transition:transform .2s}.login-modal .btn-confirm:hover{transform:translateY(-2px);box-shadow:0 5px 15px #2ecc714d}.login-modal .btn-cancel{color:#7f8c8d;cursor:pointer;background:0 0;border:none;font-size:.9rem;text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.client-hero{background-blend-mode:overlay;background:#fff 0 0/cover;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.client-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe6;border:1px solid #ffffff4d;border-radius:30px;width:100%;max-width:500px;padding:40px;animation:.6s ease-out slideUp;box-shadow:0 20px 60px #00000026}.client-header h1{color:#1e272e;margin-bottom:10px;font-size:2.5rem;font-weight:900}.client-badge{color:#fff;text-transform:uppercase;background:#2ecc71;border-radius:50px;padding:5px 15px;font-size:.8rem;font-weight:700}.input-group{text-align:left;margin-bottom:20px}.input-group label{color:#7f8c8d;margin-bottom:8px;margin-left:5px;font-size:.9rem;font-weight:700;display:block}.input-group input,.input-group select{box-sizing:border-box;border:2px solid #ecf0f1;border-radius:15px;width:100%;padding:15px;font-size:1rem;transition:all .3s}.guest-selector{background:#fff;border:2px solid #ecf0f1;border-radius:15px;justify-content:space-between;align-items:center;padding:5px;display:flex}.guest-selector button{cursor:pointer;background:#f8f9fa;border:none;border-radius:12px;width:40px;height:40px;font-size:1.2rem;transition:background .2s}.guest-selector button:hover{color:#fff;background:#2ecc71}.time-select{cursor:pointer;color:#1a1a1a;background-color:#fff;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:18px;font-size:1.1rem;transition:border-color .2s}.time-select:hover{border-color:#bbb}.time-select option{padding:10px;font-size:1rem}.btn-book-now{color:#fff;cursor:pointer;background:#1e272e;border:none;border-radius:18px;width:100%;padding:20px;font-size:1.2rem;font-weight:700;transition:all .3s;box-shadow:0 10px 20px #0000001a}.btn-book-now:hover{background:#2ecc71;transform:translateY(-3px);box-shadow:0 15px 30px #2ecc714d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.client-card{background:#fff;border-radius:20px;max-width:550px;padding:50px;box-shadow:0 15px 35px #0000001a}.client-header h1{color:#222;margin-bottom:15px;font-size:2.8rem}.client-header p{color:#555;margin-bottom:30px;font-size:1.1rem;line-height:1.6}.input-group{margin-bottom:25px}.input-group label{color:#444;text-transform:none;letter-spacing:.5px;margin-bottom:12px;font-size:1rem}.input-group input,.modal-input-area{border:1px solid #ddd;border-radius:8px;padding:18px;font-size:1.05rem}.modal-input-area{resize:vertical;box-sizing:border-box;width:100%;font-family:inherit}.client-footer{color:#888;text-align:center;margin-top:25px;font-size:.95rem;line-height:1.5}.client-badge{color:#333;background:#f0f0f0;border-radius:4px;margin-bottom:20px;padding:8px 20px;font-size:.9rem;display:inline-block}.btn-book-now{letter-spacing:1px;text-transform:uppercase;border-radius:8px;margin-top:10px;padding:22px;font-size:1.25rem}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:10px;display:grid}.slot-card{cursor:pointer;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;padding:15px 10px;font-weight:700;transition:all .2s;display:flex}.slot-card.available{color:#2e7d32;background-color:#e8f5e9;border-color:#c8e6c9}.slot-card.available:hover{background-color:#c8e6c9;transform:translateY(-2px)}.slot-card.full{color:#d32f2f;cursor:not-allowed;opacity:.7;background-color:#ffeaea;border-color:#ffcdd2}.slot-card.active{color:#fff;background-color:#2e7d32;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d3233}.slot-status{margin-top:4px;font-size:.7rem;font-weight:400}.admin-quick-form{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.quick-form-card{text-align:center;background:#fff;border-radius:15px;min-width:250px;padding:30px;box-shadow:0 10px 40px #0003}.guest-selector-admin{justify-content:center;align-items:center;gap:20px;margin:15px 0;display:flex}.guest-selector-admin button{cursor:pointer;background:#f8f9fa;border:1px solid #ddd;border-radius:50%;width:40px;height:40px;font-size:1.2rem}.guest-selector-admin span{font-size:1.5rem;font-weight:700}.quick-form-actions{gap:10px;margin-top:20px;display:flex}.btn-confirm-admin{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:8px;flex:1;padding:12px 20px;font-weight:700}.btn-cancel-admin{color:#fff;cursor:pointer;background:#d32f2f;border:none;border-radius:8px;flex:1;padding:12px 20px;font-weight:700}.table-box.selected{z-index:50;transform:scale(1.1);border:4px solid #3498db!important}.admin-time-filter{color:#fff;background:#1e272e;border-radius:8px;align-items:center;gap:15px;margin:10px 20px;padding:15px;display:flex;box-shadow:0 4px 6px #0000001a}.time-select-admin{color:#fff;cursor:pointer;background:#34495e;border:none;border-radius:5px;padding:8px 12px;font-weight:700}.info-badge{color:#2c3e50;background:#f1c40f;border-radius:20px;padding:4px 10px;font-size:.85rem;font-weight:700}.admin-controls-bar{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:center;align-items:center;gap:20px;margin-bottom:20px;padding:20px;display:flex;box-shadow:0 4px 6px -1px #0000000d}.control-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;align-items:center;min-width:250px;padding:10px 18px;transition:all .3s;display:flex}.control-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.control-icon{margin-right:15px;font-size:1.5rem}.control-content{flex-direction:column;flex-grow:1;display:flex}.control-content label{text-transform:uppercase;letter-spacing:.5px;color:#6c757d;margin-bottom:4px;font-size:.75rem;font-weight:700}.modern-input,.modern-select{color:#212529;cursor:pointer;background:0 0;border:none;outline:none;width:100%;font-size:1rem;font-weight:600}.modern-input:focus,.modern-select:focus{color:#007bff}@media (width<=600px){.admin-controls-bar{flex-direction:column;gap:10px;padding:15px}.control-item{width:100%;min-width:unset}}.logout-btn{color:#cf1322;cursor:pointer;background-color:#fff1f0;border:1px solid #ffa39e;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px #00000004}.logout-btn:hover{color:#fff;background-color:#cf1322;border-color:#cf1322;transform:translateY(-1px);box-shadow:0 4px 12px #cf132233}.logout-btn:active{background-color:#a8071a;transform:translateY(0)}.logout-icon{font-size:1.1rem;transition:transform .3s}.logout-btn:hover .logout-icon{transform:rotate(-15deg)scale(1.1)}@media (width<=480px){.logout-text{display:none}.logout-btn{padding:8px 10px}}.horizontal-date-scroll{scrollbar-width:thin;scrollbar-color:#007bff #f0f0f0;gap:12px;margin-bottom:25px;padding:15px 5px 20px;display:flex;overflow-x:auto}.horizontal-date-scroll::-webkit-scrollbar{height:6px}.horizontal-date-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.horizontal-date-scroll::-webkit-scrollbar-thumb{background:#c1dcfb;border-radius:10px}.horizontal-date-scroll::-webkit-scrollbar-thumb:hover{background:#007bff}.date-card{cursor:pointer;color:#333;background-color:#fff;border:1.5px solid #e0e0e0;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:75px;height:80px;transition:all .2s;display:flex}.date-card:hover:not(.active){background-color:#f4f9ff;border-color:#007bff;transform:translateY(-2px)}.date-card.active{color:#fff;background-color:#007bff;border-color:#007bff;transform:scale(1.05);box-shadow:0 6px 10px #007bff4d}.date-day-name{text-transform:capitalize;opacity:.8;font-size:.85rem;font-weight:500}.date-day-number{margin:4px 0;font-size:1.5rem;font-weight:700}.date-month-name{text-transform:capitalize;opacity:.9;font-size:.8rem}.custom-toast{z-index:9999;color:#fff;border-radius:12px;align-items:center;gap:12px;width:max-content;max-width:80%;padding:16px 24px;font-weight:600;line-height:1.4;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards slideInDown;display:flex;position:fixed;top:30px;left:50%;box-shadow:0 10px 25px #0003}.toast-success{background:linear-gradient(135deg,#2ecc71,#27ae60)}.toast-error{background:linear-gradient(135deg,#e74c3c,#c0392b)}.toast-icon{font-size:1.5rem}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%,-100px)}to{opacity:1;transform:translate(-50%)}}.list-menu-btn{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-right:15px;font-size:1.5rem;transition:all .2s;display:flex}.list-menu-btn:hover{background-color:#0056b3}.list-modal{flex-direction:column;width:90%;max-width:750px;max-height:85vh;padding:0;display:flex;overflow:hidden}.list-modal-header{background-color:#f8f9fa;border-bottom:2px solid #ecf0f1;justify-content:space-between;align-items:center;padding:20px;display:flex}.list-modal-header h3{color:#2c3e50;margin:0}.reservations-scroll-list{background-color:#fdfdfd;flex:1;padding:20px;overflow-y:auto}.list-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:15px;display:flex;overflow:hidden;box-shadow:0 4px 6px #0000000d}.list-item-time{color:#fff;background-color:#007bff;justify-content:center;align-items:center;min-width:80px;padding:15px;font-size:1.1rem;font-weight:900;display:flex}.list-item-details{flex:1;padding:15px}.list-item-details h4{color:#2c3e50;justify-content:space-between;align-items:center;margin:0 0 5px;display:flex}.pax-badge{color:#fff;background-color:#2ecc71;border-radius:12px;padding:3px 8px;font-size:.8rem}.list-item-email,.list-item-tables{color:#7f8c8d;margin-top:5px;font-size:.9rem}.list-item-notes{color:#856404;background-color:#fff3cd;border-left:4px solid #ffeeba;border-radius:6px;margin-top:8px;padding:8px;font-size:.9rem}.list-item-location{color:#2c3e50;background-color:#f1f2f6;border:1px solid #dfe4ea;border-radius:6px;margin-top:8px;padding:4px 8px;font-size:.95rem;display:inline-block}.list-item-actions{background-color:#f8f9fa;border-left:1px solid #ecf0f1;justify-content:center;align-items:center;padding:15px;display:flex}.btn-arrival{color:#7f8c8d;cursor:pointer;background-color:#fff;border:2px solid #bdc3c7;border-radius:8px;min-width:110px;padding:10px 15px;font-weight:700;transition:all .3s}.btn-arrival:hover{background-color:#ecf0f1;border-color:#95a5a6}.btn-arrival.arrived{color:#27ae60;background-color:#e8f8f5;border-color:#2ecc71}.list-item-card.arrived-card{opacity:.65;border-left:5px solid #2ecc71;transition:all .3s}.room-selector-client{gap:10px;margin-top:10px;display:flex}.room-btn-client{color:#007bff;cursor:pointer;background:#fff;border:2px solid #007bff;border-radius:8px;flex:1;padding:12px;font-weight:700;transition:all .2s}.room-btn-client.active{color:#fff;background:#007bff}.room-btn-client.full{color:#dc3545;cursor:not-allowed;opacity:.7;background:#f8d7da;border-color:#dc3545}.success-message-container{text-align:center;padding:40px 20px;animation:.6s cubic-bezier(.175,.885,.32,1.275) fadeInPop}.success-icon{text-shadow:0 4px 10px #2ecc714d;margin-bottom:20px;font-size:5rem}.success-message-container h2{color:#2c3e50;margin-bottom:15px;font-size:2.2rem}.success-message-container p{color:#7f8c8d;margin-bottom:10px;font-size:1.1rem;line-height:1.5}@keyframes fadeInPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
