.booking-modal{border-radius:var(--radius-lg);width:100%;max-width:420px;overflow:hidden}.booking-modal .modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.booking-modal .modal-header h3{font-size:1.1rem}.booking-modal .modal-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.booking-modal .modal-close:hover{background:var(--border-light)}.booking-modal .modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.booking-modal .form-group{flex-direction:column;gap:.35rem;display:flex}.booking-modal .form-group label{color:var(--text-muted);font-size:.85rem;font-weight:600}.booking-modal .form-group input,.booking-modal .form-group select,.booking-modal .form-group textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);color:var(--text-main);resize:vertical;padding:.6rem .75rem;font-family:inherit;font-size:.9rem}.booking-modal .form-group input:focus,.booking-modal .form-group select:focus,.booking-modal .form-group textarea:focus{border-color:var(--primary-color);outline:none}.booking-modal .modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.booking-modal .secondary-btn{border-radius:var(--radius-full);color:var(--text-muted);background:var(--border-light);padding:.6rem 1.25rem;font-size:.9rem;font-weight:600}.booking-modal .secondary-btn:hover{background:var(--border-color)}.booking-modal .primary-btn{border-radius:var(--radius-full);color:#fff;background:var(--primary-dark);padding:.6rem 1.25rem;font-size:.9rem;font-weight:600}.booking-modal .primary-btn:hover{background:var(--primary-hover)}.modal-overlay{z-index:1000;background:#2c3d3266;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}
.sidebar{border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.sidebar-section{flex-direction:column;flex:1;padding:1.25rem;display:flex;overflow:hidden}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1rem;font-weight:600}.add-btn{border-radius:var(--radius-sm);background-color:var(--primary-light);width:28px;height:28px;color:var(--primary-dark);justify-content:center;align-items:center;display:flex}.add-btn:hover{background-color:var(--primary-color);color:#fff;transform:scale(1.05)}.employees-section .section-title{margin-bottom:1rem}.sidebar-divider{background-color:var(--border-color);flex-shrink:0;height:1px;margin:0 1.25rem}.draggable-list{flex-direction:column;gap:.75rem;padding-right:.5rem;display:flex;overflow-y:auto}.draggable-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:grab;box-shadow:var(--shadow-sm);transition:var(--transition);padding:.75rem 1rem}.draggable-item:active{cursor:grabbing;transform:scale(.98)}.draggable-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.employee-item{align-items:center;gap:12px;display:flex}.emp-avatar{border-radius:var(--radius-full);color:#fff;text-shadow:0 1px 2px #0003;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.emp-name{font-weight:500}.booking-item{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.booking-info{flex-direction:column;flex:1;min-width:0;display:flex}.booking-client{font-size:.95rem;font-weight:600}.booking-service{color:var(--text-muted);font-size:.8rem}.booking-notes{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.75rem;font-style:italic;overflow:hidden}.booking-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.booking-edit-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);background:var(--border-light);opacity:0;transition:var(--transition);justify-content:center;align-items:center;display:flex}.booking-item:hover .booking-edit-btn{opacity:1}.booking-edit-btn:hover{background:var(--primary-light);color:var(--primary-dark)}.booking-duration{background-color:var(--border-light);border-radius:var(--radius-full);color:var(--primary-dark);padding:2px 8px;font-size:.8rem;font-weight:600}
.schedule-table-wrapper{border-radius:var(--radius-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.schedule-table{flex-direction:column;display:flex}.table-header-row{background-color:var(--primary-light);border-bottom:2px solid var(--border-color);z-index:10;display:flex;position:sticky;top:0}.time-column-header,.room-column-header{color:var(--primary-dark);text-align:center;padding:1rem;font-weight:600}.time-column-header{border-right:1px solid var(--border-color);flex-shrink:0;width:80px}.room-column-header{border-right:1px solid var(--border-color);flex:1;min-width:150px}.room-column-header:last-child{border-right:none}.table-body{flex-direction:column;display:flex}.table-row{border-bottom:1px solid var(--border-color);display:flex}.time-cell{text-align:center;width:80px;color:var(--text-muted);border-right:1px solid var(--border-color);background-color:#fff6;flex-shrink:0;padding:1rem 0;font-size:.85rem;font-weight:500}.grid-cell{border-right:1px solid var(--border-color);min-width:150px;transition:var(--transition);background-color:#fff3;flex:1;position:relative}.grid-cell:last-child{border-right:none}.grid-cell:hover:not(.has-booking){background-color:var(--border-light)}.scheduled-booking{background-color:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--radius-sm);height:100%;min-height:50px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;padding:8px 24px 8px 8px;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;display:flex}.sched-details{flex-direction:column;flex:1;min-width:0;padding-right:4px;display:flex}.sched-client{color:var(--text-main);font-size:.85rem;font-weight:600}.sched-service{color:var(--text-muted);font-size:.75rem}.sched-notes{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.7rem;font-style:italic;line-height:1.3;display:-webkit-box;overflow:hidden}.assigned-employee{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.unassigned-dot{border:2px dashed var(--primary-color);border-radius:var(--radius-sm);width:16px;height:16px;transition:var(--transition)}.scheduled-booking:hover .unassigned-dot{background-color:var(--primary-light)}.emp-dot{border-radius:var(--radius-sm);color:#fff;text-shadow:0 1px 2px #0003;width:24px;height:24px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scheduled-booking{cursor:grab;position:relative}.scheduled-booking:active{cursor:grabbing}.drag-handle{color:var(--text-muted);opacity:.5;transition:var(--transition);justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.scheduled-booking:hover .drag-handle{opacity:1}.sched-edit-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);background:var(--border-light);opacity:0;transition:var(--transition);z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;left:4px}.scheduled-booking:hover .sched-edit-btn{opacity:1}.sched-edit-btn:hover{background:var(--primary-light);color:var(--primary-dark)}.emp-dot.has-emp{position:relative}.remove-emp-btn{color:#c62828;opacity:0;width:14px;height:14px;transition:var(--transition);z-index:5;background:#ffcdd2;border:1px solid #ef9a9a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-6px}.emp-dot.has-emp:hover .remove-emp-btn{opacity:1}
.schedule-layout{gap:1.5rem;display:flex;position:relative}.schedule-date-bar{border-radius:var(--radius-lg);grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:8px;width:min(100%,540px);margin:0 auto 1.5rem;padding:10px;display:grid}.schedule-date-nav-button,.schedule-today-button{border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:44px;color:var(--primary-dark)}.schedule-date-nav-button{background:var(--surface-color);place-items:center;width:44px;display:grid}.schedule-date-label{color:var(--text-main);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.75rem,2.5vw,.95rem);font-weight:600;overflow:hidden}.schedule-today-button{background:var(--surface-color);padding:0 14px;font-size:.9rem;font-weight:500}.schedule-date-nav-button:hover,.schedule-today-button:hover{border-color:var(--primary-color);background:var(--primary-light);color:var(--primary-dark)}.schedule-date-nav-button:focus-visible,.schedule-today-button:focus-visible{outline-offset:2px;outline:3px solid #6eb37e4d}@media (max-width:480px){.schedule-date-bar{grid-template-columns:40px minmax(0,1fr) 40px auto;gap:6px;margin-bottom:1rem;padding:8px}.schedule-date-nav-button,.schedule-today-button{min-height:40px}.schedule-date-nav-button{width:40px}.schedule-today-button{padding:0 10px;font-size:.8rem}}.schedule-toast{z-index:100;color:#e65100;border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:center;background:#fff3e0;border:1px solid #ffcc80;max-width:90%;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;animation:.25s toast-in;position:absolute;top:1rem;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}
