.loading-spinner{align-items:center;display:flex;justify-content:center;margin:20px 0}.spinner{animation:spin 1s linear infinite;border:4px solid #333;border-radius:50%;border-top-color:#fff;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-loading,.app-login{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:center;min-height:100vh}.login-container{background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:40px;text-align:center}.login-container h1{font-size:2rem;margin-bottom:20px}.login-container p{color:#ccc;margin-bottom:30px}.app{min-height:100vh}.admin-header,.app{background-color:#000}.admin-header{border-bottom:2px solid #333;padding:20px 0}.admin-header h1{color:#fff;font-size:1.8rem;margin-bottom:15px}.admin-nav{background-color:#000;border-bottom:2px solid #333;padding:15px 0}.admin-nav .container{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.nav-tab{background:#000;border:1px solid #444;border-radius:5px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;padding:8px 16px;text-decoration:none;transition:background .3s ease;white-space:nowrap}.nav-tab.active,.nav-tab:hover{background:#fff;color:#000}.admin-main{background-color:#000;min-height:calc(100vh - 150px);padding:40px 0}.admin-section{display:block;overflow:visible}.container{margin:0 auto;max-width:1200px;overflow:visible;padding:0 20px}.container h2{color:#fff;font-size:2rem;margin-bottom:30px}.filter-section{grid-gap:15px;background:#000;border-radius:10px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px;overflow:visible;padding:20px}.filter-group{display:flex;flex-direction:column;overflow:visible;position:relative}.filter-group label{color:#fff;font-weight:500;margin-bottom:5px}.filter-group input,.filter-group select{background:#000;border:2px solid #444;border-radius:5px;color:#fff;padding:8px}.reservations-table-container{background:#000;border-radius:10px;margin-bottom:40px;overflow-x:auto;padding:20px}.reservations-table{border-collapse:collapse;color:#fff;width:100%}.reservations-table th{background:#000;border-bottom:2px solid #444;font-weight:600;padding:15px;text-align:left}.reservations-table td{border-bottom:1px solid #333;padding:15px}.reservations-table tr:hover{background:#333}.status-badge{border-radius:15px;display:inline-block;font-size:.9rem;font-weight:600;padding:5px 10px}.status-pending{background:#ff9800;color:#fff}.status-confirmed{background:#4caf50;color:#fff}.status-cancelled{background:#ff6b6b;color:#fff}.status-visited{background:#2196f3;color:#fff}.status-no-show{background:#ff9800;color:#fff}.gantt-section{background:#000;border-radius:10px;padding:30px}.gantt-section h3{color:#fff;margin-bottom:20px}.date-selector{align-items:center;display:flex;gap:15px;margin-bottom:20px}.date-selector label{color:#fff}.date-picker-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.date-picker-wrapper input{background:#000;border:2px solid #444;border-radius:5px;color:#fff;cursor:pointer;padding:8px 30px 8px 8px;width:100%}.date-clear-btn{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:20px;height:20px;justify-content:center;opacity:.7;padding:0;position:absolute;right:8px;transition:opacity .2s;width:20px}.date-clear-btn:hover{opacity:1}.date-clear-btn:focus{outline:2px solid #fff;outline-offset:2px}.calendar-popup{background:#000;border:2px solid #444;border-radius:10px;box-shadow:0 10px 30px #00000080;display:block;left:0;max-width:calc(100vw - 40px);min-width:340px;padding:20px;position:absolute;right:auto;top:calc(100% + 5px);z-index:1000}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.calendar-nav-btn{background:#000;border:1px solid #444;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:8px 15px;transition:background .3s ease}.calendar-nav-btn:hover{background:#333}.calendar-nav-btn:disabled{cursor:not-allowed;opacity:.5}.calendar-month-year{color:#fff;font-size:1.2rem;font-weight:600}.calendar-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{font-size:.9rem;font-weight:600}.calendar-day,.calendar-day-header{color:#fff;padding:10px;text-align:center}.calendar-day{border-radius:5px;cursor:pointer;transition:background .3s ease}.calendar-day:hover:not(.disabled):not(.selected){background:#444}.calendar-day.disabled{color:#666;cursor:not-allowed;opacity:.5}.calendar-day.selected{background:#fff;color:#000;font-weight:600}.gantt-chart{--gantt-label-width:100px;--gantt-track-gap:20px;--gantt-axis-height:24px;--gantt-hour-count:12;background:#000;border-radius:10px;overflow:hidden;padding:20px}.gantt-chart,.gantt-rows-container{position:relative}.gantt-grid{bottom:0;left:calc(var(--gantt-label-width) + var(--gantt-track-gap));pointer-events:none;position:absolute;right:0;top:0}.gantt-grid .gantt-line-half{border-left:1px solid #ffffff40;bottom:0;position:absolute;top:0;width:1px}.gantt-grid .gantt-line-hour{border-left:2px solid #ffffff80;bottom:0;position:absolute;top:0;width:1px}.gantt-grid .gantt-line-hour:first-child,.gantt-grid .gantt-line-hour:last-child{border-left:2px solid #fff6}.gantt-rows{position:relative;z-index:1}.gantt-row{grid-column-gap:var(--gantt-track-gap);align-items:center;column-gap:var(--gantt-track-gap);display:grid;grid-template-columns:var(--gantt-label-width) 1fr;margin-bottom:12px}.gantt-label{color:#fff;font-size:.9rem;font-weight:500;padding-right:4px;text-align:right}.gantt-timeline{background:#ffffff0d;border-radius:5px;height:30px;position:relative}.gantt-axis{height:var(--gantt-axis-height);margin-left:calc(var(--gantt-label-width) + var(--gantt-track-gap));margin-top:20px;position:relative;width:calc(100% - var(--gantt-label-width) - var(--gantt-track-gap))}.gantt-axis-label{color:#fff;font-size:.85rem;position:absolute;top:0;transform:translateX(-50%)}.gantt-block{align-items:center;background:#4caf50;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:25px;justify-content:center;position:absolute;transition:opacity .3s ease}.gantt-block:hover{opacity:.8}.settings-form{grid-gap:20px;background:#000;border-radius:10px;display:grid;gap:20px;margin-bottom:30px;max-width:600px;padding:30px}.settings-form h3{color:#fff;font-size:1.5em;text-decoration:underline}.settings-form h4{color:#fff;font-size:1.2em;margin-bottom:10px;margin-top:20px}.form-group{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:#fff;font-weight:500;margin-bottom:5px}.form-group input[type=number],.form-group input[type=text],.form-group input[type=time],.form-group select{background:#000;border:2px solid #444;border-radius:5px;color:#fff;padding:8px}.checkbox-group{display:flex;flex-wrap:wrap;gap:15px}.checkbox-group label{align-items:center;color:#fff;display:flex;gap:5px}.btn-primary{background:#fff;border:none;border-radius:5px;color:#000;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background .3s ease}.btn-primary:hover{background:#ccc}.btn-secondary{background:#333;border:2px solid #444;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:background .3s ease}.btn-secondary:hover{background:#444}.btn-sm.btn-secondary{background:#2196f3;border:none;color:#fff;font-size:.85rem;padding:6px 12px}.btn-sm.btn-secondary:hover{background:#1976d2}.btn-edit{background:#2196f3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:background .3s ease}.btn-edit:hover{background:#1976d2}.analytics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.analytics-card{background:#000;border-radius:10px;padding:30px;text-align:center}.analytics-card h3{color:#fff;font-size:1.1rem;margin-bottom:15px}.stat-value{color:#fff;font-size:2.5rem;font-weight:700}.holiday-calendars-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin:20px 0}.holiday-calendar-month{background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:15px}.holiday-calendar-month h4{color:#fff;font-size:1.1rem;margin-bottom:10px;text-align:center}.holiday-calendar-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.holiday-calendar-day-header{color:#fff;font-size:.9rem;font-weight:600;padding:5px;text-align:center}.holiday-calendar-day{align-items:center;aspect-ratio:1;background:#2a2a2a;border:1px solid #444;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;justify-content:center;transition:all .2s}.holiday-calendar-day:hover{background:#3a3a3a;border-color:#fff}.holiday-calendar-day.selected{background:#fff;color:#000;font-weight:600}.holiday-calendar-day.disabled{cursor:not-allowed;opacity:.3}.holiday-calendar-day.other-month{opacity:.3}.selected-holidays-list{background:#1a1a1a;border-radius:5px;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;max-height:200px;min-height:50px;overflow-y:auto;padding:15px}.selected-holiday-tag{align-items:center;background:#fff;border-radius:5px;color:#000;display:inline-flex;font-size:.9rem;gap:5px;padding:5px 10px}.selected-holiday-tag .remove-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;font-size:1.2rem;height:20px;justify-content:center;padding:0;transition:background .2s;width:20px}.selected-holiday-tag .remove-btn:hover{background:#000;color:#fff}@media (max-width:1024px){.holiday-calendars-container{grid-template-columns:1fr}}.modal-overlay{align-items:flex-start;bottom:0;display:flex;justify-content:center;overflow-y:auto;padding:20px;right:0}.modal,.modal-overlay{background-color:#000c;left:0;position:fixed;top:0;z-index:1000}.modal{display:none;height:100%;overflow:auto;width:100%}.modal.active{align-items:center;display:flex;justify-content:center}.modal-content{background-color:#000;border:2px solid #444;border-radius:10px;color:#fff;margin:auto;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;width:90%}.modal-content h2{color:#fff;font-size:1.8rem;margin-bottom:20px}.modal-content h3{color:#fff;font-size:1.5rem;margin-bottom:25px}.close-modal{color:#fff;cursor:pointer;float:right;font-size:28px;font-weight:700;line-height:1;position:absolute;right:20px;top:20px}.close-modal:focus,.close-modal:hover{color:#ccc}.modal-buttons{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.items-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:30px}.item-card{background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:20px 20px 25px;position:relative}.item-card.hidden-item{opacity:.6}.item-image{aspect-ratio:16/9;border-radius:5px;margin-bottom:15px;max-width:100%;overflow:hidden;position:relative;width:100%}.item-image img{display:block;height:100%;max-width:100%;object-fit:cover;width:100%}.hidden-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;font-weight:600;justify-content:center;left:0;position:absolute;right:0;top:0}.item-info{margin-bottom:15px}.item-info p{display:block;margin:0;padding:0}.item-title{color:#fff!important;font-weight:600}.item-description,.item-title{display:block;margin-bottom:8px}.item-description{color:#ccc!important;font-size:.9rem;line-height:1.5}.item-order{color:#ccc!important;display:block;font-size:.85rem;margin-bottom:0}.item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;margin-top:10px;padding-top:10px}.menu-category{margin-bottom:40px}.menu-category h3{border-bottom:2px solid #333;color:#fff;font-size:1.3rem;margin-bottom:20px;padding-bottom:10px}.menu-category:last-child{margin-bottom:0}.btn{border:none;border-radius:5px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-sm{font-size:.85rem;min-width:60px;padding:6px 12px}.btn-warning{background:#555;color:#fff}.btn-warning:hover{background:#666}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#388e3c}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.section-description{color:#ccc;line-height:1.6;margin-bottom:30px}.no-items{background:#1a1a1a;border:1px solid #333;border-radius:10px;color:#ccc;padding:30px;text-align:center}.image-preview{border-radius:5px;margin-top:15px;max-width:100%;overflow:hidden}.image-preview img{display:block;height:auto;max-width:100%;object-fit:contain;width:100%}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.42ef70bc.css.map*/