.admin-container{box-sizing:border-box;width:100%;max-width:1200px;margin:100px auto 40px;padding:0 24px}.admin-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--card-shadow);box-sizing:border-box;min-width:0;max-width:100%;padding:32px}.admin-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;display:flex}.admin-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:.9rem}.admin-table th{font-family:var(--font-sans);text-transform:uppercase;color:var(--text-secondary);border-bottom:2px solid var(--border-color);padding:12px 16px;font-size:.75rem}.admin-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:16px}.admin-table tr:hover{background-color:var(--surface-alt)}.admin-table td:last-child,.admin-table th:last-child{white-space:nowrap}.status-badge{border-radius:var(--border-radius-sm);font-size:.75rem;font-family:var(--font-sans);text-transform:uppercase;padding:4px 10px;font-weight:700;display:inline-block}.status-pending{background-color:var(--badge-warning-bg,var(--status-warning-bg));color:var(--badge-warning-text,var(--status-warning))}.status-confirmed{background-color:var(--badge-success-bg,var(--status-success-bg));color:var(--badge-success-text,var(--status-success))}.status-cancelled,.status-declined,.status-no_show{background-color:var(--badge-error-bg,var(--status-error-bg));color:var(--badge-error-text,var(--status-error))}.status-completed{background-color:var(--badge-success-bg,var(--status-success-bg));color:var(--badge-success-text,var(--status-success))}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.filter-btn{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);box-sizing:border-box;border-radius:var(--border-radius-full);min-height:44px;font-family:var(--font-sans);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:10px 18px;font-size:.8rem;transition:all .2s;display:inline-flex}.filter-btn,.filter-btn:active{cursor:pointer}.filter-btn.dragging{opacity:.4;transform:scale(.95)}.filter-btn.drag-over{border:1px dashed var(--primary-color);background-color:#8c9b6b1a}.filter-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--primary-on)}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.admin-table th.sortable:hover{color:var(--primary-color)}.sort-icon{opacity:.3;margin-left:4px;font-size:.7rem;display:inline-block}.sort-icon.active{opacity:1;color:var(--primary-color)}.search-input{background-color:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius-full);box-sizing:border-box;outline:none;width:100%;max-width:300px;min-height:44px;padding:8px 16px;font-size:.85rem}.search-input:focus-visible{outline:2px solid var(--focus-ring,var(--primary-text,var(--primary-color)));outline-offset:2px;border-color:var(--primary-color)}.day-hours-input{min-height:240px!important;padding:12px!important;font-size:.9rem!important}.editable-image-container{cursor:pointer;border-radius:var(--border-radius-md);display:inline-block;position:relative;overflow:hidden}.editable-image-container.avatar{border-radius:50%}.editable-image-overlay{opacity:0;color:#fff;background-color:#00000080;justify-content:center;align-items:center;font-size:1.5rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.editable-image-container:hover .editable-image-overlay{opacity:1}.action-btn{box-sizing:border-box;border-radius:var(--border-radius-sm);min-height:44px;font-size:.78rem;font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;margin-right:4px;padding:8px 14px;display:inline-flex}.action-confirm{background-color:var(--primary-color);color:var(--primary-on)}.action-cancel{color:#dc3545;background-color:#0000;border:1px solid #dc3545}.action-cancel:hover{color:#fff;background-color:#dc3545}.action-warning{color:#d39e00;background-color:#0000;border:1px solid #d39e00}.action-warning:hover{color:#fff;background-color:#d39e00}.tab-menu{border-bottom:1px solid var(--border-color);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:12px;margin-bottom:24px;padding-bottom:4px;display:flex;overflow-x:auto}.tab-menu::-webkit-scrollbar{display:none}.tab-item{scroll-snap-align:start;min-height:44px;font-family:var(--font-display);color:var(--text-secondary);cursor:pointer;white-space:nowrap;box-sizing:border-box;-webkit-user-select:none;user-select:none;transition:color var(--transition-speed) ease,border-color var(--transition-speed) ease;border-bottom:2px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.tab-item:hover{color:var(--text-primary)}.tab-item.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{display:none}.tab-content.active{display:block}.login-form{box-sizing:border-box;width:100%;max-width:400px;margin:150px auto 40px}.settings-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=768px){.settings-grid{grid-template-columns:repeat(2,1fr)}}.modular-toggle-card{background-color:rgba(var(--primary-color-rgb),.05);border:1px solid rgba(var(--primary-color-rgb),.2);border-radius:var(--border-radius-md);margin-bottom:24px;padding:20px}.drag-handle{cursor:grab;color:var(--text-secondary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:8px;font-size:1.2rem;display:inline-flex}.drag-handle:active{cursor:grabbing}tr.dragging{opacity:.5;box-shadow:var(--card-shadow);background-color:var(--surface-alt)!important}tr.drag-over{border-top:2px solid var(--primary-color)}.flex-col,.flex-row{display:flex}.flex-col{flex-direction:column}.align-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-sm{gap:12px}.gap-md{gap:16px}.gap-lg{gap:24px}.modal-body-container{flex-direction:column;gap:16px;display:flex}.grid-2{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.grid-2{grid-template-columns:1fr 1fr}}.admin-table-wrap{-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%;max-width:100%;margin-top:16px;overflow-x:auto}.admin-section-title{margin-bottom:4px;font-size:1.5rem}.admin-section-desc{color:var(--text-secondary);font-size:.85rem}.admin-avatar-thumb{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px}.admin-number-input-sm{width:75px;padding:4px 8px;font-size:.9rem}.admin-warning-box{background-color:var(--status-warning-bg);border-left:4px solid var(--status-warning);border-radius:var(--border-radius-sm);max-width:320px;padding:14px}.admin-rating-stars{color:var(--star-color);letter-spacing:2px;font-size:1.1rem}.booking-email-meta{color:var(--text-secondary);font-size:.75rem}.booking-note-badge{color:var(--primary-color);font-size:.75rem;font-style:italic}.form-input-code{font-family:var(--font-mono);resize:vertical}.input-table-text{width:100%;min-width:140px}.input-table-desc{resize:vertical;width:100%;min-width:180px;font-size:.85rem}.input-unit-group{align-items:center;gap:6px;display:flex}.unit-label{color:var(--text-secondary);font-size:.85rem}.table-cell-author{font-weight:600}.table-cell-text{white-space:normal;max-width:350px;line-height:1.4}.gallery-thumb-container{width:150px;height:100px}.gallery-thumb-img{-o-object-fit:cover;object-fit:cover;border-radius:var(--border-radius-md);width:100%;height:100%}.hour-input-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 16px;display:flex}.hour-day-label{min-width:140px;margin:0;font-weight:700}.hour-time-input{flex:1;min-width:92px}.hour-range{flex:1;align-items:center;gap:6px;display:flex}.hour-hint,.hour-range-sep{color:var(--text-secondary)}.hour-hint{text-align:right;min-width:56px}.admin-brand-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:700}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end}.admin-btn-group,.admin-header-actions{align-items:center;gap:12px;display:flex}.push-settings{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--surface-color);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:100%;margin-bottom:20px;padding:14px 16px;display:flex}#btnPushToggle{white-space:normal;text-align:center;box-sizing:border-box;min-height:44px}.notify-health{background-color:var(--status-warning-bg);color:var(--status-warning);border-radius:8px;margin:0 0 20px;padding:12px 16px;font-weight:600}.push-settings-title{margin-bottom:2px;display:block}.push-settings-hint{color:var(--text-secondary);margin:0;font-size:.85rem}.admin-subheading{margin-bottom:4px;font-size:1.2rem}.admin-section-divider{border-top:1px solid var(--border-color);margin-top:48px;padding-top:32px}.modal-confirm-content{text-align:center;max-width:400px}.modal-confirm-header{border-bottom:none;justify-content:center}.modal-confirm-body{padding-top:0}.btn-danger{background-color:var(--status-error);border-color:var(--status-error);color:#fff}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.admin-toast{background-color:var(--surface-alt);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--border-radius-full);font-family:var(--font-sans);z-index:var(--z-notice);box-sizing:border-box;align-items:center;gap:8px;max-width:min(400px,100% - 32px);padding:12px 24px;font-size:.85rem;display:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.admin-form-actions{justify-content:flex-end;gap:12px;margin-top:12px;display:flex}.form-textarea-resizable{resize:vertical}.admin-toggle-header{margin-bottom:16px}.admin-toggle-footer,.admin-toggle-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-toggle-footer{border-top:1px solid var(--border-color);padding-top:16px}.btn-icon-gap{align-items:center;gap:8px;display:inline-flex}#btnLogout{box-sizing:border-box;min-height:44px}.modal-close{cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}@media (width<=640px){.admin-container{margin:80px auto 24px;padding:0 16px}.admin-card{padding:16px}.login-form{margin:40px auto 24px;padding:24px 16px}.admin-header{gap:16px;margin-bottom:20px;padding-bottom:16px}.admin-header,.admin-header-actions{flex-direction:column;align-items:stretch}.admin-header-actions{gap:12px;width:100%}.admin-header-actions .btn,.admin-header-actions .search-input{max-width:100%}.admin-header-actions .btn,.admin-header-actions .search-input,.admin-header>.btn{white-space:normal;text-align:center;box-sizing:border-box;width:100%;min-height:44px}.push-settings{flex-direction:column;align-items:stretch;gap:14px}#btnPushToggle{white-space:normal;text-align:center;box-sizing:border-box;flex:100%;width:100%;max-width:100%;min-height:44px;padding:10px 14px;line-height:1.35}.tab-menu{gap:8px;margin-bottom:16px}.admin-btn-group{flex-wrap:wrap;gap:10px;width:100%}.admin-btn-group .btn{white-space:normal;text-align:center;box-sizing:border-box;flex:auto;min-height:44px}.filter-bar{gap:8px;margin-bottom:16px}.filter-btn{text-align:center;flex:calc(50% - 8px);min-height:44px}.admin-table td,.admin-table th{padding:12px 10px}.admin-container .grid-2,.modal-content .grid-2{grid-template-columns:1fr}.form-group{width:100%;max-width:100%}.admin-form-actions{flex-direction:column-reverse;gap:10px;width:100%;margin-top:16px}#formEditBooking #ebSubmitBtn,#formNewBooking #nbSubmitBtn,.admin-form-actions .btn{white-space:normal;text-align:center;box-sizing:border-box;width:100%;min-height:44px}.hour-input-row{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.hour-day-label{min-width:100%;font-size:.95rem}.hour-range{flex:100%;width:100%}.hour-time-input{box-sizing:border-box;width:100%;min-width:0;min-height:44px}.hour-hint{text-align:left;min-width:0;font-size:.8rem}.admin-section-divider{margin-top:32px;padding-top:24px}.navbar .container{gap:8px;padding:0 16px}.navbar .logo-text{font-size:1.1rem}.admin-brand-subtitle{font-size:.68rem}#btnLogout{padding:6px 12px;font-size:.8rem}}
