[data-v-3b1d4414]{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,system-ui,sans-serif}body[data-v-3b1d4414]{min-height:100vh;padding:20px;background:#121212}@media (max-width: 768px){body[data-v-3b1d4414]{min-height:100dvh}}.container[data-v-3b1d4414]{padding:12px;width:100%;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;background:#121212;border-radius:12px}@media (max-width: 768px){.container[data-v-3b1d4414]{height:100dvh;padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-top:calc(12px + env(safe-area-inset-top))}}.calendar-body[data-v-3b1d4414]{flex:1;min-height:0;display:flex;flex-direction:column;background:#121212}.calendar[data-v-3b1d4414]{width:100%;height:100%;display:flex;flex-direction:column;background:#1f1f1f;border-radius:8px;box-shadow:0 2px 12px #0000001a}.calendar .calendar-header[data-v-3b1d4414]{padding:1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2f2f2f;flex-shrink:0;color:#fff}@media (max-width: 768px){.calendar .calendar-header[data-v-3b1d4414]{position:sticky;top:0;z-index:5;background:#1f1f1f}}.calendar .calendar-header .btn[data-v-3b1d4414]{padding:.8rem 1.5rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;color:#fff}.calendar .calendar-header .btn[data-v-3b1d4414]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.calendar .calendar-header .btn-primary[data-v-3b1d4414]{background:#fe2c55}.calendar .calendar-header .btn-primary[data-v-3b1d4414]:hover:not(:disabled){background:#ff4d6a;transform:translateY(-2px)}.calendar .calendar-header .btn-secondary[data-v-3b1d4414]{background:#2f2f2f}.calendar .calendar-header .btn-secondary[data-v-3b1d4414]:hover:not(:disabled){background:#222;transform:translateY(-2px)}.calendar .calendar-grid[data-v-3b1d4414]{flex:1;display:grid;grid-template-rows:auto 1fr;min-height:0}.calendar .calendar-grid .weekdays[data-v-3b1d4414]{display:grid;grid-template-columns:repeat(7,1fr);background:#1f1f1f;flex-shrink:0}@media (max-width: 768px){.calendar .calendar-grid .weekdays[data-v-3b1d4414]{display:none}}.calendar .calendar-grid .weekdays .weekday[data-v-3b1d4414]{padding:.5rem;text-align:center;font-weight:500;color:#909090}.calendar .calendar-grid .days[data-v-3b1d4414]{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);flex:1;min-height:0}@media (max-width: 768px){.calendar .calendar-grid .days[data-v-3b1d4414]{overflow-y:auto;-webkit-overflow-scrolling:touch;grid-template-rows:none;grid-auto-rows:clamp(120px,14vw,150px);align-content:start;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}}@media (max-width: 480px){.calendar .calendar-grid .days[data-v-3b1d4414]{grid-auto-rows:clamp(110px,22vw,140px);grid-template-columns:repeat(3,1fr)}}.calendar .calendar-grid .days[data-v-3b1d4414]::-webkit-scrollbar{width:6px}.calendar .calendar-grid .days[data-v-3b1d4414]::-webkit-scrollbar-track{background:#1212121a}.calendar .calendar-grid .days[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#90909066;border-radius:3px}.calendar .calendar-grid .days .day-cell[data-v-3b1d4414]{position:relative;border:1px solid #2f2f2f;background:#1f1f1f;display:flex;flex-direction:column;cursor:pointer;transition:all .2s;padding:.5rem;min-height:0;overflow:hidden;gap:8px;-webkit-user-select:none;user-select:none;color:#fff}.calendar .calendar-grid .days .day-cell[data-v-3b1d4414]:hover{background:#2d2d2d;z-index:1}.calendar .calendar-grid .days .day-cell.other-month[data-v-3b1d4414]{color:#909090;background:#1a1a1a;opacity:.7}.calendar .calendar-grid .days .day-cell.current-month[data-v-3b1d4414]{background:#1f1f1f;color:#fff}.calendar .calendar-grid .days .day-cell.today[data-v-3b1d4414]{position:relative;background:#fe2c55;color:#fff!important}.calendar .calendar-grid .days .day-cell.today[data-v-3b1d4414]:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:#ff4d6a;border-radius:50%}.calendar .calendar-grid .days .day-cell .day-number[data-v-3b1d4414]{font-size:1.1rem;font-weight:500;flex-shrink:0;min-width:24px;text-align:center}.calendar .calendar-grid .days .day-cell .schedule-indicators[data-v-3b1d4414]{margin-top:4px;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.calendar .calendar-grid .days .day-cell .schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar{width:4px}.calendar .calendar-grid .days .day-cell .schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.calendar .calendar-grid .days .day-cell .schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px;transition:background .2s}.calendar .calendar-grid .days .day-cell .schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar-thumb:hover{background:#aaa}.calendar .calendar-grid .days .day-cell:hover .schedule-indicators[data-v-3b1d4414]{scrollbar-color:#ccc #f1f1f1}.calendar .calendar-grid .days .day-cell .schedule-tag[data-v-3b1d4414]{padding:2px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}.calendar .calendar-grid .days .day-cell .schedule-tag.morning-shift[data-v-3b1d4414]{background:#42b983}.calendar .calendar-grid .days .day-cell .schedule-tag.afternoon-shift[data-v-3b1d4414]{background:#ff9800}.calendar .calendar-grid .days .day-cell .schedule-tag.night-shift[data-v-3b1d4414]{background:#9c27b0}.calendar .calendar-grid .days .day-cell .schedule-tag.rest-shift[data-v-3b1d4414]{background:#2f2f2f;color:#909090}.calendar .calendar-grid .days .day-cell .schedule-tag .scroll-text[data-v-3b1d4414]{display:inline-block;min-width:auto;padding-left:var(--marquee-gap-left, 8px);padding-right:var(--marquee-gap-right, 8px);will-change:transform;transform:translate(0)}.calendar .calendar-grid .days .day-cell .schedule-tag.marquee-active .scroll-text[data-v-3b1d4414]{animation:marquee-bounce-3b1d4414 var(--marquee-duration, 6s) ease-in-out infinite alternate}.calendar .calendar-grid .days .day-cell .schedule-tag.marquee-active[data-v-3b1d4414]{justify-content:flex-start;padding-left:0;padding-right:0}.calendar .calendar-grid .days .day-cell .schedule-tag.marquee-active[data-v-3b1d4414]{padding-left:0;padding-right:0}@media (prefers-reduced-motion: reduce){.calendar .calendar-grid .days .day-cell .schedule-tag.marquee-active .scroll-text[data-v-3b1d4414]{animation:none}}.calendar .calendar-grid .days .day-cell .schedule-badge[data-v-3b1d4414]{position:absolute;width:20px;right:0;bottom:0;height:18px;background:#e5e5e5;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#666}@keyframes marquee-bounce-3b1d4414{0%{transform:translate(0)}to{transform:translate(var(--marquee-distance, -100%))}}.modal-backdrop[data-v-3b1d4414]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:none;justify-content:center;align-items:center;z-index:1000;padding:clamp(12px,2vw,20px);box-sizing:border-box}@media (max-width: 768px){.modal-backdrop[data-v-3b1d4414]{height:100dvh;padding:clamp(8px,1.5vw,16px)}}.modal-backdrop.show[data-v-3b1d4414]{display:flex}.modal-backdrop[data-v-3b1d4414]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.modal-content[data-v-3b1d4414]{background:#1f1f1f;border-radius:clamp(8px,1.5vw,12px);width:clamp(320px,90vw,1200px);max-height:clamp(400px,85vh,800px);display:flex;flex-direction:column;animation:fadeIn .3s ease-out;box-shadow:0 clamp(4px,1vw,8px) clamp(16px,4vw,24px) #00000026;position:relative;color:#fff;z-index:1;overflow:hidden}@media (max-width: 768px){.modal-content[data-v-3b1d4414]{width:clamp(280px,95vw,500px);max-height:calc(100dvh - 32px)}}.modal-content .modal-header[data-v-3b1d4414]{position:relative;padding:15px 20px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.modal-content .modal-header .header-left h3[data-v-3b1d4414]{margin:0;font-size:18px;font-weight:500;color:#efefef}.modal-content .modal-header .schedule-summary[data-v-3b1d4414]{display:flex;align-items:center;gap:clamp(8px,1.5vw,16px);margin:0 clamp(8px,1.5vw,16px);flex-wrap:wrap;justify-content:space-evenly}@media (max-width: 768px){.modal-content .modal-header .schedule-summary[data-v-3b1d4414]{gap:clamp(6px,1.2vw,12px);margin:0 clamp(4px,1vw,10px);justify-content:space-evenly}}@media (max-width: 480px){.modal-content .modal-header .schedule-summary[data-v-3b1d4414]{gap:clamp(4px,1vw,8px);margin:0 clamp(2px,.8vw,6px);justify-content:space-evenly}}.modal-content .modal-header .schedule-summary .stats-group[data-v-3b1d4414]{display:flex;align-items:center;gap:clamp(2px,.5vw,4px);padding:clamp(4px,.8vw,6px);border-radius:clamp(12px,2.5vw,16px);background:#00000005;box-shadow:0 1px 3px #0000000d;flex-shrink:0}@media (max-width: 768px){.modal-content .modal-header .schedule-summary .stats-group[data-v-3b1d4414]{justify-content:center;gap:clamp(2px,.5vw,4px)}}@media (max-width: 480px){.modal-content .modal-header .schedule-summary .stats-group[data-v-3b1d4414]{gap:clamp(2px,.5vw,4px);padding:clamp(4px,1vw,6px);flex-wrap:wrap}}.modal-content .modal-header .schedule-summary .stats-group .stat-item[data-v-3b1d4414]{display:flex;align-items:center;gap:clamp(3px,.8vw,5px);padding:clamp(2px,.5vw,3px) clamp(6px,1.5vw,10px);border-radius:clamp(10px,2.5vw,15px);transition:all .2s ease;font-size:clamp(12px,2.8vw,14px);white-space:nowrap;min-width:0;flex:1;justify-content:center}@media (max-width: 768px){.modal-content .modal-header .schedule-summary .stats-group .stat-item[data-v-3b1d4414]{text-align:center;padding:clamp(4px,1vw,6px);gap:clamp(1px,.3vw,2px);min-height:clamp(40px,8vw,48px);flex-shrink:1}}@media (max-width: 480px){.modal-content .modal-header .schedule-summary .stats-group .stat-item[data-v-3b1d4414]{font-size:clamp(10px,2.5vw,12px);padding:clamp(3px,.8vw,5px);min-height:clamp(36px,7vw,44px);gap:clamp(1px,.5vw,2px)}}.modal-content .modal-header .schedule-summary .stats-group .stat-item[data-v-3b1d4414]:hover{background:#ffffffe6;box-shadow:0 2px 8px #0000000d;transform:translateY(-1px)}.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-icon[data-v-3b1d4414]{font-size:clamp(12px,3vw,15px);font-style:normal;flex-shrink:0}@media (max-width: 768px){.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-icon[data-v-3b1d4414]{font-size:clamp(14px,3.5vw,18px)}}.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-number[data-v-3b1d4414]{font-weight:600;font-size:clamp(13px,3.2vw,15px);min-width:clamp(16px,3.5vw,18px);text-align:center;color:#fff;flex-shrink:0}@media (max-width: 768px){.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-number[data-v-3b1d4414]{font-size:clamp(14px,3.5vw,16px);min-width:clamp(18px,4vw,20px)}}.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-label[data-v-3b1d4414]{color:#666;font-size:clamp(10px,2.5vw,12px);font-weight:500}@media (max-width: 768px){.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-label[data-v-3b1d4414]{font-size:clamp(9px,2.2vw,11px);color:#777}}@media (max-width: 480px){.modal-content .modal-header .schedule-summary .stats-group .stat-item .stat-label[data-v-3b1d4414]{display:block}}.modal-content .modal-header .schedule-summary .stats-group .stat-item.morning-stat[data-v-3b1d4414]{color:#42b983}.modal-content .modal-header .schedule-summary .stats-group .stat-item.afternoon-stat[data-v-3b1d4414]{color:#ff9800}.modal-content .modal-header .schedule-summary .stats-group .stat-item.night-stat[data-v-3b1d4414]{color:#9c27b0}.modal-content .modal-header .schedule-summary .stats-group .stat-item.overnight-stat[data-v-3b1d4414]{color:#673ab7}.modal-content .modal-header .schedule-summary .stats-group .stat-item.rest-stat[data-v-3b1d4414]{color:#909090}.modal-content .modal-header .schedule-summary .stats-group .stat-item.scheduled[data-v-3b1d4414]{color:#42b983}.modal-content .modal-header .schedule-summary .stats-group .stat-item.unscheduled[data-v-3b1d4414]{color:#909090}.modal-content .modal-header .schedule-summary .stats-group .stat-divider[data-v-3b1d4414]{width:1px;height:clamp(12px,3vw,15px);background:#eee;margin:0 clamp(1px,.3vw,2px);flex-shrink:0}@media (max-width: 768px){.modal-content .modal-header .schedule-summary .stats-group .stat-divider[data-v-3b1d4414]{display:none}}.modal-content .modal-header .modal-close[data-v-3b1d4414]{background:none;border:none;font-size:20px;cursor:pointer;color:#999;padding:5px;line-height:1;transition:all .2s ease;font-style:normal}.modal-content .modal-header .modal-close[data-v-3b1d4414]:hover{color:#666}.modal-content .modal-body[data-v-3b1d4414]{display:flex;gap:clamp(12px,2.5vw,20px);padding:clamp(12px,2.5vw,20px);flex:1;min-height:0;overflow:hidden;box-sizing:border-box}@media (max-width: 768px){.modal-content .modal-body[data-v-3b1d4414]{flex-direction:column;gap:clamp(8px,2vw,16px);padding:clamp(8px,2vw,16px);overflow-y:auto;-webkit-overflow-scrolling:touch}}.modal-content .modal-body .staff-section[data-v-3b1d4414]{flex:0 0 auto;min-width:clamp(180px,22vw,260px);max-width:clamp(220px,28vw,300px);display:flex;flex-direction:column;border-right:1px solid #2f2f2f;padding-right:clamp(8px,2vw,16px);margin-right:clamp(6px,1.2vw,10px);overflow:hidden}@media (max-width: 768px){.modal-content .modal-body .staff-section[data-v-3b1d4414]{border-right:none;border-bottom:1px solid #2f2f2f;padding-right:0;padding-bottom:clamp(8px,2vw,12px);margin-right:0;margin-bottom:clamp(6px,1.2vw,10px);min-width:100%;max-width:100%}}.modal-content .modal-body .staff-section h4[data-v-3b1d4414]{margin:0 0 clamp(8px,2vw,12px) 0;padding-bottom:clamp(6px,1.2vw,10px);border-bottom:2px solid #FE2C55;color:#fff;flex-shrink:0;font-size:clamp(14px,3vw,16px);font-weight:500}.modal-content .modal-body .staff-section .staff-list[data-v-3b1d4414]{flex:1;overflow-y:auto;padding-right:clamp(4px,1vw,8px);margin-bottom:clamp(6px,1.2vw,10px);display:flex;flex-direction:column;gap:clamp(3px,.6vw,5px)}@media (max-width: 768px){.modal-content .modal-body .staff-section .staff-list[data-v-3b1d4414]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:clamp(4px,1vw,6px);max-height:180px;padding-right:0}}.modal-content .modal-body .staff-section .staff-list[data-v-3b1d4414]::-webkit-scrollbar{width:clamp(4px,.8vw,6px)}.modal-content .modal-body .staff-section .staff-list[data-v-3b1d4414]::-webkit-scrollbar-track{background:#1212121a;border-radius:clamp(2px,.4vw,3px)}.modal-content .modal-body .staff-section .staff-list[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#fe2c5599;border-radius:clamp(2px,.4vw,3px);transition:background .3s ease}.modal-content .modal-body .staff-section .staff-list[data-v-3b1d4414]::-webkit-scrollbar-thumb:hover{background:#fe2c55cc}.modal-content .modal-body .staff-section .staff-list .staff-item[data-v-3b1d4414]{padding:clamp(6px,1.2vw,10px);cursor:pointer;border-radius:clamp(4px,.8vw,6px);transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;gap:clamp(4px,1vw,6px);color:#fff;font-size:clamp(13px,2.5vw,14px);min-height:clamp(32px,6vw,40px);border:1px solid transparent;box-sizing:border-box}@media (max-width: 768px){.modal-content .modal-body .staff-section .staff-list .staff-item[data-v-3b1d4414]{min-height:clamp(36px,7vw,44px);padding:clamp(8px,1.8vw,12px);justify-content:center;text-align:center}}.modal-content .modal-body .staff-section .staff-list .staff-item[data-v-3b1d4414]:hover{background:#2d2d2d;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.modal-content .modal-body .staff-section .staff-list .staff-item.selected[data-v-3b1d4414]{background:#fe2c55;color:#fff;border-color:#f60131;transform:translateY(-1px);box-shadow:0 3px 12px #fe2c554d}.modal-content .modal-body .staff-section .staff-list .staff-item.pinned[data-v-3b1d4414]{background:#fe2c551a;border-left:3px solid #FE2C55}@media (max-width: 768px){.modal-content .modal-body .staff-section .staff-list .staff-item.pinned[data-v-3b1d4414]{border-left:none;border-top:3px solid #FE2C55}}.modal-content .modal-body .staff-section .staff-list .staff-item.selected.pinned[data-v-3b1d4414]{background:#fe2c55;border-left:3px solid #dc012c}@media (max-width: 768px){.modal-content .modal-body .staff-section .staff-list .staff-item.selected.pinned[data-v-3b1d4414]{border-left:none;border-top:3px solid #dc012c}}.modal-content .modal-body .staff-section .staff-list .staff-item .staff-name[data-v-3b1d4414]{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.modal-content .modal-body .staff-section .staff-list .staff-item .staff-name[data-v-3b1d4414]{white-space:normal;text-align:center}}.modal-content .modal-body .staff-section .staff-list .staff-item .scheduled-icon[data-v-3b1d4414],.modal-content .modal-body .staff-section .staff-list .staff-item .pin-icon[data-v-3b1d4414]{flex-shrink:0;font-size:clamp(12px,2.2vw,14px);opacity:.8}.modal-content .modal-body .shift-selection[data-v-3b1d4414]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:visible;position:relative}.modal-content .modal-body .shift-selection .selection-header[data-v-3b1d4414]{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #FE2C55;color:#fff;flex-shrink:0}.modal-content .modal-body .shift-selection .hint-message[data-v-3b1d4414]{color:#909090;font-size:.9em;margin:.5rem 0 .5rem .5rem}.modal-content .modal-body .shift-selection .shift-options[data-v-3b1d4414]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:clamp(8px,1.5vw,12px);margin-bottom:clamp(12px,2.5vw,16px);flex-shrink:0;padding-bottom:4px;padding:clamp(8px,1.5vw,12px);margin:clamp(-8px,-1.5vw,-12px) clamp(-8px,-1.5vw,-12px) clamp(4px,1vw,8px) clamp(-8px,-1.5vw,-12px);overflow:visible}@media (max-width: 768px){.modal-content .modal-body .shift-selection .shift-options[data-v-3b1d4414]{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:clamp(6px,1.2vw,10px);padding:clamp(6px,1.2vw,10px);margin:clamp(-6px,-1.2vw,-10px) clamp(-6px,-1.2vw,-10px) clamp(4px,1vw,6px) clamp(-6px,-1.2vw,-10px)}}@media (max-width: 480px){.modal-content .modal-body .shift-selection .shift-options[data-v-3b1d4414]{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:clamp(4px,1vw,8px);padding:clamp(4px,1vw,8px);margin:clamp(-4px,-1vw,-8px) clamp(-4px,-1vw,-8px) clamp(4px,1vw,6px) clamp(-4px,-1vw,-8px)}}.modal-content .modal-body .shift-selection .shift-options .shift-button-wrapper[data-v-3b1d4414]{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;overflow:visible}.modal-content .modal-body .shift-selection .shift-options .shift-button[data-v-3b1d4414]{padding:clamp(8px,1.5vw,12px) clamp(6px,1.2vw,10px);border:2px solid #2f2f2f;border-radius:6px;background:#1f1f1f;cursor:pointer;transition:all .3s ease;min-width:auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(4px,.8vw,6px);color:#fff;position:relative;overflow:hidden;box-sizing:border-box}.modal-content .modal-body .shift-selection .shift-options .shift-button[data-v-3b1d4414]:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:transparent;transition:all .3s ease}.modal-content .modal-body .shift-selection .shift-options .shift-button.morning-shift[data-v-3b1d4414]:before{background:#42b983}.modal-content .modal-body .shift-selection .shift-options .shift-button.afternoon-shift[data-v-3b1d4414]:before{background:#ff9800}.modal-content .modal-body .shift-selection .shift-options .shift-button.night-shift[data-v-3b1d4414]:before{background:#9c27b0}.modal-content .modal-body .shift-selection .shift-options .shift-button.rest-shift[data-v-3b1d4414]:before{background:#2f2f2f}.modal-content .modal-body .shift-selection .shift-options .shift-button[data-v-3b1d4414]:hover{background:#2d2d2d;transform:translateY(-3px);box-shadow:0 4px 12px #0003}.modal-content .modal-body .shift-selection .shift-options .shift-button.selected[data-v-3b1d4414]{background:#2d2d2d;border-color:currentColor;transform:translateY(-3px);box-shadow:0 4px 12px #0003}.modal-content .modal-body .shift-selection .shift-options .shift-button.selected.morning-shift[data-v-3b1d4414]{color:#42b983}.modal-content .modal-body .shift-selection .shift-options .shift-button.selected.afternoon-shift[data-v-3b1d4414]{color:#ff9800}.modal-content .modal-body .shift-selection .shift-options .shift-button.selected.night-shift[data-v-3b1d4414]{color:#9c27b0}.modal-content .modal-body .shift-selection .shift-options .shift-button.selected.rest-shift[data-v-3b1d4414]{color:#909090}.modal-content .modal-body .shift-selection .shift-options .shift-button .shift-name[data-v-3b1d4414]{font-size:clamp(12px,2.2vw,14px);font-weight:500;text-align:center;line-height:1.2;word-break:break-word}.modal-content .modal-body .shift-selection .shift-options .shift-button .shift-time[data-v-3b1d4414]{font-size:clamp(10px,2vw,12px);color:#fff;transition:color .3s ease;text-align:center;line-height:1.1;word-break:break-word}.modal-content .modal-body .shift-selection .shift-options .shift-button.selected .shift-time[data-v-3b1d4414]{color:currentColor}.modal-content .modal-body .shift-selection .shift-options .shift-delete-btn[data-v-3b1d4414]{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border:none;border-radius:50%;background:#e74c3c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .3s ease;z-index:100;opacity:0;transform:scale(.8);border:2px solid white;box-shadow:0 2px 8px #0003}.modal-content .modal-body .shift-selection .shift-options .shift-delete-btn[data-v-3b1d4414]:hover{background:#c0392b;transform:scale(1.1);opacity:1;box-shadow:0 4px 12px #0000004d}.modal-content .modal-body .shift-selection .shift-options .shift-delete-btn[data-v-3b1d4414]:active{transform:scale(.9)}.modal-content .modal-body .shift-selection .shift-options .shift-button-wrapper:hover .shift-delete-btn[data-v-3b1d4414]{opacity:1;transform:scale(1)}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]{margin-top:4px;display:grid;gap:clamp(6px,1.2vw,8px);overflow-y:auto;width:100%;max-height:clamp(160px,30vh,200px);padding-right:4px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(144,144,144,.4) rgba(18,18,18,.1)}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar{width:4px}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar-track{background:#1212121a;border-radius:2px}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#90909066;border-radius:2px;transition:all .3s ease}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar-thumb:hover{background:#90909099}@media (max-width: 768px){.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar{width:3px}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#90909080}}@media (max-width: 480px){.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar{width:2px}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]::-webkit-scrollbar-track{background:#1212120d}}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]:has(.schedule-item:only-child){grid-template-columns:1fr}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]:has(.schedule-item:first-child:nth-last-child(2)),.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]:has(.schedule-item:first-child:nth-last-child(2)~.schedule-item){grid-template-columns:repeat(2,1fr)}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]:has(.schedule-item:first-child:nth-last-child(3)),.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]:has(.schedule-item:first-child:nth-last-child(3)~.schedule-item){grid-template-columns:repeat(3,1fr)}.modal-content .modal-body .shift-selection .schedule-list[data-v-3b1d4414]:has(.schedule-item:first-child:nth-last-child(n+4)){grid-template-columns:repeat(3,1fr)}.modal-content .modal-body .shift-selection .schedule-list .schedule-item[data-v-3b1d4414]{padding:6px 10px;border-radius:6px;overflow:hidden;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;height:100%}.modal-content .modal-body .shift-selection .schedule-list .schedule-item.morning-shift[data-v-3b1d4414]{background:#42b983e6}.modal-content .modal-body .shift-selection .schedule-list .schedule-item.afternoon-shift[data-v-3b1d4414]{background:#ff9800e6}.modal-content .modal-body .shift-selection .schedule-list .schedule-item.night-shift[data-v-3b1d4414]{background:#9c27b0e6}.modal-content .modal-body .shift-selection .schedule-list .schedule-item.rest-shift[data-v-3b1d4414]{background:#2f2f2fe6;color:#909090}.modal-content .modal-body .shift-selection .schedule-list .schedule-item[data-v-3b1d4414]:hover{transform:translate(4px)}.modal-content .modal-body .shift-selection .schedule-list .schedule-item .schedule-info[data-v-3b1d4414]{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.modal-content .modal-body .shift-selection .schedule-list .schedule-item .schedule-info .staff-name[data-v-3b1d4414]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-content .modal-body .shift-selection .schedule-list .schedule-item .schedule-info .shift-name[data-v-3b1d4414]{opacity:.9;white-space:nowrap}.modal-content .modal-body .shift-selection .schedule-list .schedule-item .delete-btn-wrapper[data-v-3b1d4414]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.modal-content .modal-body .shift-selection .schedule-list .schedule-item .delete-btn-wrapper .delete-schedule[data-v-3b1d4414]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s ease;border-radius:4px;font-size:14px}.modal-content .modal-body .shift-selection .schedule-list .schedule-item .delete-btn-wrapper .delete-schedule[data-v-3b1d4414]:hover{background:#0000001a}.modal-content .modal-body .shift-selection .schedule-list .schedule-item:hover .delete-schedule[data-v-3b1d4414],.modal-content .modal-body .shift-selection .schedule-list .schedule-item:hover .delete-schedule[data-v-3b1d4414]:hover{opacity:1;background-color:red;color:#fff}.modal-content .modal-footer[data-v-3b1d4414]{padding:15px 20px;border-top:1px solid #2f2f2f;display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}.modal-content .modal-footer .btn[data-v-3b1d4414]{padding:.8rem 1.5rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;color:#fff}.modal-content .modal-footer .btn[data-v-3b1d4414]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.modal-content .modal-footer .btn-primary[data-v-3b1d4414]{background:#fe2c55}.modal-content .modal-footer .btn-primary[data-v-3b1d4414]:hover:not(:disabled){background:#ff4d6a;transform:translateY(-2px)}.modal-content .modal-footer .btn-secondary[data-v-3b1d4414]{background:#2f2f2f}.modal-content .modal-footer .btn-secondary[data-v-3b1d4414]:hover:not(:disabled){background:#222;transform:translateY(-2px)}.context-menu[data-v-3b1d4414]{position:fixed;background:#1f1f1f;border-radius:4px;padding:4px 0;min-width:160px;box-shadow:0 2px 12px #00000026;z-index:1000;font-size:14px;border:1px solid #2f2f2f;color:#fff}.context-menu.menu-flip[data-v-3b1d4414]{transform-origin:top right}.context-menu.flip-vertical[data-v-3b1d4414]{transform-origin:top center}.context-menu-item[data-v-3b1d4414]{padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;color:#fff;transition:all .2s;position:relative}.context-menu-item[data-v-3b1d4414]:hover{background:#2d2d2d;color:#fe2c55}.context-menu-item[data-v-3b1d4414]:has(i:contains("🔄")):hover{background:linear-gradient(135deg,#42b98333,#5c6bc033);color:#42b983}.context-menu-item:has(i:contains("🔄")):hover i[data-v-3b1d4414]{animation:refresh-spin-3b1d4414 1s ease-in-out;transform-origin:center}.context-menu-divider[data-v-3b1d4414]{height:1px;background:#2f2f2f;margin:4px 0}.context-menu.staff-context-menu[data-v-3b1d4414]{min-width:120px}.context-menu .quick-schedule-menu[data-v-3b1d4414]{position:absolute;left:100%;top:0;background:#1f1f1f;border-radius:4px;padding:4px;box-shadow:0 2px 12px #00000026;white-space:nowrap;z-index:1001;border:1px solid #2f2f2f;color:#fff}.context-menu .quick-schedule-menu.menu-flip[data-v-3b1d4414]{left:auto;right:100%}.context-menu .quick-schedule-menu.flip-vertical[data-v-3b1d4414]{top:auto;bottom:0}.context-menu .quick-schedule-menu.menu-flip.flip-vertical[data-v-3b1d4414]{bottom:0}.context-menu.has-submenu[data-v-3b1d4414]{position:relative}.context-menu .menu-item-content[data-v-3b1d4414]{display:flex;align-items:center;gap:8px;width:100%}.context-menu .submenu-arrow[data-v-3b1d4414]{margin-left:auto;font-size:10px}.menu-flip .context-menu .submenu-arrow[data-v-3b1d4414]{transform:rotate(180deg)}.flip-vertical .context-menu .submenu-arrow[data-v-3b1d4414]{transform:rotate(90deg)}.menu-flip.flip-vertical .context-menu .submenu-arrow[data-v-3b1d4414]{transform:rotate(-90deg)}.context-menu .quick-schedule-row[data-v-3b1d4414]{display:flex;align-items:center;padding:4px 6px;border-radius:2px;gap:12px}.context-menu .quick-schedule-row[data-v-3b1d4414]:hover{background:#2d2d2d}.context-menu .quick-schedule-row .staff-info[data-v-3b1d4414]{flex:0 0 auto;white-space:nowrap}.context-menu .quick-schedule-row .staff-name[data-v-3b1d4414]{font-weight:500;color:#fff}.context-menu .quick-schedule-row .shift-tags[data-v-3b1d4414]{display:flex;gap:4px;flex:none;white-space:nowrap}.context-menu .quick-schedule-row .shift-tag[data-v-3b1d4414]{padding:2px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s;background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-color)}.context-menu .quick-schedule-row .shift-tag[data-v-3b1d4414]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.context-menu .quick-schedule-row .shift-tag.morning-shift[data-v-3b1d4414]{background:#42b983;color:#fff;border-color:#42b983}.context-menu .quick-schedule-row .shift-tag.afternoon-shift[data-v-3b1d4414]{background:#ff9800;color:#fff;border-color:#ff9800}.context-menu .quick-schedule-row .shift-tag.night-shift[data-v-3b1d4414]{background:#9c27b0;color:#fff;border-color:#9c27b0}.context-menu .quick-schedule-row .shift-tag.rest-shift[data-v-3b1d4414]{background:#2f2f2f;color:#909090;border-color:#2f2f2f}.context-menu .quick-schedule-row .shift-tag.rest-shift[data-v-3b1d4414]:hover{background:#2d2d2d;color:#fff;border-color:#909090}.context-menu .quick-schedule-row .shift-tag.custom-color-shift[data-v-3b1d4414]{background:var(--shift-custom-color, #42b983);color:#fff;border-color:var(--shift-custom-color, #42b983)}.quick-schedule-content[data-v-3b1d4414]::-webkit-scrollbar{width:6px}.quick-schedule-content[data-v-3b1d4414]::-webkit-scrollbar-track{background:#f1f1f1}.quick-schedule-content[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.quick-schedule-content[data-v-3b1d4414]::-webkit-scrollbar-thumb:hover{background:#999}.btn[data-v-3b1d4414]{padding:.8rem 1.5rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:500;color:#fff;text-align:center}.btn[data-v-3b1d4414]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary[data-v-3b1d4414]{background:#fe2c55}.btn-primary[data-v-3b1d4414]:hover:not(:disabled){background:#ff4d6a;transform:translateY(-2px)}.btn-secondary[data-v-3b1d4414]{background:#2f2f2f}.btn-secondary[data-v-3b1d4414]:hover:not(:disabled){background:#222;transform:translateY(-2px)}.btn-morning-shift[data-v-3b1d4414]{background:#42b983!important;color:#fff;border:1px solid #42b983!important}@keyframes refresh-spin-3b1d4414{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.context-menu-item[data-v-3b1d4414]:nth-last-child(1){border-top:1px solid rgba(66,185,131,.3);margin-top:4px;padding-top:12px}.context-menu-item[data-v-3b1d4414]:nth-last-child(1):hover{background:linear-gradient(135deg,#42b98326,#5c6bc026);color:#42b983}.context-menu-item:nth-last-child(1):hover i[data-v-3b1d4414]{animation:refresh-spin-3b1d4414 1s ease-in-out;color:#42b983}.custom-time-section[data-v-3b1d4414]{padding:1.5rem;border:1px solid #2c3e50;border-radius:8px;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);box-shadow:0 4px 15px #0000004d;position:relative;overflow:visible;width:100%;box-sizing:border-box}.custom-time-section[data-v-3b1d4414]:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3498db,#9b59b6,#e74c3c)}.custom-time-header[data-v-3b1d4414]{margin-bottom:1rem}.custom-time-header h4[data-v-3b1d4414]{color:#ecf0f1;font-size:1.1rem;font-weight:600;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.5)}.custom-time-inputs[data-v-3b1d4414]{display:flex;flex-direction:column;gap:1rem;width:100%}.custom-title-input[data-v-3b1d4414]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.custom-title-input label[data-v-3b1d4414]{color:#bdc3c7;font-weight:500;min-width:60px;font-size:.95rem}.custom-title-input input[data-v-3b1d4414]{flex:1;min-width:200px;padding:.75rem 1rem;border:2px solid #34495e;border-radius:6px;background-color:#2c3e50;color:#ecf0f1;font-size:.95rem;transition:all .3s ease;box-shadow:inset 0 2px 4px #0003}.custom-title-input input[data-v-3b1d4414]:focus{outline:none;border-color:#3498db;background-color:#34495e;box-shadow:0 0 0 3px #3498db33,inset 0 2px 4px #0003}.custom-title-input input[data-v-3b1d4414]::placeholder{color:#7f8c8d}.time-selectors[data-v-3b1d4414]{display:flex;gap:1.5rem;flex-wrap:wrap;width:100%}.time-selector[data-v-3b1d4414]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:200px}.time-selector label[data-v-3b1d4414]{color:#bdc3c7;font-weight:500;font-size:.95rem;white-space:nowrap;min-width:70px}.time-selector select[data-v-3b1d4414]{flex:1;min-width:120px;padding:.75rem 2.5rem .75rem 1rem;border:2px solid #34495e;border-radius:6px;background-color:#2c3e50;color:#ecf0f1;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:inset 0 2px 4px #0003;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23bdc3c7' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5em}.time-selector select[data-v-3b1d4414]:focus{outline:none;border-color:#3498db;background-color:#34495e;box-shadow:0 0 0 3px #3498db33,inset 0 2px 4px #0003}.time-selector select[data-v-3b1d4414]:hover{border-color:#5dade2;background-color:#34495e}.time-error[data-v-3b1d4414]{color:#e74c3c;font-size:.9rem;background-color:#e74c3c1a;padding:.75rem 1rem;border-radius:6px;border-left:4px solid #e74c3c;margin-top:.5rem;font-weight:500}.add-custom-shift[data-v-3b1d4414]{background:linear-gradient(135deg,#2c3e50,#34495e)!important;border:2px solid #3498db!important;color:#3498db!important;transition:all .3s ease!important;position:relative;overflow:hidden}.add-custom-shift[data-v-3b1d4414]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(52,152,219,.2),transparent);transition:left .5s ease}.add-custom-shift[data-v-3b1d4414]:hover:before{left:100%}.add-custom-shift[data-v-3b1d4414]:hover{background:linear-gradient(135deg,#3498db,#2980b9)!important;color:#ecf0f1!important;transform:translateY(-2px);box-shadow:0 6px 20px #3498db4d!important}.custom-shift[data-v-3b1d4414]{background:linear-gradient(135deg,#3498db,#2980b9)!important;color:#ecf0f1!important;border:1px solid #2980b9!important;box-shadow:0 2px 8px #3498db4d!important}.container[data-v-3b1d4414]{padding:12px;width:100vw;height:100vh;margin:0;overflow:hidden;display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1a1a;border-radius:12px}@media (max-width: 768px){.container[data-v-3b1d4414]{height:100dvh;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}}[data-v-3b1d4414] body,[data-v-3b1d4414] html{margin:0;padding:0;width:100%;height:100%;overflow:hidden}.calendar-container[data-v-3b1d4414]{flex:1;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:12px}.calendar[data-v-3b1d4414]{flex:1;width:100%;height:100%;display:flex;flex-direction:column;background:#1a1a1a;border-radius:0;box-shadow:none;overflow:hidden}.calendar-header[data-v-3b1d4414]{flex-shrink:0;padding:clamp(.5rem,2vw,1.5rem);background:#111;border-bottom:2px solid #3498db;display:flex;align-items:center;justify-content:space-between;gap:clamp(.5rem,2vw,1rem);min-height:60px}@media (max-width: 768px){.calendar-header[data-v-3b1d4414]{position:sticky;top:0;z-index:5}}.month-display[data-v-3b1d4414]{font-size:clamp(1.2rem,4vw,2rem);font-weight:700;color:#ecf0f1;text-shadow:0 2px 4px rgba(0,0,0,.5);flex:1;text-align:center}.btn[data-v-3b1d4414]{padding:clamp(.5rem,2vw,1rem) clamp(1rem,3vw,2rem);font-size:clamp(.8rem,2.5vw,1rem);border-radius:8px;border:2px solid #3498db;background:linear-gradient(135deg,#3498db,#2980b9);color:#ecf0f1;cursor:pointer;transition:all .3s ease;white-space:nowrap;min-width:80px}.btn[data-v-3b1d4414]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #3498db66}.calendar-grid[data-v-3b1d4414]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.weekdays[data-v-3b1d4414]{flex-shrink:0;display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(135deg,#34495e,#2c3e50);border-bottom:1px solid #3498db}.weekday[data-v-3b1d4414]{padding:clamp(.5rem,2vw,1rem);text-align:center;font-weight:600;color:#ecf0f1;font-size:clamp(.8rem,2.5vw,1rem);border-right:1px solid #34495e;display:flex;align-items:center;justify-content:center}.weekday[data-v-3b1d4414]:last-child{border-right:none}.days[data-v-3b1d4414]{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:1px;background:#34495e;overflow:hidden;min-height:0}@media (max-width: 768px){.days[data-v-3b1d4414]{overflow-y:auto;-webkit-overflow-scrolling:touch}}.day-cell[data-v-3b1d4414]{background:#2c3e50;border:1px solid #34495e;padding:clamp(.25rem,1vw,.5rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;min-height:0;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.day-cell[data-v-3b1d4414]:hover{background:linear-gradient(135deg,#494949,#1b1b1b);transform:scale(1.02);z-index:10;box-shadow:0 8px 25px #ffffff1a;border-color:#5dade2}.day-cell[data-v-3b1d4414]:active{transform:scale(.98);transition:transform .1s ease}.day-cell.other-month[data-v-3b1d4414]{background:#1a1a1a;color:#7f8c8d}.day-cell.today[data-v-3b1d4414]{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#ecf0f1;font-weight:700}.day-number[data-v-3b1d4414]{font-size:clamp(.8rem,2.5vw,1.2rem);font-weight:600;color:#ecf0f1;margin-bottom:clamp(.25rem,1vw,.5rem);align-self:flex-end;line-height:1}.schedule-indicators[data-v-3b1d4414]{flex:1;width:100%;display:flex;flex-direction:column;gap:clamp(1px,.5vw,2px);overflow-y:auto;min-height:0}.schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar{width:4px}.schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar-track{background:transparent}.schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar-thumb{background:#3498db;border-radius:2px}.schedule-indicators[data-v-3b1d4414]::-webkit-scrollbar-thumb:hover{background:#5dade2}.schedule-tag[data-v-3b1d4414]{background:#3498db;color:#ecf0f1;padding:clamp(2px,.8vw,6px) clamp(3px,1.2vw,8px);border-radius:clamp(3px,1.2vw,6px);font-size:clamp(10px,2.5vw,16px);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #2980b9;transition:all .2s ease;font-weight:500;letter-spacing:.02em}.schedule-tag[data-v-3b1d4414]:hover{transform:scale(1.05);z-index:20}.schedule-badge[data-v-3b1d4414]{position:absolute;bottom:clamp(3px,1.2vw,6px);right:clamp(3px,1.2vw,6px);background:#e74c3c;color:#ecf0f1;border-radius:50%;width:clamp(16px,3.5vw,24px);height:clamp(16px,3.5vw,24px);display:flex;align-items:center;justify-content:center;font-size:clamp(10px,2.5vw,14px);font-weight:700;border:1px solid #c0392b;transition:all .2s ease}@media (max-width: 768px){.container[data-v-3b1d4414]{padding:12px;height:100vh}.calendar[data-v-3b1d4414]{height:100%;border-radius:0}.calendar-header[data-v-3b1d4414]{padding:.75rem;flex-wrap:wrap;gap:.5rem}.calendar-header .month-display[data-v-3b1d4414]{font-size:1.2rem;order:-1;width:100%;text-align:center;margin-bottom:.5rem}.calendar-header .btn[data-v-3b1d4414]{padding:.6rem 1rem;font-size:.9rem;flex:1;min-width:0}.calendar-grid[data-v-3b1d4414]{gap:clamp(2px,.5vw,4px);padding:clamp(4px,1vw,8px)}.calendar-grid .weekdays .weekday[data-v-3b1d4414]{padding:.3rem;font-size:.85rem}.calendar-grid .days[data-v-3b1d4414]{grid-template-rows:repeat(6,minmax(80px,1fr))}.calendar-grid .days .day-cell[data-v-3b1d4414]{padding:clamp(4px,1vw,8px);flex-direction:column;align-items:flex-start;min-height:clamp(60px,15vw,80px);border-radius:clamp(4px,1vw,6px)}.calendar-grid .days .day-cell .day-number[data-v-3b1d4414]{font-size:clamp(12px,3vw,16px);font-weight:600;align-self:flex-end;margin-bottom:clamp(2px,.5vw,4px)}.calendar-grid .days .day-cell .schedule-indicators[data-v-3b1d4414]{width:100%;margin-top:0;flex:1;overflow-y:auto;gap:clamp(1px,.25vw,2px)}.calendar-grid .days .day-cell .schedule-indicators .schedule-tag[data-v-3b1d4414]{font-size:clamp(10px,2.5vw,12px);padding:clamp(2px,.5vw,4px) clamp(4px,1vw,6px);margin:clamp(1px,.25vw,2px);border-radius:clamp(2px,.5vw,3px);line-height:1.2;font-weight:500;min-height:clamp(16px,4vw,20px);display:flex;align-items:center;justify-content:center}.calendar-grid .days .day-cell .schedule-badge[data-v-3b1d4414]{width:clamp(16px,4vw,20px);height:clamp(16px,4vw,20px);font-size:clamp(8px,2vw,10px);right:clamp(2px,.8vw,3px);bottom:clamp(2px,.8vw,3px);min-width:clamp(16px,4vw,20px);min-height:clamp(16px,4vw,20px);display:flex;align-items:center;justify-content:center;line-height:1}.calendar-grid .schedule-info .staff-name[data-v-3b1d4414]{font-size:clamp(.7rem,2vw,.85rem)}.calendar-grid .schedule-info .shift-name[data-v-3b1d4414]{font-size:clamp(.65rem,1.8vw,.8rem)}.calendar-grid .schedule-info .shift-time[data-v-3b1d4414]{font-size:clamp(.6rem,1.6vw,.75rem)}.modal-backdrop[data-v-3b1d4414]{padding:clamp(8px,2vw,16px);align-items:center;justify-content:center;min-height:100vh;box-sizing:border-box}.modal-backdrop.show[data-v-3b1d4414]{display:flex}.modal-content[data-v-3b1d4414]{width:clamp(280px,95vw,500px);max-width:95vw;max-height:90vh;margin:clamp(10px,2.5vh,20px) auto;padding:clamp(12px,3vw,20px);border-radius:clamp(8px,2vw,12px);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 clamp(8px,4vw,24px) clamp(20px,8vw,40px) #0000004d}.modal-header[data-v-3b1d4414]{padding:clamp(8px,2vw,12px) 0;margin-bottom:clamp(8px,2vw,12px);flex-direction:column;gap:clamp(.75rem,1.5vw,1.25rem);align-items:stretch}.modal-header h3[data-v-3b1d4414]{font-size:clamp(16px,4vw,20px);margin:0}.modal-header .header-left h3[data-v-3b1d4414]{font-size:clamp(1rem,2.5vw,1.3rem);text-align:center}.modal-header .schedule-summary .stats-group .stat-item .stat-number[data-v-3b1d4414]{font-size:clamp(.9rem,2.5vw,1rem)}.modal-header .schedule-summary .stats-group .stat-item .stat-label[data-v-3b1d4414]{font-size:clamp(.7rem,2vw,.8rem)}.modal-header .schedule-summary .stats-group .stat-item .stat-label.essential[data-v-3b1d4414]{display:block!important}.modal-header .modal-close[data-v-3b1d4414],.modal-header .close-btn[data-v-3b1d4414]{position:absolute;top:.5rem;right:.5rem;width:clamp(32px,8vw,40px);height:clamp(32px,8vw,40px);font-size:clamp(16px,4vw,20px);padding:clamp(4px,1vw,8px);margin:clamp(-4px,-1vw,-8px)}.modal-body[data-v-3b1d4414]{gap:clamp(1rem,2.5vw,2rem)}.modal-body .form-group[data-v-3b1d4414]{margin-bottom:clamp(12px,3vw,16px)}.modal-body .form-group label[data-v-3b1d4414]{font-size:clamp(14px,3.5vw,16px);margin-bottom:clamp(4px,1vw,6px);display:block}.modal-body .form-group input[data-v-3b1d4414],.modal-body .form-group select[data-v-3b1d4414],.modal-body .form-group textarea[data-v-3b1d4414]{font-size:clamp(14px,3.5vw,16px);padding:clamp(8px,2vw,12px);border-radius:clamp(4px,1vw,6px);width:100%;box-sizing:border-box;min-height:clamp(40px,10vw,48px)}.modal-body .staff-section .staff-list[data-v-3b1d4414]{gap:.5rem}.modal-body .staff-section .staff-list .staff-item[data-v-3b1d4414]{padding:.75rem;font-size:.9rem}.modal-body .shift-selection .shift-options[data-v-3b1d4414]{grid-template-columns:repeat(4,1fr);gap:.75rem}.modal-body .shift-selection .shift-options .shift-button[data-v-3b1d4414]{padding:.75rem 1rem;font-size:.85rem}.modal-body .shift-selection .shift-options .shift-button .shift-name[data-v-3b1d4414]{font-size:.95rem}.modal-body .shift-selection .shift-options .shift-button .shift-time[data-v-3b1d4414]{font-size:.8rem}.modal-body .shift-selection .schedule-list .schedule-item[data-v-3b1d4414]{padding:.75rem;font-size:.9rem}.modal-body .shift-selection .schedule-list .schedule-item .schedule-info[data-v-3b1d4414]{display:flex;flex-direction:column;gap:.25rem;flex:1}.modal-body .shift-selection .schedule-list .schedule-item .schedule-info .staff-name[data-v-3b1d4414]{font-weight:600;color:#2c3e50;font-size:clamp(.8rem,2.2vw,1rem)}.modal-body .shift-selection .schedule-list .schedule-item .schedule-info .shift-name[data-v-3b1d4414]{font-weight:500;color:#34495e;font-size:clamp(.75rem,2vw,.9rem)}.modal-body .shift-selection .schedule-list .schedule-item .schedule-info .shift-time[data-v-3b1d4414]{font-weight:400;color:#7f8c8d;font-size:clamp(.65rem,1.8vw,.8rem);font-family:Courier New,monospace}.modal-footer[data-v-3b1d4414]{padding:clamp(12px,3vw,16px) 0 0;margin-top:clamp(16px,4vw,20px);gap:.5rem}.modal-footer .btn[data-v-3b1d4414]{font-size:clamp(14px,3.5vw,16px);padding:clamp(10px,2.5vw,14px) clamp(16px,4vw,20px);margin:clamp(4px,1vw,6px);border-radius:clamp(4px,1vw,6px);min-height:clamp(40px,10vw,48px);min-width:clamp(80px,20vw,100px)}.context-menu[data-v-3b1d4414]{min-width:180px;font-size:.9rem}.context-menu .context-menu-item[data-v-3b1d4414]{padding:.75rem 1rem}.quick-schedule-menu[data-v-3b1d4414]{min-width:200px;max-width:280px}.quick-schedule-menu .quick-schedule-row[data-v-3b1d4414]{padding:.5rem;gap:8px}.quick-schedule-menu .quick-schedule-row .staff-name[data-v-3b1d4414]{font-size:.85rem}.quick-schedule-menu .quick-schedule-row .shift-tag[data-v-3b1d4414]{padding:2px 6px;font-size:10px}.time-selectors[data-v-3b1d4414]{flex-direction:column;gap:1rem}.time-selector[data-v-3b1d4414]{min-width:auto}.custom-time-section[data-v-3b1d4414]{padding:1rem}.loading-container[data-v-3b1d4414],.error-container[data-v-3b1d4414],.no-data-container[data-v-3b1d4414]{padding:2rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2c3e50)}.loading-container .loading-spinner[data-v-3b1d4414],.error-container .loading-spinner[data-v-3b1d4414],.no-data-container .loading-spinner[data-v-3b1d4414],.loading-container .error-message[data-v-3b1d4414],.error-container .error-message[data-v-3b1d4414],.no-data-container .error-message[data-v-3b1d4414],.loading-container .no-data-message[data-v-3b1d4414],.error-container .no-data-message[data-v-3b1d4414],.no-data-container .no-data-message[data-v-3b1d4414]{font-size:clamp(1rem,3vw,1.5rem);color:#ecf0f1;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.loading-container .retry-button[data-v-3b1d4414],.error-container .retry-button[data-v-3b1d4414],.no-data-container .retry-button[data-v-3b1d4414]{padding:clamp(.75rem,2vw,1.5rem) clamp(1.5rem,4vw,3rem);font-size:clamp(.9rem,2.5vw,1.2rem);background:linear-gradient(135deg,#3498db,#2980b9);color:#ecf0f1;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3498db4d}.loading-container .retry-button[data-v-3b1d4414]:hover,.error-container .retry-button[data-v-3b1d4414]:hover,.no-data-container .retry-button[data-v-3b1d4414]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3498db66}.loading-spinner[data-v-3b1d4414]{display:inline-block;width:40px;height:40px;border:4px solid #34495e;border-radius:50%;border-top-color:#3498db;animation:spin-3b1d4414 1s ease-in-out infinite}@keyframes spin-3b1d4414{to{transform:rotate(360deg)}}}@media (max-width: 480px){.calendar-header[data-v-3b1d4414]{padding:.5rem;min-height:50px}.calendar-header .month-display[data-v-3b1d4414]{font-size:1rem}.calendar-header .btn[data-v-3b1d4414]{padding:.4rem .8rem;font-size:.8rem;min-width:60px}.calendar-grid[data-v-3b1d4414]{gap:1px}.weekdays .weekday[data-v-3b1d4414]{padding:.3rem;font-size:.75rem}.day-cell[data-v-3b1d4414]{padding:clamp(2px,.5vw,6px);min-height:clamp(50px,12vw,70px)}.day-cell .day-number[data-v-3b1d4414]{font-size:clamp(10px,2.5vw,14px);margin-bottom:.15rem}.day-cell .schedule-tag[data-v-3b1d4414]{font-size:clamp(9px,2vw,11px);padding:clamp(1px,.25vw,3px) clamp(3px,.75vw,5px);border-radius:clamp(1px,.8vw,3px);font-weight:500}.day-cell .schedule-badge[data-v-3b1d4414]{width:12px;height:12px;font-size:7px}.modal-content[data-v-3b1d4414]{width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;border-radius:0;display:flex;flex-direction:column}.modal-body[data-v-3b1d4414]{flex:1;overflow-y:auto;padding:clamp(8px,2vw,12px)}.modal-footer[data-v-3b1d4414]{flex-shrink:0;padding:clamp(12px,3vw,16px);display:flex;gap:clamp(8px,2vw,12px)}.modal-footer .btn[data-v-3b1d4414]{flex:1;margin:0}.custom-time-section[data-v-3b1d4414]{padding:1rem;margin-top:.75rem}.custom-time-header h4[data-v-3b1d4414]{font-size:1rem}.custom-time-inputs[data-v-3b1d4414]{gap:.75rem}.custom-title-input[data-v-3b1d4414]{flex-direction:column;align-items:flex-start;gap:.5rem}.custom-title-input label[data-v-3b1d4414]{min-width:auto;font-size:.9rem}.custom-title-input input[data-v-3b1d4414]{min-width:100%;width:100%;padding:.6rem .8rem;font-size:.9rem}.time-selectors[data-v-3b1d4414]{flex-direction:column;gap:.75rem}.time-selector[data-v-3b1d4414]{min-width:auto;width:100%;flex-direction:column;align-items:flex-start;gap:.4rem}.time-selector label[data-v-3b1d4414]{min-width:auto;font-size:.85rem}.time-selector select[data-v-3b1d4414]{min-width:100%;width:100%;padding:.6rem 2rem .6rem .8rem;font-size:.85rem;background-size:1.2em}.time-error[data-v-3b1d4414]{font-size:.8rem;padding:.6rem .8rem;margin-top:.4rem}.add-custom-shift[data-v-3b1d4414]{width:100%;padding:.6rem 1rem;font-size:.9rem;margin-top:.75rem}.shift-options[data-v-3b1d4414]{grid-template-columns:1fr!important}}@media (max-width: 768px) and (orientation: landscape){.calendar-header[data-v-3b1d4414]{min-height:45px;padding:.4rem 1rem}.calendar-header .month-display[data-v-3b1d4414]{font-size:1.1rem}.calendar-header .btn[data-v-3b1d4414]{padding:.3rem .8rem;font-size:.85rem}.weekdays .weekday[data-v-3b1d4414]{padding:.25rem;font-size:.8rem}.day-cell[data-v-3b1d4414]{padding:.2rem}.day-cell .day-number[data-v-3b1d4414]{font-size:.8rem;margin-bottom:.2rem}.day-cell .schedule-tag[data-v-3b1d4414]{font-size:clamp(7px,2vw,10px);padding:clamp(1px,.6vw,3px) clamp(2px,1vw,4px);border-radius:clamp(2px,1vw,4px);font-weight:500}.modal-content[data-v-3b1d4414]{max-height:85vh}.schedule-info .staff-name[data-v-3b1d4414]{font-size:clamp(.65rem,1.8vw,.8rem)}.schedule-info .shift-name[data-v-3b1d4414]{font-size:clamp(.6rem,1.6vw,.75rem)}.schedule-info .shift-time[data-v-3b1d4414]{font-size:clamp(.55rem,1.4vw,.7rem)}}@media (min-width: 1200px){.calendar-header[data-v-3b1d4414]{padding:2rem;min-height:80px}.calendar-header .month-display[data-v-3b1d4414]{font-size:2.5rem}.calendar-header .btn[data-v-3b1d4414]{padding:1.2rem 2.5rem;font-size:1.2rem;min-width:120px}.weekdays .weekday[data-v-3b1d4414]{padding:1.5rem;font-size:1.3rem}.day-cell[data-v-3b1d4414]{padding:.8rem}.day-cell .day-number[data-v-3b1d4414]{font-size:1.5rem;margin-bottom:.8rem}.day-cell .schedule-tag[data-v-3b1d4414]{font-size:clamp(12px,3vw,18px);padding:clamp(4px,1.2vw,8px) clamp(6px,1.5vw,12px);border-radius:clamp(4px,1.2vw,8px);font-weight:500;letter-spacing:.03em}.day-cell .schedule-badge[data-v-3b1d4414]{width:24px;height:24px;font-size:14px}.day-cell .schedule-info .staff-name[data-v-3b1d4414]{font-size:clamp(.9rem,2.5vw,1.2rem)}.day-cell .schedule-info .shift-name[data-v-3b1d4414]{font-size:clamp(.85rem,2.3vw,1.1rem)}.day-cell .schedule-info .shift-time[data-v-3b1d4414]{font-size:clamp(.75rem,2vw,1rem)}}@media (min-width: 1920px){.calendar-header[data-v-3b1d4414]{padding:2.5rem;min-height:100px}.calendar-header .month-display[data-v-3b1d4414]{font-size:3rem}.calendar-header .btn[data-v-3b1d4414]{padding:1.5rem 3rem;font-size:1.5rem;min-width:150px}.weekdays .weekday[data-v-3b1d4414]{padding:2rem;font-size:1.6rem}.day-cell[data-v-3b1d4414]{padding:1rem}.day-cell .day-number[data-v-3b1d4414]{font-size:2rem;margin-bottom:1rem}.day-cell .schedule-tag[data-v-3b1d4414]{font-size:clamp(14px,3.5vw,22px);padding:clamp(6px,1.5vw,12px) clamp(8px,2vw,16px);border-radius:clamp(6px,1.5vw,12px);font-weight:500;letter-spacing:.04em}.day-cell .schedule-badge[data-v-3b1d4414]{width:28px;height:28px;font-size:16px}.day-cell .schedule-info .staff-name[data-v-3b1d4414]{font-size:clamp(1rem,3vw,1.4rem)}.day-cell .schedule-info .shift-name[data-v-3b1d4414]{font-size:clamp(.95rem,2.8vw,1.3rem)}.day-cell .schedule-info .shift-time[data-v-3b1d4414]{font-size:clamp(.85rem,2.5vw,1.2rem)}}@media (max-height: 600px){.calendar-header[data-v-3b1d4414]{min-height:40px;padding:.3rem .8rem}.calendar-header .month-display[data-v-3b1d4414]{font-size:1rem}.calendar-header .btn[data-v-3b1d4414]{padding:.25rem .6rem;font-size:.8rem;min-width:50px}.weekdays .weekday[data-v-3b1d4414]{padding:.2rem;font-size:.75rem}.day-cell[data-v-3b1d4414]{padding:.15rem}.day-cell .day-number[data-v-3b1d4414]{font-size:.7rem;margin-bottom:.1rem}.day-cell .schedule-tag[data-v-3b1d4414]{font-size:clamp(5px,1.5vw,7px);padding:1px 2px}.day-cell .schedule-info .staff-name[data-v-3b1d4414]{font-size:clamp(.55rem,1.4vw,.7rem)}.day-cell .schedule-info .shift-name[data-v-3b1d4414]{font-size:clamp(.5rem,1.2vw,.65rem)}.day-cell .schedule-info .shift-time[data-v-3b1d4414]{font-size:clamp(.45rem,1vw,.6rem)}}@media (max-height: 500px) and (orientation: landscape){.custom-time-header h4[data-v-3b1d4414]{font-size:.9rem}.custom-time-inputs[data-v-3b1d4414]{gap:.5rem}.custom-title-input[data-v-3b1d4414]{gap:.4rem}.custom-title-input label[data-v-3b1d4414]{font-size:.8rem}.custom-title-input input[data-v-3b1d4414]{font-size:.8rem;padding:.5rem .6rem}.time-selectors[data-v-3b1d4414]{gap:.5rem}.time-selector[data-v-3b1d4414]{gap:.3rem}.time-selector label[data-v-3b1d4414]{font-size:.75rem}.time-selector select[data-v-3b1d4414]{font-size:.75rem;padding:.5rem .6rem}.time-error[data-v-3b1d4414]{font-size:.7rem;padding:.5rem .6rem;margin-top:.3rem}.add-custom-shift[data-v-3b1d4414]{font-size:.8rem;padding:.5rem .7rem;margin-top:.5rem}.calendar-header[data-v-3b1d4414]{min-height:35px;padding:.2rem .6rem}.calendar-header .month-display[data-v-3b1d4414]{font-size:.9rem}.calendar-header .btn[data-v-3b1d4414]{padding:.2rem .5rem;font-size:.75rem;min-width:45px}.weekdays .weekday[data-v-3b1d4414]{padding:.15rem;font-size:.7rem}.day-cell[data-v-3b1d4414]{padding:.1rem}.day-cell .day-number[data-v-3b1d4414]{font-size:.65rem;margin-bottom:.05rem}.day-cell .schedule-tag[data-v-3b1d4414]{font-size:5px;padding:0 1px}}@media (min-width: 769px) and (max-width: 1024px){.custom-time-section[data-v-3b1d4414]{padding:1.25rem;margin-top:1rem}.custom-title-input input[data-v-3b1d4414]{min-width:180px}.time-selector[data-v-3b1d4414]{min-width:160px}}@media (min-width: 1025px){.custom-time-section[data-v-3b1d4414]{padding:1.5rem}.custom-title-input input[data-v-3b1d4414]{min-width:300px}.time-selector[data-v-3b1d4414]{min-width:250px}}@media (hover: none) and (pointer: coarse){.day-cell[data-v-3b1d4414]:hover{transform:none;box-shadow:none}.day-cell[data-v-3b1d4414]:active{background:linear-gradient(135deg,#3498db,#2980b9);transform:scale(.98)}.btn[data-v-3b1d4414]:hover{transform:none;box-shadow:none}.btn[data-v-3b1d4414]:active{transform:scale(.95)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.day-cell[data-v-3b1d4414]{border-width:.5px}.weekdays .weekday[data-v-3b1d4414]{border-right-width:.5px}}@media print{.container[data-v-3b1d4414]{position:static;width:100%;height:auto;overflow:visible}.calendar[data-v-3b1d4414]{box-shadow:none;border:1px solid #000}.day-cell[data-v-3b1d4414]{break-inside:avoid;page-break-inside:avoid}}html,body,#app{height:100%;margin:0;padding:0;overflow:hidden}#app{display:flex;flex-direction:column;width:100%;min-height:100vh;background:#121212;color:#fff}
