.chat-widget-root[data-v-03b31dca]{position:fixed;bottom:24px;right:24px;z-index:999}.fab[data-v-03b31dca]{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;padding:0;border:none;background:transparent;cursor:pointer;font-family:inherit}.fab-circle[data-v-03b31dca]{position:relative;width:52px;height:52px;border-radius:50%;background:#eef1f5;color:#4a8bc9;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -8px #283c5a59;transition:background .15s ease,transform .15s ease}.fab:hover .fab-circle[data-v-03b31dca]{background:#e3ebf4;transform:translateY(-2px)}.fab-label[data-v-03b31dca]{font-size:11px;line-height:1.3;text-align:center;color:#5b6b7c}.fab-badge[data-v-03b31dca]{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#e0483e;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}.chat-panel[data-v-03b31dca]{position:fixed;bottom:24px;right:24px;width:340px;max-width:calc(100vw - 32px);height:460px;max-height:calc(100vh - 80px);background:#fff;border-radius:16px;box-shadow:0 10px 40px -10px #00000040;display:flex;flex-direction:column;overflow:hidden}.chat-header[data-v-03b31dca]{display:flex;align-items:center;gap:8px;padding:14px 16px;background:var(--primary, #0a6ebd);color:#fff}.chat-title[data-v-03b31dca]{flex:1;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-btn[data-v-03b31dca],.close-btn[data-v-03b31dca]{background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center}.thread-list[data-v-03b31dca]{flex:1;overflow-y:auto}.thread-item[data-v-03b31dca]{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border, #e2ecf2)}.thread-item[data-v-03b31dca]:hover{background:var(--bg-app, #edf3f7)}.thread-avatar[data-v-03b31dca]{width:36px;height:36px;border-radius:50%;background:var(--accent-light, #eaf5fb);color:var(--primary, #0a6ebd);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.thread-info[data-v-03b31dca]{flex:1;min-width:0}.thread-name[data-v-03b31dca]{font-size:13px;font-weight:600;color:var(--text-dark, #0d2b3e)}.thread-last[data-v-03b31dca]{font-size:12px;color:var(--text-muted, #7b94a3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-badge[data-v-03b31dca]{min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#e0483e;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.empty-state[data-v-03b31dca]{padding:24px 16px;text-align:center;color:var(--text-muted, #7b94a3);font-size:13px}.messages[data-v-03b31dca]{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--bg-app, #edf3f7)}.bubble-row[data-v-03b31dca]{display:flex}.bubble-row.mine[data-v-03b31dca]{justify-content:flex-end}.bubble[data-v-03b31dca]{max-width:75%;padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.4;background:#fff;color:var(--text-dark, #0d2b3e);box-shadow:0 2px 6px -2px #0000001a}.bubble.mine[data-v-03b31dca]{background:var(--primary, #0a6ebd);color:#fff}.chat-input-row[data-v-03b31dca]{display:flex;align-items:center;gap:8px;padding:10px;border-top:1px solid var(--border, #e2ecf2)}.chat-input[data-v-03b31dca]{flex:1;height:38px;padding:0 12px;border:1.5px solid var(--border, #e2ecf2);border-radius:19px;outline:none;font-size:13px}.chat-input[data-v-03b31dca]:focus{border-color:var(--primary, #0a6ebd)}.send-btn[data-v-03b31dca]{width:38px;height:38px;border-radius:50%;border:none;background:var(--primary, #0a6ebd);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.send-btn[data-v-03b31dca]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.chat-panel[data-v-03b31dca]{width:calc(100vw - 24px);right:12px;bottom:12px;height:calc(100vh - 100px)}.chat-widget-root[data-v-03b31dca]{right:16px;bottom:16px}}.login-page[data-v-be9e4718]{max-width:360px;margin:80px auto;padding:32px;background:#fff;border-radius:16px;box-shadow:0 10px 30px -10px #0a6ebd4d;text-align:center}.login-page input[data-v-be9e4718]{width:100%;height:48px;padding:0 16px;margin-bottom:14px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;outline:none;box-sizing:border-box}.login-page input[data-v-be9e4718]:focus{border-color:var(--primary)}.login-page button[data-v-be9e4718]{width:100%;height:48px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:16px;font-weight:600;cursor:pointer}.login-page button[data-v-be9e4718]:hover{opacity:.9}.dashboard-page[data-v-aaa52170]{display:flex;min-height:100vh}.sidebar[data-v-aaa52170]{width:220px;background:#fff;border-right:1px solid var(--border)}.main-content[data-v-aaa52170]{flex:1;padding:24px}.logo-text[data-v-aaa52170]{font-weight:700;font-size:18px;color:var(--primary-dark);padding:20px}.menu[data-v-aaa52170]{display:flex;flex-direction:column}.menu-item[data-v-aaa52170]{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:2px 12px;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s}.menu-item[data-v-aaa52170]:hover{background:var(--bg-app)}.menu-item.active[data-v-aaa52170]{background:#eaf5fb;color:var(--primary);font-weight:600;border-right:3px solid var(--primary)}.topbar[data-v-aaa52170]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1[data-v-aaa52170]{font-size:20px;color:var(--text-dark)}.topbar-actions[data-v-aaa52170]{display:flex;align-items:center;gap:20px}.icon-btn[data-v-aaa52170]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.profile[data-v-aaa52170]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dark)}.avatar[data-v-aaa52170]{width:36px;height:36px;border-radius:50%;background:var(--accent-light, #eaf5fb);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.menu-item.disabled[data-v-aaa52170]{opacity:.5;cursor:not-allowed}.badge-hr[data-v-aaa52170]{font-size:11px;color:var(--text-muted);font-weight:400}.menu-icon[data-v-aaa52170]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.ic-purple[data-v-aaa52170]{background:linear-gradient(135deg,#8b5cf6,#6d3fd6)}.ic-blue[data-v-aaa52170]{background:linear-gradient(135deg,#4a90e2,#2f6db5)}.ic-orange[data-v-aaa52170]{background:linear-gradient(135deg,#f5a84a,#d9822b)}.ic-pink[data-v-aaa52170]{background:linear-gradient(135deg,#ec5f9a,#c73a78)}.ic-green[data-v-aaa52170]{background:linear-gradient(135deg,#34c48b,#1f9d6b)}.ic-teal[data-v-aaa52170]{background:linear-gradient(135deg,#3fbfd6,#2493ab)}.ic-indigo[data-v-aaa52170]{background:linear-gradient(135deg,#6366f1,#4338ca)}.icon-btn[data-v-aaa52170]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.badge[data-v-aaa52170]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e5484d;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.icon-btn-wrap[data-v-aaa52170]{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-btn-label[data-v-aaa52170]{font-size:11px;color:var(--text-muted);white-space:nowrap}.stat-grid[data-v-aaa52170]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card[data-v-aaa52170]{position:relative;background:#fff;border-radius:16px;padding:18px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 6px 24px -10px #0a6ebd38;overflow:hidden}.stat-card.clickable[data-v-aaa52170]{cursor:pointer;transition:transform .15s}.stat-card.clickable[data-v-aaa52170]:hover{transform:translateY(-2px)}.stat-icon[data-v-aaa52170]{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-info[data-v-aaa52170]{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label[data-v-aaa52170]{font-size:13px;color:var(--text-muted)}.stat-value[data-v-aaa52170]{font-size:28px;font-weight:700;color:var(--text-dark);line-height:1.15}.stat-money[data-v-aaa52170]{font-size:24px}.stat-sub[data-v-aaa52170]{font-size:12px;color:var(--text-muted)}.stat-sub.up[data-v-aaa52170]{color:#1f9d6b;font-weight:600}.spark[data-v-aaa52170]{position:absolute;right:14px;bottom:12px;width:60px;height:28px}.dash-grid[data-v-aaa52170]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-bottom:20px}.panel[data-v-aaa52170]{background:#fff;border-radius:16px;padding:20px 22px;box-shadow:0 6px 24px -10px #0a6ebd38;min-width:0}.panel-head[data-v-aaa52170]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.panel-title[data-v-aaa52170]{font-size:15px;color:var(--text-dark);margin:0}.panel-total[data-v-aaa52170]{font-size:22px;font-weight:700;color:var(--text-dark)}.chip[data-v-aaa52170]{font-size:12px;color:var(--primary);background:#eaf5fb;padding:4px 10px;border-radius:999px;white-space:nowrap}.empty-text[data-v-aaa52170]{color:var(--text-muted);font-size:14px;margin:8px 0}.bars[data-v-aaa52170]{display:flex;align-items:flex-end;gap:14px;height:190px}.bar-col[data-v-aaa52170]{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.bar-value[data-v-aaa52170]{font-size:13px;font-weight:700;color:var(--text-dark)}.bar-track[data-v-aaa52170]{flex:1;width:100%;max-width:44px;display:flex;align-items:flex-end}.bar-fill[data-v-aaa52170]{width:100%;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#3fbfd6,#2f9fb8);transition:height .4s}.bar-label[data-v-aaa52170]{font-size:11px;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-wrap[data-v-aaa52170]{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.donut[data-v-aaa52170]{width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.donut-hole[data-v-aaa52170]{width:88px;height:88px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}.donut-center-value[data-v-aaa52170]{font-size:22px;font-weight:700;color:var(--text-dark)}.legend[data-v-aaa52170]{display:flex;flex-direction:column;gap:12px}.legend-item[data-v-aaa52170]{display:flex;align-items:center;gap:8px;font-size:14px}.legend-dot[data-v-aaa52170]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-label[data-v-aaa52170]{color:var(--text-muted);min-width:48px}.legend-percent[data-v-aaa52170]{font-weight:700;color:var(--text-dark)}.pay-person[data-v-aaa52170]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.pay-avatar[data-v-aaa52170]{width:40px;height:40px;border-radius:50%;background:#eaf5fb;color:var(--primary);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.pay-name[data-v-aaa52170]{font-size:14px;font-weight:600;color:var(--text-dark)}.pay-code[data-v-aaa52170]{font-size:12px;color:var(--text-muted)}.pay-row[data-v-aaa52170]{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;color:var(--text-muted);border-bottom:1px dashed var(--border)}.pay-row strong[data-v-aaa52170]{color:var(--text-dark)}.pay-row.minus strong[data-v-aaa52170]{color:#e0483e}.pay-net[data-v-aaa52170]{margin-top:12px;background:#e4f6ee;color:#146c43;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.pay-net strong[data-v-aaa52170]{font-size:16px}.line-wrap[data-v-aaa52170]{position:relative;height:230px;padding-bottom:38px}.line-svg[data-v-aaa52170]{position:absolute;top:0;right:0;bottom:38px;left:0;width:100%;height:calc(100% - 38px)}.line-dots[data-v-aaa52170]{position:absolute;top:0;right:0;bottom:38px;left:0}.line-dot[data-v-aaa52170]{position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid #1f9d6b;transform:translate(-50%,-50%)}.line-labels[data-v-aaa52170]{position:absolute;left:0;right:0;bottom:0;height:36px}.line-label[data-v-aaa52170]{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--text-muted);white-space:nowrap}.line-label strong[data-v-aaa52170]{color:var(--text-dark);font-size:12px}@media (max-width: 1100px){.stat-grid[data-v-aaa52170]{grid-template-columns:repeat(2,1fr)}.dash-grid[data-v-aaa52170]{grid-template-columns:1fr 1fr}.dash-grid .panel[data-v-aaa52170]:first-child{grid-column:1 / -1}}@media (max-width: 768px){.dash-grid[data-v-aaa52170]{grid-template-columns:1fr}.stat-card[data-v-aaa52170]{padding:14px}.stat-value[data-v-aaa52170]{font-size:22px}.stat-money[data-v-aaa52170]{font-size:19px}.spark[data-v-aaa52170]{display:none}.panel[data-v-aaa52170]{padding:16px}}.dashboard-page[data-v-78f9d295]{display:flex;min-height:100vh}.sidebar[data-v-78f9d295]{width:220px;background:#fff;border-right:1px solid var(--border)}.main-content[data-v-78f9d295]{flex:1;padding:24px}.logo-text[data-v-78f9d295]{font-weight:700;font-size:18px;color:var(--primary-dark);padding:20px}.menu[data-v-78f9d295]{display:flex;flex-direction:column}.menu-item[data-v-78f9d295]{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:2px 12px;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s}.menu-item[data-v-78f9d295]:hover{background:var(--bg-app)}.menu-item.active[data-v-78f9d295]{background:#eaf5fb;color:var(--primary);font-weight:600;border-right:3px solid var(--primary)}.topbar[data-v-78f9d295]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1[data-v-78f9d295]{font-size:20px;color:var(--text-dark)}.topbar-actions[data-v-78f9d295]{display:flex;align-items:center;gap:20px}.icon-btn[data-v-78f9d295]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.badge[data-v-78f9d295]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e0483e;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.profile[data-v-78f9d295]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dark)}.avatar[data-v-78f9d295]{width:36px;height:36px;border-radius:50%;background:var(--accent-light, #eaf5fb);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.employee-table[data-v-78f9d295]{background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 16px -8px #0a6ebd26}.table-header[data-v-78f9d295]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.table-header h2[data-v-78f9d295]{font-size:16px;color:var(--text-dark);margin-bottom:0}.btn-add[data-v-78f9d295]{background:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-add[data-v-78f9d295]:hover{background:var(--primary-dark)}.search-box[data-v-78f9d295]{width:100%;height:44px;padding:0 16px;margin-bottom:16px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none;box-sizing:border-box}.search-box[data-v-78f9d295]:focus{border-color:var(--primary)}.employee-table table[data-v-78f9d295]{width:100%;border-collapse:collapse}.employee-table th[data-v-78f9d295]{text-align:left;font-size:13px;color:var(--text-muted);padding:10px;border-bottom:2px solid var(--border)}.employee-table td[data-v-78f9d295]{padding:12px 10px;font-size:14px;border-bottom:1px solid var(--border);white-space:nowrap}.btn-delete[data-v-78f9d295]{background:#fdecec;color:#b3261e;border:none;padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;margin-right:12px}.btn-delete[data-v-78f9d295]:hover{background:#f8d7d5}.btn-edit[data-v-78f9d295]{background:#eaf5fb;color:var(--primary);border:none;padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer}.btn-edit[data-v-78f9d295]:hover{background:#d5ecf8}.modal-overlay[data-v-78f9d295]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0d2b3e80;display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-78f9d295]{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:380px}.modal-box h2[data-v-78f9d295]{font-size:18px;margin-bottom:20px;color:var(--text-dark)}.modal-box label[data-v-78f9d295]{display:block;font-size:13px;font-weight:500;color:var(--text-dark);margin-bottom:6px}.modal-box input[data-v-78f9d295]{width:100%;height:44px;padding:0 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;margin-bottom:16px;box-sizing:border-box}.modal-actions[data-v-78f9d295]{display:flex;gap:10px;margin-top:8px}.btn-cancel[data-v-78f9d295]{flex:1;height:44px;border:1.5px solid var(--border);background:#fff;border-radius:10px;cursor:pointer}.btn-save[data-v-78f9d295]{flex:1;height:44px;border:none;background:var(--primary);color:#fff;border-radius:10px;font-weight:600;cursor:pointer}.menu-item.disabled[data-v-78f9d295]{opacity:.5;cursor:not-allowed}.badge-hr[data-v-78f9d295]{font-size:11px;color:var(--text-muted);font-weight:400}.menu-icon[data-v-78f9d295]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.menu-icon[data-v-78f9d295]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 10px #00000026;transition:transform .2s}.menu-item:hover .menu-icon[data-v-78f9d295],.menu-item.active .menu-icon[data-v-78f9d295]{transform:scale(1.05)}.ic-purple[data-v-78f9d295]{background:linear-gradient(135deg,#8b5cf6,#6d3fd6)}.ic-blue[data-v-78f9d295]{background:linear-gradient(135deg,#4a90e2,#2f6db5)}.ic-orange[data-v-78f9d295]{background:linear-gradient(135deg,#f5a84a,#d9822b)}.ic-pink[data-v-78f9d295]{background:linear-gradient(135deg,#ec5f9a,#c73a78)}.ic-green[data-v-78f9d295]{background:linear-gradient(135deg,#34c48b,#1f9d6b)}.ic-teal[data-v-78f9d295]{background:linear-gradient(135deg,#3fbfd6,#2493ab)}.ic-indigo[data-v-78f9d295]{background:linear-gradient(135deg,#6366f1,#4338ca)}.menu-item.disabled .menu-icon[data-v-78f9d295]{filter:grayscale(1);opacity:.5;box-shadow:none}.icon-btn-wrap[data-v-78f9d295]{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-btn-label[data-v-78f9d295]{font-size:11px;color:var(--text-muted);white-space:nowrap}.btn-account[data-v-78f9d295]{background:#eaf5fb;color:var(--primary);border:none;padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;margin-right:6px;font-family:inherit}.account-name[data-v-78f9d295]{font-weight:600px;color:var(--text-dark)}.account-none[data-v-78f9d295]{color:var(--text-muted)}.account-for[data-v-78f9d295]{font-size:14px;color:var(--text-muted);margin-bottom:8px}.account-error[data-v-78f9d295]{color:#d64545;font-size:13px;margin-top:8px}.dashboard-page[data-v-db20b135]{display:flex;min-height:100vh}.sidebar[data-v-db20b135]{width:220px;background:#fff;border-right:1px solid var(--border)}.main-content[data-v-db20b135]{flex:1;padding:24px}.logo-text[data-v-db20b135]{font-weight:700;font-size:18px;color:var(--primary-dark);padding:20px}.menu[data-v-db20b135]{display:flex;flex-direction:column}.menu-item[data-v-db20b135]{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:2px 12px;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s}.menu-item[data-v-db20b135]:hover{background:var(--bg-app)}.menu-item.active[data-v-db20b135]{background:#eaf5fb;color:var(--primary);font-weight:600;border-right:3px solid var(--primary)}.topbar[data-v-db20b135]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1[data-v-db20b135]{font-size:20px;color:var(--text-dark)}.topbar-actions[data-v-db20b135]{display:flex;align-items:center;gap:20px}.icon-btn[data-v-db20b135]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.badge[data-v-db20b135]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e0483e;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.profile[data-v-db20b135]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dark)}.avatar[data-v-db20b135]{width:36px;height:36px;border-radius:50%;background:var(--accent-light, #eaf5fb);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.clock-card[data-v-db20b135]{background:#fff;border-radius:14px;padding:32px;text-align:center;box-shadow:0 4px 16px -8px #0a6ebd26;margin-bottom:20px}.clock-time[data-v-db20b135]{font-size:48px;font-weight:700;color:var(--primary-dark)}.clock-date[data-v-db20b135]{font-size:14px;color:var(--text-muted);margin-top:4px}.employee-select[data-v-db20b135]{width:100%;max-width:360px;height:44px;padding:0 14px;margin:20px auto 0;display:block;order:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none}.employee-select[data-v-db20b135]:focus{border-color:var(--primary)}.clock-actions[data-v-db20b135]{display:flex;justify-content:center;gap:16px;margin-top:24px}.btn-checkin[data-v-db20b135],.btn-checkout[data-v-db20b135]{width:160px;height:48px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.btn-checkin[data-v-db20b135]{background:var(--primary);color:#fff}.btn-checkin[data-v-db20b135]:hover:not(:disabled){background:var(--primary-dark)}.btn-checkout[data-v-db20b135]{background:#fdecec;color:#b3261e}.btn-checkout[data-v-db20b135]:hover:not(:disabled){background:#f8d7d5}.btn-checkin[data-v-db20b135]:disabled,.btn-checkout[data-v-db20b135]:disabled{opacity:.4;cursor:not-allowed}.status-text[data-v-db20b135]{margin-top:16px;font-size:14px;color:var(--text-muted)}.employee-table[data-v-db20b135]{background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 16px -8px #0a6ebd26}.table-header h2[data-v-db20b135]{font-size:16px;color:var(--text-dark);margin-bottom:16px}.employee-table table[data-v-db20b135]{width:100%;border-collapse:collapse}.employee-table th[data-v-db20b135]{text-align:left;font-size:13px;color:var(--text-muted);padding:10px;border-bottom:2px solid var(--border)}.employee-table td[data-v-db20b135]{padding:12px 10px;font-size:14px;border-bottom:1px solid var(--border)}.menu-item.disabled[data-v-db20b135]{opacity:.5;cursor:not-allowed}.badge-hr[data-v-db20b135]{font-size:11px;color:var(--text-muted);font-weight:400}.menu-icon[data-v-db20b135]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.ic-purple[data-v-db20b135]{background:linear-gradient(135deg,#8b5cf6,#6d3fd6)}.ic-blue[data-v-db20b135]{background:linear-gradient(135deg,#4a90e2,#2f6db5)}.ic-orange[data-v-db20b135]{background:linear-gradient(135deg,#f5a84a,#d9822b)}.ic-pink[data-v-db20b135]{background:linear-gradient(135deg,#ec5f9a,#c73a78)}.ic-green[data-v-db20b135]{background:linear-gradient(135deg,#34c48b,#1f9d6b)}.ic-teal[data-v-db20b135]{background:linear-gradient(135deg,#3fbfd6,#2493ab)}.ic-indigo[data-v-db20b135]{background:linear-gradient(135deg,#6366f1,#4338ca)}.icon-btn-wrap[data-v-db20b135]{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-btn-label[data-v-db20b135]{font-size:11px;color:var(--text-muted);white-space:nowrap}.btn-logout-text[data-v-db20b135]:hover{text-decoration:underline}.status-warning-text[data-v-db20b135]{color:#c98a1e;font-weight:600}.status-ok-text[data-v-db20b135]{color:#1e8e5a;font-weight:600}.qr-card[data-v-f91c44b9]{background:#fff;border-radius:14px;padding:40px;text-align:center;box-shadow:0 4px 16px -8px #0a6ebd26}.dashboard-page[data-v-f91c44b9]{display:flex;min-height:100vh}.sidebar[data-v-f91c44b9]{width:220px;background:#fff;border-right:1px solid var(--border)}.main-content[data-v-f91c44b9]{flex:1;padding:24px}.logo-text[data-v-f91c44b9]{font-weight:700;font-size:18px;color:var(--primary-dark);padding:20px}.menu[data-v-f91c44b9]{display:flex;flex-direction:column}.menu-item[data-v-f91c44b9]{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:2px 12px;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s}.menu-item[data-v-f91c44b9]:hover{background:var(--bg-app)}.menu-item.active[data-v-f91c44b9]{background:#eaf5fb;color:var(--primary);font-weight:600;border-right:3px solid var(--primary)}.topbar[data-v-f91c44b9]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1[data-v-f91c44b9]{font-size:20px;color:var(--text-dark)}.topbar-actions[data-v-f91c44b9]{display:flex;align-items:center;gap:20px}.icon-btn[data-v-f91c44b9]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.badge[data-v-f91c44b9]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e0483e;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.profile[data-v-f91c44b9]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dark)}.avatar[data-v-f91c44b9]{width:36px;height:36px;border-radius:50%;background:var(--accent-light, #eaf5fb);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.clock-card[data-v-f91c44b9]{background:#fff;border-radius:14px;padding:32px;text-align:center;box-shadow:0 4px 16px -8px #0a6ebd26;margin-bottom:20px}.clock-time[data-v-f91c44b9]{font-size:48px;font-weight:700;color:var(--primary-dark)}.clock-date[data-v-f91c44b9]{font-size:14px;color:var(--text-muted);margin-top:4px}.employee-select[data-v-f91c44b9]{width:100%;max-width:360px;height:44px;padding:0 14px;margin:20px auto 0;display:block;order:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none}.employee-select[data-v-f91c44b9]:focus{border-color:var(--primary)}.clock-actions[data-v-f91c44b9]{display:flex;justify-content:center;gap:16px;margin-top:24px}.btn-checkin[data-v-f91c44b9],.btn-checkout[data-v-f91c44b9]{width:160px;height:48px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.btn-checkin[data-v-f91c44b9]{background:var(--primary);color:#fff}.btn-checkin[data-v-f91c44b9]:hover:not(:disabled){background:var(--primary-dark)}.btn-checkout[data-v-f91c44b9]{background:#fdecec;color:#b3261e}.btn-checkout[data-v-f91c44b9]:hover:not(:disabled){background:#f8d7d5}.btn-checkin[data-v-f91c44b9]:disabled,.btn-checkout[data-v-f91c44b9]:disabled{opacity:.4;cursor:not-allowed}.status-text[data-v-f91c44b9]{margin-top:16px;font-size:14px;color:var(--text-muted)}.employee-table[data-v-f91c44b9]{background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 16px -8px #0a6ebd26}.table-header h2[data-v-f91c44b9]{font-size:16px;color:var(--text-dark);margin-bottom:16px}.employee-table table[data-v-f91c44b9]{width:100%;border-collapse:collapse}.employee-table th[data-v-f91c44b9]{text-align:left;font-size:13px;color:var(--text-muted);padding:10px;border-bottom:2px solid var(--border)}.employee-table td[data-v-f91c44b9]{padding:12px 10px;font-size:14px;border-bottom:1px solid var(--border)}.menu-item.disabled[data-v-f91c44b9]{opacity:.5;cursor:not-allowed}.badge-hr[data-v-f91c44b9]{font-size:11px;color:var(--text-muted);font-weight:400}.qr-error[data-v-f91c44b9]{color:#b3261e}.qr-slow[data-v-f91c44b9]{font-size:13px;color:var(--text-muted)}.btn-retry[data-v-f91c44b9]{margin-top:12px;height:40px;padding:0 20px;border:none;border-radius:10px;background:var(--primary);color:#fff;font-size:14px;cursor:pointer}.ic-purple[data-v-f91c44b9]{background:linear-gradient(135deg,#8b5cf6,#6d3fd6)}.ic-blue[data-v-f91c44b9]{background:linear-gradient(135deg,#4a90e2,#2f6db5)}.ic-orange[data-v-f91c44b9]{background:linear-gradient(135deg,#f5a84a,#d9822b)}.ic-pink[data-v-f91c44b9]{background:linear-gradient(135deg,#ec5f9a,#c73a78)}.ic-green[data-v-f91c44b9]{background:linear-gradient(135deg,#34c48b,#1f9d6b)}.ic-teal[data-v-f91c44b9]{background:linear-gradient(135deg,#3fbfd6,#2493ab)}.ic-indigo[data-v-f91c44b9]{background:linear-gradient(135deg,#6366f1,#4338ca)}.menu-icon[data-v-f91c44b9]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 10px #00000026;transition:transform .2s}.menu-item:hover .menu-icon[data-v-f91c44b9],.menu-item.active .menu-icon[data-v-f91c44b9]{transform:scale(1.05)}.menu-item.disabled .menu-icon[data-v-f91c44b9]{filter:grayscale(1);opacity:.5;box-shadow:none}.icon-btn[data-v-f91c44b9]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.badge[data-v-f91c44b9]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e5484d;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.icon-btn-wrap[data-v-f91c44b9]{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-btn-label[data-v-f91c44b9]{font-size:11px;color:var(--text-muted);white-space:nowrap}.btn-logout-text[data-v-f91c44b9]{background:none;border:none;color:#dc2626;font-size:14px;font-weight:600;cursor:pointer;padding:8px 4px}.btn-logout-text[data-v-f91c44b9]:hover{text-decoration:underline}.lao-date-picker[data-v-4c82dc64]{position:relative;width:100%}.date-display[data-v-4c82dc64]{height:40px;padding:0 12px;border:1.5px solid var(--border, #e2ecf2);border-radius:8px;font-size:14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#fff;color:var(--text-dark, #0d2b3e)}.date-display[data-v-4c82dc64]:hover{border-color:var(--primary, #0a6ebd)}.placeholder[data-v-4c82dc64]{color:var(--text-muted, #7b94a3)}.calendar-popup[data-v-4c82dc64]{position:absolute;top:calc(100% + 6px);left:0;z-index:50;background:#fff;border-radius:12px;box-shadow:0 8px 24px -8px #0a6ebd4d;padding:16px;width:280px}.calendar-header[data-v-4c82dc64]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.nav-btn[data-v-4c82dc64]{width:28px;height:28px;border:none;background:var(--bg-app, #edf3f7);border-radius:6px;font-size:16px;cursor:pointer;color:var(--primary, #0a6ebd)}.nav-btn[data-v-4c82dc64]:hover{background:#eaf5fb}.month-year[data-v-4c82dc64]{display:flex;gap:6px}.select-month[data-v-4c82dc64],.select-year[data-v-4c82dc64]{border:1px solid var(--border, #e2ecf2);border-radius:6px;font-size:13px;padding:4px 6px;outline:none;background:#fff}.weekday-row[data-v-4c82dc64]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:var(--text-muted, #7b94a3);margin-bottom:6px}.days-grid[data-v-4c82dc64]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day-cell[data-v-4c82dc64]{height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:6px;cursor:pointer;color:var(--text-dark, #0d2b3e)}.day-cell[data-v-4c82dc64]:hover:not(.empty){background:var(--bg-app, #edf3f7)}.day-cell.empty[data-v-4c82dc64]{cursor:default}.day-cell.today[data-v-4c82dc64]{border:1.5px solid var(--primary, #0a6ebd)}.day-cell.selected[data-v-4c82dc64]{background:var(--primary, #0a6ebd);color:#fff;font-weight:600}.calendar-footer[data-v-4c82dc64]{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border, #e2ecf2)}.footer-link[data-v-4c82dc64]{border:none;background:none;color:var(--primary, #0a6ebd);font-size:13px;cursor:pointer}.footer-link[data-v-4c82dc64]:hover{text-decoration:underline}.dashboard-page[data-v-69c7ae13]{display:flex;min-height:100vh}.sidebar[data-v-69c7ae13]{width:220px;background:#fff;border-right:1px solid var(--border)}.main-content[data-v-69c7ae13]{flex:1;padding:24px}.logo-text[data-v-69c7ae13]{font-weight:700;font-size:18px;color:var(--primary-dark);padding:20px}.menu[data-v-69c7ae13]{display:flex;flex-direction:column}.menu-item[data-v-69c7ae13]{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:2px 12px;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s}.menu-item[data-v-69c7ae13]:hover{background:var(--bg-app)}.menu-item.active[data-v-69c7ae13]{background:#eaf5fb;color:var(--primary);font-weight:600;border-right:3px solid var(--primary)}.menu-item.disabled[data-v-69c7ae13]{opacity:.5;cursor:not-allowed}.badge-hr[data-v-69c7ae13]{font-size:11px;color:var(--text-muted);font-weight:400}.topbar[data-v-69c7ae13]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1[data-v-69c7ae13]{font-size:20px;color:var(--text-dark)}.topbar-actions[data-v-69c7ae13]{display:flex;align-items:center;gap:20px}.card[data-v-69c7ae13]{background:#fff;border-radius:14px;padding:24px;margin-bottom:16px;box-shadow:0 4px 16px -8px #0a6ebd26}.empty-text[data-v-69c7ae13]{color:var(--text-muted)}.profile-card[data-v-69c7ae13]{background:#fff;border-radius:14px;padding:24px;margin-bottom:16px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 16px -8px #0a6ebd26}.profile-avatar[data-v-69c7ae13]{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.profile-avatar[data-v-69c7ae13]{position:relative;cursor:pointer;overflow:hidden}.avatar-img[data-v-69c7ae13]{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-overlay[data-v-69c7ae13]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.profile-avatar:hover .avatar-overlay[data-v-69c7ae13]{opacity:1}.profile-headline[data-v-69c7ae13]{display:flex;flex-direction:column;gap:4px}.profile-headline h2[data-v-69c7ae13]{font-size:20px;color:var(--text-dark)}.profile-position[data-v-69c7ae13]{font-size:14px;color:var(--text-muted)}.profile-code[data-v-69c7ae13]{font-size:13px;color:var(--text-muted)}.section-title[data-v-69c7ae13]{font-size:15px;color:var(--text-dark);margin-bottom:16px}.info-grid[data-v-69c7ae13]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item[data-v-69c7ae13]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-69c7ae13]{font-size:12px;color:var(--text-muted)}.info-value[data-v-69c7ae13]{font-size:14px;color:var(--text-dark)}.status-pill[data-v-69c7ae13]{display:inline-block;width:fit-content;padding:4px 10px;border-radius:8px;font-size:13px;font-weight:600}.section-header[data-v-69c7ae13]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.btn-edit-profile[data-v-69c7ae13]{background:#eaf5fb;color:var(--primary);border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-edit-profile[data-v-69c7ae13]:hover{background:#d5ecf8}.edit-form[data-v-69c7ae13]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.form-field[data-v-69c7ae13]{display:flex;flex-direction:column;gap:6px}.form-field label[data-v-69c7ae13]{font-size:12px;color:var(--text-muted)}.form-field input[data-v-69c7ae13],.form-field select[data-v-69c7ae13]{height:40px;padding:0 12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;outline:none;box-sizing:border-box}.form-field input[data-v-69c7ae13]:focus,.form-field select[data-v-69c7ae13]:focus{border-color:var(--primary)}.edit-actions[data-v-69c7ae13]{grid-column:1 / -1;display:flex;gap:10px;margin-top:8px}.btn-cancel[data-v-69c7ae13]{flex:1;height:40px;border:1.5px solid var(--border);background:#fff;border-radius:8px;cursor:pointer}.btn-save[data-v-69c7ae13]{flex:1;height:40px;border:none;background:var(--primary);color:#fff;border-radius:8px;font-weight:600;cursor:pointer}.btn-save[data-v-69c7ae13]:disabled{opacity:.6;cursor:not-allowed}.date-hint[data-v-69c7ae13]{font-size:12px;color:var(--text-muted);margin-top:2px}.menu-icon[data-v-69c7ae13]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.icon-btn[data-v-69c7ae13]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.badge[data-v-69c7ae13]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e5484d;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.status-pill.active[data-v-69c7ae13]{background:#d1e7dd;color:#146c43}.status-pill.inactive[data-v-69c7ae13]{background:#f8d7da;color:#b02a37}.ic-purple[data-v-69c7ae13]{background:linear-gradient(135deg,#8b5cf6,#6d3fd6)}.ic-blue[data-v-69c7ae13]{background:linear-gradient(135deg,#4a90e2,#2f6db5)}.ic-orange[data-v-69c7ae13]{background:linear-gradient(135deg,#f5a84a,#d9822b)}.ic-pink[data-v-69c7ae13]{background:linear-gradient(135deg,#ec5f9a,#c73a78)}.ic-green[data-v-69c7ae13]{background:linear-gradient(135deg,#34c48b,#1f9d6b)}.ic-teal[data-v-69c7ae13]{background:linear-gradient(135deg,#3fbfd6,#2493ab)}.ic-indigo[data-v-69c7ae13]{background:linear-gradient(135deg,#6366f1,#4338ca)}.icon-btn-wrap[data-v-69c7ae13]{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-btn-label[data-v-69c7ae13]{font-size:11px;color:var(--text-muted);white-space:nowrap}.btn-logout-text[data-v-69c7ae13]{background:none;border:none;color:#dc2626;font-size:14px;font-weight:600;cursor:pointer;padding:8px 4px}.btn-logout-text[data-v-69c7ae13]:hover{text-decoration:underline}.pwd-message[data-v-69c7ae13]{grid-column:1 / -1;margin:0;font-size:13px}.pwd-message.ok[data-v-69c7ae13]{color:#146c43}.pwd-message.err[data-v-69c7ae13]{color:#c0392b}.btn-logout[data-v-69c7ae13]{display:inline-flex;align-items:center;gap:8px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-logout[data-v-69c7ae13]:hover{background:#fee2e2}.btn-logout-mobile[data-v-69c7ae13]{display:none;align-items:center;gap:8px;align-self:flex-start;background:#fef2f2;color:#dc2626;border:1px solid #fee2e2;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}.btn-logout-mobile[data-v-69c7ae13]:hover{background:#fee2e2}@media (max-width: 768px){.btn-logout-mobile[data-v-69c7ae13]{display:inline-flex}}.avatar-block[data-v-69c7ae13]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.btn-remove-avatar[data-v-69c7ae13]{height:32px;padding:0 14px;border:1.5px solid #fee2e2;background:#fff;color:#d64545;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}.btn-remove-avatar[data-v-69c7ae13]:hover{background:#fdf1f1}.btn-remove-avatar[data-v-69c7ae13]:disabled{opacity:.5;cursor:not-allowed}.dashboard-page[data-v-703a1970]{display:flex;min-height:100vh}.sidebar[data-v-703a1970]{width:220px;background:#fff;border-right:1px solid var(--border)}.main-content[data-v-703a1970]{flex:1;padding:24px}.logo-text[data-v-703a1970]{font-weight:700;font-size:18px;color:var(--primary-dark);padding:20px}.menu[data-v-703a1970]{display:flex;flex-direction:column}.menu-item[data-v-703a1970]{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:2px 12px;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s}.menu-item[data-v-703a1970]:hover{background:var(--bg-app)}.menu-item.active[data-v-703a1970]{background:#eaf5fb;color:var(--primary);font-weight:600;border-right:3px solid var(--primary)}.menu-item.disabled[data-v-703a1970]{opacity:.5;cursor:not-allowed}.badge-hr[data-v-703a1970]{font-size:11px;color:var(--text-muted);font-weight:400}.topbar[data-v-703a1970]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1[data-v-703a1970]{font-size:20px;color:var(--text-dark)}.topbar-actions[data-v-703a1970]{display:flex;align-items:center;gap:20px}.card[data-v-703a1970]{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px -8px #0a6ebd26}.card h2[data-v-703a1970]{font-size:16px;color:var(--text-dark);margin-bottom:12px}textarea[data-v-703a1970]{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;outline:none;box-sizing:border-box;font-family:inherit;margin-bottom:12px;resize:vertical}textarea[data-v-703a1970]:focus{border-color:var(--primary)}.btn-primary[data-v-703a1970]{height:44px;padding:0 24px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:15px;font-weight:600;cursor:pointer}.btn-primary[data-v-703a1970]:disabled{opacity:.6;cursor:not-allowed}.message[data-v-703a1970]{margin-top:10px;color:var(--primary)}.hint-text[data-v-703a1970]{color:var(--text-muted);font-size:14px;margin-bottom:8px}.empty-text[data-v-703a1970]{color:var(--text-muted);font-size:14px}.feedback-toggle-card[data-v-703a1970]{display:flex;align-items:center;justify-content:space-between;gap:20px}.btn-toggle[data-v-703a1970]{flex-shrink:0;height:44px;padding:0 20px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-toggle.on[data-v-703a1970]{background:#d1e7dd;border-color:#d1e7dd;color:#146c43}.message-item[data-v-703a1970]{padding:12px 0;border-bottom:1px solid var(--border)}.message-item[data-v-703a1970]:last-child{border-bottom:none}.message-item-header[data-v-703a1970]{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-size:13px;color:var(--text-muted)}.message-item-dept[data-v-703a1970]{color:var(--text-muted)}.message-item-date[data-v-703a1970]{margin-left:auto}.message-item p[data-v-703a1970]{font-size:14px;color:var(--text-dark)}.btn-delete-inline[data-v-703a1970]{border:none;background:#fdecec;color:#b3261e;padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer}.btn-delete-inline[data-v-703a1970]:hover{background:#f8d7d5}.ic-purple[data-v-703a1970]{background:linear-gradient(135deg,#8b5cf6,#6d3fd6)}.ic-blue[data-v-703a1970]{background:linear-gradient(135deg,#4a90e2,#2f6db5)}.ic-orange[data-v-703a1970]{background:linear-gradient(135deg,#f5a84a,#d9822b)}.ic-pink[data-v-703a1970]{background:linear-gradient(135deg,#ec5f9a,#c73a78)}.ic-green[data-v-703a1970]{background:linear-gradient(135deg,#34c48b,#1f9d6b)}.ic-teal[data-v-703a1970]{background:linear-gradient(135deg,#3fbfd6,#2493ab)}.ic-indigo[data-v-703a1970]{background:linear-gradient(135deg,#6366f1,#4338ca)}.menu-icon[data-v-703a1970]{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 10px #00000026;transition:transform .2s}.menu-item:hover .menu-icon[data-v-703a1970],.menu-item.active .menu-icon[data-v-703a1970]{transform:scale(1.05)}.menu-item.disabled .menu-icon[data-v-703a1970]{filter:grayscale(1);opacity:.5;box-shadow:none}.icon-btn[data-v-703a1970]{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn-wrap[data-v-703a1970]{display:flex;flex-direction:column;align-items:center;gap:4px}.icon-btn-label[data-v-703a1970]{font-size:11px;color:var(--text-muted);white-space:nowrap}.badge[data-v-703a1970]{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#e5484d;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.file-input-hidden[data-v-703a1970]{display:none}.file-input-row[data-v-703a1970]{display:flex;align-items:center;gap:12px;margin:12px 0}.btn-choose-file[data-v-703a1970]{background:#e9ecef;color:#212529;border:1px solid #ced4da;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer}.btn-choose-file[data-v-703a1970]:hover{background:#dde1e5}.file-name-text[data-v-703a1970]{font-size:14px;color:var(--text-muted)}.image-preview[data-v-703a1970]{display:block;width:100%;max-width:220px;max-height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--border);margin:12px 0}.announcement-image[data-v-703a1970]{display:block;width:100%;max-width:320px;max-height:200px;object-fit:cover;border-radius:12px;border:1px solid var(--border);margin-top:10px}@media (max-width: 768px){.image-preview[data-v-703a1970]{max-width:100%;max-height:140px}.announcement-image[data-v-703a1970]{max-width:100%;max-height:180px}}.sidebar-logout[data-v-45e3dc60]{display:flex;align-items:center;gap:12px;width:calc(100% - 24px);margin:auto 12px 20px;padding:12px 20px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#dc2626;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;box-sizing:border-box}.sidebar-logout[data-v-45e3dc60]:hover{background:#fee2e2}@media (max-width: 768px){.sidebar-logout[data-v-45e3dc60]{display:none}}.lang-wrap[data-v-57009947]{display:flex;flex-direction:column;align-items:center;gap:4px}.lang-btn[data-v-57009947]{width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-app);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.lang-btn[data-v-57009947]:hover{color:var(--primary)}.lang-label[data-v-57009947]{font-size:11px;color:var(--text-muted);white-space:nowrap}:root{--primary: #0a6ebd;--primary-dark: #084c82;--accent: #2e9cca;--bg-app: #edf3f7;--text-dark: #0d2b3e;--text-muted: #7b94a3;--border: #e2ecf2}body{background:var(--bg-app);margin:0}@media (max-width: 768px){.dashboard-page{flex-direction:column!important}.sidebar{position:fixed!important;bottom:0;left:0;right:0;width:100%!important;z-index:100;border-right:none!important;border-top:1px solid var(--border);box-shadow:0 -4px 16px -8px #0a6ebd33;padding-bottom:env(safe-area-inset-bottom,0)}.logo-text{display:none!important}.menu{flex-direction:row!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu-item{flex-direction:column!important;gap:4px!important;margin:4px 2px!important;padding:6px 4px!important;flex:1 0 58px;min-width:58px;font-size:10px!important;line-height:1.2;text-align:center;white-space:normal;border-right:none!important}.badge-hr{display:none!important}.main-content{padding:16px 14px 96px!important;min-width:0;width:100%;box-sizing:border-box}.topbar{padding-bottom:12px!important;margin-bottom:14px!important;gap:8px}.topbar h1{font-size:17px!important}.topbar-actions{gap:10px!important}.icon-btn-label{font-size:10px!important}.card,.profile-card{padding:16px!important;border-radius:12px!important}.main-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.info-grid,.edit-form{grid-template-columns:1fr!important}input,select,textarea{font-size:16px!important;max-width:100%;box-sizing:border-box}.chat-widget-root{bottom:84px!important;right:16px!important}.chat-panel{bottom:84px!important;max-height:calc(100vh - 100px)!important}}@media (max-width: 380px){.stat-grid{grid-template-columns:1fr!important}}@media (max-width: 768px){html,body{max-width:100%;overflow-x:hidden}.kpi-row{flex-direction:column!important;gap:12px!important;margin-top:16px!important}.kpi-card{width:100%!important;min-width:0!important;box-sizing:border-box;margin-top:0!important}.kpi-body{flex-wrap:wrap;justify-content:center;gap:16px!important}.kpi-legend{min-width:0;flex:1 1 160px}.legend-label{min-width:0!important;flex:1}.donut{width:120px!important;height:120px!important}.donut-hole{width:76px!important;height:76px!important}}@media (min-width: 769px){.dashboard-page{height:100vh;overflow:hidden}.sidebar{flex-shrink:0;height:100vh;overflow-y:auto}.main-content{height:100vh;box-sizing:border-box;overflow-y:auto;min-width:0;padding-top:0!important}.topbar{position:sticky;top:0;z-index:20;background:var(--bg-app);padding-top:24px}.main-content:has(table){display:flex;flex-direction:column}.main-content:has(table)>*{flex-shrink:0}.main-content:has(table)>.employee-table,.main-content:has(table)>.card:has(table){flex:1 0 320px;min-height:0;overflow:auto}.main-content:has(table) table thead th{position:sticky;top:0;z-index:1;background:#fff}}.menu-icon{background:none!important;box-shadow:none!important;color:var(--text-muted)!important;width:auto!important;height:auto!important}.menu-icon svg{width:24px;height:24px}.menu-item:hover{background:transparent!important;color:var(--primary)}.menu-item.active{background:transparent!important;border-right:none!important}.menu-item.active .menu-icon{color:var(--primary)!important}@media (max-width: 768px){.dashboard-page{height:100vh!important;height:100dvh!important;min-height:0!important;overflow:hidden}.main-content{height:100vh;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;padding-top:0!important}.main-content>*{flex-shrink:0}.topbar{position:sticky;top:0;z-index:30;background:var(--bg-app);padding-top:16px!important}.main-content>.history-card{flex:0 1 auto;min-height:220px;display:flex;flex-direction:column;overflow:hidden;margin-bottom:0!important}.history-card>.table-scroll,.history-card>.list-scroll{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.history-card .table-scroll table{display:table!important;overflow:visible!important;width:100%;min-width:max-content}.history-card thead th{position:sticky;top:0;z-index:2;background:#fff}.main-content>.scroll-list{flex:0 1 auto;min-height:0;overflow-y:auto;padding:4px;margin:-4px}}@media (min-width: 769px){.dashboard-page{height:100vh!important;min-height:0!important;overflow:hidden}.sidebar{height:100vh;overflow-y:auto;flex-shrink:0;box-sizing:border-box;display:flex;flex-direction:column}.sidebar>*{flex-shrink:0}.main-content{height:100vh;overflow-y:auto;box-sizing:border-box;min-width:0;display:flex;flex-direction:column;padding-top:0!important}.main-content>*{flex-shrink:0}.topbar{position:sticky;top:0;z-index:30;background:var(--bg-app);padding-top:24px!important}.main-content>.history-card{flex:0 1 auto;min-height:220px;display:flex;flex-direction:column;overflow:hidden;margin-bottom:0!important}.history-card>.table-scroll,.history-card>.list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.history-card thead th{position:sticky;top:0;z-index:2;background:#fff}.main-content>.scroll-list{flex:0 1 auto;min-height:0;overflow-y:auto;padding:4px 4px 12px;margin:-4px -4px 0}}html[data-theme=soft]{--primary: #4a8bc9;--primary-dark: #34608f;--accent: #7fb6e6;--bg-app: #f1f4f8;--text-dark: #2a3441;--text-muted: #8391a1;--border: #e4e9ef}html[data-theme=soft] body{background:radial-gradient(1200px 700px at 105% -10%,#96beeb61,#96beeb00 70%),radial-gradient(1000px 700px at 35% -20%,#beb4eb38,#beb4eb00 70%),radial-gradient(1100px 700px at 100% 115%,#a0d7cd42,#a0d7cd00 70%),#f2f5f9 fixed;background-attachment:fixed}html[data-theme=soft] #app .sidebar{background:#fff;border-right:1px solid var(--border)}html[data-theme=soft] #app .menu-item{position:relative;gap:14px;padding:11px 18px;color:var(--text-muted);background:transparent;transition:color .18s ease,transform .18s ease}html[data-theme=soft] #app .menu-item:hover{background:transparent;color:var(--text-dark)}html[data-theme=soft] #app .menu-item .menu-icon{color:inherit!important;transition:transform .18s ease}html[data-theme=soft] #app .menu-item:hover .menu-icon{transform:translate(2px)}html[data-theme=soft] #app .menu-item .menu-icon svg{stroke-width:1.7}html[data-theme=soft] #app .menu-item.active{background:transparent;color:var(--primary);font-weight:600;border-right:none}html[data-theme=soft] #app .menu-item.active:before{content:"";position:absolute;left:-12px;top:50%;width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}html[data-theme=soft] #app .topbar{background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:none}html[data-theme=soft] #app .topbar h1{color:var(--text-dark);font-weight:600}html[data-theme=soft] #app .icon-btn{background:#fffc;border:1px solid var(--border);color:var(--text-muted)}html[data-theme=soft] #app .card,html[data-theme=soft] #app .profile-card,html[data-theme=soft] #app .stat-box,html[data-theme=soft] #app .balance-card,html[data-theme=soft] #app .pay-card{background:#fff;border:1px solid var(--border);box-shadow:0 1px 2px #283c5a0a,0 10px 28px -18px #283c5a29}html[data-theme=soft] #app .stat-box-value{color:var(--text-dark)}html[data-theme=soft] #app .btn-primary,html[data-theme=soft] #app .btn-save,html[data-theme=soft] #app .btn-go{background:var(--primary);color:#fff;box-shadow:none;transition:background .15s ease}html[data-theme=soft] #app .btn-primary:hover,html[data-theme=soft] #app .btn-save:hover,html[data-theme=soft] #app .btn-go:hover{background:#3f7cb8}html[data-theme=soft] #app input,html[data-theme=soft] #app select,html[data-theme=soft] #app textarea{background:#fbfcfe;border-color:var(--border);color:var(--text-dark)}html[data-theme=soft] #app input:focus,html[data-theme=soft] #app select:focus,html[data-theme=soft] #app textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4a8bc926}html[data-theme=soft] #app th{color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}html[data-theme=soft] #app td{border-bottom:1px solid #eef2f6}html[data-theme=soft] #app tbody tr:hover{background:#f6f9fc}html[data-theme=soft] #app .main-content::-webkit-scrollbar,html[data-theme=soft] #app .table-scroll::-webkit-scrollbar,html[data-theme=soft] #app .list-scroll::-webkit-scrollbar{width:8px;height:8px}html[data-theme=soft] #app .main-content::-webkit-scrollbar-thumb,html[data-theme=soft] #app .table-scroll::-webkit-scrollbar-thumb,html[data-theme=soft] #app .list-scroll::-webkit-scrollbar-thumb{background:#d3dae3;border-radius:8px}html[data-theme=soft] #app .sidebar-logout{gap:14px;padding:11px 18px;background:#fef2f2;color:#dc2626;font-weight:600;transition:background .18s ease}html[data-theme=soft] #app .sidebar-logout:hover{background:transparent;color:red}html[data-theme=soft] #app .sidebar-logout svg{stroke-width:1.7;color:red}html[data-theme=soft] #app .card h2,html[data-theme=soft] #app .card h3,html[data-theme=soft] #app .profile-card h2,html[data-theme=soft] #app .profile-card h3{font-size:16px;font-weight:600;color:var(--text-dark)}html[data-theme=soft] #app .pill.ok{background:#e4f1ec;color:#2f7a60}html[data-theme=soft] #app .pill.warn{background:#fbf1da;color:#8a6a1c}html[data-theme=soft] #app .pill.none{background:#eceff3;color:#6b7785}html[data-theme=soft] #app .link-btn{color:var(--primary)}html[data-theme=soft] #app .menu-item .menu-icon{background:transparent}html[data-theme=soft] #app .menu-item .menu-icon.ic-purple{color:#8a78d8!important}html[data-theme=soft] #app .menu-item .menu-icon.ic-blue{color:#4a8bc9!important}html[data-theme=soft] #app .menu-item .menu-icon.ic-orange{color:#e0953f!important}html[data-theme=soft] #app .menu-item .menu-icon.ic-pink{color:#d8688f!important}html[data-theme=soft] #app .menu-item .menu-icon.ic-green{color:#3fae88!important}html[data-theme=soft] #app .menu-item .menu-icon.ic-teal{color:#3fb0c2!important}html[data-theme=soft] #app .menu-item .menu-icon.ic-indigo{color:#6a76d8!important}html[data-theme=soft] #app .menu-item.active{color:var(--primary-dark)}html[data-theme=soft] #app .sidebar{background:linear-gradient(180deg,#eef5fc,#fff 180px)}html[data-theme=soft] #app .logo-text{background:linear-gradient(90deg,#34608f,#5a9ad3);-webkit-background-clip:text;background-clip:text;color:transparent}html[data-theme=soft] #app .topbar h1{color:var(--primary-dark)}html[data-theme=soft] #app .card,html[data-theme=soft] #app .profile-card{background:linear-gradient(180deg,#f6faff,#fff 90px);box-shadow:0 1px 2px #283c5a0a,0 12px 30px -18px #3c64a047}html[data-theme=soft] #app .card h2:before,html[data-theme=soft] #app .card h3:before,html[data-theme=soft] #app .profile-card h2:before,html[data-theme=soft] #app .profile-card h3:before{content:"";display:inline-block;width:4px;height:15px;margin-right:10px;border-radius:4px;vertical-align:-2px;background:linear-gradient(180deg,#7fb6e6,#4a8bc9)}html[data-theme=soft] #app .stat-box{--tone: #4a8bc9;--tone-bg: #eaf3fb;background:linear-gradient(180deg,var(--tone-bg) 0%,#ffffff 70%);box-shadow:0 12px 28px -20px #3c64a04d;border:1px solid var(--border)}html[data-theme=soft] #app .stat-box:nth-child(2){--tone: #e0953f;--tone-bg: #fdf3e6}html[data-theme=soft] #app .stat-box:nth-child(3){--tone: #8a78d8;--tone-bg: #f1eefb}html[data-theme=soft] #app .stat-box:nth-child(4){--tone: #3fae88;--tone-bg: #e8f6f0}html[data-theme=soft] #app .stat-box-value{color:var(--tone)}html[data-theme=soft] #app .btn-primary,html[data-theme=soft] #app .btn-save,html[data-theme=soft] #app .btn-go{background:linear-gradient(135deg,#64a3da,#4a8bc9);box-shadow:0 6px 14px -6px #4a8bc9b3}html[data-theme=soft] #app .btn-primary:hover,html[data-theme=soft] #app .btn-save:hover,html[data-theme=soft] #app .btn-go:hover{background:linear-gradient(135deg,#5a9ad3,#3f7cb8)}html[data-theme=soft] #app .icon-btn{color:var(--primary);background:#fff;box-shadow:0 6px 14px -8px #3c64a066}html[data-theme=soft] #app th{background:#f0f6fc;color:#5f7a96}html[data-theme=soft] #app .ann-item{position:relative;padding-left:18px}html[data-theme=soft] #app .ann-item:before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:50%;background:#7fb6e6}@media (max-width: 768px){html[data-theme=soft] #app .sidebar{background:#ffffffeb;border-top:1px solid var(--border)}html[data-theme=soft] #app .menu-item.active:before{left:50%;top:0;width:20px;height:3px;border-radius:0 0 3px 3px;transform:translate(-50%)}html[data-theme=soft] #app .menu-item:hover .menu-icon{transform:none}}
