:root{--primary-color:#10b981;--primary-hover:#059669;--secondary-color:#34d399;--bg-color:#f8f9fa;--text-color:#1e293b;--text-muted:#64748b;--card-bg:#fff;--border-color:#e2e8f0;--error-color:#ef4444;--success-color:#10b981;--header-bg:#0f172a;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-color);margin-bottom:1rem}button{cursor:pointer;font-family:var(--font-family)}.card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000000d}.btn{border:none;border-radius:8px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #4361ee4d}.btn-primary:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.settings-viewport{width:100%;position:relative;overflow:hidden}.slider-track{width:200%;transition:transform .3s ease-in-out;display:flex}.slide-panel{box-sizing:border-box;flex-shrink:0;width:50%;padding:.5rem}.slider-track.show-stats{transform:translate(-50%)}.modal-header-actions{align-items:center;gap:.5rem;display:flex}.chart-container{flex-shrink:0;width:100%;margin:0 auto;padding:1rem 0;position:relative}@media (width<=768px){.card{padding:1rem}}.app-container[data-v-beb102ba]{flex-direction:column;min-height:100vh;display:flex}.top-nav[data-v-beb102ba]{z-index:1000;background-color:var(--header-bg);border-bottom:1px solid var(--border-color);color:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.brand[data-v-beb102ba]{font-size:1.5rem;font-weight:700}.nav-links[data-v-beb102ba]{gap:1rem;display:flex}.nav-links a[data-v-beb102ba]{color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.nav-text[data-v-beb102ba]{margin-left:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.badge-counter[data-v-beb102ba]{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:1.2rem;margin-left:.5rem;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.nav-links a[data-v-beb102ba]:hover{color:var(--text-color);background-color:#ffffff0d}.nav-links a.router-link-active[data-v-beb102ba]{color:var(--primary-color);background:#10b98126;font-weight:600}.user-menu[data-v-beb102ba]{border-left:1px solid #ffffff1a;align-items:center;margin-left:1rem;padding-left:1rem;display:flex}.user-greeting[data-v-beb102ba]{color:var(--text-muted);font-size:.9rem}.btn-icon-logout[data-v-beb102ba]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:.5rem;padding:.5rem;transition:all .2s;display:flex}.btn-icon-logout[data-v-beb102ba]:hover{color:var(--primary-color);background:#10b9811a}.debug-container[data-v-beb102ba]{z-index:9999;position:fixed;bottom:20px;right:20px}.btn-bug[data-v-beb102ba]{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;box-shadow:0 4px 12px #10b98166}.btn-bug[data-v-beb102ba]:hover{background:var(--primary-hover);transform:scale(1.05)}.debug-popup[data-v-beb102ba]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;min-width:150px;padding:1rem;position:absolute;bottom:60px;right:0;box-shadow:0 8px 24px #0003}.debug-header[data-v-beb102ba]{text-transform:uppercase;color:#1e293b;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.btn-warning[data-v-beb102ba]{background-color:var(--warning-color,#f59e0b);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-bottom:.5rem;padding:.5rem 1rem;font-weight:500}.btn-warning[data-v-beb102ba]:hover{background-color:#d97706}.btn-danger[data-v-beb102ba]{background-color:var(--error-color);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:.5rem 1rem;font-weight:500}.btn-danger[data-v-beb102ba]:hover{background-color:#dc2626}.btn-info[data-v-beb102ba]{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;width:100%;padding:.5rem 1rem;font-weight:500}.btn-info[data-v-beb102ba]:hover{background-color:#2563eb}.btn-close[data-v-beb102ba]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;outline:none;padding:0;font-size:1.5rem;line-height:1}.btn-close[data-v-beb102ba]:hover{color:var(--text-color)}.main-content[data-v-beb102ba]{background-color:var(--bg-color);flex:1;padding:2rem}@media (width<=768px){.main-content[data-v-beb102ba]{padding:1rem}.main-content.auth-page[data-v-beb102ba]{padding:.25rem .5rem 1rem}.hidden-mobile[data-v-beb102ba]{display:none!important}.nav-text[data-v-beb102ba],.brand[data-v-beb102ba]{display:none}.top-nav[data-v-beb102ba]{padding:.75rem .5rem}.nav-links[data-v-beb102ba]{justify-content:space-around;gap:0;width:100%}.nav-links a[data-v-beb102ba]{padding:.6rem 1rem}.nav-links a:not(.router-link-exact-active) .nav-text[data-v-beb102ba]{opacity:0;max-width:0;margin-left:0;padding:0}.nav-links a.router-link-exact-active .nav-text[data-v-beb102ba]{opacity:1;max-width:120px;margin-left:.5rem}.user-greeting[data-v-beb102ba]{display:none}.nav-links a svg[data-v-beb102ba],.btn-icon-logout svg[data-v-beb102ba]{width:22px;height:22px}}.settings-overlay[data-v-beb102ba]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal[data-v-beb102ba]{background:var(--bg-color);border-radius:12px;flex-direction:column;width:90%;max-width:420px;padding:0;display:flex;overflow:hidden}.settings-header[data-v-beb102ba]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.settings-header h3[data-v-beb102ba]{margin:0;font-size:1.1rem}.settings-body[data-v-beb102ba]{max-height:60vh;padding:1.25rem;overflow-y:auto}.section-title[data-v-beb102ba]{color:var(--primary-color);margin-top:0;margin-bottom:.75rem;font-size:1rem;font-weight:600}.setting-item[data-v-beb102ba]{margin-bottom:1.25rem}.checkbox-label[data-v-beb102ba]{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.checkbox-label input[type=checkbox][data-v-beb102ba]{width:1.1rem;height:1.1rem;accent-color:var(--primary-color)}.slider-container[data-v-beb102ba]{border:1px solid var(--border-color);background:#00000005;border-radius:8px;padding:.85rem 1rem;transition:opacity .3s}.slider-container.disabled[data-v-beb102ba]{opacity:.5;pointer-events:none}.slider-header[data-v-beb102ba]{margin-bottom:.75rem;font-size:.85rem}.range-slider[data-v-beb102ba]{width:100%;accent-color:var(--primary-color);margin-bottom:.25rem}.slider-labels[data-v-beb102ba]{color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex}.settings-desc[data-v-beb102ba]{color:var(--text-muted);margin-top:-.5rem;margin-bottom:1rem;font-size:.85rem}.input-item[data-v-beb102ba]{flex-direction:column;gap:.25rem;display:flex}.input-item label[data-v-beb102ba]{color:var(--text-color);font-size:.85rem;font-weight:500}.input-field[data-v-beb102ba]{border:1px solid var(--border-color);font-size:.9rem;font-family:var(--font-family);background:#fff;border-radius:6px;padding:.5rem;transition:border-color .2s}.input-field[data-v-beb102ba]:focus{border-color:var(--primary-color);outline:none}.group-input-row[data-v-beb102ba]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.group-input-row .input-field[data-v-beb102ba]{flex:1}.btn-icon[data-v-beb102ba]{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;font-size:1.2rem;display:flex}.btn-remove[data-v-beb102ba]:hover{background:#ef44441a}.btn-add-group[data-v-beb102ba]{border:1px dashed var(--primary-color);color:var(--primary-color);background:0 0;width:fit-content;margin-top:.5rem;padding:.4rem .75rem;font-size:.8rem}.btn-add-group[data-v-beb102ba]:hover{background:#10b9810d}.badge-container[data-v-beb102ba]{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.shift-badge[data-v-beb102ba]{background-color:var(--primary-color);color:#fff;border-radius:9999px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-size:.85rem;font-weight:500;display:inline-flex}.badge-remove[data-v-beb102ba]{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:flex}.badge-remove[data-v-beb102ba]:hover{opacity:1}.settings-footer[data-v-beb102ba]{border-top:1px solid var(--border-color);justify-content:flex-end;padding:1rem 1.25rem;display:flex}.settings-footer .btn[data-v-beb102ba]{padding:.4rem 1rem;font-size:.9rem}.settings-message[data-v-beb102ba]{color:var(--success-color);text-align:center;margin-top:1rem;font-size:.9rem}.upload-view[data-v-edf51e4b]{max-width:1000px;margin:0 auto}.upload-layout[data-v-edf51e4b]{flex-direction:column;gap:1.5rem;display:flex}@media (width>=768px){.upload-layout[data-v-edf51e4b]{flex-direction:row;align-items:stretch}.upload-col[data-v-edf51e4b]{flex-direction:column;flex:7;min-width:0;display:flex}.info-col[data-v-edf51e4b]{flex-direction:column;flex:5;min-width:0;display:flex}}.card-heading[data-v-edf51e4b]{color:var(--text-color);text-align:center;margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}.info-card[data-v-edf51e4b]{text-align:left;flex-direction:column;height:100%;min-height:400px;padding:2rem;font-size:.85rem;display:flex;position:relative}.btn-info-icon[data-v-edf51e4b]{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.btn-info-icon[data-v-edf51e4b]:hover{background:#4361ee1a}.info-list[data-v-edf51e4b]{color:var(--text-muted);margin:0 0 1.5rem;padding-left:1.5rem;line-height:1.4}.with-side-line[data-v-edf51e4b]{border-left:2px solid var(--success-color);margin-left:.5rem;padding-left:2rem}.info-list li[data-v-edf51e4b]{margin-bottom:.75rem}.info-list li[data-v-edf51e4b]:last-child{margin-bottom:0}.privacy-list li[data-v-edf51e4b]{margin-bottom:.75rem}.info-text[data-v-edf51e4b]{color:var(--text-muted);margin-top:0;margin-bottom:1rem;font-size:.9rem;line-height:1.4}.modal-overlay[data-v-edf51e4b]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-edf51e4b]{background:var(--card-bg);border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:90vh;display:flex;overflow-y:auto}.modal-header[data-v-edf51e4b]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3[data-v-edf51e4b]{color:var(--text-color);margin:0;font-size:1.1rem}.btn-close[data-v-edf51e4b]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.btn-close[data-v-edf51e4b]:hover{color:var(--text-color)}.modal-body[data-v-edf51e4b]{padding:1.5rem}.upload-card[data-v-edf51e4b]{text-align:center;flex-direction:column;justify-content:center;height:100%;min-height:400px;padding:2rem;display:flex}.description[data-v-edf51e4b]{color:var(--text-muted);margin-bottom:2rem}.dropzone[data-v-edf51e4b]{border:2px dashed var(--primary-color);cursor:pointer;background-color:#4361ee08;border-radius:12px;padding:3rem 1rem;transition:all .2s}.dropzone[data-v-edf51e4b]:hover,.dropzone.is-dragging[data-v-edf51e4b]{background-color:#4361ee1a;transform:scale(1.02)}.hidden-input[data-v-edf51e4b]{display:none}.icon[data-v-edf51e4b]{margin-bottom:1rem;font-size:3rem}.text[data-v-edf51e4b]{color:var(--primary-color);margin-top:1rem;font-weight:500}.upload-state[data-v-edf51e4b]{flex-direction:column;justify-content:center;align-items:center;padding:3rem 0;display:flex}.loader-spinner[data-v-edf51e4b]{border:4px solid #0000001a;border-left-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin-bottom:1.5rem;animation:1s linear infinite spin-edf51e4b}@keyframes spin-edf51e4b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-container[data-v-edf51e4b]{background-color:#0000000d;border-radius:4px;width:100%;max-width:300px;height:8px;margin-bottom:1rem;overflow:hidden}.progress-bar[data-v-edf51e4b]{background-color:var(--primary-color);height:100%;transition:width .3s}.success-state[data-v-edf51e4b]{flex-direction:column;align-items:center;padding:2rem 0;display:flex}.success-icon[data-v-edf51e4b]{color:var(--success-color);margin-bottom:1.5rem}.success-icon svg[data-v-edf51e4b]{width:64px;height:64px}.success-icon .circle[data-v-edf51e4b]{stroke-dasharray:100;stroke-dashoffset:100px;animation:.6s ease-out forwards drawCircle-edf51e4b}.success-icon .check[data-v-edf51e4b]{stroke-dasharray:50;stroke-dashoffset:50px;animation:.4s ease-out .4s forwards drawCheck-edf51e4b}@keyframes drawCircle-edf51e4b{to{stroke-dashoffset:0}}@keyframes drawCheck-edf51e4b{to{stroke-dashoffset:0}}.fade-enter-from[data-v-edf51e4b],.fade-leave-to[data-v-edf51e4b]{opacity:0;transform:translateY(10px)}.success-state .text[data-v-edf51e4b]{color:var(--success-color);opacity:0;font-size:1.2rem;font-weight:600;animation:.4s .8s forwards slideUp-edf51e4b}@keyframes slideUp-edf51e4b{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.notifications-container[data-v-edf51e4b]{flex-direction:column;align-items:center;width:100%;display:flex}.notifications[data-v-edf51e4b]{text-align:left;width:100%;max-width:350px;margin-top:1rem}.alert[data-v-edf51e4b]{border-left:4px solid #0000;border-radius:8px;margin-bottom:.75rem;padding:1rem;font-size:.9rem}.notifications .alert strong[data-v-edf51e4b]{margin-bottom:.25rem;font-size:.95rem;display:block}.alert p[data-v-edf51e4b]{color:var(--text-muted);margin:0}.alert-info[data-v-edf51e4b]{background-color:#3b82f60d;border-left-color:#3b82f6}.alert-info strong[data-v-edf51e4b]{color:#2563eb}.alert-warning[data-v-edf51e4b]{background-color:#f59e0b0d;border-left-color:#f59e0b}.alert-warning strong[data-v-edf51e4b]{color:#b45309}.action-buttons[data-v-edf51e4b]{gap:1rem;margin-top:1.5rem;display:flex}.fade-enter-active[data-v-edf51e4b],.fade-leave-active[data-v-edf51e4b]{transition:opacity .4s,transform .4s}.fade-enter-from[data-v-edf51e4b]{opacity:0;transform:translateY(10px)}.fade-leave-to[data-v-edf51e4b]{opacity:0;transform:translateY(-10px)}.btn-outline[data-v-edf51e4b]{border:1px solid var(--border-color);color:var(--text-color);background:0 0}.btn-outline[data-v-edf51e4b]:hover{border-color:var(--primary-color);color:var(--primary-color)}.status-message[data-v-edf51e4b]{background-color:var(--bg-color);border-radius:8px;margin-top:2rem;padding:1rem;font-weight:500}.status-message.error[data-v-edf51e4b]{color:var(--error-color);background-color:#ef233c1a}.roster-view[data-v-ff50621a]{max-width:1000px;margin:0 auto}.header[data-v-ff50621a]{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex;position:relative}.legend[data-v-ff50621a]{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.title-area[data-v-ff50621a]{align-items:center;gap:1rem;display:flex}.title-area h2[data-v-ff50621a]{margin:0;line-height:1}.view-toggles[data-v-ff50621a]{background:#0000000d;border-radius:8px;padding:2px;display:flex}.view-toggles .btn-icon[data-v-ff50621a]{opacity:.6;border-radius:6px}.view-toggles .btn-icon.active[data-v-ff50621a]{opacity:1;background:#fff;box-shadow:0 1px 3px #0000001a}.actions[data-v-ff50621a]{gap:1rem;display:flex}.calendar-wrapper[data-v-ff50621a]{gap:.25rem;display:flex;position:relative}.calendar-popup[data-v-ff50621a]{z-index:100;width:260px;margin-top:.5rem;padding:1rem;animation:.2s fadeIn-ff50621a;position:absolute;top:100%;right:0}@keyframes fadeIn-ff50621a{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.calendar-header[data-v-ff50621a]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.btn-tiny[data-v-ff50621a]{color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:0 .5rem;font-size:1.2rem}.btn-tiny[data-v-ff50621a]:hover{color:var(--primary-hover)}.months-grid[data-v-ff50621a]{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.month-btn[data-v-ff50621a]{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 0;font-size:.85rem;transition:all .2s}.month-btn[data-v-ff50621a]:hover:not(.disabled){border-color:var(--primary-color);background:#4361ee1a}.month-btn.active[data-v-ff50621a]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.month-btn.disabled[data-v-ff50621a]{opacity:.3;cursor:not-allowed;background:#00000005}.btn-icon[data-v-ff50621a]{color:var(--text-muted);cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.btn-icon[data-v-ff50621a]:hover{color:var(--text-color);background-color:#0000000d}.legend[data-v-ff50621a]{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-bottom:1.5rem;display:flex}.legend-item[data-v-ff50621a]{align-items:center;display:flex}.badge[data-v-ff50621a]{border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-default[data-v-ff50621a]{color:var(--primary-color);background-color:#4361ee1a}.badge-yellow[data-v-ff50621a]{color:#b38600;background-color:#ffc10733}.badge-blue[data-v-ff50621a]{color:#1e3a8a;background-color:#4361ee26}.badge-purple[data-v-ff50621a]{color:#6a1b9a;background-color:#9c27b026}.badge-darkgray[data-v-ff50621a]{color:#fff;background-color:#000000b3}.badge-green[data-v-ff50621a]{color:#059669;background-color:#10b98126}.badge-red[data-v-ff50621a]{color:#b91c1c;background-color:#ef444426}.badge-gray[data-v-ff50621a]{color:var(--text-muted);background-color:#00000014}.state-message[data-v-ff50621a]{text-align:center;color:var(--text-muted);padding:3rem;font-size:1.1rem}.error[data-v-ff50621a]{color:var(--error-color)}.shifts-container[data-v-ff50621a]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.shift-header[data-v-ff50621a]{border-bottom:1px solid var(--border-color);background-color:#00000005;display:flex}.header-spacer[data-v-ff50621a]{flex-shrink:0;width:40px}.header-cols[data-v-ff50621a]{flex:1;grid-template-columns:1.2fr 1fr 1fr 1fr 1.5fr 80px;padding:1rem 1.5rem 1rem 1rem;display:grid}.col-header[data-v-ff50621a]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.text-right[data-v-ff50621a]{text-align:right}.week-group[data-v-ff50621a]{border-bottom:1px solid var(--border-color);display:flex;position:relative}.week-group[data-v-ff50621a]:last-child{border-bottom:none}.week-indicator[data-v-ff50621a]{flex-direction:column;flex-shrink:0;align-items:center;width:40px;padding-top:1rem;display:flex}.unplanned-week .week-indicator[data-v-ff50621a]{background-color:#00000005}.week-text[data-v-ff50621a]{writing-mode:vertical-rl;text-orientation:mixed;color:var(--primary-color);letter-spacing:1px;margin-bottom:.5rem;font-size:.75rem;font-weight:700;transform:rotate(180deg)}.unplanned-week .week-text[data-v-ff50621a]{color:var(--text-muted)}.week-shifts[data-v-ff50621a]{flex-direction:column;flex:1;display:flex}.shift-card[data-v-ff50621a]{border-bottom:1px solid var(--border-color);grid-template-columns:1.2fr 1fr 1fr 1fr 1.5fr 80px;align-items:center;padding:.75rem 1.5rem .75rem 1rem;transition:background-color .2s;display:grid}.shift-card[data-v-ff50621a]:hover{background-color:#10b98108}.shift-card[data-v-ff50621a]:last-child{border-bottom:none}.shift-card.other-month[data-v-ff50621a]{opacity:.7;background-color:#00000005}.shift-card.is-today[data-v-ff50621a]{background-color:#10b9811a}.shift-row-1[data-v-ff50621a],.shift-row-2[data-v-ff50621a],.shift-row-3[data-v-ff50621a]{display:contents}.shift-date[data-v-ff50621a]{font-weight:500}.shift-note[data-v-ff50621a]{white-space:nowrap;text-overflow:ellipsis;color:var(--text-color);font-size:.9rem;overflow:hidden}.actions-group[data-v-ff50621a]{justify-content:flex-end;gap:.25rem;display:flex}.shift-timestamp[data-v-ff50621a]{text-align:right;color:var(--text-muted);font-size:.75rem}.hidden-desktop[data-v-ff50621a]{display:none!important}@media (width<=768px){.legend[data-v-ff50621a]{justify-content:space-between;gap:.25rem}.hidden-mobile[data-v-ff50621a]{display:none!important}.hidden-desktop[data-v-ff50621a]{display:block!important}.actions[data-v-ff50621a]{gap:.25rem}.btn-icon[data-v-ff50621a]{padding:.25rem .35rem}.shifts-container[data-v-ff50621a]{box-shadow:none;background:0 0;border:none}.week-group[data-v-ff50621a]{border-bottom:none;flex-direction:row;margin-bottom:1rem;display:flex}.week-indicator[data-v-ff50621a]{background-color:#0000;width:24px;padding-top:.5rem}.week-text[data-v-ff50621a]{font-size:.7rem}.shift-card[data-v-ff50621a]{border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:8px;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:.5rem .75rem;display:flex;box-shadow:0 2px 4px #00000008}.shift-card[data-v-ff50621a]:last-child{margin-bottom:0}.shift-row-1[data-v-ff50621a],.shift-row-2[data-v-ff50621a],.shift-row-3[data-v-ff50621a]{justify-content:space-between;align-items:center;width:100%;display:flex}.shift-row-1[data-v-ff50621a]{font-size:.95rem}.shift-time[data-v-ff50621a]{color:var(--text-muted);font-size:.9rem;font-weight:500}.shift-row-2[data-v-ff50621a]{align-items:flex-start}.shift-note[data-v-ff50621a]{text-align:right;white-space:normal;margin-left:1rem;font-size:.85rem;line-height:1.3}.shift-row-3[data-v-ff50621a]{justify-content:flex-end;margin-top:-.25rem}}.modal-overlay[data-v-ff50621a]{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;animation:.2s fadeIn-ff50621a;display:flex;position:fixed;inset:0}.modal-content[data-v-ff50621a]{background:var(--card-bg);border-radius:12px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 10px 25px #0000001a}.modal-header[data-v-ff50621a]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h3[data-v-ff50621a]{color:var(--text-color);margin:0;font-size:1.2rem}.btn-close[data-v-ff50621a]{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.5rem}.btn-close[data-v-ff50621a]:hover{color:var(--error-color)}.modal-body p[data-v-ff50621a]{color:var(--text-color);margin:.5rem 0 1rem;font-size:.95rem}.btn-info-icon[data-v-ff50621a]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;padding:.35rem;transition:all .2s;display:flex}.btn-info-icon[data-v-ff50621a]:hover{color:var(--primary-color);background:#4361ee1a}.btn-info-icon.warning[data-v-ff50621a]{color:#f59e0b}.btn-info-icon.warning[data-v-ff50621a]:hover{color:#d97706;background:#f59e0b1a}.history-card[data-v-ff50621a]{flex-direction:column;width:95%;max-width:500px;max-height:80vh;display:flex}.history-card .modal-body[data-v-ff50621a]{padding-right:.5rem;overflow-y:auto}.timeline[data-v-ff50621a]{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex;position:relative}.timeline[data-v-ff50621a]:before{content:"";background:var(--border-color);z-index:0;width:2px;position:absolute;top:0;bottom:0;left:12px}.timeline-item[data-v-ff50621a]{z-index:1;padding-left:2rem;position:relative}.timeline-item[data-v-ff50621a]:before{content:"";background:var(--card-bg);border:2px solid var(--border-color);border-radius:50%;width:10px;height:10px;position:absolute;top:.5rem;left:8px}.timeline-item[data-v-ff50621a]:first-child:before{border-color:var(--primary-color);background:var(--primary-color);box-shadow:0 0 0 4px #10b98126}.timeline-meta[data-v-ff50621a]{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.timeline-date[data-v-ff50621a]{color:var(--text-color);font-size:.85rem;font-weight:600}.active-badge[data-v-ff50621a]{padding:.15rem .5rem;font-size:.7rem}.timeline-details[data-v-ff50621a]{border:1px solid var(--border-color);background:#00000005;border-radius:8px;padding:.75rem 1rem}.timeline-details.is-old[data-v-ff50621a]{opacity:.8;background:0 0}.timeline-row[data-v-ff50621a]{gap:.5rem;margin-bottom:.25rem;font-size:.9rem;display:flex}.timeline-row[data-v-ff50621a]:last-child{margin-bottom:0}.timeline-row .label[data-v-ff50621a]{color:var(--text-muted);width:60px}.calendar-grid-view[data-v-ff50621a]{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;display:flex}.calendar-header-row[data-v-ff50621a]{border-bottom:1px solid var(--border-color);background:#00000005;border-radius:12px 12px 0 0;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-col[data-v-ff50621a]{text-align:center;color:var(--text-muted);text-transform:uppercase;padding:.75rem;font-size:.85rem;font-weight:600}.calendar-body[data-v-ff50621a]{flex-direction:column;display:flex}.calendar-body .week-indicator[data-v-ff50621a]{height:100%;position:absolute;top:0;left:-40px}.calendar-row[data-v-ff50621a]{border-bottom:1px solid var(--border-color);flex:1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-row[data-v-ff50621a]:last-child{border-bottom:none}.calendar-row:last-child .calendar-cell[data-v-ff50621a]:first-child{border-bottom-left-radius:12px}.calendar-row:last-child .calendar-cell[data-v-ff50621a]:last-child{border-bottom-right-radius:12px}.calendar-cell[data-v-ff50621a]{border-right:1px solid var(--border-color);background:var(--card-bg);flex-direction:column;justify-content:center;align-items:center;min-height:80px;padding:1.25rem .25rem .75rem;transition:background .2s;display:flex;position:relative}.calendar-cell[data-v-ff50621a]:last-child{border-right:none}.calendar-cell.other-month[data-v-ff50621a]{background:#00000008}.calendar-cell.is-today[data-v-ff50621a]{background-color:#10b9811a}.cell-date[data-v-ff50621a]{color:var(--text-muted);opacity:.6;font-size:.75rem;font-weight:600;position:absolute;top:4px;right:6px}.calendar-cell.other-month .cell-date[data-v-ff50621a]{opacity:.3}.cell-content[data-v-ff50621a]{justify-content:center;align-items:center;margin-top:.5rem;display:flex;position:relative}.cell-content .badge[data-v-ff50621a]{text-align:center;min-width:48px;box-shadow:var(--shadow-sm);padding:.35rem .6rem;font-size:.9rem}.history-indicator[data-v-ff50621a]{color:#fff;width:16px;height:16px;box-shadow:0 0 0 2px var(--card-bg);cursor:pointer;z-index:2;background:#f59e0b;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-8px}.cell-time[data-v-ff50621a]{color:var(--text-muted);white-space:nowrap;flex-direction:column;align-items:center;margin-top:.35rem;font-size:.75rem;line-height:1.2;display:flex}.time-bar-container[data-v-ff50621a]{pointer-events:none;background-color:#0000;border-radius:0;width:100%;height:6px;position:absolute;bottom:0;left:0;overflow:hidden}.time-bar[data-v-ff50621a]{height:100%;position:absolute;top:0}@media (width>=769px){.calendar-grid-view[data-v-ff50621a]{margin-left:45px}}.bg-default[data-v-ff50621a]{background-color:#4361ee80}.bg-yellow[data-v-ff50621a]{background-color:#ffc107cc}.bg-blue[data-v-ff50621a]{background-color:#4361eecc}.bg-purple[data-v-ff50621a]{background-color:#9c27b0cc}.bg-darkgray[data-v-ff50621a]{background-color:#000c}.bg-green[data-v-ff50621a]{background-color:#10b981cc}.bg-red[data-v-ff50621a]{background-color:#ef4444cc}.bg-gray[data-v-ff50621a]{background-color:#0000004d}@media (width<=600px){.calendar-cell[data-v-ff50621a]{min-height:50px;padding:1rem .15rem .6rem}.cell-date[data-v-ff50621a]{font-size:.65rem;top:2px;right:4px}.cell-content .badge[data-v-ff50621a]{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;min-width:36px;max-width:100%;padding:.25rem .2rem;font-size:.65rem;overflow:hidden}.cell-time[data-v-ff50621a],.cell-colleagues-text[data-v-ff50621a],.cell-colleagues-icon[data-v-ff50621a],.badge-compare[data-v-ff50621a]{display:none!important}}.cell-colleagues-text[data-v-ff50621a]{color:#9ca3af;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:.65rem;overflow:hidden}.cell-colleagues-icon[data-v-ff50621a]{color:#9ca3af;cursor:pointer;justify-content:center;align-items:center;gap:2px;margin-top:2px;display:flex}.cell-colleagues-icon .count[data-v-ff50621a]{font-size:.65rem;font-weight:600}.shift-colleagues-text[data-v-ff50621a]{color:#9ca3af;text-align:left;font-size:.8rem}.shift-colleagues-icon[data-v-ff50621a]{color:#9ca3af;cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:.1rem .3rem;display:inline-flex}.shift-colleagues-icon[data-v-ff50621a]:hover{background:#0000000d}.shift-colleagues-icon .count[data-v-ff50621a]{font-size:.8rem;font-weight:600}.shift-colleagues-text-mobile[data-v-ff50621a]{color:#9ca3af;text-align:right;margin-top:.15rem;font-size:.75rem}.shift-colleagues-icon-mobile[data-v-ff50621a]{color:#9ca3af;cursor:pointer;justify-content:flex-end;align-items:center;gap:4px;margin-top:.15rem;display:flex}.shift-colleagues-icon-mobile .count[data-v-ff50621a]{font-size:.75rem;font-weight:600}.colleagues-popup-list[data-v-ff50621a]{margin:0;padding:0;list-style:none}.colleagues-popup-list li[data-v-ff50621a]{border-bottom:1px solid var(--border-color);padding:.5rem 0}.colleagues-popup-list li[data-v-ff50621a]:last-child{border-bottom:none}.compare-banner[data-v-ff50621a]{background:#4361ee1a;border:1px solid #4361ee4d;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;display:flex}.compare-info[data-v-ff50621a]{color:var(--primary-color);align-items:center;gap:.5rem;font-size:1.1rem;display:flex}.compare-content[data-v-ff50621a]{margin-top:2px}.badge-compare[data-v-ff50621a]{opacity:.7;margin-top:2px;transform:scale(.9)}.shift-badge-container[data-v-ff50621a]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.time-primary[data-v-ff50621a]{font-weight:500}.time-compare[data-v-ff50621a]{color:var(--text-muted);font-size:.85rem;font-style:italic}.calendar-cell.clickable[data-v-ff50621a]{cursor:pointer;transition:background-color .2s}.calendar-cell.clickable[data-v-ff50621a]:hover{background-color:#4361ee0d}.compare-modal-body[data-v-ff50621a]{flex-direction:column;gap:1.5rem;display:flex}.compare-person-block h4[data-v-ff50621a]{color:var(--primary-color);border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1rem}.compare-shift-details[data-v-ff50621a]{background:var(--bg-color)}.changes-view[data-v-bea4cffe]{max-width:900px;margin:0 auto}.header[data-v-bea4cffe]{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header h2[data-v-bea4cffe]{margin:0}.btn-icon[data-v-bea4cffe]{color:var(--text-muted);cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.btn-icon[data-v-bea4cffe]:hover{color:var(--text-color);background-color:#0000000d}.state-message[data-v-bea4cffe]{text-align:center;color:var(--text-muted);padding:3rem;font-size:1.1rem}.error[data-v-bea4cffe]{color:var(--error-color)}.changes-list[data-v-bea4cffe]{flex-direction:column;gap:2rem;display:flex}.change-event[data-v-bea4cffe]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000a}.event-meta[data-v-bea4cffe]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.event-date[data-v-bea4cffe]{color:var(--primary-color);font-size:1.1rem;font-weight:700}.event-time[data-v-bea4cffe]{color:var(--text-muted);font-size:.85rem}.split-view[data-v-bea4cffe]{align-items:center;gap:1rem;display:flex}.shift-card[data-v-bea4cffe]{border:1px solid var(--border-color);background:#00000005;border-radius:8px;flex:1;padding:1rem}.old-shift[data-v-bea4cffe]{opacity:.8}.new-shift[data-v-bea4cffe]{background:#10b98108;border-color:#10b98133}.card-header[data-v-bea4cffe]{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem;font-weight:600}.detail-row[data-v-bea4cffe]{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.detail-row[data-v-bea4cffe]:last-child{border-bottom:none}.label[data-v-bea4cffe]{color:var(--text-muted);font-size:.9rem}.is-changed[data-v-bea4cffe]{color:var(--primary-color);font-weight:700}.is-changed .label[data-v-bea4cffe]{color:var(--primary-color)}.arrow-icon[data-v-bea4cffe]{color:var(--text-muted);flex-shrink:0}.badge[data-v-bea4cffe]{border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-default[data-v-bea4cffe]{color:var(--primary-color);background-color:#4361ee1a}.badge-yellow[data-v-bea4cffe]{color:#b38600;background-color:#ffc10733}.badge-blue[data-v-bea4cffe]{color:#1e3a8a;background-color:#4361ee26}.badge-green[data-v-bea4cffe]{color:#059669;background-color:#10b98126}.badge-red[data-v-bea4cffe]{color:#b91c1c;background-color:#ef444426}@media (width<=768px){.header[data-v-bea4cffe]{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1rem}.header h2[data-v-bea4cffe]{font-size:1.5rem}.change-event[data-v-bea4cffe]{padding:1rem}.event-meta[data-v-bea4cffe]{flex-direction:column;align-items:flex-start;gap:.25rem}.split-view[data-v-bea4cffe]{flex-direction:column;gap:.5rem}.shift-card[data-v-bea4cffe]{padding:.75rem}.arrow-icon[data-v-bea4cffe]{margin:.25rem 0;transform:rotate(90deg)}}.auth-container[data-v-37b59383]{justify-content:center;align-items:center;min-height:calc(100vh - 140px);padding:2rem 1rem;display:flex}.auth-card[data-v-37b59383]{width:100%;max-width:400px;padding:2.5rem 2rem}.auth-header[data-v-37b59383]{text-align:center;margin-bottom:2rem}.auth-header h1[data-v-37b59383]{color:var(--primary-color);margin-bottom:.5rem;font-size:1.8rem}.auth-header p[data-v-37b59383]{color:var(--text-muted);font-size:.95rem}.form-group[data-v-37b59383]{margin-bottom:1.5rem}.form-group label[data-v-37b59383]{margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-control[data-v-37b59383]{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control[data-v-37b59383]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #10b9811a}.btn-block[data-v-37b59383]{width:100%;margin-top:.5rem;padding:.8rem;font-size:1rem}.error-message[data-v-37b59383]{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.auth-footer[data-v-37b59383]{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.9rem}.auth-footer a[data-v-37b59383]{color:var(--primary-color);font-weight:600;text-decoration:none}.auth-footer a[data-v-37b59383]:hover{text-decoration:underline}.auth-container[data-v-a51568d2]{justify-content:center;align-items:center;min-height:calc(100vh - 140px);padding:2rem 1rem;display:flex}.auth-card[data-v-a51568d2]{width:100%;max-width:450px;padding:2.5rem 2rem}.auth-header[data-v-a51568d2]{text-align:center;margin-bottom:2rem}.auth-header h1[data-v-a51568d2]{color:var(--primary-color);margin-bottom:.5rem;font-size:1.8rem}.auth-header p[data-v-a51568d2]{color:var(--text-muted);font-size:.95rem}.form-group[data-v-a51568d2]{margin-bottom:1.5rem}.form-group label[data-v-a51568d2]{margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-control[data-v-a51568d2]{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:8px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control[data-v-a51568d2]:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #10b9811a}.btn-block[data-v-a51568d2]{width:100%;margin-top:.5rem;padding:.8rem;font-size:1rem}.error-message[data-v-a51568d2]{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.auth-footer[data-v-a51568d2]{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.9rem}.auth-footer a[data-v-a51568d2]{color:var(--primary-color);font-weight:600;text-decoration:none}.auth-footer a[data-v-a51568d2]:hover{text-decoration:underline}
