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;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.calendar-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:10px 20px;position:sticky;top:0;z-index:100}.calendar-header h2{font-size:18px;font-weight:500;margin:0}.calendar-header button{background:none;border:none;color:#666;cursor:pointer;font-size:18px}.view-switch{background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;justify-content:center;padding:10px 0;position:sticky;top:55px;z-index:99}.switch-btn{background-color:#fff;border:1px solid #ccc;border-radius:20px;color:#666;cursor:pointer;font-size:14px;padding:8px 20px;transition:all .3s}.switch-btn.active{background-color:#2ecc71;border:none;color:#fff}.weekdays{background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;display:grid;font-size:14px;grid-template-columns:repeat(7,1fr);padding:10px 0;text-align:center}.weekday{color:#666}.sunday{color:#e74c3c}.saturday{color:#3498db}.calendar-grid{background-color:#fff;display:grid;flex:1 1;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);height:auto}.calendar-day{border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;min-height:80px;overflow:visible;padding:5px}.calendar-day:nth-child(7n){border-right:none}.day-number{font-size:14px;margin-bottom:5px}.other-month{background-color:#f9f9f9;color:#aaa}.today{background-color:ivory}.day-events{display:flex;flex-direction:column;gap:2px;overflow:visible}.event{border-radius:3px;font-size:12px;margin-bottom:2px;overflow:hidden;padding:3px 5px;text-overflow:ellipsis;white-space:nowrap}.calendar-footer{background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;justify-content:space-around;left:0;position:fixed;width:100%;z-index:100}.footer-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;flex-direction:column;font-size:11px}.icon{font-size:20px;margin-bottom:4px}.add-btn .icon{background-color:#2ecc71;border-radius:50%;color:#fff;font-size:24px;height:30px;width:30px}.add-btn .icon,.modal-backdrop{align-items:center;display:flex;justify-content:center}.modal-backdrop{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;padding:20px;width:90%}.modal h3{color:#333;margin-bottom:20px;margin-top:0}.form-group{margin-bottom:16px}.form-group label{color:#555;display:block;font-size:14px;margin-bottom:4px}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:100%}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-actions button[type=button]{background-color:#f5f5f5;border:1px solid #ddd}.form-actions button[type=submit]{background-color:#2ecc71;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.weekdays-header{background:#f9f9f9;border-bottom:1px solid #ddd;display:grid;grid-template-columns:60.5px repeat(7,1fr)}.week-grid{position:relative}.time-cell{color:#666;font-size:12px;padding-right:8px;text-align:right;width:60px}.weekday-cell{flex:1 1;font-size:12px;padding:5px 0;text-align:center}.hour-row{box-shadow:inset 0 -1px 0 #eee;display:flex;height:40px;position:relative}.hour-cell{border-left:1px solid #eee;flex:1 1}.now-line{background-color:red;height:2px;left:60px;position:absolute;right:0;z-index:10}.calendar-zoom-target{transform-origin:top center}.form-actions button{border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.modal-backdrop select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 5px #0000000d;color:#333;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.form-actions button:last-child{background-color:#2ecc71;border:none;color:#fff}.popover{background:#fff;border:1px solid #ddd;border-radius:8px;bottom:90px;box-shadow:0 2px 8px #0000001a;left:50%;padding:5px 0;position:fixed;transform:translateX(-50%);z-index:1000}.popover-btn{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:8px 16px;text-align:center;width:120px}.popover-btn:hover{background-color:#f0f0f0}.shift-draft-block{background-color:#f9f9f9;border:1px solid #ccc;border-radius:6px;padding:12px}.shift-draft-inputs{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.shift-draft-inputs label{color:#333;font-size:13px}.shift-draft-inputs input[type=date],.shift-draft-inputs input[type=time]{border:1px solid #ccc;border-radius:4px;font-size:13px;padding:6px;width:100%}.shift-draft-delete-btn{align-self:flex-end;background-color:#ff5c5c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 10px}.shift-draft-add-btn,.shift-draft-bulk-btn{background-color:#2ecc71;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;margin-bottom:15px;padding:8px 12px}.shift-draft-bulk-btn{background-color:#3498db;margin-top:10px}.modal{max-height:80vh;overflow-y:auto}.bulk-grid{border:1px solid #ccc;margin:20px 0;overflow:auto}.bulk-grid-header{background:#f0f0f0;grid-template-columns:repeat(7,1fr);padding:5px 0}.bulk-grid-day{border-right:1px solid #ccc;padding:6px}.bulk-grid-body{display:flex;flex-direction:column}.bulk-grid-row{grid-template-columns:repeat(7,1fr)}.bulk-grid-cell{border:1px solid #e0e0e0;cursor:pointer;height:20px}.bulk-grid-cell.selected{background-color:#005da8}.bulk-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none;z-index:110}.bulk-overlay-content{background:#fff;border-radius:8px;max-height:90vh;max-width:1000px;overflow-y:auto;padding:20px;width:90%}.bulk-grid-time-label-header{background:#f0f0f0;width:60px}.bulk-grid-header{background:#f5f5f5;font-weight:700;text-align:center}.bulk-grid-header,.bulk-grid-row{display:grid;grid-template-columns:60px repeat(7,1fr)}.bulk-grid-cell.existing{background-color:#d0eaff}.bulk-grid-cell.buffered{background-color:#a2d5ff}.login-container{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 10px #0000001a;margin:80px auto;max-width:300px;padding:20px;text-align:center}.login-container h2{margin-bottom:20px}.login-container .form-group{margin-bottom:15px;text-align:left}.login-container .form-group label{color:#555;font-size:14px}.login-container .form-group input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px;width:100%}.login-container button{background-color:#2ecc71;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px;width:100%}
/*# sourceMappingURL=main.7eef151f.css.map*/