*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}:root{--primary-color:#10b981;--secondary-color:#3b82f6;--danger-color:#ef4444;--warning-color:#f59e0b;--success-color:#10b981;--text-dark:#1f2937;--text-light:#6b7280;--border-color:#e5e7eb;--bg-light:#fff;--bg-dark:#f9fafb}.container{margin:0 auto;max-width:1280px;padding:0 1rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#10b981;background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:#059669;box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.btn-secondary{background-color:#3b82f6;background-color:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background-color:#2563eb}.btn-danger{background-color:#ef4444;background-color:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-outline{background-color:initial;border:2px solid #10b981;border:2px solid var(--primary-color);color:#10b981;color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:#10b981;background-color:var(--primary-color);color:#fff}.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:box-shadow .2s}.card:hover{box-shadow:0 4px 6px #0000001a}.input-group{margin-bottom:1rem}.input-group label{color:#1f2937;color:var(--text-dark);display:block;font-weight:500;margin-bottom:.5rem}.input-group input,.input-group select,.input-group textarea{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#10b981;border-color:var(--primary-color);box-shadow:0 0 0 3px #10b9811a;outline:none}.grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.text-primary{color:#10b981;color:var(--primary-color)}.text-danger{color:#ef4444;color:var(--danger-color)}.text-success{color:#10b981;color:var(--success-color)}.text-muted{color:#6b7280;color:var(--text-light)}.badge{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-info{background-color:#dbeafe;color:#1e40af}.modal-overlay{align-items:center;animation:fadeIn .2s;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:slideUp .3s;background:#fff;border-radius:.75rem;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);padding:.75rem;text-align:left}th{color:#1f2937;color:var(--text-dark);font-weight:600}th,tr:hover{background-color:#f9fafb;background-color:var(--bg-dark)}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:.5rem;width:8px}.status-available{background-color:#10b981;background-color:var(--success-color)}.status-occupied{background-color:#ef4444;background-color:var(--danger-color)}.status-maintenance{background-color:#f59e0b;background-color:var(--warning-color)}.alert{border-radius:.5rem;margin-bottom:1rem;padding:1rem}.alert-success{background-color:#d1fae5;border-left:4px solid #10b981;border-left:4px solid var(--success-color);color:#065f46}.alert-danger{background-color:#fee2e2;border-left:4px solid #ef4444;border-left:4px solid var(--danger-color);color:#991b1b}.alert-warning{background-color:#fef3c7;border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color);color:#92400e}.loading{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.profile-link{border-radius:.5rem;padding:.5rem;transition:background-color .2s}.profile-link:hover{background-color:#f9fafb;background-color:var(--bg-dark)}.react-calendar-dashboard{border:none!important;font-family:inherit!important;line-height:1.5em!important;width:100%!important}.react-calendar-dashboard .react-calendar__navigation button{color:#1f2937;color:var(--text-dark);font-size:1.1rem;font-weight:600}.react-calendar-dashboard .react-calendar__month-view__weekdays__weekday{color:#6b7280;color:var(--text-light);font-size:.875rem;font-weight:600;padding-bottom:.5rem;text-align:center;text-decoration:none}.react-calendar-dashboard .react-calendar__month-view__weekdays__weekday abbr{text-decoration:none!important}.react-calendar-dashboard .react-calendar__tile{background:#f9fafb;background:var(--bg-dark);border:2px solid #0000;border-radius:.5rem;font-weight:500;padding:.75rem .5rem;transition:all .2s}.react-calendar-dashboard .react-calendar__tile--now{background:#e0f2fe;color:#0c4a6e}.react-calendar-dashboard .react-calendar__tile:focus,.react-calendar-dashboard .react-calendar__tile:hover{background:#e5e7eb;background:var(--border-color)}.react-calendar-dashboard .react-calendar__tile--active{background:#10b981!important;background:var(--primary-color)!important;color:#fff!important}.react-calendar-dashboard .reserved-day{background-color:#d1fae5;border:2px solid #10b981;border:2px solid var(--primary-color);color:#065f46;font-weight:700}.fc .fc-button-primary{background-color:#10b981!important;background-color:var(--primary-color)!important;border-color:#10b981!important;border-color:var(--primary-color)!important}.fc .fc-button-primary:hover{background-color:#059669!important;border-color:#059669!important}.fc .fc-daygrid-day.fc-day-today{background-color:#f0fdfa}.fc-event.event-confirmed{background-color:#10b981!important;background-color:var(--primary-color)!important;border-color:#059669!important;cursor:pointer}.fc-event.event-cancelled,.fc-event.event-confirmed{color:#fff!important;font-size:.8rem;padding:2px 4px}.fc-event.event-cancelled{background-color:#6b7280!important;background-color:var(--text-light)!important;border-color:#9ca3af!important;text-decoration:line-through}.fc-event-title{font-weight:500;white-space:normal}@media (max-width:768px){.fc{font-size:12px!important}.fc-toolbar{flex-direction:column!important;gap:10px!important;padding:10px!important}.fc-toolbar-chunk{display:flex!important;justify-content:center!important;width:100%!important}.fc-button{font-size:12px!important;padding:6px 10px!important}.fc-toolbar-title{font-size:16px!important;text-align:center!important}.fc-col-header-cell{font-size:11px!important;padding:4px 2px!important}.fc-col-header-cell-cushion{padding:4px 0!important}.fc-daygrid-day{font-size:11px!important;min-height:60px!important}.fc-daygrid-day-number{font-size:12px!important;padding:4px!important}.fc-event{border-radius:3px!important;margin-bottom:2px!important;overflow:hidden!important;padding:2px 4px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.fc-event,.fc-event-title{font-size:10px!important}.fc-daygrid-event-dot{height:6px!important;width:6px!important}.fc-daygrid-more-link{font-size:10px!important;padding:2px!important}.fc-popover{font-size:12px!important;max-width:90vw!important}.fc-button-group{display:flex!important;gap:4px!important}.fc-button .fc-icon{font-size:14px!important}.fc-scrollgrid{border:1px solid #ddd!important}.fc-theme-standard td,.fc-theme-standard th{border-color:#e0e0e0!important}.fc-timegrid-event{font-size:11px!important;padding:2px 4px!important}.fc-view-harness{overflow-x:auto!important}}@media (max-width:480px){.fc{font-size:10px!important}.fc-toolbar-title{font-size:14px!important}.fc-button{font-size:11px!important;padding:4px 8px!important}.fc-daygrid-day{min-height:50px!important}.fc-daygrid-day-number{font-size:11px!important}.fc-event{font-size:9px!important;padding:1px 3px!important}.fc-col-header-cell-cushion{overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important}.fc-toolbar-title{max-width:200px!important;overflow:hidden!important;text-overflow:ellipsis!important}}@media (max-width:768px){.modal-content{margin:20px auto!important;max-height:90vh!important;max-width:95vw!important;overflow-y:auto!important;width:95vw!important}.modal-body{padding:15px!important}.grid.grid-2{gap:15px!important;grid-template-columns:1fr!important}}@media (max-width:768px) and (orientation:landscape){.fc-daygrid-day{min-height:40px!important}.modal-content{max-height:85vh!important}}.calendar-container{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important;width:100%!important}.fc-view-harness-active{max-width:100%!important}@media (max-width:768px){.calendar-container::-webkit-scrollbar{height:6px!important}.calendar-container::-webkit-scrollbar-track{background:#f1f1f1!important}.calendar-container::-webkit-scrollbar-thumb{background:#34a853!important;border-radius:3px!important}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7;transform:scale(1.05)}}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.alert{line-height:1.6;white-space:pre-line}}
/*# sourceMappingURL=main.1f5362a6.css.map*/