@import "https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&display=swap";.sidebar[data-v-8455058b]{width:var(--sidebar-width);background:var(--bg-sidebar);color:var(--text-white);z-index:100;flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.close-btn[data-v-8455058b]{display:none}.sidebar-brand[data-v-8455058b]{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px;display:flex}.brand-icon[data-v-8455058b]{background:var(--primary);border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.brand-text h2[data-v-8455058b]{font-size:18px;font-weight:700;line-height:1.2}.brand-text span[data-v-8455058b]{color:var(--text-light);font-size:12px}.sidebar-nav[data-v-8455058b]{flex:1;padding:12px 0}.sidebar-nav ul[data-v-8455058b]{list-style:none}.sidebar-nav li a[data-v-8455058b]{color:var(--text-light);border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 20px;font-size:15px;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav li a[data-v-8455058b]:hover{background:var(--bg-sidebar-hover);color:var(--text-white)}.sidebar-nav li.active a[data-v-8455058b]{color:var(--primary-light);border-left-color:var(--primary-light);background:#4f46e526;font-weight:600}.sidebar-nav li a i[data-v-8455058b]{text-align:center;width:20px;font-size:16px}.sidebar-footer[data-v-8455058b]{border-top:1px solid #ffffff14;padding:16px 20px}.user-mini[data-v-8455058b]{align-items:center;gap:10px;display:flex}.avatar[data-v-8455058b]{background:var(--primary);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:flex}.user-info[data-v-8455058b]{flex:1}.user-info strong[data-v-8455058b]{font-size:14px;line-height:1.2;display:block}.user-info span[data-v-8455058b]{color:var(--text-light);font-size:12px}.logout-icon[data-v-8455058b]{color:var(--text-light);cursor:pointer;padding:4px;transition:color .2s}.logout-icon[data-v-8455058b]:hover{color:var(--danger)}@media (width<=768px){.sidebar[data-v-8455058b]{transform:translate(-100%)}.sidebar.open[data-v-8455058b]{transform:translate(0)}.close-btn[data-v-8455058b]{width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;font-size:16px;transition:all .2s;display:flex}.close-btn[data-v-8455058b]:hover{color:#fff;background:#ffffff1a}}.app-header[data-v-8138e2c6]{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.header-left[data-v-8138e2c6]{align-items:center;gap:12px;display:flex}.hamburger-btn[data-v-8138e2c6]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:none}.hamburger-btn[data-v-8138e2c6]:hover{background:var(--bg-main);color:var(--primary)}.header-left h1[data-v-8138e2c6]{color:var(--text-primary);font-size:22px;font-weight:700}.header-date[data-v-8138e2c6]{color:var(--text-secondary);align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.header-right[data-v-8138e2c6]{align-items:center;gap:8px;display:flex}.search-box[data-v-8138e2c6]{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;min-width:240px;padding:8px 14px;display:flex}.search-box i[data-v-8138e2c6]{color:var(--text-light);font-size:14px}.search-box input[data-v-8138e2c6]{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:14px}.search-box input[data-v-8138e2c6]::placeholder{color:var(--text-light)}.header-btn[data-v-8138e2c6]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex;position:relative}.header-btn[data-v-8138e2c6]:hover{background:var(--bg-main);color:var(--primary)}.notification-btn .badge[data-v-8138e2c6]{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}@media (width<=768px){.app-header[data-v-8138e2c6]{padding:12px 16px}.hamburger-btn[data-v-8138e2c6]{display:flex}.header-left h1[data-v-8138e2c6]{font-size:18px}.header-date[data-v-8138e2c6],.search-box[data-v-8138e2c6],.hide-mobile[data-v-8138e2c6]{display:none}}.employee-app[data-v-df383fdd]{background:var(--bg-main,#f1f5f9);flex-direction:column;min-height:100vh;display:flex}.emp-topnav[data-v-df383fdd]{z-index:200;background:#1e293b;justify-content:space-between;align-items:center;height:60px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0003}.btn-hamburger[data-v-df383fdd]{cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;transition:background .2s;display:flex}.btn-hamburger[data-v-df383fdd]:hover{background:#ffffff26}.btn-hamburger span[data-v-df383fdd]{background:#ffffffd9;border-radius:2px;width:100%;height:2px;display:block}.topnav-brand[data-v-df383fdd]{color:#fff;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.brand-icon[data-v-df383fdd]{color:#fff;background:#4f46e5;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.btn-notif[data-v-df383fdd]{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:background .2s;display:flex;position:relative}.btn-notif[data-v-df383fdd]:hover{background:#ffffff26}.notif-dot[data-v-df383fdd]{color:#fff;background:#ef4444;border:1.5px solid #1e293b;border-radius:10px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:5px;right:5px}.notif-wrap[data-v-df383fdd]{position:relative}.notif-backdrop[data-v-df383fdd]{z-index:400;position:fixed;inset:0}.notif-panel[data-v-df383fdd]{z-index:410;background:#fff;border-radius:18px;flex-direction:column;width:340px;max-width:calc(100vw - 28px);max-height:520px;display:flex;position:fixed;top:66px;right:14px;overflow:hidden;box-shadow:0 8px 40px #0000002e,0 2px 8px #00000014}.notif-panel-header[data-v-df383fdd]{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.notif-panel-title[data-v-df383fdd]{color:#1e293b;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.notif-panel-title i[data-v-df383fdd]{color:#4f46e5;font-size:14px}.notif-badge-count[data-v-df383fdd]{color:#fff;background:#ef4444;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.4}.btn-mark-all[data-v-df383fdd]{color:#4f46e5;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s}.btn-mark-all[data-v-df383fdd]:hover{background:#ede9fe}.notif-list[data-v-df383fdd]{flex:1;overflow-y:auto}.notif-item[data-v-df383fdd]{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f8fafc;align-items:flex-start;gap:12px;width:100%;padding:14px 18px;font-family:inherit;transition:background .15s;display:flex;position:relative}.notif-item[data-v-df383fdd]:last-child{border-bottom:none}.notif-item[data-v-df383fdd]:hover{background:#f8fafc}.notif-item.is-unread[data-v-df383fdd]{background:#fafbff}.notif-item.is-unread[data-v-df383fdd]:hover{background:#f1f5f9}.notif-item-icon[data-v-df383fdd]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.notif-item-body[data-v-df383fdd]{flex:1;min-width:0}.notif-item-title[data-v-df383fdd]{color:#1e293b;margin:0 0 3px;font-size:13px;font-weight:700;line-height:1.4}.notif-item-text[data-v-df383fdd]{color:#64748b;white-space:normal;margin:0 0 5px;font-size:12px;line-height:1.5}.notif-item-time[data-v-df383fdd]{color:#94a3b8;align-items:center;gap:4px;font-size:11px;display:flex}.notif-unread-dot[data-v-df383fdd]{background:#4f46e5;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.notif-panel-footer[data-v-df383fdd]{border-top:1px solid #f1f5f9;flex-shrink:0;padding:12px 18px 14px}.btn-see-all[data-v-df383fdd]{color:#4f46e5;cursor:pointer;background:0 0;border:1.5px solid #e2e8f0;border-radius:10px;width:100%;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.btn-see-all[data-v-df383fdd]:hover{background:#ede9fe;border-color:#c7d2fe}.emp-main[data-v-df383fdd]{flex:1;width:100%;max-width:640px;margin:0 auto;padding:20px 20px 0}.drawer-overlay[data-v-df383fdd]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:300;background:#00000080;position:fixed;inset:0}.profile-drawer[data-v-df383fdd]{z-index:310;background:#fff;flex-direction:column;width:300px;max-width:85vw;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:6px 0 32px #0000002e}.drawer-header[data-v-df383fdd]{flex-shrink:0;justify-content:flex-end;padding:12px 14px 0;display:flex}.drawer-close[data-v-df383fdd]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:all .2s;display:flex}.drawer-close[data-v-df383fdd]:hover{color:#1e293b;background:#e2e8f0}.profile-hero[data-v-df383fdd]{text-align:center;color:#fff;background:linear-gradient(160deg,#1e293b 0%,#334155 100%);flex-direction:column;flex-shrink:0;align-items:center;padding:12px 20px 24px;display:flex}.profile-avatar[data-v-df383fdd]{color:#fff;background:#4f46e5;border:3px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin-bottom:12px;font-size:28px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 4px 16px #0000004d}.profile-avatar img[data-v-df383fdd]{object-fit:cover;width:100%;height:100%}.profile-badge[data-v-df383fdd]{color:#6ee7b7;background:#10b98133;border:1px solid #10b98159;border-radius:20px;align-items:center;gap:5px;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.profile-name[data-v-df383fdd]{color:#fff;margin:0 0 4px;font-size:18px;font-weight:700}.profile-dept[data-v-df383fdd]{color:#fff9;margin:0 0 10px;font-size:13px}.profile-id[data-v-df383fdd]{color:#ffffff73;align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.profile-stats[data-v-df383fdd]{background:#f1f5f9;border-bottom:1px solid #f1f5f9;flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.stat-item[data-v-df383fdd]{text-align:center;background:#fff;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;display:flex}.stat-icon[data-v-df383fdd]{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:2px;font-size:15px;display:flex}.stat-value[data-v-df383fdd]{color:#1e293b;font-size:16px;font-weight:800}.stat-label[data-v-df383fdd]{color:#94a3b8;font-size:11px}.drawer-divider[data-v-df383fdd]{background:#f8fafc;flex-shrink:0;height:8px}.drawer-menu[data-v-df383fdd]{flex-direction:column;flex-shrink:0;padding:8px 0;display:flex}.drawer-menu-item[data-v-df383fdd]{color:#374151;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:13px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s;display:flex}.drawer-menu-item[data-v-df383fdd]:hover{background:#f8fafc}.menu-icon[data-v-df383fdd]{color:#4f46e5;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex}.menu-arrow[data-v-df383fdd]{color:#cbd5e1;margin-left:auto;font-size:11px}.drawer-footer[data-v-df383fdd]{flex-direction:column;flex-shrink:0;align-items:center;gap:12px;margin-top:auto;padding:16px 20px 24px;display:flex}.btn-drawer-logout[data-v-df383fdd]{color:#dc2626;cursor:pointer;background:#fef2f2;border:1.5px solid #fecaca;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-drawer-logout[data-v-df383fdd]:hover{background:#fee2e2;border-color:#fca5a5}.app-version[data-v-df383fdd]{color:#cbd5e1;margin:0;font-size:11px}.sheet-overlay[data-v-df383fdd]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:500;background:#00000080;position:fixed;inset:0}.menu-sheet[data-v-df383fdd]{z-index:510;background:#fff;border-radius:24px 24px 0 0;flex-direction:column;max-height:92vh;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 40px #0000002e}.sheet-handle[data-v-df383fdd]{background:#e2e8f0;border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:12px auto 0}.sheet-header[data-v-df383fdd]{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.sheet-title[data-v-df383fdd]{color:#1e293b;font-size:16px;font-weight:700}.sheet-back[data-v-df383fdd]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;transition:all .2s;display:flex}.sheet-back[data-v-df383fdd]:hover{color:#1e293b;background:#e2e8f0}.sheet-action-btn[data-v-df383fdd]{color:#4f46e5;cursor:pointer;background:#ede9fe;border:1.5px solid #c7d2fe;border-radius:20px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.sheet-action-btn[data-v-df383fdd]:hover{background:#c7d2fe}.sheet-body[data-v-df383fdd]{flex:1;padding:0 0 40px;overflow-y:auto}.sheet-section-label[data-v-df383fdd]{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:16px 20px 8px;font-size:12px;font-weight:600}.sheet-footer-actions[data-v-df383fdd]{padding:16px 20px 0}.btn-sheet-primary[data-v-df383fdd]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-sheet-primary[data-v-df383fdd]:hover{opacity:.9;transform:translateY(-1px)}.sheet-toast[data-v-df383fdd]{border-radius:12px;align-items:center;gap:8px;margin:12px 20px 0;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.sheet-toast--success[data-v-df383fdd]{color:#065f46;background:#d1fae5}.sheet-toast--error[data-v-df383fdd]{color:#991b1b;background:#fee2e2}.sp-avatar-wrap[data-v-df383fdd]{flex-direction:column;align-items:center;padding:24px 20px 8px;display:flex;position:relative}.sp-avatar[data-v-df383fdd]{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-size:30px;font-weight:700;display:flex;box-shadow:0 4px 20px #4f46e559}.sp-avatar-edit[data-v-df383fdd]{color:#fff;cursor:pointer;background:#4f46e5;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;display:flex;position:absolute;bottom:14px;right:calc(50% - 46px);box-shadow:0 2px 8px #0003}.sp-emp-badge[data-v-df383fdd]{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:20px;align-items:center;gap:5px;margin-top:10px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.sp-fields[data-v-df383fdd]{padding:8px 20px}.sp-field-group[data-v-df383fdd]{border-bottom:1px solid #f8fafc;margin-bottom:4px;padding:10px 0}.sp-field-group[data-v-df383fdd]:last-child{border-bottom:none}.sp-field-group--readonly .sp-value[data-v-df383fdd]{color:#94a3b8}.sp-field-divider[data-v-df383fdd]{background:#f8fafc;height:8px;margin:4px -20px}.sp-label[data-v-df383fdd]{color:#94a3b8;align-items:center;gap:5px;margin-bottom:4px;font-size:11px;font-weight:600;display:flex}.sp-value[data-v-df383fdd]{color:#1e293b;margin:0;font-size:14px;font-weight:500}.sp-input[data-v-df383fdd]{color:#1e293b;box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:14px;transition:border .2s}.sp-input[data-v-df383fdd]:focus{border-color:#4f46e5}.sp-input--error[data-v-df383fdd]{border-color:#ef4444!important}.pw-icon-wrap[data-v-df383fdd]{text-align:center;flex-direction:column;align-items:center;padding:20px 20px 8px;display:flex}.pw-icon[data-v-df383fdd]{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:10px;font-size:26px;display:flex}.pw-subtitle[data-v-df383fdd]{color:#64748b;margin:0;font-size:13px;line-height:1.6}.pw-fields[data-v-df383fdd]{padding:4px 20px}.pw-field-group[data-v-df383fdd]{margin-bottom:4px;padding:10px 0}.pw-input-wrap[data-v-df383fdd]{position:relative}.pw-eye[data-v-df383fdd]{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pw-eye[data-v-df383fdd]:hover{color:#4f46e5}.pw-input-wrap .sp-input[data-v-df383fdd]{padding-right:38px}.pw-strength-wrap[data-v-df383fdd]{align-items:center;gap:8px;margin-top:6px;display:flex}.pw-strength-bar[data-v-df383fdd]{flex:1;gap:4px;display:flex}.pw-strength-seg[data-v-df383fdd]{border-radius:2px;flex:1;height:4px;transition:background .3s}.pw-strength-label[data-v-df383fdd]{text-align:right;min-width:48px;font-size:11px;font-weight:600}.pw-mismatch[data-v-df383fdd]{color:#ef4444;align-items:center;gap:4px;margin:4px 0 0;font-size:11px;display:flex}.ns-list[data-v-df383fdd]{padding:0 20px}.ns-item[data-v-df383fdd]{border-bottom:1px solid #f8fafc;align-items:center;gap:14px;padding:14px 0;display:flex}.ns-item[data-v-df383fdd]:last-child{border-bottom:none}.ns-icon[data-v-df383fdd]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;display:flex}.ns-text[data-v-df383fdd]{flex:1;min-width:0}.ns-label[data-v-df383fdd]{color:#1e293b;margin:0 0 2px;font-size:14px;font-weight:600}.ns-desc[data-v-df383fdd]{color:#94a3b8;margin:0;font-size:12px}.ns-toggle[data-v-df383fdd]{cursor:pointer;background:#e2e8f0;border:none;border-radius:13px;flex-shrink:0;width:46px;height:26px;padding:0;transition:background .25s;position:relative}.ns-toggle.is-on[data-v-df383fdd]{background:#4f46e5}.ns-toggle-thumb[data-v-df383fdd]{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.ns-toggle.is-on .ns-toggle-thumb[data-v-df383fdd]{transform:translate(20px)}.help-banner[data-v-df383fdd]{background:linear-gradient(135deg,#ede9fe,#dbeafe);border-radius:16px;align-items:center;gap:14px;margin:16px 20px 0;padding:16px;display:flex}.help-banner-icon[data-v-df383fdd]{color:#4f46e5;background:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex;box-shadow:0 2px 8px #4f46e526}.help-banner-title[data-v-df383fdd]{color:#1e293b;margin:0 0 3px;font-size:14px;font-weight:700}.help-banner-sub[data-v-df383fdd]{color:#64748b;margin:0;font-size:12px;line-height:1.5}.faq-list[data-v-df383fdd]{padding:0 20px}.faq-item[data-v-df383fdd]{border-bottom:1px solid #f1f5f9;overflow:hidden}.faq-item[data-v-df383fdd]:last-child{border-bottom:none}.faq-q[data-v-df383fdd]{text-align:left;cursor:pointer;color:#1e293b;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 0;font-family:inherit;font-size:13px;font-weight:600;display:flex}.faq-chevron[data-v-df383fdd]{color:#94a3b8;flex-shrink:0;font-size:11px;transition:transform .25s}.faq-item.is-open .faq-chevron[data-v-df383fdd]{transform:rotate(180deg)}.faq-a-wrap[data-v-df383fdd]{max-height:0;transition:max-height .3s;overflow:hidden}.faq-item.is-open .faq-a-wrap[data-v-df383fdd]{max-height:200px}.faq-a[data-v-df383fdd]{color:#64748b;margin:0;padding:0 0 14px;font-size:13px;line-height:1.7}.help-contacts[data-v-df383fdd]{flex-direction:column;gap:2px;padding:0 20px;display:flex}.help-contact-item[data-v-df383fdd]{color:inherit;border-bottom:1px solid #f8fafc;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:flex}.help-contact-item[data-v-df383fdd]:last-child{border-bottom:none}.help-contact-icon[data-v-df383fdd]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.help-contact-label[data-v-df383fdd]{color:#94a3b8;margin:0 0 2px;font-size:11px}.help-contact-value[data-v-df383fdd]{color:#1e293b;margin:0;font-size:13px;font-weight:600}.help-version[data-v-df383fdd]{text-align:center;color:#cbd5e1;margin:0;padding:20px 20px 0;font-size:11px}.overlay-fade-enter-active[data-v-df383fdd],.overlay-fade-leave-active[data-v-df383fdd]{transition:opacity .25s}.overlay-fade-enter-from[data-v-df383fdd],.overlay-fade-leave-to[data-v-df383fdd]{opacity:0}.drawer-slide-enter-active[data-v-df383fdd],.drawer-slide-leave-active[data-v-df383fdd]{transition:transform .28s cubic-bezier(.4,0,.2,1)}.drawer-slide-enter-from[data-v-df383fdd],.drawer-slide-leave-to[data-v-df383fdd]{transform:translate(-100%)}.sheet-up-enter-active[data-v-df383fdd]{transition:transform .32s cubic-bezier(.34,1.1,.64,1),opacity .2s}.sheet-up-leave-active[data-v-df383fdd]{transition:transform .24s,opacity .2s}.sheet-up-enter-from[data-v-df383fdd],.sheet-up-leave-to[data-v-df383fdd]{opacity:0;transform:translateY(100%)}.notif-drop-enter-active[data-v-df383fdd]{transition:opacity .2s,transform .22s cubic-bezier(.34,1.4,.64,1)}.notif-drop-leave-active[data-v-df383fdd]{transition:opacity .18s,transform .18s}.notif-drop-enter-from[data-v-df383fdd]{opacity:0;transform:translateY(-10px)scale(.97)}.notif-drop-leave-to[data-v-df383fdd]{opacity:0;transform:translateY(-6px)scale(.98)}@media (width<=768px){.emp-main[data-v-df383fdd]{padding:16px 14px 0}}.app-layout[data-v-047b5f04]{min-height:100vh;display:flex}.main-area[data-v-047b5f04]{min-width:0;margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex;overflow-x:hidden}.main-content[data-v-047b5f04]{flex:1;padding:24px}.overlay[data-v-047b5f04]{display:none}@media (width<=768px){.main-area[data-v-047b5f04]{margin-left:0}.overlay[data-v-047b5f04]{z-index:99;opacity:0;visibility:hidden;background:#00000080;transition:opacity .3s,visibility .3s;display:block;position:fixed;inset:0}.overlay.visible[data-v-047b5f04]{opacity:1;visibility:visible}.main-content[data-v-047b5f04]{padding:16px}}.summary-cards[data-v-30278965]{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.card[data-v-30278965]{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:20px;transition:transform .2s,box-shadow .2s}.card[data-v-30278965]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-body[data-v-30278965]{justify-content:space-between;align-items:flex-start;display:flex}.card-title[data-v-30278965]{color:var(--text-secondary);font-size:13px;font-weight:500}.card-value[data-v-30278965]{align-items:baseline;gap:4px;margin:6px 0;display:flex}.card-value strong[data-v-30278965]{font-size:28px;font-weight:700;line-height:1}.card-subtitle[data-v-30278965]{color:var(--text-secondary);font-size:14px}.card-change[data-v-30278965]{align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.card-change.up[data-v-30278965]{color:var(--success)}.card-change.down[data-v-30278965]{color:var(--danger)}.card-icon[data-v-30278965]{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.icon--primary[data-v-30278965]{color:var(--primary);background:#eef2ff}.icon--success[data-v-30278965]{background:var(--success-light);color:var(--success)}.icon--danger[data-v-30278965]{background:var(--danger-light);color:var(--danger)}.icon--warning[data-v-30278965]{background:var(--warning-light);color:var(--warning)}@media (width<=1024px){.summary-cards[data-v-30278965]{grid-template-columns:repeat(2,1fr);gap:12px}}@media (width<=480px){.summary-cards[data-v-30278965]{grid-template-columns:repeat(2,1fr);gap:10px}.card[data-v-30278965]{padding:14px}.card-value strong[data-v-30278965]{font-size:22px}.card-icon[data-v-30278965]{width:40px;height:40px;font-size:16px}}.clock-card[data-v-8338f2ad]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.clock-header[data-v-8338f2ad]{border-bottom:1px solid var(--border);padding:16px 20px}.clock-header h3[data-v-8338f2ad]{color:var(--text-primary);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.clock-body[data-v-8338f2ad]{text-align:center;padding:24px 20px}.current-time[data-v-8338f2ad]{justify-content:center;align-items:baseline;gap:4px;display:flex}.time-display[data-v-8338f2ad]{color:var(--primary);font-size:48px;font-weight:700;line-height:1}.time-period[data-v-8338f2ad]{color:var(--primary-light);font-size:20px;font-weight:600}.time-label[data-v-8338f2ad]{color:var(--text-light);margin-top:4px;margin-bottom:20px;font-size:13px}.clock-buttons[data-v-8338f2ad]{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.btn[data-v-8338f2ad]{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn-checkin[data-v-8338f2ad]{background:var(--success);color:#fff}.btn-checkin[data-v-8338f2ad]:hover{background:#059669}.btn-checkout[data-v-8338f2ad]{background:var(--danger);color:#fff}.btn-checkout[data-v-8338f2ad]:disabled{cursor:not-allowed;background:#fca5a5}.today-status[data-v-8338f2ad]{border-top:1px solid var(--border);padding-top:16px}.status-row[data-v-8338f2ad]{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.status-label[data-v-8338f2ad]{color:var(--text-secondary);font-size:13px}.status-value[data-v-8338f2ad]{color:var(--text-primary);font-size:14px;font-weight:600}.text-muted[data-v-8338f2ad]{color:var(--text-light)}.status-badge[data-v-8338f2ad]{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.badge-success[data-v-8338f2ad]{background:var(--success-light);color:var(--success)}.chart-card[data-v-472d34fe]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.chart-header[data-v-472d34fe]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.chart-header h3[data-v-472d34fe]{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.chart-subtitle[data-v-472d34fe]{color:var(--text-light);font-size:12px}.chart-legend[data-v-472d34fe]{gap:16px;display:flex}.legend-item[data-v-472d34fe]{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.dot[data-v-472d34fe]{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-success[data-v-472d34fe]{background:var(--success)}.dot-warning[data-v-472d34fe]{background:var(--warning)}.dot-danger[data-v-472d34fe]{background:var(--danger)}.chart-body[data-v-472d34fe]{padding:20px}.chart-area[data-v-472d34fe]{gap:12px;height:220px;display:flex}.y-axis[data-v-472d34fe]{color:var(--text-light);flex-direction:column;justify-content:space-between;padding-bottom:24px;font-size:11px;display:flex}.bars-container[data-v-472d34fe]{border-bottom:1px solid var(--border);flex:1;justify-content:space-around;align-items:flex-end;padding-bottom:24px;display:flex;position:relative}.bar-group[data-v-472d34fe]{flex-direction:column;flex:1;align-items:center;display:flex}.bar-stack[data-v-472d34fe]{flex-direction:column-reverse;justify-content:flex-start;width:40px;height:180px;display:flex}.bar[data-v-472d34fe]{border-radius:3px;width:100%;min-height:2px;transition:height .4s}.bar-present[data-v-472d34fe]{background:var(--success);border-radius:3px 3px 0 0}.bar-late[data-v-472d34fe]{background:var(--warning)}.bar-absent[data-v-472d34fe]{background:var(--danger);border-radius:0 0 3px 3px}.bar-label[data-v-472d34fe]{color:var(--text-secondary);margin-top:8px;font-size:12px;font-weight:500}.chart-summary[data-v-472d34fe]{border-top:1px solid var(--border);justify-content:space-around;margin-top:16px;padding-top:16px;display:flex}.summary-item[data-v-472d34fe]{text-align:center}.summary-value[data-v-472d34fe]{font-size:20px;font-weight:700;display:block}.summary-label[data-v-472d34fe]{color:var(--text-secondary);font-size:12px}.text-success[data-v-472d34fe]{color:var(--success)}.text-warning[data-v-472d34fe]{color:var(--warning)}.text-danger[data-v-472d34fe]{color:var(--danger)}@media (width<=768px){.chart-header[data-v-472d34fe]{flex-direction:column;gap:10px}.chart-legend[data-v-472d34fe]{gap:12px}.chart-body[data-v-472d34fe]{padding:14px}.chart-area[data-v-472d34fe]{height:180px}.bar-stack[data-v-472d34fe]{width:28px;height:140px}.summary-value[data-v-472d34fe]{font-size:16px}}.activity-card[data-v-7ffc9fac]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.activity-header[data-v-7ffc9fac]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.activity-header h3[data-v-7ffc9fac]{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.view-all[data-v-7ffc9fac]{color:var(--primary);align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.view-all[data-v-7ffc9fac]:hover{color:var(--primary-dark)}.activity-body[data-v-7ffc9fac]{overflow-x:auto}.activity-table[data-v-7ffc9fac]{border-collapse:collapse;width:100%}.activity-table th[data-v-7ffc9fac]{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-main);border-bottom:1px solid var(--border);padding:10px 16px;font-size:12px;font-weight:600}.activity-table td[data-v-7ffc9fac]{border-bottom:1px solid var(--border);padding:12px 16px;font-size:14px}.activity-table tr:last-child td[data-v-7ffc9fac]{border-bottom:none}.activity-table tr[data-v-7ffc9fac]:hover{background:#f8fafc}.employee-cell[data-v-7ffc9fac]{align-items:center;gap:10px;display:flex}.mini-avatar[data-v-7ffc9fac]{width:32px;height:32px;color:var(--primary);background:#eef2ff;border-radius:8px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.time-cell[data-v-7ffc9fac]{font-family:Courier New,monospace;font-weight:600}.status-badge[data-v-7ffc9fac]{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.badge-on-time[data-v-7ffc9fac]{background:var(--success-light);color:var(--success)}.badge-late[data-v-7ffc9fac]{background:var(--warning-light);color:var(--warning)}.badge-checkout[data-v-7ffc9fac]{background:var(--info-light);color:var(--info)}.badge-leave[data-v-7ffc9fac]{color:#9333ea;background:#f3e8ff}@media (width<=768px){.activity-header[data-v-7ffc9fac]{padding:12px 14px}.activity-header h3[data-v-7ffc9fac]{font-size:14px}.activity-table th[data-v-7ffc9fac]{padding:8px 10px;font-size:11px}.activity-table td[data-v-7ffc9fac]{padding:10px;font-size:13px}.activity-table th[data-v-7ffc9fac]:nth-child(2),.activity-table td[data-v-7ffc9fac]:nth-child(2){display:none}.mini-avatar[data-v-7ffc9fac]{border-radius:6px;width:28px;height:28px;font-size:10px}}.dept-card[data-v-648b2eef]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.dept-header[data-v-648b2eef]{border-bottom:1px solid var(--border);padding:16px 20px}.dept-header h3[data-v-648b2eef]{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.dept-body[data-v-648b2eef]{padding:16px 20px}.dept-row[data-v-648b2eef]{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:10px 0;display:flex}.dept-row[data-v-648b2eef]:last-child{border-bottom:none}.dept-info[data-v-648b2eef]{flex-shrink:0;width:110px}.dept-name[data-v-648b2eef]{color:var(--text-primary);font-size:13px;font-weight:600;display:block}.dept-count[data-v-648b2eef]{color:var(--text-light);font-size:11px}.progress-bar[data-v-648b2eef]{background:#f1f5f9;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-fill[data-v-648b2eef]{border-radius:4px;height:100%;transition:width .4s}.fill-success[data-v-648b2eef]{background:var(--success)}.fill-warning[data-v-648b2eef]{background:var(--warning)}.fill-danger[data-v-648b2eef]{background:var(--danger)}.dept-rate[data-v-648b2eef]{text-align:right;width:40px;font-size:13px;font-weight:700}.text-success[data-v-648b2eef]{color:var(--success)}.text-warning[data-v-648b2eef]{color:var(--warning)}.text-danger[data-v-648b2eef]{color:var(--danger)}.leave-card[data-v-6ac82c6a]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.leave-header[data-v-6ac82c6a]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.leave-header h3[data-v-6ac82c6a]{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.pending-count[data-v-6ac82c6a]{color:var(--warning);background:var(--warning-light);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.leave-body[data-v-6ac82c6a]{padding:8px 20px}.leave-item[data-v-6ac82c6a]{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 0;display:flex}.leave-item[data-v-6ac82c6a]:last-child{border-bottom:none}.leave-avatar[data-v-6ac82c6a]{width:36px;height:36px;color:var(--warning);background:#fef3c7;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.leave-info[data-v-6ac82c6a]{flex:1;min-width:0}.leave-info strong[data-v-6ac82c6a]{font-size:14px;line-height:1.3;display:block}.leave-detail[data-v-6ac82c6a]{color:var(--text-light);font-size:12px}.leave-status[data-v-6ac82c6a]{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.status-pending[data-v-6ac82c6a]{background:var(--warning-light);color:var(--warning)}.status-approved[data-v-6ac82c6a]{background:var(--success-light);color:var(--success)}.leave-footer[data-v-6ac82c6a]{border-top:1px solid var(--border);text-align:center;padding:12px 20px}.leave-footer a[data-v-6ac82c6a]{color:var(--primary);align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.leave-footer a[data-v-6ac82c6a]:hover{color:var(--primary-dark)}.content-grid[data-v-85adf49f]{grid-template-columns:1fr 380px;gap:24px;margin-top:24px;display:grid}.content-left[data-v-85adf49f],.content-right[data-v-85adf49f]{flex-direction:column;gap:24px;display:flex}@media (width<=1200px){.content-grid[data-v-85adf49f]{grid-template-columns:1fr}}@media (width<=768px){.content-grid[data-v-85adf49f]{gap:14px;margin-top:14px}.content-left[data-v-85adf49f],.content-right[data-v-85adf49f]{gap:14px}}.login-page[data-v-5f276dc7]{background:var(--bg-main);align-items:stretch;min-height:100vh;display:flex;position:relative;overflow:hidden}.bg-decoration[data-v-5f276dc7]{pointer-events:none;z-index:0;position:fixed;inset:0}.bg-circle[data-v-5f276dc7]{opacity:.08;background:var(--primary);border-radius:50%;position:absolute}.bg-circle-1[data-v-5f276dc7]{width:600px;height:600px;top:-200px;left:-200px}.bg-circle-2[data-v-5f276dc7]{background:var(--primary-light);opacity:.06;width:400px;height:400px;bottom:-100px;right:-100px}.bg-circle-3[data-v-5f276dc7]{opacity:.04;width:200px;height:200px;top:50%;right:30%}.login-container[data-v-5f276dc7]{z-index:1;width:100%;min-height:100vh;display:flex;position:relative}.login-left[data-v-5f276dc7]{background:linear-gradient(145deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);color:#fff;flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.left-content[data-v-5f276dc7]{max-width:420px}.brand-logo[data-v-5f276dc7]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:24px;font-size:36px;display:flex}.left-content h1[data-v-5f276dc7]{letter-spacing:-.5px;margin-bottom:12px;font-size:40px;font-weight:800}.tagline[data-v-5f276dc7]{opacity:.85;margin-bottom:48px;font-size:17px;line-height:1.7}.feature-list[data-v-5f276dc7]{flex-direction:column;gap:24px;display:flex}.feature-item[data-v-5f276dc7]{align-items:flex-start;gap:16px;display:flex}.feature-icon[data-v-5f276dc7]{background:#ffffff26;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.feature-item strong[data-v-5f276dc7]{margin-bottom:2px;font-size:15px;font-weight:600;display:block}.feature-item span[data-v-5f276dc7]{opacity:.75;font-size:13px}.login-right[data-v-5f276dc7]{background:var(--bg-main);justify-content:center;align-items:center;width:480px;padding:40px 32px;display:flex}.login-card[data-v-5f276dc7]{width:100%;max-width:400px}.mobile-brand[data-v-5f276dc7]{flex-direction:column;align-items:center;margin-bottom:28px;display:none}.mobile-logo[data-v-5f276dc7]{background:var(--primary);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:10px;font-size:28px;display:flex}.mobile-brand h2[data-v-5f276dc7]{color:var(--primary);font-size:22px;font-weight:800}.login-header[data-v-5f276dc7]{margin-bottom:28px}.login-header h2[data-v-5f276dc7]{color:var(--text-primary);margin-bottom:6px;font-size:26px;font-weight:700}.login-header p[data-v-5f276dc7]{color:var(--text-secondary);font-size:14px}.login-form[data-v-5f276dc7]{flex-direction:column;gap:18px;display:flex}.alert-error[data-v-5f276dc7]{background:var(--danger-light);color:var(--danger);border:1px solid #fca5a5;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:500;animation:.3s shake-5f276dc7;display:flex}@keyframes shake-5f276dc7{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.form-group[data-v-5f276dc7]{flex-direction:column;gap:6px;display:flex}.form-group label[data-v-5f276dc7]{color:var(--text-secondary);font-size:13px;font-weight:600}.label-row[data-v-5f276dc7]{justify-content:space-between;align-items:center;display:flex}.forgot-link[data-v-5f276dc7]{color:var(--primary);font-size:12px;font-weight:500;text-decoration:none}.forgot-link[data-v-5f276dc7]:hover{color:var(--primary-dark)}.input-wrapper[data-v-5f276dc7]{align-items:center;display:flex;position:relative}.input-icon[data-v-5f276dc7]{color:var(--text-light);pointer-events:none;font-size:14px;position:absolute;left:14px}.input-wrapper input[data-v-5f276dc7]{border:1.5px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:12px 14px 12px 40px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.input-wrapper input[data-v-5f276dc7]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.input-wrapper input[data-v-5f276dc7]:disabled{opacity:.6;cursor:not-allowed}.input-wrapper input[data-v-5f276dc7]::placeholder{color:var(--text-light)}.toggle-pw[data-v-5f276dc7]{color:var(--text-light);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;font-size:14px;transition:color .2s;display:flex;position:absolute;right:12px}.toggle-pw[data-v-5f276dc7]:hover{color:var(--text-secondary)}.remember-row[data-v-5f276dc7]{margin-top:-4px}.checkbox-label[data-v-5f276dc7]{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-label input[type=checkbox][data-v-5f276dc7]{display:none}.checkmark[data-v-5f276dc7]{border:1.5px solid var(--border);background:var(--bg-card);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.checkbox-label input:checked+.checkmark[data-v-5f276dc7]{background:var(--primary);border-color:var(--primary)}.checkbox-label input:checked+.checkmark[data-v-5f276dc7]:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.btn-login[data-v-5f276dc7]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:13px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #4f46e54d}.btn-login[data-v-5f276dc7]:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px #4f46e566}.btn-login[data-v-5f276dc7]:active:not(:disabled){transform:translateY(0)}.btn-login[data-v-5f276dc7]:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-spinner[data-v-5f276dc7]{align-items:center;gap:8px;display:flex}.divider[data-v-5f276dc7]{color:var(--text-light);align-items:center;gap:12px;margin-top:4px;font-size:13px;display:flex}.divider[data-v-5f276dc7]:before,.divider[data-v-5f276dc7]:after{content:"";background:var(--border);flex:1;height:1px}.google-btn-wrap[data-v-5f276dc7]{flex-direction:column;align-items:center;gap:8px;display:flex}.google-btn-container[data-v-5f276dc7]{justify-content:center;width:100%;min-height:44px;display:flex}.google-btn-container>div[data-v-5f276dc7],.google-btn-container iframe[data-v-5f276dc7]{width:100%!important}.google-btn-placeholder[data-v-5f276dc7]{border:1.5px solid var(--border);width:100%;color:var(--text-light);background:var(--bg-card);border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:14px;display:flex}.google-loading[data-v-5f276dc7]{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.demo-hint[data-v-5f276dc7]{color:var(--primary-dark);background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;align-items:center;gap:8px;margin-top:20px;padding:12px 16px;font-size:13px;display:flex}.demo-hint strong[data-v-5f276dc7]{color:var(--primary)}.login-footer[data-v-5f276dc7]{text-align:center;color:var(--text-light);margin-top:24px;font-size:12px}@media (width<=768px){.login-container[data-v-5f276dc7]{flex-direction:column}.login-left[data-v-5f276dc7]{display:none}.login-right[data-v-5f276dc7]{align-items:flex-start;width:100%;min-height:100vh;padding:48px 20px 32px}.login-card[data-v-5f276dc7]{max-width:100%}.mobile-brand[data-v-5f276dc7]{display:flex}.login-header h2[data-v-5f276dc7]{font-size:22px}.btn-login[data-v-5f276dc7]{padding:14px;font-size:16px}}.page[data-v-458c7df8]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-458c7df8]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-458c7df8]{font-size:22px;font-weight:700}.page-subtitle[data-v-458c7df8]{color:var(--text-secondary);margin-top:2px;font-size:13px}.page-actions[data-v-458c7df8]{gap:10px;display:flex}.btn[data-v-458c7df8]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-458c7df8]{background:var(--primary);color:#fff}.btn-primary[data-v-458c7df8]:hover{background:var(--primary-dark)}.btn-outline[data-v-458c7df8]{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn-outline[data-v-458c7df8]:hover{background:var(--bg-main)}.filters-bar[data-v-458c7df8]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);justify-content:space-between;align-items:flex-end;padding:16px 20px;display:flex}.filter-group[data-v-458c7df8]{gap:16px;display:flex}.filter-item[data-v-458c7df8]{flex-direction:column;gap:4px;display:flex}.filter-item label[data-v-458c7df8]{color:var(--text-secondary);font-size:12px;font-weight:600}.input[data-v-458c7df8]{border:1px solid var(--border);background:var(--bg-main);color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:14px}.input[data-v-458c7df8]:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.search-inline[data-v-458c7df8]{border:1px solid var(--border);background:var(--bg-main);border-radius:6px;align-items:center;gap:8px;padding:8px 14px;display:flex}.search-inline i[data-v-458c7df8]{color:var(--text-light);font-size:14px}.search-inline input[data-v-458c7df8]{background:0 0;border:none;outline:none;width:180px;font-family:inherit;font-size:14px}.table-card[data-v-458c7df8]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden visible}.data-table[data-v-458c7df8]{border-collapse:collapse;width:100%}.data-table th[data-v-458c7df8]{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-main);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table td[data-v-458c7df8]{border-bottom:1px solid var(--border);padding:12px 16px;font-size:14px}.data-table tr:hover td[data-v-458c7df8]{background:#f8fafc}.employee-cell[data-v-458c7df8]{align-items:center;gap:10px;display:flex}.mini-avatar[data-v-458c7df8]{width:32px;height:32px;color:var(--primary);background:#eef2ff;border-radius:8px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.mono[data-v-458c7df8]{font-family:Courier New,monospace;font-weight:600}.badge[data-v-458c7df8]{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.badge-success[data-v-458c7df8]{background:var(--success-light);color:var(--success)}.badge-warning[data-v-458c7df8]{background:var(--warning-light);color:var(--warning)}.badge-purple[data-v-458c7df8]{color:#9333ea;background:#f3e8ff}.icon-btn[data-v-458c7df8]{width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:13px;transition:all .2s}.icon-btn[data-v-458c7df8]:hover{background:var(--bg-main);color:var(--primary)}.pagination[data-v-458c7df8]{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.page-info[data-v-458c7df8]{color:var(--text-secondary);font-size:13px}.page-buttons[data-v-458c7df8]{align-items:center;gap:4px;display:flex}.page-btn[data-v-458c7df8]{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.page-btn[data-v-458c7df8]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active[data-v-458c7df8]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn[data-v-458c7df8]:disabled{opacity:.4;cursor:not-allowed}@media (width<=768px){.page[data-v-458c7df8]{gap:14px}.page-header[data-v-458c7df8]{flex-direction:column;gap:10px}.page-header h2[data-v-458c7df8]{font-size:18px}.page-actions[data-v-458c7df8]{gap:8px;display:flex}.page-actions .btn[data-v-458c7df8]{flex:1;justify-content:center;padding:9px 12px;font-size:13px}.filters-bar[data-v-458c7df8]{flex-direction:column;gap:10px;padding:12px}.filter-group[data-v-458c7df8]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.filter-item[data-v-458c7df8]{flex:unset;min-width:unset}.input[data-v-458c7df8]{width:100%;padding:8px 10px;font-size:13px}.search-inline[data-v-458c7df8]{width:100%}.search-inline input[data-v-458c7df8]{width:100%;font-size:13px}.table-card[data-v-458c7df8]{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table[data-v-458c7df8]{min-width:560px}.data-table th[data-v-458c7df8]{white-space:nowrap;padding:10px;font-size:11px}.data-table td[data-v-458c7df8]{white-space:nowrap;padding:10px;font-size:13px}.employee-cell span[data-v-458c7df8]{white-space:nowrap}.mini-avatar[data-v-458c7df8]{flex-shrink:0;width:28px;height:28px;font-size:10px}.pagination[data-v-458c7df8]{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px}.page-info[data-v-458c7df8]{font-size:12px}}.page[data-v-b475db30]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-b475db30]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-b475db30]{font-size:22px;font-weight:700}.page-subtitle[data-v-b475db30]{color:var(--text-secondary);margin-top:2px;font-size:13px}.page-actions[data-v-b475db30]{gap:10px;display:flex}.btn[data-v-b475db30]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-b475db30]{background:var(--primary);color:#fff}.btn-primary[data-v-b475db30]:hover{background:var(--primary-dark)}.btn-outline[data-v-b475db30]{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn-outline[data-v-b475db30]:hover{background:var(--bg-main)}.mini-stats[data-v-b475db30]{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-item[data-v-b475db30]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.stat-item i[data-v-b475db30]{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.stat-primary i[data-v-b475db30]{color:var(--primary);background:#eef2ff}.stat-success i[data-v-b475db30]{background:var(--success-light);color:var(--success)}.stat-warning i[data-v-b475db30]{background:var(--warning-light);color:var(--warning)}.stat-danger i[data-v-b475db30]{background:var(--danger-light);color:var(--danger)}.stat-item strong[data-v-b475db30]{font-size:22px;line-height:1;display:block}.stat-item span[data-v-b475db30]{color:var(--text-secondary);font-size:12px}.filters-bar[data-v-b475db30]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);justify-content:space-between;align-items:flex-end;padding:16px 20px;display:flex}.filter-group[data-v-b475db30]{gap:16px;display:flex}.filter-item[data-v-b475db30]{flex-direction:column;gap:4px;display:flex}.filter-item label[data-v-b475db30]{color:var(--text-secondary);font-size:12px;font-weight:600}.input[data-v-b475db30]{border:1px solid var(--border);background:var(--bg-main);color:var(--text-primary);border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:14px}.search-inline[data-v-b475db30]{border:1px solid var(--border);background:var(--bg-main);border-radius:6px;align-items:center;gap:8px;padding:8px 14px;display:flex}.search-inline i[data-v-b475db30]{color:var(--text-light);font-size:14px}.search-inline input[data-v-b475db30]{background:0 0;border:none;outline:none;width:180px;font-family:inherit;font-size:14px}.employee-grid[data-v-b475db30]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.emp-card[data-v-b475db30]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:transform .2s,box-shadow .2s;overflow:hidden}.emp-card[data-v-b475db30]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.emp-card-header[data-v-b475db30]{background:linear-gradient(135deg, var(--primary), var(--primary-light));justify-content:center;padding:20px;display:flex;position:relative}.emp-avatar-lg[data-v-b475db30]{color:#fff;background:#fff3;border:2px solid #ffffff80;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:18px;font-weight:700;display:flex}.status-dot[data-v-b475db30]{border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:12px;right:12px}.dot-active[data-v-b475db30]{background:var(--success)}.dot-leave[data-v-b475db30]{background:var(--warning)}.emp-card-body[data-v-b475db30]{text-align:center;padding:16px 20px}.emp-card-body h4[data-v-b475db30]{font-size:16px;font-weight:700}.emp-position[data-v-b475db30]{color:var(--text-secondary);font-size:13px}.emp-details[data-v-b475db30]{flex-direction:column;gap:6px;margin-top:12px;display:flex}.emp-detail[data-v-b475db30]{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.emp-detail i[data-v-b475db30]{width:14px;color:var(--text-light)}.emp-card-footer[data-v-b475db30]{border-top:1px solid var(--border);justify-content:center;gap:8px;padding:12px;display:flex}.icon-btn[data-v-b475db30]{border:1px solid var(--border);width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex}.icon-btn[data-v-b475db30]:hover{background:var(--bg-main);color:var(--primary);border-color:var(--primary-light)}.pagination[data-v-b475db30]{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.page-info[data-v-b475db30]{color:var(--text-secondary);font-size:13px}.page-buttons[data-v-b475db30]{align-items:center;gap:4px;display:flex}.page-btn[data-v-b475db30]{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.page-btn[data-v-b475db30]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn.active[data-v-b475db30]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn[data-v-b475db30]:disabled{opacity:.4;cursor:not-allowed}@media (width<=768px){.page-header[data-v-b475db30]{flex-direction:column;gap:12px}.page-actions[data-v-b475db30]{width:100%}.page-actions .btn[data-v-b475db30]{flex:1;justify-content:center}.mini-stats[data-v-b475db30]{grid-template-columns:repeat(2,1fr);gap:10px}.stat-item[data-v-b475db30]{gap:10px;padding:12px 14px}.stat-item strong[data-v-b475db30]{font-size:18px}.filters-bar[data-v-b475db30]{flex-direction:column;gap:12px;padding:14px}.filter-group[data-v-b475db30]{gap:10px;width:100%}.filter-item[data-v-b475db30]{flex:1;min-width:120px}.input[data-v-b475db30],.search-inline[data-v-b475db30],.search-inline input[data-v-b475db30]{width:100%}.employee-grid[data-v-b475db30]{grid-template-columns:repeat(2,1fr);gap:12px}.emp-card-body[data-v-b475db30]{padding:12px 14px}.emp-card-body h4[data-v-b475db30]{font-size:14px}.emp-position[data-v-b475db30]{font-size:12px}.emp-details[data-v-b475db30]{gap:4px}.emp-detail[data-v-b475db30]{font-size:12px}.pagination[data-v-b475db30]{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=400px){.employee-grid[data-v-b475db30]{grid-template-columns:1fr}}.page[data-v-290e8984]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-290e8984]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-290e8984]{font-size:22px;font-weight:700}.page-subtitle[data-v-290e8984]{color:var(--text-secondary);margin-top:2px;font-size:13px}.btn[data-v-290e8984]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-290e8984]{background:var(--primary);color:#fff}.btn-primary[data-v-290e8984]:hover{background:var(--primary-dark)}.dept-grid[data-v-290e8984]{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.dept-card[data-v-290e8984]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);border-top:3px solid #0000;transition:transform .2s,box-shadow .2s;overflow:hidden}.dept-card[data-v-290e8984]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dept-card-top[data-v-290e8984]{border-top:3px solid;padding:20px}.dept-icon[data-v-290e8984]{border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:12px;font-size:18px;display:flex}.dept-card-top h3[data-v-290e8984]{font-size:18px;font-weight:700}.dept-head[data-v-290e8984]{color:var(--text-secondary);align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.dept-stats[data-v-290e8984]{border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;grid-template-columns:repeat(3,1fr);padding:16px 20px;display:grid}.dept-stat strong[data-v-290e8984]{font-size:20px;display:block}.dept-stat span[data-v-290e8984]{color:var(--text-light);font-size:11px}.text-success[data-v-290e8984]{color:var(--success)}.text-warning[data-v-290e8984]{color:var(--warning)}.dept-bar-section[data-v-290e8984]{padding:16px 20px}.dept-bar-header[data-v-290e8984]{color:var(--text-secondary);justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.dept-progress[data-v-290e8984]{background:var(--bg-main);border-radius:4px;height:8px;overflow:hidden}.dept-progress-fill[data-v-290e8984]{border-radius:4px;height:100%;transition:width .4s}.dept-card-footer[data-v-290e8984]{border-top:1px solid var(--border);gap:8px;padding:12px 20px;display:flex}.btn-sm[data-v-290e8984]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.btn-sm[data-v-290e8984]:hover{background:var(--bg-main);color:var(--primary);border-color:var(--primary-light)}@media (width<=768px){.page-header[data-v-290e8984]{flex-direction:column;gap:12px}.btn[data-v-290e8984]{justify-content:center;width:100%}.dept-grid[data-v-290e8984]{grid-template-columns:1fr;gap:14px}.dept-card-top[data-v-290e8984]{padding:16px}.dept-stats[data-v-290e8984],.dept-bar-section[data-v-290e8984]{padding:12px 16px}.dept-card-footer[data-v-290e8984]{padding:10px 16px}}.page[data-v-46fd13bd]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-46fd13bd]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-46fd13bd]{font-size:22px;font-weight:700}.page-subtitle[data-v-46fd13bd]{color:var(--text-secondary);margin-top:2px;font-size:13px}.page-actions[data-v-46fd13bd]{gap:10px;display:flex}.btn[data-v-46fd13bd]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-46fd13bd]{background:var(--primary);color:#fff}.btn-primary[data-v-46fd13bd]:hover{background:var(--primary-dark)}.btn-outline[data-v-46fd13bd]{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn-outline[data-v-46fd13bd]:hover{background:var(--bg-main)}.shift-cards[data-v-46fd13bd]{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.shift-card[data-v-46fd13bd]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);border-left:4px solid;align-items:center;gap:14px;padding:16px 20px;display:flex}.shift-icon[data-v-46fd13bd]{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.shift-info[data-v-46fd13bd]{flex:1}.shift-info strong[data-v-46fd13bd]{font-size:15px;display:block}.shift-info span[data-v-46fd13bd]{color:var(--text-light);font-size:12px}.shift-count[data-v-46fd13bd]{text-align:center}.shift-count strong[data-v-46fd13bd]{color:var(--text-primary);font-size:22px;font-weight:700;display:block}.shift-count span[data-v-46fd13bd]{color:var(--text-light);font-size:11px}.week-nav[data-v-46fd13bd]{justify-content:center;align-items:center;gap:16px;display:flex}.week-nav h3[data-v-46fd13bd]{align-items:center;gap:8px;font-size:16px;display:flex}.nav-btn[data-v-46fd13bd]{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.nav-btn[data-v-46fd13bd]:hover{background:var(--bg-main);color:var(--primary)}.table-card[data-v-46fd13bd]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.schedule-table[data-v-46fd13bd]{border-collapse:collapse;width:100%;min-width:800px}.schedule-table th[data-v-46fd13bd]{color:var(--text-secondary);background:var(--bg-main);border-bottom:1px solid var(--border);text-align:center;padding:12px 16px;font-size:13px;font-weight:600}.schedule-table th.sticky-col[data-v-46fd13bd]{text-align:left;min-width:200px}.schedule-table td[data-v-46fd13bd]{border-bottom:1px solid var(--border);text-align:center;padding:12px 16px}.schedule-table td.sticky-col[data-v-46fd13bd]{text-align:left}.schedule-table tr:hover td[data-v-46fd13bd]{background:#f8fafc}.employee-cell[data-v-46fd13bd]{align-items:center;gap:10px;display:flex}.mini-avatar[data-v-46fd13bd]{width:32px;height:32px;color:var(--primary);background:#eef2ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.employee-cell strong[data-v-46fd13bd]{font-size:14px;line-height:1.2;display:block}.emp-dept[data-v-46fd13bd]{color:var(--text-light);font-size:11px}.shift-badge[data-v-46fd13bd]{border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600}.shift-morning[data-v-46fd13bd]{color:var(--primary);background:#eef2ff}.shift-afternoon[data-v-46fd13bd]{background:var(--warning-light);color:var(--warning)}.shift-night[data-v-46fd13bd]{color:#8b5cf6;background:#f3e8ff}.shift-off[data-v-46fd13bd]{color:var(--text-light);font-size:12px}@media (width<=768px){.page-header[data-v-46fd13bd]{flex-direction:column;gap:12px}.page-actions[data-v-46fd13bd]{gap:8px;width:100%;display:flex}.page-actions .btn[data-v-46fd13bd]{flex:1;justify-content:center;padding:9px 12px;font-size:13px}.shift-cards[data-v-46fd13bd]{grid-template-columns:1fr;gap:10px}.shift-card[data-v-46fd13bd]{padding:12px 14px}.shift-count strong[data-v-46fd13bd]{font-size:18px}.week-nav h3[data-v-46fd13bd]{font-size:14px}.table-card[data-v-46fd13bd]{-webkit-overflow-scrolling:touch;overflow-x:auto}.schedule-table[data-v-46fd13bd]{min-width:600px}.schedule-table th[data-v-46fd13bd],.schedule-table td[data-v-46fd13bd]{padding:10px}.schedule-table th.sticky-col[data-v-46fd13bd]{min-width:140px}.employee-cell strong[data-v-46fd13bd]{font-size:13px}.shift-badge[data-v-46fd13bd]{padding:3px 8px;font-size:11px}}.page[data-v-f2c2fbcb]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-f2c2fbcb]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-f2c2fbcb]{font-size:22px;font-weight:700}.page-subtitle[data-v-f2c2fbcb]{color:var(--text-secondary);margin-top:2px;font-size:13px}.btn[data-v-f2c2fbcb]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-f2c2fbcb]{background:var(--primary);color:#fff}.btn-primary[data-v-f2c2fbcb]:hover{background:var(--primary-dark)}.mini-stats[data-v-f2c2fbcb]{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-item[data-v-f2c2fbcb]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.stat-item i[data-v-f2c2fbcb]{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.stat-primary i[data-v-f2c2fbcb]{color:var(--primary);background:#eef2ff}.stat-success i[data-v-f2c2fbcb]{background:var(--success-light);color:var(--success)}.stat-warning i[data-v-f2c2fbcb]{background:var(--warning-light);color:var(--warning)}.stat-danger i[data-v-f2c2fbcb]{background:var(--danger-light);color:var(--danger)}.stat-item strong[data-v-f2c2fbcb]{font-size:22px;line-height:1;display:block}.stat-item span[data-v-f2c2fbcb]{color:var(--text-secondary);font-size:12px}.leave-layout[data-v-f2c2fbcb]{grid-template-columns:1fr 320px;gap:20px;display:grid}.table-card[data-v-f2c2fbcb]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.table-header[data-v-f2c2fbcb]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.table-header h3[data-v-f2c2fbcb]{font-size:15px;font-weight:600}.tab-filters[data-v-f2c2fbcb]{gap:4px;display:flex}.tab[data-v-f2c2fbcb]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px;transition:all .2s}.tab.active[data-v-f2c2fbcb]{background:var(--primary);color:#fff;border-color:var(--primary)}.tab[data-v-f2c2fbcb]:hover:not(.active){background:var(--bg-main)}.data-table[data-v-f2c2fbcb]{border-collapse:collapse;width:100%}.data-table th[data-v-f2c2fbcb]{text-align:left;color:var(--text-secondary);background:var(--bg-main);border-bottom:1px solid var(--border);padding:10px 16px;font-size:12px;font-weight:600}.data-table td[data-v-f2c2fbcb]{border-bottom:1px solid var(--border);padding:12px 16px;font-size:13px}.data-table tr:hover td[data-v-f2c2fbcb]{background:#f8fafc}.employee-cell[data-v-f2c2fbcb]{align-items:center;gap:10px;display:flex}.mini-avatar[data-v-f2c2fbcb]{width:32px;height:32px;color:var(--primary);background:#eef2ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.employee-cell strong[data-v-f2c2fbcb]{font-size:13px;line-height:1.2;display:block}.emp-dept[data-v-f2c2fbcb]{color:var(--text-light);font-size:11px}.type-badge[data-v-f2c2fbcb]{border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500}.type-sick[data-v-f2c2fbcb]{background:var(--danger-light);color:var(--danger)}.type-personal[data-v-f2c2fbcb]{background:var(--warning-light);color:var(--warning)}.type-vacation[data-v-f2c2fbcb]{background:var(--info-light);color:var(--info)}.badge[data-v-f2c2fbcb]{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.badge-success[data-v-f2c2fbcb]{background:var(--success-light);color:var(--success)}.badge-warning[data-v-f2c2fbcb]{background:var(--warning-light);color:var(--warning)}.badge-danger[data-v-f2c2fbcb]{background:var(--danger-light);color:var(--danger)}.nowrap[data-v-f2c2fbcb]{white-space:nowrap}.center[data-v-f2c2fbcb]{text-align:center}.reason-cell[data-v-f2c2fbcb]{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.text-muted[data-v-f2c2fbcb]{color:var(--text-light)}.action-btns[data-v-f2c2fbcb]{gap:4px;display:flex}.icon-btn[data-v-f2c2fbcb]{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;transition:all .2s;display:flex}.icon-btn.approve[data-v-f2c2fbcb]{background:var(--success-light);color:var(--success)}.icon-btn.approve[data-v-f2c2fbcb]:hover{background:var(--success);color:#fff}.icon-btn.reject[data-v-f2c2fbcb]{background:var(--danger-light);color:var(--danger)}.icon-btn.reject[data-v-f2c2fbcb]:hover{background:var(--danger);color:#fff}.leave-balance[data-v-f2c2fbcb],.upcoming-card[data-v-f2c2fbcb]{flex-direction:column;gap:20px;display:flex}.balance-card[data-v-f2c2fbcb],.upcoming-card[data-v-f2c2fbcb]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:20px}.balance-card h3[data-v-f2c2fbcb],.upcoming-card h3[data-v-f2c2fbcb]{align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:600;display:flex}.balance-list[data-v-f2c2fbcb]{flex-direction:column;gap:16px;display:flex}.balance-header[data-v-f2c2fbcb]{justify-content:space-between;margin-bottom:6px;display:flex}.balance-type[data-v-f2c2fbcb]{font-size:13px;font-weight:600}.balance-count[data-v-f2c2fbcb]{color:var(--text-secondary);font-size:12px}.balance-bar[data-v-f2c2fbcb]{background:var(--bg-main);border-radius:4px;height:8px;overflow:hidden}.balance-fill[data-v-f2c2fbcb]{border-radius:4px;height:100%;transition:width .4s}.balance-remain[data-v-f2c2fbcb]{color:var(--text-light);margin-top:4px;font-size:11px}.holiday-list[data-v-f2c2fbcb]{flex-direction:column;gap:12px;display:flex}.holiday-item[data-v-f2c2fbcb]{align-items:center;gap:12px;display:flex}.holiday-date[data-v-f2c2fbcb]{background:var(--danger-light);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.holiday-date strong[data-v-f2c2fbcb]{color:var(--danger);font-size:18px;line-height:1}.holiday-date span[data-v-f2c2fbcb]{color:var(--danger);font-size:11px}.holiday-info strong[data-v-f2c2fbcb]{font-size:14px;line-height:1.3;display:block}.holiday-info span[data-v-f2c2fbcb]{color:var(--text-light);font-size:12px}@media (width<=1200px){.leave-layout[data-v-f2c2fbcb]{grid-template-columns:1fr}}@media (width<=768px){.page-header[data-v-f2c2fbcb]{flex-direction:column;gap:12px}.btn[data-v-f2c2fbcb]{justify-content:center;width:100%}.mini-stats[data-v-f2c2fbcb]{grid-template-columns:repeat(2,1fr);gap:10px}.stat-item[data-v-f2c2fbcb]{gap:10px;padding:12px 14px}.stat-item strong[data-v-f2c2fbcb]{font-size:18px}.table-header[data-v-f2c2fbcb]{flex-direction:column;align-items:flex-start;gap:10px}.tab-filters[data-v-f2c2fbcb]{white-space:nowrap;gap:6px;width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.tab[data-v-f2c2fbcb]{flex-shrink:0}.table-card[data-v-f2c2fbcb]{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table[data-v-f2c2fbcb]{min-width:580px}.data-table th[data-v-f2c2fbcb],.data-table td[data-v-f2c2fbcb]{padding:10px}.data-table th[data-v-f2c2fbcb]:nth-child(4),.data-table td[data-v-f2c2fbcb]:nth-child(4),.data-table th[data-v-f2c2fbcb]:nth-child(5),.data-table td[data-v-f2c2fbcb]:nth-child(5){display:none}}.page[data-v-1e1ca2cb]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-1e1ca2cb]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-1e1ca2cb]{font-size:22px;font-weight:700}.page-subtitle[data-v-1e1ca2cb]{color:var(--text-secondary);margin-top:2px;font-size:13px}.report-grid[data-v-1e1ca2cb]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.report-card[data-v-1e1ca2cb]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.report-card[data-v-1e1ca2cb]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-icon[data-v-1e1ca2cb]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.report-info[data-v-1e1ca2cb]{flex:1}.report-info h4[data-v-1e1ca2cb]{font-size:14px;font-weight:600;line-height:1.3}.report-info p[data-v-1e1ca2cb]{color:var(--text-light);margin-top:2px;font-size:12px}.btn-generate[data-v-1e1ca2cb]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:12px;transition:all .2s;display:flex}.btn-generate[data-v-1e1ca2cb]:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.table-card[data-v-1e1ca2cb]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.table-header[data-v-1e1ca2cb]{border-bottom:1px solid var(--border);padding:16px 20px}.table-header h3[data-v-1e1ca2cb]{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.data-table[data-v-1e1ca2cb]{border-collapse:collapse;width:100%}.data-table th[data-v-1e1ca2cb]{text-align:left;color:var(--text-secondary);background:var(--bg-main);border-bottom:1px solid var(--border);padding:10px 16px;font-size:12px;font-weight:600}.data-table td[data-v-1e1ca2cb]{border-bottom:1px solid var(--border);padding:12px 16px;font-size:14px}.data-table tr:hover td[data-v-1e1ca2cb]{background:#f8fafc}.file-cell[data-v-1e1ca2cb]{align-items:center;gap:10px;display:flex}.file-icon[data-v-1e1ca2cb]{font-size:18px}.download-btn[data-v-1e1ca2cb]{border:1px solid var(--border);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;transition:all .2s;display:inline-flex}.download-btn[data-v-1e1ca2cb]:hover{background:var(--primary);color:#fff;border-color:var(--primary)}@media (width<=768px){.report-grid[data-v-1e1ca2cb]{grid-template-columns:1fr;gap:10px}.report-card[data-v-1e1ca2cb]{gap:12px;padding:14px}.report-icon[data-v-1e1ca2cb]{border-radius:10px;width:40px;height:40px;font-size:16px}.btn-generate[data-v-1e1ca2cb]{white-space:nowrap;padding:8px 12px}.table-card[data-v-1e1ca2cb]{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table[data-v-1e1ca2cb]{min-width:500px}.data-table th[data-v-1e1ca2cb],.data-table td[data-v-1e1ca2cb]{padding:10px 12px}.data-table th[data-v-1e1ca2cb]:nth-child(3),.data-table td[data-v-1e1ca2cb]:nth-child(3){display:none}}.map-page[data-v-16dbf088]{flex-direction:column;gap:20px;display:flex}.map-stats[data-v-16dbf088]{flex-wrap:wrap;gap:12px;display:flex}.stat-chip[data-v-16dbf088]{background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 18px;transition:all .2s;display:flex}.stat-chip[data-v-16dbf088]:hover{border-color:var(--primary)}.stat-chip.active[data-v-16dbf088]{border-color:var(--primary);background:#eef2ff}.stat-dot[data-v-16dbf088]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stat-label[data-v-16dbf088]{color:var(--text);font-weight:500}.stat-count[data-v-16dbf088]{color:var(--primary);font-size:1.1em;font-weight:700}.map-layout[data-v-16dbf088]{grid-template-columns:340px 1fr;gap:20px;height:calc(100vh - 260px);min-height:500px;display:grid}.employee-panel[data-v-16dbf088]{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.panel-header[data-v-16dbf088]{border-bottom:1px solid var(--border);padding:16px 20px}.panel-header h3[data-v-16dbf088]{margin:0;font-size:1rem;font-weight:600}.employee-list[data-v-16dbf088]{flex:1;overflow-y:auto}.employee-item[data-v-16dbf088]{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 20px;transition:background .15s;display:flex}.employee-item[data-v-16dbf088]:hover{background:#f8fafc}.employee-item.selected[data-v-16dbf088]{border-left:3px solid var(--primary);background:#eef2ff}.emp-avatar[data-v-16dbf088]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:600;display:flex}.emp-info[data-v-16dbf088]{flex:1;min-width:0}.emp-name[data-v-16dbf088]{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.emp-dept[data-v-16dbf088]{color:var(--text-muted);font-size:.8rem}.emp-meta[data-v-16dbf088]{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.emp-status-badge[data-v-16dbf088]{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:500}.emp-status-badge.checked-in[data-v-16dbf088]{color:#065f46;background:#d1fae5}.emp-status-badge.outside[data-v-16dbf088]{color:#92400e;background:#fef3c7}.emp-status-badge.not-checked[data-v-16dbf088]{color:#64748b;background:#f1f5f9}.emp-time[data-v-16dbf088]{color:var(--text-muted);font-size:.75rem}.map-container[data-v-16dbf088]{border-radius:var(--radius);border:1px solid var(--border);background:#e2e8f0;position:relative;overflow:hidden}.google-map[data-v-16dbf088]{width:100%;height:100%}.map-placeholder[data-v-16dbf088]{background:linear-gradient(135deg,#e0e7ff 0%,#f0fdf4 50%,#fef3c7 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder-content[data-v-16dbf088]{text-align:center;z-index:1;position:relative}.placeholder-icon[data-v-16dbf088]{color:var(--primary);margin-bottom:12px;font-size:3.5rem}.placeholder-content h3[data-v-16dbf088]{color:var(--text);margin:0 0 4px;font-size:1.3rem}.placeholder-content>p[data-v-16dbf088]{color:var(--text-muted);margin:0}.placeholder-pins[data-v-16dbf088]{pointer-events:none;position:absolute;inset:-120px}.pin[data-v-16dbf088]{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute}.pin-office[data-v-16dbf088]{color:var(--primary);font-size:1.5rem}.pin-office .pin-label[data-v-16dbf088]{background:var(--primary);color:#fff;white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:.7rem}.pin-dot[data-v-16dbf088]{border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #0003}.pin-green .pin-dot[data-v-16dbf088]{background:#10b981}.pin-yellow .pin-dot[data-v-16dbf088]{background:#f59e0b}.placeholder-legend[data-v-16dbf088]{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:24px;display:flex}.placeholder-legend span[data-v-16dbf088]{color:var(--text-muted);align-items:center;gap:4px;font-size:.8rem;display:flex}.placeholder-legend i[data-v-16dbf088]{font-size:.55rem}.placeholder-note[data-v-16dbf088]{color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffffb3;align-items:center;gap:6px;margin-top:20px;padding:8px 16px;font-size:.8rem;display:inline-flex}@media (width<=900px){.map-layout[data-v-16dbf088]{grid-template-columns:1fr;height:auto}.employee-panel[data-v-16dbf088]{max-height:300px}.map-container[data-v-16dbf088]{min-height:400px}}.page[data-v-11bc10f3]{flex-direction:column;gap:20px;display:flex}.page-header[data-v-11bc10f3]{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2[data-v-11bc10f3]{font-size:22px;font-weight:700}.page-subtitle[data-v-11bc10f3]{color:var(--text-secondary);margin-top:2px;font-size:13px}.btn[data-v-11bc10f3]{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-11bc10f3]{background:var(--primary);color:#fff}.btn-primary[data-v-11bc10f3]:hover{background:var(--primary-dark)}.settings-grid[data-v-11bc10f3]{grid-template-columns:1fr 340px;gap:20px;display:grid}.settings-main[data-v-11bc10f3],.settings-sidebar[data-v-11bc10f3]{flex-direction:column;gap:20px;display:flex}.settings-card[data-v-11bc10f3]{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.settings-card-header[data-v-11bc10f3]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.settings-card-header i[data-v-11bc10f3]{color:var(--primary);font-size:16px}.settings-card-header h3[data-v-11bc10f3]{font-size:15px;font-weight:600}.settings-card-body[data-v-11bc10f3]{padding:20px}.form-group[data-v-11bc10f3]{margin-bottom:16px}.form-group[data-v-11bc10f3]:last-child{margin-bottom:0}.form-group label[data-v-11bc10f3]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input[data-v-11bc10f3]{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--bg-main);border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-input[data-v-11bc10f3]:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.toggle-row[data-v-11bc10f3]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.toggle-row[data-v-11bc10f3]:last-child{border-bottom:none}.toggle-info strong[data-v-11bc10f3]{font-size:14px;display:block}.toggle-info span[data-v-11bc10f3]{color:var(--text-light);font-size:12px}.switch[data-v-11bc10f3]{flex-shrink:0;width:44px;height:24px;position:relative}.switch input[data-v-11bc10f3]{opacity:0;width:0;height:0}.slider[data-v-11bc10f3]{cursor:pointer;background:#cbd5e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider[data-v-11bc10f3]:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider[data-v-11bc10f3]{background:var(--primary)}.switch input:checked+.slider[data-v-11bc10f3]:before{transform:translate(20px)}.security-item[data-v-11bc10f3]{cursor:pointer;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 0;transition:all .2s;display:flex}.security-item[data-v-11bc10f3]:last-child{border-bottom:none}.security-item[data-v-11bc10f3]:hover{opacity:.7}.security-item>i[data-v-11bc10f3]:first-child{width:36px;height:36px;color:var(--primary);background:#eef2ff;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex}.security-item div[data-v-11bc10f3]{flex:1}.security-item strong[data-v-11bc10f3]{font-size:14px;line-height:1.3;display:block}.security-item span[data-v-11bc10f3],.arrow[data-v-11bc10f3]{color:var(--text-light);font-size:12px}.info-row[data-v-11bc10f3]{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.info-row[data-v-11bc10f3]:last-of-type{border-bottom:none}.info-row span[data-v-11bc10f3]{color:var(--text-secondary)}.info-row strong[data-v-11bc10f3]{color:var(--text-primary)}.text-success[data-v-11bc10f3]{color:var(--success)!important}.btn-backup[data-v-11bc10f3]{border:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:10px;font-family:inherit;font-size:14px;transition:all .2s;display:flex}.btn-backup[data-v-11bc10f3]:hover{background:var(--bg-main);color:var(--primary);border-color:var(--primary-light)}@media (width<=1200px){.settings-grid[data-v-11bc10f3]{grid-template-columns:1fr}}@media (width<=768px){.page-header[data-v-11bc10f3]{flex-direction:column;gap:12px}.btn[data-v-11bc10f3]{justify-content:center;width:100%}.settings-card-body[data-v-11bc10f3]{padding:14px}.toggle-row[data-v-11bc10f3]{gap:12px;padding:12px 0}.toggle-info[data-v-11bc10f3]{flex:1;min-width:0}.toggle-info strong[data-v-11bc10f3]{font-size:13px}.toggle-info span[data-v-11bc10f3]{font-size:11px}}.portal-shell[data-v-8d8c0094]{flex-direction:column;min-height:calc(100vh - 64px);padding-bottom:80px;display:flex;position:relative}.tab-content[data-v-8d8c0094]{flex-direction:column;flex:1;gap:20px;padding:4px 0 8px;display:flex}.bottom-nav[data-v-8d8c0094]{z-index:100;background:#fff;border-top:1px solid #e2e8f0;align-items:stretch;height:68px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.nav-item[data-v-8d8c0094]{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 0;font-family:inherit;font-size:11px;font-weight:500;transition:all .2s;display:flex;position:relative}.nav-item i[data-v-8d8c0094]{font-size:22px;transition:transform .2s}.nav-item.active[data-v-8d8c0094]{color:#4f46e5}.nav-item.active i[data-v-8d8c0094]{transform:translateY(-2px)}.nav-item.active[data-v-8d8c0094]:after{content:"";background:#4f46e5;border-radius:0 0 4px 4px;height:3px;position:absolute;top:0;left:20%;right:20%}.clock-card[data-v-8d8c0094]{text-align:center;color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:20px;padding:28px 24px;box-shadow:0 8px 24px #4f46e54d}.clock-date[data-v-8d8c0094]{opacity:.75;margin:0 0 10px;font-size:14px}.clock-time[data-v-8d8c0094]{letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:60px;font-weight:800;line-height:1}.clock-status[data-v-8d8c0094]{background:#ffffff26;border-radius:20px;align-items:center;gap:7px;margin-top:14px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-flex}.status-dot[data-v-8d8c0094]{border-radius:50%;width:8px;height:8px}.status-in .status-dot[data-v-8d8c0094]{background:#4ade80;animation:1.5s infinite blink-8d8c0094;box-shadow:0 0 0 3px #4ade804d}.status-out .status-dot[data-v-8d8c0094]{background:#fff6}@keyframes blink-8d8c0094{0%,to{opacity:1}50%{opacity:.4}}.clock-actions[data-v-8d8c0094]{flex-direction:column;align-items:center;gap:16px;display:flex}.btn-main[data-v-8d8c0094]{cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;padding:18px 28px;font-family:inherit;font-size:18px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #0000001f}.btn-main i[data-v-8d8c0094]{font-size:22px}.btn-checkin[data-v-8d8c0094]{color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.btn-checkin[data-v-8d8c0094]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.btn-checkout[data-v-8d8c0094]{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-checkout[data-v-8d8c0094]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ef444466}.today-row[data-v-8d8c0094]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;width:100%;display:flex;overflow:hidden}.today-chip[data-v-8d8c0094]{color:#1e293b;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;font-size:13px;font-weight:600;display:flex}.today-chip i[data-v-8d8c0094]{color:#4f46e5;font-size:16px}.today-divider[data-v-8d8c0094]{background:#e2e8f0;flex-shrink:0;width:1px;height:36px}.section-card[data-v-8d8c0094]{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.section-head[data-v-8d8c0094]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.section-head h3[data-v-8d8c0094]{color:#1e293b;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.section-head h3 i[data-v-8d8c0094]{color:#4f46e5}.btn-text[data-v-8d8c0094]{color:#4f46e5;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-family:inherit;font-size:13px;transition:background .2s;display:flex}.btn-text[data-v-8d8c0094]:hover{background:#eef2ff}.record-item[data-v-8d8c0094]{border-bottom:1px solid #f8fafc;align-items:center;gap:12px;padding:12px 18px;transition:background .15s;display:flex}.record-item[data-v-8d8c0094]:last-child{border-bottom:none}.record-item[data-v-8d8c0094]:hover{background:#f8fafc}.rec-date[data-v-8d8c0094]{flex-direction:column;min-width:64px;display:flex}.rec-day[data-v-8d8c0094]{color:#1e293b;font-size:13px;font-weight:600}.rec-full[data-v-8d8c0094]{color:#94a3b8;font-size:11px}.rec-times[data-v-8d8c0094]{color:#334155;flex:1;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.rec-arrow[data-v-8d8c0094]{color:#cbd5e1;font-size:10px}.rec-in[data-v-8d8c0094]{color:#059669}.rec-out[data-v-8d8c0094]{color:#dc2626}.rec-right[data-v-8d8c0094]{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.rec-hours[data-v-8d8c0094]{color:#64748b;font-size:11px}.status-badge[data-v-8d8c0094]{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600}.badge-normal[data-v-8d8c0094]{color:#065f46;background:#d1fae5}.badge-late[data-v-8d8c0094]{color:#854d0e;background:#fef9c3}.badge-absent[data-v-8d8c0094]{color:#991b1b;background:#fee2e2}.badge-inprogress[data-v-8d8c0094]{color:#1e40af;background:#dbeafe}.badge-leave[data-v-8d8c0094]{color:#6b21a8;background:#f3e8ff}.fab-wrap[data-v-8d8c0094]{z-index:200;flex-direction:column;align-items:flex-end;gap:0;display:flex;position:fixed;bottom:84px;right:20px}.fab-backdrop[data-v-8d8c0094]{z-index:198;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;position:fixed;inset:0}.fab-backdrop-fade-enter-active[data-v-8d8c0094],.fab-backdrop-fade-leave-active[data-v-8d8c0094]{transition:opacity .2s}.fab-backdrop-fade-enter-from[data-v-8d8c0094],.fab-backdrop-fade-leave-to[data-v-8d8c0094]{opacity:0}.fab-menu[data-v-8d8c0094]{z-index:201;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:68px;right:0}.fab-menu-fade-enter-active[data-v-8d8c0094]{transition:all .22s cubic-bezier(.34,1.56,.64,1)}.fab-menu-fade-leave-active[data-v-8d8c0094]{transition:all .15s}.fab-menu-fade-enter-from[data-v-8d8c0094]{opacity:0;transform:translateY(12px)scale(.92)}.fab-menu-fade-leave-to[data-v-8d8c0094]{opacity:0;transform:translateY(8px)scale(.95)}.fab-item[data-v-8d8c0094]{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-family:inherit;display:flex}.fab-item-label[data-v-8d8c0094]{color:#fff;white-space:nowrap;background:#1e293b;border-radius:20px;padding:7px 14px;font-size:13px;font-weight:600;box-shadow:0 2px 10px #00000040}.fab-item-icon[data-v-8d8c0094]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;transition:transform .15s;display:flex;box-shadow:0 4px 14px #0003}.fab-item:hover .fab-item-icon[data-v-8d8c0094]{transform:scale(1.1)}.fab-item:hover .fab-item-label[data-v-8d8c0094]{background:#0f172a}.fab[data-v-8d8c0094]{color:#fff;cursor:pointer;z-index:202;background:linear-gradient(135deg,#0ea5e9,#6366f1);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 6px 20px #6366f173}.fab[data-v-8d8c0094]:hover{transform:scale(1.08);box-shadow:0 8px 28px #6366f18c}.fab-icon[data-v-8d8c0094]{font-size:22px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.fab.fab-open[data-v-8d8c0094]{box-shadow:0 6px 24px #6366f199}.fab.fab-open .fab-icon[data-v-8d8c0094]{transform:rotate(45deg)}.ot-modal-box[data-v-8d8c0094]{flex-direction:column;max-height:90vh;display:flex}.ot-modal-body[data-v-8d8c0094]{flex-direction:column;gap:0;display:flex;overflow-y:auto;flex:1!important;padding:0!important}.ot-modal-footer[data-v-8d8c0094]{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.ot-date-bar[data-v-8d8c0094]{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;display:flex}.ot-section[data-v-8d8c0094]{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.ot-section[data-v-8d8c0094]:last-child{border-bottom:none}.ot-section-title[data-v-8d8c0094]{color:#334155;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.ot-time-compare[data-v-8d8c0094]{align-items:center;gap:8px;display:flex}.otc-block[data-v-8d8c0094]{border-radius:10px;flex-direction:column;flex:1;gap:5px;padding:10px;display:flex}.otc-shift[data-v-8d8c0094]{background:#eff6ff}.otc-actual[data-v-8d8c0094]{background:#fffbeb}.otc-label[data-v-8d8c0094]{color:#94a3b8;letter-spacing:.3px;font-size:10px;font-weight:600}.otc-shift-name[data-v-8d8c0094]{color:#334155;font-size:12px;font-weight:700}.otc-time-row[data-v-8d8c0094]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.otc-time-chip[data-v-8d8c0094]{border-radius:6px;align-items:center;gap:4px;padding:3px 7px;font-size:12px;font-weight:700;display:inline-flex}.shift-chip[data-v-8d8c0094]{color:#1d4ed8;background:#dbeafe}.actual-chip[data-v-8d8c0094]{color:#b45309;background:#fef3c7}.otc-sep[data-v-8d8c0094]{color:#cbd5e1;font-size:11px}.otc-divider[data-v-8d8c0094]{color:#cbd5e1;flex-shrink:0;padding:0 2px;font-size:12px}.ot-detect-badge[data-v-8d8c0094]{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.ot-time-inputs[data-v-8d8c0094]{align-items:flex-end;gap:8px;display:flex}.ot-time-group[data-v-8d8c0094]{flex-direction:column;flex:1;gap:5px;display:flex}.ot-time-group label[data-v-8d8c0094]{color:#64748b;font-size:11px;font-weight:600}.ot-time-input[data-v-8d8c0094]{color:#1e293b;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:9px 10px;font-family:inherit;font-size:15px;font-weight:700;transition:border-color .2s}.ot-time-input[data-v-8d8c0094]:focus{border-color:#f59e0b}.ot-time-arrow[data-v-8d8c0094]{color:#94a3b8;flex-shrink:0;padding-bottom:10px;font-size:14px}.ot-duration-pill[data-v-8d8c0094]{color:#b45309;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fde68a;border-radius:20px;align-self:flex-start;align-items:center;gap:7px;padding:7px 14px;font-size:13px;display:inline-flex}.ot-detail-input[data-v-8d8c0094]{box-sizing:border-box;color:#1e293b;resize:none;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6;transition:border-color .2s}.ot-detail-input[data-v-8d8c0094]:focus{border-color:#f59e0b}.ot-detail-input[data-v-8d8c0094]::placeholder{color:#94a3b8}.ot-char-count[data-v-8d8c0094]{text-align:right;color:#94a3b8;margin-top:2px;font-size:11px}.btn-ot-submit[data-v-8d8c0094]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 12px #ef44444d}.btn-ot-submit[data-v-8d8c0094]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 16px #ef444466}.btn-ot-submit[data-v-8d8c0094]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ot-success[data-v-8d8c0094]{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 20px;display:flex}.ot-success-icon[data-v-8d8c0094]{color:#f59e0b;font-size:3.5rem;animation:.4s cubic-bezier(.175,.885,.32,1.275) pop-8d8c0094}.ot-success h3[data-v-8d8c0094]{color:#1e293b;margin:0;font-size:18px;font-weight:800}.ot-success p[data-v-8d8c0094]{color:#64748b;margin:0;font-size:13px;line-height:1.6}.adj-modal-box[data-v-8d8c0094]{flex-direction:column;max-height:90vh;display:flex}.adj-modal-body[data-v-8d8c0094]{overflow-y:auto;flex:1!important;padding:0!important}.adj-modal-footer[data-v-8d8c0094]{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.adj-section[data-v-8d8c0094]{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.adj-section[data-v-8d8c0094]:last-child{border-bottom:none}.adj-section-title[data-v-8d8c0094]{color:#334155;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.adj-date-input[data-v-8d8c0094]{color:#1e293b;box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.adj-date-input[data-v-8d8c0094]:focus{border-color:#10b981}.adj-current-shift[data-v-8d8c0094]{background:#f8fafc;border-left:4px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.acs-left[data-v-8d8c0094]{flex:1;align-items:center;gap:10px;display:flex}.acs-dot[data-v-8d8c0094]{border-radius:50%;flex-shrink:0;width:12px;height:12px}.acs-name[data-v-8d8c0094]{color:#1e293b;font-size:14px;font-weight:700}.acs-desc[data-v-8d8c0094]{color:#94a3b8;margin-top:2px;font-size:11px}.acs-time[data-v-8d8c0094]{flex-shrink:0;align-items:center;gap:4px;display:flex}.acs-time-chip[data-v-8d8c0094]{color:#1d4ed8;background:#eff6ff;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.acs-off-chip[data-v-8d8c0094]{color:#64748b;background:#f1f5f9;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600}.adj-type-grid[data-v-8d8c0094]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.adj-type-btn[data-v-8d8c0094]{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;font-family:inherit;transition:all .15s;display:flex}.adj-type-btn i[data-v-8d8c0094]{color:#94a3b8;margin-bottom:2px;font-size:18px}.adj-type-btn span[data-v-8d8c0094]{color:#334155;font-size:13px;font-weight:700}.adj-type-btn small[data-v-8d8c0094]{color:#94a3b8;font-size:10px;line-height:1.3}.adj-type-btn[data-v-8d8c0094]:hover{border-color:#10b981}.adj-type-btn.active[data-v-8d8c0094]{background:#f0fdf4;border-color:#10b981}.adj-type-btn.active i[data-v-8d8c0094]{color:#10b981}.adj-type-btn.active span[data-v-8d8c0094]{color:#065f46}.adj-new-shift-card[data-v-8d8c0094]{cursor:pointer;background:#f0fdf4;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .2s;display:flex}.adj-new-shift-card[data-v-8d8c0094]:hover{border-color:#6ee7b7}.adj-pick-shift-btn[data-v-8d8c0094]{color:#10b981;cursor:pointer;background:#f0fdf4;border:1.5px dashed #10b981;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s;display:flex}.adj-pick-shift-btn[data-v-8d8c0094]:hover{background:#dcfce7}.adj-move-note[data-v-8d8c0094]{color:#1d4ed8;background:#eff6ff;border-radius:8px;align-items:flex-start;gap:7px;margin:0;padding:9px 12px;font-size:12px;line-height:1.5;display:flex}.adj-empty-state[data-v-8d8c0094]{color:#94a3b8;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;display:flex}.adj-empty-state i[data-v-8d8c0094]{font-size:2.5rem}.adj-empty-state p[data-v-8d8c0094]{margin:0;font-size:13px}.btn-adj-submit[data-v-8d8c0094]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#0ea5e9);border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 12px #10b9814d}.btn-adj-submit[data-v-8d8c0094]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 16px #10b98166}.btn-adj-submit[data-v-8d8c0094]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.placeholder-body[data-v-8d8c0094]{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px 0 8px;display:flex}.placeholder-icon[data-v-8d8c0094]{font-size:3rem}.placeholder-title[data-v-8d8c0094]{color:#1e293b;margin:0;font-size:17px;font-weight:700}.placeholder-desc[data-v-8d8c0094]{color:#64748b;margin:0;font-size:13px;line-height:1.6}.cal-header[data-v-8d8c0094]{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.cal-header h3[data-v-8d8c0094]{margin:0;font-size:15px;font-weight:700}.cal-nav[data-v-8d8c0094]{cursor:pointer;color:#475569;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;transition:background .2s;display:flex}.cal-nav[data-v-8d8c0094]:hover{background:#e2e8f0}.cal-grid[data-v-8d8c0094]{grid-template-columns:repeat(7,1fr);gap:2px;padding:12px;display:grid}.cal-labels span[data-v-8d8c0094]{text-align:center;color:#94a3b8;text-transform:uppercase;padding:4px 0;font-size:11px;font-weight:600}.cal-day[data-v-8d8c0094]{aspect-ratio:1;color:#334155;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:500;transition:background .15s;display:flex;position:relative}.cal-day[data-v-8d8c0094]:hover{background:#f1f5f9}.cal-day.empty[data-v-8d8c0094]{pointer-events:none}.cal-day.today[data-v-8d8c0094]{font-weight:700;color:#fff!important;background:#4f46e5!important}.cal-day.is-weekend[data-v-8d8c0094]{color:#94a3b8}.cal-day.has-absent[data-v-8d8c0094],.cal-day.is-absent[data-v-8d8c0094]{color:#ef4444}.cal-day.is-leave[data-v-8d8c0094]{color:#a855f7}.cal-dot[data-v-8d8c0094]{background:#10b981;border-radius:50%;flex-shrink:0;width:5px;height:5px}.cal-day.today .cal-dot[data-v-8d8c0094]{background:#ffffffb3}.cal-legend[data-v-8d8c0094]{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:center;gap:16px;padding:12px 16px;display:flex}.cal-legend span[data-v-8d8c0094]{color:#64748b;align-items:center;gap:5px;font-size:12px;display:flex}.cal-legend i[data-v-8d8c0094]{font-size:8px}.summary-grid[data-v-8d8c0094]{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.sum-card[data-v-8d8c0094]{background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.sum-icon[data-v-8d8c0094]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.sum-label[data-v-8d8c0094]{color:#64748b;font-size:12px;display:block}.sum-val[data-v-8d8c0094]{color:#1e293b;font-size:18px;font-weight:800}.day-detail-sheet[data-v-8d8c0094]{max-height:70vh}.day-detail-body[data-v-8d8c0094]{flex-direction:column;gap:12px;padding:0 18px 4px;display:flex}.dd-status-row[data-v-8d8c0094]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dd-status-badge[data-v-8d8c0094]{border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.dd-normal[data-v-8d8c0094]{color:#065f46;background:#d1fae5}.dd-late[data-v-8d8c0094]{color:#854d0e;background:#fef9c3}.dd-absent[data-v-8d8c0094]{color:#991b1b;background:#fee2e2}.dd-in_progress[data-v-8d8c0094]{color:#5b21b6;background:#ede9fe}.dd-shift-label[data-v-8d8c0094]{color:#64748b;align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.dd-time-cards[data-v-8d8c0094]{align-items:center;gap:8px;display:flex}.dd-time-card[data-v-8d8c0094]{border-radius:12px;flex:1;align-items:center;gap:10px;padding:12px;display:flex}.dd-in[data-v-8d8c0094]{background:#eff6ff}.dd-out[data-v-8d8c0094]{background:#f0fdf4}.ddtc-icon[data-v-8d8c0094]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.dd-in .ddtc-icon[data-v-8d8c0094]{color:#1d4ed8;background:#dbeafe}.dd-out .ddtc-icon[data-v-8d8c0094]{color:#15803d;background:#dcfce7}.ddtc-body[data-v-8d8c0094]{flex-direction:column;gap:2px;display:flex}.ddtc-label[data-v-8d8c0094]{color:#94a3b8;font-size:10px;font-weight:600}.ddtc-time[data-v-8d8c0094]{color:#1e293b;font-size:18px;font-weight:800;line-height:1}.dd-time-divider[data-v-8d8c0094]{color:#cbd5e1;flex-shrink:0;font-size:13px}.dd-absent-block[data-v-8d8c0094]{color:#ef4444;background:#fef2f2;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:14px;font-weight:600;display:flex}.dd-absent-block i[data-v-8d8c0094]{font-size:20px}.dd-hours-row[data-v-8d8c0094]{color:#475569;background:#f8fafc;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.dd-hours-row i[data-v-8d8c0094]{color:#6366f1;font-size:14px}.dd-hours-row strong[data-v-8d8c0094]{color:#1e293b;margin-left:auto;font-size:15px;font-weight:800}.dd-hours-inprogress[data-v-8d8c0094],.dd-hours-inprogress i[data-v-8d8c0094]{color:#7c3aed}.dd-shift-time-row[data-v-8d8c0094]{color:#94a3b8;align-items:center;gap:8px;padding:0 2px;font-size:12px;display:flex}.dd-shift-time[data-v-8d8c0094]{color:#64748b;margin-left:auto;font-size:13px;font-weight:700}.dd-footer[data-v-8d8c0094]{border-top:1px solid #f1f5f9;gap:8px;margin-top:4px;padding:12px 18px;display:flex}.cal-day.clickable[data-v-8d8c0094]:not(.today):hover{cursor:pointer;background:#eff6ff}.cal-day.clickable.today[data-v-8d8c0094]{cursor:pointer}.leave-balance[data-v-8d8c0094]{flex-direction:column;gap:10px;padding:14px 18px;display:flex}.lb-item[data-v-8d8c0094]{background:#f8fafc;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.lb-icon-wrap[data-v-8d8c0094]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:flex}.lb-info[data-v-8d8c0094]{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lb-type[data-v-8d8c0094]{color:#475569;font-size:12px;font-weight:600}.lb-bar-wrap[data-v-8d8c0094]{background:#e2e8f0;border-radius:10px;height:5px;overflow:hidden}.lb-bar[data-v-8d8c0094]{border-radius:10px;height:100%;transition:width .6s}.lb-unlimited-note[data-v-8d8c0094]{color:#94a3b8;font-size:10px;font-style:italic}.lb-count-wrap[data-v-8d8c0094]{text-align:right;flex-shrink:0}.lb-remain[data-v-8d8c0094]{font-size:20px;font-weight:800;line-height:1;display:block}.lb-total-label[data-v-8d8c0094]{color:#94a3b8;font-size:10px}.btn-primary-sm[data-v-8d8c0094]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#a855f7);border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .2s;display:flex}.btn-primary-sm[data-v-8d8c0094]:hover{opacity:.88}.leave-item[data-v-8d8c0094]{border-bottom:1px solid #f8fafc;align-items:center;gap:12px;padding:14px 18px;display:flex}.leave-item[data-v-8d8c0094]:last-child{border-bottom:none}.leave-type-icon[data-v-8d8c0094]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex}.leave-info[data-v-8d8c0094]{flex-direction:column;flex:1;gap:2px;display:flex}.leave-info strong[data-v-8d8c0094]{color:#1e293b;font-size:13px;font-weight:600}.leave-info span[data-v-8d8c0094]{color:#64748b;font-size:12px}.leave-status[data-v-8d8c0094]{border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.ls-pending[data-v-8d8c0094]{color:#854d0e;background:#fef9c3}.ls-approved[data-v-8d8c0094]{color:#065f46;background:#d1fae5}.ls-rejected[data-v-8d8c0094]{color:#991b1b;background:#fee2e2}.leave-modal-box[data-v-8d8c0094]{flex-direction:column;max-height:92vh;display:flex}.leave-modal-body[data-v-8d8c0094]{overflow-y:auto;flex:1!important;padding:0!important}.leave-form-section[data-v-8d8c0094]{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.leave-form-section[data-v-8d8c0094]:last-child{border-bottom:none}.leave-form-title[data-v-8d8c0094]{color:#334155;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.leave-type-grid[data-v-8d8c0094]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.leave-type-card[data-v-8d8c0094]{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;font-family:inherit;transition:all .15s;display:flex;position:relative}.leave-type-card[data-v-8d8c0094]:hover{border-color:#c4b5fd}.ltc-icon[data-v-8d8c0094]{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:2px;font-size:15px;display:flex}.ltc-name[data-v-8d8c0094]{color:#1e293b;font-size:13px;font-weight:700}.ltc-desc[data-v-8d8c0094]{color:#94a3b8;font-size:10px;line-height:1.3}.ltc-check[data-v-8d8c0094]{font-size:16px;position:absolute;top:8px;right:8px}.leave-date-row[data-v-8d8c0094]{align-items:flex-end;gap:8px;display:flex}.leave-date-group[data-v-8d8c0094]{flex-direction:column;flex:1;gap:5px;display:flex}.leave-date-group label[data-v-8d8c0094]{color:#64748b;font-size:11px;font-weight:600}.leave-date-arrow[data-v-8d8c0094]{color:#94a3b8;flex-shrink:0;padding-bottom:10px;font-size:13px}.leave-days-pill[data-v-8d8c0094]{color:#7c3aed;background:linear-gradient(135deg,#f5f3ff,#faf5ff);border:1px solid #ddd6fe;border-radius:20px;align-self:flex-start;align-items:center;gap:7px;padding:7px 14px;font-size:13px;display:inline-flex}.leave-attach-row[data-v-8d8c0094]{justify-content:space-between;flex-direction:row!important;align-items:center!important}.leave-attach-left[data-v-8d8c0094]{align-items:center;gap:10px;display:flex}.toggle-switch[data-v-8d8c0094]{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input[data-v-8d8c0094]{opacity:0;width:0;height:0}.toggle-track[data-v-8d8c0094]{cursor:pointer;background:#e2e8f0;border-radius:24px;transition:background .25s;position:absolute;inset:0}.toggle-track[data-v-8d8c0094]:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .25s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000026}.toggle-switch input:checked+.toggle-track[data-v-8d8c0094]{background:#6366f1}.toggle-switch input:checked+.toggle-track[data-v-8d8c0094]:before{transform:translate(20px)}.btn-leave-submit[data-v-8d8c0094]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#a855f7);border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 12px #6366f14d}.btn-leave-submit[data-v-8d8c0094]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 16px #6366f166}.btn-leave-submit[data-v-8d8c0094]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.modal-overlay[data-v-8d8c0094]{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box[data-v-8d8c0094]{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000040}.modal-header[data-v-8d8c0094]{color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title[data-v-8d8c0094]{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.modal-close[data-v-8d8c0094]{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.modal-close[data-v-8d8c0094]:hover{background:#ffffff59}.step-bar[data-v-8d8c0094]{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;padding:14px 20px;display:flex}.step[data-v-8d8c0094]{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.step-dot[data-v-8d8c0094]{color:#94a3b8;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:all .3s;display:flex}.step.active .step-dot[data-v-8d8c0094]{color:#fff;background:#4f46e5;box-shadow:0 0 0 4px #eef2ff}.step.done .step-dot[data-v-8d8c0094]{color:#fff;background:#10b981}.step span[data-v-8d8c0094]{color:#94a3b8;white-space:nowrap;font-size:10px;font-weight:500}.step.active span[data-v-8d8c0094]{color:#4f46e5}.step.done span[data-v-8d8c0094]{color:#10b981}.step-line[data-v-8d8c0094]{background:#e2e8f0;flex:1;height:2px;margin:0 4px 16px;transition:background .3s}.step-line.done[data-v-8d8c0094]{background:#10b981}.modal-body[data-v-8d8c0094]{flex:1;padding:20px;overflow-y:auto}.step-content[data-v-8d8c0094]{flex-direction:column;gap:14px;display:flex}.step-desc[data-v-8d8c0094]{color:#64748b;text-align:center;margin:0;font-size:13px}.camera-error[data-v-8d8c0094]{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.camera-error i[data-v-8d8c0094]{color:#ef4444;font-size:2rem}.camera-error p[data-v-8d8c0094]{color:#991b1b;margin:0;font-size:13px}.camera-loading[data-v-8d8c0094]{flex-direction:column;align-items:center;gap:10px;padding:32px;display:flex}.camera-preview[data-v-8d8c0094]{aspect-ratio:4/3;background:#0f172a;border-radius:14px;position:relative;overflow:hidden}.camera-video[data-v-8d8c0094]{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.camera-overlay[data-v-8d8c0094]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.face-guide[data-v-8d8c0094]{border:3px dashed #ffffff80;border-radius:50%;width:140px;height:180px}.camera-captured[data-v-8d8c0094]{flex-direction:column;align-items:center;gap:8px;display:flex}.captured-img[data-v-8d8c0094]{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;transform:scaleX(-1)}.captured-label[data-v-8d8c0094]{color:#059669;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.gps-loading[data-v-8d8c0094]{flex-direction:column;align-items:center;gap:10px;padding:28px;display:flex}.gps-loading p[data-v-8d8c0094]{color:#334155;margin:0;font-size:14px;font-weight:600}.gps-sub[data-v-8d8c0094]{color:#94a3b8!important;font-size:12px!important;font-weight:400!important}.gps-pulse[data-v-8d8c0094]{color:#4f46e5;background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;animation:1.5s ease-in-out infinite pulse-8d8c0094;display:flex}@keyframes pulse-8d8c0094{0%,to{box-shadow:0 0 #4f46e54d}50%{box-shadow:0 0 0 14px #4f46e500}}.gps-result[data-v-8d8c0094]{text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:7px;padding:18px;display:flex}.gps-result h4[data-v-8d8c0094]{margin:0;font-size:15px}.gps-result p[data-v-8d8c0094]{color:#475569;margin:0;font-size:13px}.gps-icon-wrap[data-v-8d8c0094]{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.gps-icon-wrap.ok[data-v-8d8c0094]{color:#059669;background:#d1fae5}.gps-icon-wrap.warn[data-v-8d8c0094]{color:#d97706;background:#fef3c7}.gps-icon-wrap.error[data-v-8d8c0094]{color:#dc2626;background:#fee2e2}.gps-ok[data-v-8d8c0094]{background:#f0fdf4;border:1px solid #bbf7d0}.gps-warn[data-v-8d8c0094]{background:#fffbeb;border:1px solid #fde68a}.gps-error[data-v-8d8c0094]{background:#fef2f2;border:1px solid #fecaca}.gps-range-note[data-v-8d8c0094]{color:#94a3b8!important;font-size:11px!important}.gps-address[data-v-8d8c0094]{color:#64748b;background:#0000000a;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;display:flex}.gps-actions-row[data-v-8d8c0094]{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.confirm-card[data-v-8d8c0094]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.confirm-row[data-v-8d8c0094]{border-bottom:1px solid #e2e8f0;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.confirm-row[data-v-8d8c0094]:last-child{border-bottom:none}.confirm-label[data-v-8d8c0094]{color:#64748b;align-items:center;gap:5px;min-width:80px;padding-top:2px;font-size:12px;font-weight:500;display:flex}.confirm-value[data-v-8d8c0094]{color:#1e293b;font-size:13px;font-weight:500}.confirm-value.highlight[data-v-8d8c0094]{color:#4f46e5;font-size:18px;font-weight:800}.confirm-sub[data-v-8d8c0094]{color:#64748b;margin-top:2px;font-size:11px;font-weight:400;display:block}.confirm-photo[data-v-8d8c0094]{object-fit:cover;border:1px solid #e2e8f0;border-radius:8px;width:72px;height:54px;transform:scaleX(-1)}.tag-ok[data-v-8d8c0094]{color:#065f46;background:#d1fae5;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.note-field[data-v-8d8c0094]{margin-top:14px}.note-label[data-v-8d8c0094]{color:#334155;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.note-optional[data-v-8d8c0094]{color:#94a3b8;font-size:11px;font-weight:400}.note-textarea[data-v-8d8c0094]{box-sizing:border-box;color:#1e293b;resize:none;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .2s}.note-textarea[data-v-8d8c0094]:focus{background:#fff;border-color:#6366f1}.note-textarea[data-v-8d8c0094]::placeholder{color:#94a3b8}.note-count[data-v-8d8c0094]{text-align:right;color:#94a3b8;margin-top:4px;font-size:11px}.step-done[data-v-8d8c0094]{text-align:center;align-items:center;padding:12px 0}.done-icon[data-v-8d8c0094]{color:#10b981;font-size:3.5rem;animation:.4s cubic-bezier(.175,.885,.32,1.275) pop-8d8c0094}@keyframes pop-8d8c0094{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.step-done h3[data-v-8d8c0094]{margin:6px 0 4px;font-size:18px}.step-done p[data-v-8d8c0094]{color:#64748b;margin:0;font-size:13px}.done-note[data-v-8d8c0094]{text-align:left;background:#f1f5f9;border-radius:8px;align-items:flex-start;gap:6px;max-width:280px;padding:8px 12px;display:inline-flex;color:#475569!important;margin-top:10px!important;font-size:12px!important}.step-actions[data-v-8d8c0094]{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px;display:flex}.btn-primary[data-v-8d8c0094],.btn-secondary[data-v-8d8c0094],.btn-capture[data-v-8d8c0094],.btn-warn[data-v-8d8c0094],.btn-checkin-confirm[data-v-8d8c0094]{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:7px;padding:9px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-8d8c0094]{color:#fff;background:#4f46e5}.btn-primary[data-v-8d8c0094]:hover{background:#4338ca}.btn-secondary[data-v-8d8c0094]{color:#475569;background:#f1f5f9}.btn-secondary[data-v-8d8c0094]:hover{background:#e2e8f0}.btn-capture[data-v-8d8c0094]{color:#fff;background:#1e293b;padding:11px 28px;font-size:15px}.btn-capture[data-v-8d8c0094]:hover{background:#0f172a}.btn-warn[data-v-8d8c0094]{color:#92400e;background:#fef3c7}.btn-warn[data-v-8d8c0094]:hover{background:#fde68a}.btn-checkin-confirm[data-v-8d8c0094]{color:#fff;background:linear-gradient(135deg,#10b981,#059669);padding:11px 24px;font-size:14px;box-shadow:0 4px 12px #10b98159}.btn-checkout-confirm[data-v-8d8c0094]{background:linear-gradient(135deg,#ef4444,#dc2626)!important;box-shadow:0 4px 12px #ef444459!important}.spinner[data-v-8d8c0094]{border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-8d8c0094}@keyframes spin-8d8c0094{to{transform:rotate(360deg)}}.shift-modal-box[data-v-8d8c0094]{flex-direction:column;max-height:90vh;display:flex}.shift-modal-body[data-v-8d8c0094]{flex-direction:column;gap:0;display:flex;overflow-y:auto;flex:1!important;padding:0!important}.shift-modal-footer[data-v-8d8c0094]{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.month-nav[data-v-8d8c0094]{background:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.month-nav-btn[data-v-8d8c0094]{cursor:pointer;color:#64748b;background:#fff;border:1.5px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:all .15s;display:flex}.month-nav-btn[data-v-8d8c0094]:hover{color:#0ea5e9;border-color:#0ea5e9}.month-nav-label[data-v-8d8c0094]{text-align:center}.month-name[data-v-8d8c0094]{color:#1e293b;font-size:16px;font-weight:700;display:block}.month-year[data-v-8d8c0094]{color:#64748b;margin-top:1px;font-size:12px;display:block}.shift-section[data-v-8d8c0094]{border-bottom:1px solid #f1f5f9;padding:14px 18px}.shift-section[data-v-8d8c0094]:last-child{border-bottom:none}.shift-section-head[data-v-8d8c0094]{color:#334155;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.shift-section-sub[data-v-8d8c0094]{color:#94a3b8;margin-left:4px;font-size:11px;font-weight:400}.selected-shift-card[data-v-8d8c0094]{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000d}.selected-shift-card[data-v-8d8c0094]:hover{border-color:#cbd5e1;box-shadow:0 3px 12px #0000001a}.ssc-color-bar[data-v-8d8c0094]{flex-shrink:0;align-self:stretch;width:5px}.ssc-body[data-v-8d8c0094]{flex:1;padding:11px 12px}.ssc-top[data-v-8d8c0094]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ssc-name[data-v-8d8c0094]{color:#1e293b;font-size:14px;font-weight:700}.ssc-time-badge[data-v-8d8c0094]{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.ssc-desc[data-v-8d8c0094]{color:#94a3b8;margin:3px 0 0;font-size:11px}.ssc-change[data-v-8d8c0094]{color:#64748b;white-space:nowrap;border-left:1px solid #f1f5f9;justify-content:center;align-self:stretch;align-items:center;gap:5px;padding:0 14px;font-size:12px;font-weight:600;display:flex}.sheet-overlay[data-v-8d8c0094]{z-index:1100;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop-fade-enter-active[data-v-8d8c0094],.sheet-backdrop-fade-leave-active[data-v-8d8c0094]{transition:opacity .25s}.sheet-backdrop-fade-enter-from[data-v-8d8c0094],.sheet-backdrop-fade-leave-to[data-v-8d8c0094]{opacity:0}.shift-picker-sheet[data-v-8d8c0094]{background:#fff;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:80vh;margin:0 auto;display:flex;box-shadow:0 -8px 40px #00000026}.sheet-slide-up-enter-active[data-v-8d8c0094]{transition:transform .3s cubic-bezier(.34,1.28,.64,1)}.sheet-slide-up-leave-active[data-v-8d8c0094]{transition:transform .2s}.sheet-slide-up-enter-from[data-v-8d8c0094],.sheet-slide-up-leave-to[data-v-8d8c0094]{transform:translateY(100%)}.sheet-handle-bar[data-v-8d8c0094]{background:#e2e8f0;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 0}.sheet-header[data-v-8d8c0094]{justify-content:space-between;align-items:center;padding:12px 18px 0;display:flex}.sheet-title[data-v-8d8c0094]{color:#1e293b;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.sheet-close[data-v-8d8c0094]{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.sheet-sub[data-v-8d8c0094]{color:#94a3b8;margin:4px 18px 10px;padding:0;font-size:12px}.picker-list[data-v-8d8c0094]{flex-direction:column;flex:1;gap:6px;padding:0 12px 20px;display:flex;overflow-y:auto}.picker-list--compact[data-v-8d8c0094]{gap:2px;padding:0 12px 8px}.picker-item[data-v-8d8c0094]{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:13px 14px;font-family:inherit;transition:all .15s;display:flex}.picker-item--compact[data-v-8d8c0094]{border:none;border-bottom:1px solid #f1f5f9;border-radius:8px;gap:10px;padding:10px 12px}.picker-item--compact[data-v-8d8c0094]:last-child{border-bottom:none}.picker-item[data-v-8d8c0094]:hover{background:#f8fafc;border-color:#cbd5e1}.picker-item--compact[data-v-8d8c0094]:hover{background:#f8fafc}.picker-item.active[data-v-8d8c0094]{background:#f8fafc;border-color:#0000}.picker-item--compact.active[data-v-8d8c0094]{background:#f0f4ff}.pi-dot[data-v-8d8c0094]{border-radius:50%;flex-shrink:0;width:10px;height:10px}.pi-label-compact[data-v-8d8c0094]{color:#1e293b;flex:none;min-width:120px;font-size:13px;font-weight:500}.pi-time-compact[data-v-8d8c0094]{color:#64748b;font-variant-numeric:tabular-nums;flex:1;font-size:12px}.pi-info[data-v-8d8c0094]{flex-direction:column;flex:1;gap:2px;display:flex}.pi-name[data-v-8d8c0094]{color:#1e293b;font-size:14px;font-weight:700}.pi-sub[data-v-8d8c0094]{color:#94a3b8;font-size:11px}.picker-item.active .pi-name[data-v-8d8c0094]{color:#1e293b}.pi-check-wrap[data-v-8d8c0094]{text-align:center;flex-shrink:0;width:22px}.pi-check[data-v-8d8c0094]{flex-shrink:0;font-size:16px}.pi-check-empty[data-v-8d8c0094]{color:#e2e8f0;flex-shrink:0;font-size:16px}.day-list[data-v-8d8c0094]{flex-direction:column;display:flex}.day-row[data-v-8d8c0094]{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f8fafc;align-items:center;gap:10px;padding:9px 18px;transition:background .1s;display:flex}.day-row[data-v-8d8c0094]:hover{background:#f8fafc}.day-row.editing[data-v-8d8c0094]{background:#f0f9ff}.day-row.weekend[data-v-8d8c0094]{background:#fff5f5}.day-row.weekend[data-v-8d8c0094]:hover{background:#fee2e2}.day-row.weekend.editing[data-v-8d8c0094]{background:#fef2f2}.day-num-wrap[data-v-8d8c0094]{flex-direction:column;align-items:center;min-width:30px;display:flex}.day-num[data-v-8d8c0094]{color:#1e293b;font-size:15px;font-weight:700;line-height:1}.day-dow[data-v-8d8c0094]{color:#94a3b8;margin-top:2px;font-size:10px}.day-row.weekend .day-num[data-v-8d8c0094]{color:#ef4444}.day-row.weekend .day-dow[data-v-8d8c0094]{color:#fca5a5}.day-shift-info[data-v-8d8c0094]{flex:1;align-items:center;gap:8px;display:flex}.day-shift-badge[data-v-8d8c0094]{white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.day-shift-time[data-v-8d8c0094]{color:#64748b;font-size:11px}.day-end-wrap[data-v-8d8c0094]{align-items:center;gap:5px;display:flex}.override-dot[data-v-8d8c0094]{color:#f59e0b;font-size:8px}.day-edit-icon[data-v-8d8c0094]{color:#94a3b8;text-align:center;width:16px;font-size:11px}.day-row.editing .day-edit-icon[data-v-8d8c0094]{color:#0ea5e9}.day-edit-panel[data-v-8d8c0094]{background:#f0f9ff;border-bottom:1px solid #bae6fd;flex-direction:column;gap:10px;padding:12px 18px;display:flex}.dep-shift-chips[data-v-8d8c0094]{flex-wrap:wrap;gap:6px;display:flex}.dep-chip[data-v-8d8c0094]{color:#64748b;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.dep-chip[data-v-8d8c0094]:hover{border-color:#94a3b8}.dep-chip.active[data-v-8d8c0094]{font-weight:700}.dep-time-row[data-v-8d8c0094]{align-items:center;gap:8px;display:flex}.dep-time-group[data-v-8d8c0094]{flex-direction:column;gap:3px;display:flex}.dep-time-group label[data-v-8d8c0094]{color:#64748b;font-size:10px;font-weight:600}.dep-time-input[data-v-8d8c0094]{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;outline:none;width:96px;padding:6px 8px;font-family:inherit;font-size:13px;transition:border-color .2s}.dep-time-input[data-v-8d8c0094]:focus{border-color:#0ea5e9}.dep-sep[data-v-8d8c0094]{color:#94a3b8;margin-top:14px;font-size:14px}.dep-btn-row[data-v-8d8c0094]{justify-content:flex-end;gap:6px;display:flex}.dep-btn-row--footer[data-v-8d8c0094]{background:#fff;border-top:1px solid #f1f5f9;flex-shrink:0;margin-top:4px;padding:12px 16px 20px}.dep-btn[data-v-8d8c0094]{cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.dep-btn-reset[data-v-8d8c0094]{color:#d97706;background:#fff7ed;border:1px solid #fde68a}.dep-btn-cancel[data-v-8d8c0094]{color:#64748b;background:#f1f5f9}.dep-btn-save[data-v-8d8c0094]{color:#fff;background:#0ea5e9}.dep-btn-save[data-v-8d8c0094]:hover{background:#0284c7}.slide-down-enter-active[data-v-8d8c0094]{transition:all .2s}.slide-down-leave-active[data-v-8d8c0094]{transition:all .15s}.slide-down-enter-from[data-v-8d8c0094]{opacity:0;transform:translateY(-6px)}.slide-down-leave-to[data-v-8d8c0094]{opacity:0;transform:translateY(-4px)}.modal-fade-enter-active[data-v-8d8c0094],.modal-fade-leave-active[data-v-8d8c0094]{transition:all .25s}.modal-fade-enter-from[data-v-8d8c0094],.modal-fade-leave-to[data-v-8d8c0094]{opacity:0;transform:scale(.95)}@media (width<=480px){.clock-time[data-v-8d8c0094]{font-size:48px}.summary-grid[data-v-8d8c0094]{grid-template-columns:repeat(2,1fr)}}:root{--primary:#4f46e5;--primary-light:#818cf8;--primary-dark:#3730a3;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--info:#3b82f6;--info-light:#dbeafe;--bg-main:#f1f5f9;--bg-card:#fff;--bg-sidebar:#1e293b;--bg-sidebar-hover:#334155;--bg-sidebar-active:#4f46e5;--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--text-white:#fff;--border:#e2e8f0;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius:12px;--radius-sm:8px;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-main);color:var(--text-primary);font-family:Sarabun,sans-serif;line-height:1.6;overflow-x:hidden}#app{overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:3px}
