.hrms-dash[data-v-9fa25429]{padding:4px 0}.hd-filter-bar[data-v-9fa25429]{display:flex;align-items:center;gap:10px;margin-bottom:16px}.hd-filter-select[data-v-9fa25429]{padding:7px 32px 7px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:13px;font-weight:500;color:#374151;min-width:220px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.hd-filter-select[data-v-9fa25429]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f120}.hd-row[data-v-9fa25429]{display:grid;gap:14px}.hd-row-4[data-v-9fa25429]{grid-template-columns:repeat(4,1fr)}.hd-row-2[data-v-9fa25429]{grid-template-columns:repeat(2,1fr)}.hd-row-3[data-v-9fa25429]{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.hd-row-4[data-v-9fa25429]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.hd-row-3[data-v-9fa25429]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.hd-row-4[data-v-9fa25429],.hd-row-3[data-v-9fa25429],.hd-row-2[data-v-9fa25429]{grid-template-columns:1fr}}.hd-card[data-v-9fa25429]{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:8px;color:#fff;min-height:90px;position:relative;overflow:hidden;transition:transform .12s,box-shadow .12s}.hd-card[data-v-9fa25429]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff0a}.hd-card--clickable[data-v-9fa25429]{cursor:pointer}.hd-card--clickable[data-v-9fa25429]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.hd-card--blue[data-v-9fa25429]{background:#337ab7}.hd-card--green[data-v-9fa25429]{background:#5cb85c}.hd-card--red[data-v-9fa25429]{background:#d9534f}.hd-card--amber[data-v-9fa25429]{background:#e0971b}.hd-card--teal[data-v-9fa25429]{background:#5bc0de}.hd-card--purple[data-v-9fa25429]{background:#6f42c1}.hd-card--indigo[data-v-9fa25429]{background:#4f46e5}.hd-card-icon[data-v-9fa25429]{flex-shrink:0;opacity:.85}.hd-card-icon svg[data-v-9fa25429]{width:48px;height:48px}.hd-card-body[data-v-9fa25429]{flex:1;min-width:0}.hd-count[data-v-9fa25429]{font-size:36px;font-weight:700;line-height:1;margin-bottom:4px;letter-spacing:-.5px}.hd-label[data-v-9fa25429]{font-size:13px;font-weight:500;opacity:.92;line-height:1.3}.hd-skeleton[data-v-9fa25429]{min-height:90px;background:linear-gradient(90deg,#e0e0e0 25%,#d0d0d0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer-9fa25429 1.2s infinite;border-radius:8px}@keyframes shimmer-9fa25429{0%{background-position:200% 0}to{background-position:-200% 0}}.hd-panel[data-v-9fa25429]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.hd-panel-header[data-v-9fa25429]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid #e5e7eb;gap:12px;flex-wrap:wrap}.hd-panel-title[data-v-9fa25429]{font-size:15px;font-weight:500;color:#1e293b;margin:0}.hd-panel-title strong[data-v-9fa25429]{font-weight:700}.hd-panel-body[data-v-9fa25429]{overflow-x:auto}.hd-panel-footer[data-v-9fa25429]{padding:8px 18px;border-top:1px solid #f1f5f9;font-size:12px;color:#6b7280}.hd-search[data-v-9fa25429]{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;min-width:200px;background:#fff}.hd-search[data-v-9fa25429]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f120}.hd-table[data-v-9fa25429]{width:100%;border-collapse:collapse;font-size:13px}.hd-table th[data-v-9fa25429]{background:#f8fafc;padding:9px 12px;text-align:left;font-weight:700;font-size:12px;color:#475569;border-bottom:2px solid #e2e8f0;white-space:nowrap}.hd-table td[data-v-9fa25429]{padding:9px 12px;border-bottom:1px solid #f1f5f9;color:#374151;white-space:nowrap}.hd-table tbody tr:last-child td[data-v-9fa25429]{border-bottom:none}.hd-table tbody tr:hover td[data-v-9fa25429]{background:#f8fafc}.th-sort[data-v-9fa25429]{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort[data-v-9fa25429]:hover{background:#f1f5f9;color:#1e293b}.sico[data-v-9fa25429]{font-size:11px;color:#94a3b8;margin-left:4px}.hd-td-name[data-v-9fa25429]{font-weight:600}.hd-td-muted[data-v-9fa25429]{color:#6b7280;font-size:12px}.hd-td-reason[data-v-9fa25429]{max-width:200px;overflow:hidden;text-overflow:ellipsis;color:#6b7280;cursor:help}.hd-td-academy[data-v-9fa25429]{font-size:11px;color:#6366f1;font-weight:600}.hd-badge[data-v-9fa25429]{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.hd-badge--blue[data-v-9fa25429]{background:#dbeafe;color:#1d4ed8}.hd-badge--gold[data-v-9fa25429]{background:#fef9c3;color:#854d0e}.hd-badge--indigo[data-v-9fa25429]{background:#e0e7ff;color:#3730a3}.hd-error[data-v-9fa25429]{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#b91c1c;padding:16px 20px;font-size:14px;display:flex;align-items:center;gap:12px}.hd-retry-btn[data-v-9fa25429]{padding:5px 14px;background:#b91c1c;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.hd-retry-btn[data-v-9fa25429]:hover{background:#991b1b}.hd-empty[data-v-9fa25429]{color:#9ca3af;font-size:13px;padding:24px 20px;text-align:center}.emp-hint[data-v-9fa25429]{color:#6b7280}.emp-hint strong[data-v-9fa25429]{color:#1d4ed8}.hd-modal-backdrop[data-v-9fa25429]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.hd-modal-box[data-v-9fa25429]{background:#fff;border-radius:10px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000047;overflow:hidden}.hd-modal-header[data-v-9fa25429]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:#f8fafc}.hd-modal-title[data-v-9fa25429]{font-size:16px;font-weight:700;color:#1e293b;margin:0}.hd-modal-close[data-v-9fa25429]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:2px 8px;border-radius:4px}.hd-modal-close[data-v-9fa25429]:hover{background:#e5e7eb;color:#475569}.hd-modal-body[data-v-9fa25429]{overflow-y:auto;padding:16px 20px 20px;flex:1}.hd-modal-loading[data-v-9fa25429]{display:flex;align-items:center;justify-content:center;gap:10px;color:#64748b;font-size:14px;min-height:120px}.hd-modal-footer[data-v-9fa25429]{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0}.emp-filters[data-v-9fa25429]{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.emp-filter-item[data-v-9fa25429]{display:flex;flex-direction:column;gap:4px;min-width:200px}.emp-filter-label[data-v-9fa25429]{font-size:12px;font-weight:600;color:#374151}.emp-get-count-btn[data-v-9fa25429]{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:#337ab7;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.emp-get-count-btn[data-v-9fa25429]:hover:not(:disabled){background:#286090}.emp-get-count-btn[data-v-9fa25429]:disabled{opacity:.65;cursor:not-allowed}.emp-close-btn[data-v-9fa25429]{padding:8px 20px;background:#e0971b;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.emp-close-btn[data-v-9fa25429]:hover{background:#c07d12}.emp-dt-controls[data-v-9fa25429]{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.emp-perpage-row[data-v-9fa25429]{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.emp-perpage-sel[data-v-9fa25429]{padding:4px 8px;border:1px solid #d1d5db;border-radius:5px;font-size:13px;background:#fff;color:#374151}.emp-search-wrap[data-v-9fa25429]{display:flex;flex-direction:column;gap:2px}.emp-dt-footer[data-v-9fa25429]{display:flex;align-items:center;justify-content:space-between;padding:10px 0 0;gap:12px;flex-wrap:wrap;border-top:1px solid #f1f5f9;margin-top:8px}.pag-info[data-v-9fa25429]{font-size:12px;color:#6b7280}.pag-buttons[data-v-9fa25429]{display:flex;gap:4px;flex-wrap:wrap}.pag-btn[data-v-9fa25429]{padding:5px 10px;border:1px solid #d1d5db;background:#fff;border-radius:5px;font-size:12px;cursor:pointer;color:#374151;transition:background .1s,border-color .1s;min-width:32px;text-align:center}.pag-btn[data-v-9fa25429]:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pag-btn[data-v-9fa25429]:disabled{opacity:.45;cursor:not-allowed}.pag-active[data-v-9fa25429]{background:#337ab7!important;color:#fff!important;border-color:#337ab7!important}.pag-ellipsis[data-v-9fa25429]{cursor:default;border-color:transparent;background:transparent}.hd-spinner[data-v-9fa25429]{width:22px;height:22px;border:2px solid #e0e0e0;border-top-color:#6366f1;border-radius:50%;animation:spin-9fa25429 .8s linear infinite;flex-shrink:0}.hd-spinner--sm[data-v-9fa25429]{width:14px;height:14px;border-color:#ffffff59;border-top-color:#fff}@keyframes spin-9fa25429{to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.hd-panel[data-v-9fa25429],.hd-modal-box[data-v-9fa25429]{background:#1e293b;border-color:#334155}.hd-panel-header[data-v-9fa25429],.hd-modal-header[data-v-9fa25429],.hd-modal-footer[data-v-9fa25429]{background:#0f172a;border-color:#334155}.hd-panel-title[data-v-9fa25429],.hd-modal-title[data-v-9fa25429]{color:#f1f5f9}.hd-table th[data-v-9fa25429]{background:#0f172a;color:#94a3b8;border-color:#334155}.hd-table td[data-v-9fa25429]{color:#e2e8f0;border-color:#1e293b}.hd-table tbody tr:hover td[data-v-9fa25429]{background:#0f172a}.th-sort[data-v-9fa25429]:hover{background:#1e293b}.hd-filter-select[data-v-9fa25429],.hd-search[data-v-9fa25429],.emp-perpage-sel[data-v-9fa25429]{background-color:#1e293b;color:#e2e8f0;border-color:#475569}.emp-filter-label[data-v-9fa25429]{color:#94a3b8}.emp-filters[data-v-9fa25429],.emp-dt-footer[data-v-9fa25429]{border-color:#334155}.pag-btn[data-v-9fa25429]{background:#1e293b;color:#e2e8f0;border-color:#334155}.pag-btn[data-v-9fa25429]:hover:not(:disabled){background:#0f172a}.emp-perpage-row[data-v-9fa25429]{color:#94a3b8}.hd-panel-footer[data-v-9fa25429]{border-color:#334155;color:#64748b}.hd-skeleton[data-v-9fa25429]{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%}}:root[data-theme=dark] .hd-panel[data-v-9fa25429],:root[data-theme=dark] .hd-modal-box[data-v-9fa25429]{background:#1e293b;border-color:#334155}:root[data-theme=dark] .hd-panel-header[data-v-9fa25429],:root[data-theme=dark] .hd-modal-header[data-v-9fa25429],:root[data-theme=dark] .hd-modal-footer[data-v-9fa25429]{background:#0f172a;border-color:#334155}:root[data-theme=dark] .hd-panel-title[data-v-9fa25429],:root[data-theme=dark] .hd-modal-title[data-v-9fa25429]{color:#f1f5f9}:root[data-theme=dark] .hd-table th[data-v-9fa25429]{background:#0f172a;color:#94a3b8;border-color:#334155}:root[data-theme=dark] .hd-table td[data-v-9fa25429]{color:#e2e8f0;border-color:#1e293b}:root[data-theme=dark] .hd-filter-select[data-v-9fa25429],:root[data-theme=dark] .hd-search[data-v-9fa25429],:root[data-theme=dark] .emp-perpage-sel[data-v-9fa25429]{background-color:#1e293b;color:#e2e8f0;border-color:#475569}:root[data-theme=dark] .emp-filter-label[data-v-9fa25429]{color:#94a3b8}:root[data-theme=dark] .pag-btn[data-v-9fa25429]{background:#1e293b;color:#e2e8f0;border-color:#334155}:root[data-theme=dark] .hd-skeleton[data-v-9fa25429]{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%}.page-content[data-v-89f4009a]{display:flex;flex-direction:column;height:100%;min-height:0}.page-header-row[data-v-89f4009a],.stat-strip[data-v-89f4009a],.filter-panel[data-v-89f4009a],.adhoc-alerts[data-v-89f4009a]{flex:none}.page-header-row[data-v-89f4009a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.page-title-inline[data-v-89f4009a]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-89f4009a]{font-size:12px;color:#888780;margin-top:2px}.header-actions[data-v-89f4009a]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.adhoc-alerts[data-v-89f4009a]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.adhoc-banner[data-v-89f4009a]{display:flex;align-items:flex-start;gap:10px;padding:11px 16px;border-radius:10px;border-left:4px solid;font-size:13px;line-height:1.5}.adhoc-today[data-v-89f4009a]{background:#fef2f2;border-color:#ef4444;color:#991b1b}.adhoc-icon[data-v-89f4009a]{font-size:14px;flex-shrink:0;margin-top:1px}.adhoc-body[data-v-89f4009a]{flex:1}.adhoc-names[data-v-89f4009a]{margin:5px 0 0;padding-left:18px;list-style:disc}.adhoc-names li[data-v-89f4009a]{margin-bottom:2px}.stat-strip[data-v-89f4009a]{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.stat-card[data-v-89f4009a]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:10px 16px;min-width:90px}.stat-val[data-v-89f4009a]{font-size:20px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-89f4009a]{font-size:10px;color:#888;margin-top:1px;text-transform:uppercase;letter-spacing:.4px}.text-green[data-v-89f4009a]{color:#2e7d32}.academy-switcher[data-v-89f4009a]{display:flex;flex-direction:column;gap:4px;min-width:190px}.academy-select-ctrl[data-v-89f4009a]{padding:4px 8px;font-size:12px;border:1px solid #e0ddd6;border-radius:6px;background:#fff;cursor:pointer;width:100%}.academy-select-ctrl[data-v-89f4009a]:focus{border-color:#5b5fc7;outline:none}.filter-panel[data-v-89f4009a]{background:#fff;border:1px solid #e8e5de;border-radius:10px;padding:12px 14px;margin-bottom:12px}.filter-row[data-v-89f4009a]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-row-dates[data-v-89f4009a]{margin-top:10px;padding-top:10px;border-top:1px solid #f0ede8}.date-group[data-v-89f4009a]{display:flex;flex-direction:column;gap:3px}.date-label[data-v-89f4009a]{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.4px}.date-sep[data-v-89f4009a]{color:#ccc;font-size:18px;align-self:center}.input-ctrl[data-v-89f4009a]{padding:7px 10px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;outline:none;background:#fff}.input-ctrl[data-v-89f4009a]:focus{border-color:#5b5fc7}.input-search[data-v-89f4009a]{min-width:260px;flex:1}.input-select[data-v-89f4009a]{min-width:150px}.input-date[data-v-89f4009a]{font-size:12px}.input-per-page[data-v-89f4009a]{padding:4px 8px;font-size:12px;min-width:70px}.btn-link[data-v-89f4009a]{background:none;border:none;cursor:pointer;font-size:12px;color:#5b5fc7;font-weight:600;padding:4px 2px;white-space:nowrap;display:flex;align-items:center;gap:4px}.btn-link[data-v-89f4009a]:hover{text-decoration:underline}.dot-active[data-v-89f4009a]{width:6px;height:6px;border-radius:50%;background:#e6a817;display:inline-block}.table-wrap[data-v-89f4009a]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.table-scroll[data-v-89f4009a]{flex:1;min-height:240px;overflow:auto}.data-table[data-v-89f4009a]{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1100px}.data-table thead th[data-v-89f4009a]{position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px #e8e5de}.data-table th[data-v-89f4009a]{background:#faf9f6;padding:9px 12px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.data-table th.th-sort[data-v-89f4009a]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s}.data-table th.th-sort[data-v-89f4009a]:hover{background:#f2f0ea;color:#3a3a4a}.data-table th.th-sorted[data-v-89f4009a]{background:#f2f0ea;color:#1a1a2e}.th-inner[data-v-89f4009a]{display:inline-flex;align-items:center;gap:5px}.sort-ico[data-v-89f4009a]{display:inline-flex;flex-direction:column;font-size:7px;line-height:.95;color:#cbc7bf}.th-sort:hover .sort-ico[data-v-89f4009a]{color:#a9a49a}.ico-asc .ar[data-v-89f4009a]:first-child,.ico-desc .ar[data-v-89f4009a]:last-child{color:#1a1a2e}.ico-asc .ar[data-v-89f4009a]:last-child,.ico-desc .ar[data-v-89f4009a]:first-child{opacity:.35}.data-table td[data-v-89f4009a]{padding:9px 12px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle;white-space:nowrap}.data-table tr:last-child td[data-v-89f4009a]{border-bottom:none}.data-table tbody tr:hover td[data-v-89f4009a]{background:#faf9f6}.col-num[data-v-89f4009a]{width:46px;text-align:center}.col-code[data-v-89f4009a]{width:110px}.table-empty[data-v-89f4009a]{text-align:center;padding:40px;color:#888780;font-size:13px}.emp-cell[data-v-89f4009a]{display:flex;align-items:center;gap:9px}.avatar[data-v-89f4009a]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;overflow:hidden}.avatar-img[data-v-89f4009a]{width:100%;height:100%;object-fit:cover;border-radius:50%}.fw-600[data-v-89f4009a]{font-weight:600;font-size:13px}.text-xs[data-v-89f4009a]{font-size:11px}.text-sm[data-v-89f4009a]{font-size:12px}.text-muted[data-v-89f4009a]{color:#888780}.text-danger[data-v-89f4009a]{color:#c0392b}.chip[data-v-89f4009a]{background:#f0ede8;color:#3a3a4a;padding:2px 7px;border-radius:4px;font-size:11px}.badge-type[data-v-89f4009a]{background:#eef2ff;color:#3730a3;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600}.status-pill[data-v-89f4009a]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;-webkit-user-select:none;user-select:none}.pill-clickable[data-v-89f4009a]{cursor:pointer;transition:filter .15s,transform .1s}.pill-clickable[data-v-89f4009a]:hover{filter:brightness(.93);transform:scale(1.04)}.pill-toggling[data-v-89f4009a]{opacity:.65;cursor:wait}.dot[data-v-89f4009a]{width:5px;height:5px;border-radius:50%;flex-shrink:0}.dot-spin[data-v-89f4009a]{animation:spin-89f4009a .7s linear infinite}@keyframes spin-89f4009a{to{transform:rotate(360deg)}}.pill-active[data-v-89f4009a]{background:#e8f5e9;color:#2e7d32}.pill-active .dot[data-v-89f4009a]{background:#2e7d32}.pill-inactive[data-v-89f4009a]{background:#f0ede8;color:#888780}.pill-inactive .dot[data-v-89f4009a]{background:#aaa}.action-cell[data-v-89f4009a]{display:flex;gap:5px;align-items:center}.act-btn[data-v-89f4009a]{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-edit[data-v-89f4009a]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-89f4009a]:hover{background:#e0e7ff}.act-del[data-v-89f4009a]{background:#fdecea;color:#c0392b;border-color:#f5c6c2}.act-del[data-v-89f4009a]:hover{background:#f8d7d4}.act-btn[data-v-89f4009a]:disabled{opacity:.5;cursor:not-allowed}.table-footer[data-v-89f4009a]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid #f0ede8;font-size:12px;flex-wrap:wrap;gap:8px}.pagination-info[data-v-89f4009a]{color:#888780}.pagination-controls[data-v-89f4009a]{display:flex;align-items:center;gap:3px}.pg-btn[data-v-89f4009a]{width:30px;height:30px;border:1px solid #e0ddd6;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .12s}.pg-btn[data-v-89f4009a]:hover:not(:disabled){background:#f0ede8}.pg-btn[data-v-89f4009a]:disabled{opacity:.4;cursor:not-allowed}.pg-active[data-v-89f4009a]{background:#1a1a2e!important;color:#fff!important;border-color:#1a1a2e!important}.pg-ellipsis[data-v-89f4009a]{padding:0 4px;color:#888;font-size:13px}.per-page-ctrl[data-v-89f4009a]{display:flex;align-items:center;gap:6px}.btn[data-v-89f4009a]{padding:7px 14px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s;white-space:nowrap}.btn[data-v-89f4009a]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-89f4009a]{padding:5px 10px;font-size:12px}.btn-primary[data-v-89f4009a]{background:#1a1a2e;color:#fff}.btn-primary[data-v-89f4009a]:not(:disabled):hover{background:#2d2d4e}.btn-outline[data-v-89f4009a]{background:#fff;color:#3a3a4a;border:1px solid #d0cdc8}.btn-outline[data-v-89f4009a]:not(:disabled):hover{background:#f5f4f0}.btn-danger[data-v-89f4009a]{background:#c0392b;color:#fff;border:none}.btn-danger[data-v-89f4009a]:not(:disabled):hover{background:#a93226}.btn-danger[data-v-89f4009a]:disabled{opacity:.5;cursor:not-allowed}.icon-btn[data-v-89f4009a]{display:inline-flex;align-items:center;gap:5px}.modal-overlay[data-v-89f4009a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-89f4009a]{background:#fff;border-radius:12px;width:480px;max-width:96vw;box-shadow:0 12px 40px #0000002e}.modal-header[data-v-89f4009a]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #f0ede8}.modal-title[data-v-89f4009a]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-89f4009a]{background:none;border:none;cursor:pointer;font-size:16px;color:#888;padding:0 4px}.modal-body[data-v-89f4009a]{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.modal-footer[data-v-89f4009a]{padding:12px 20px;border-top:1px solid #f0ede8;display:flex;justify-content:flex-end;gap:8px}.import-info p[data-v-89f4009a]{margin:0 0 4px;font-size:13px;color:#3a3a4a}.file-drop-area[data-v-89f4009a]{border:2px dashed #d0cdc8;border-radius:8px;padding:22px;text-align:center;cursor:pointer;transition:border-color .15s}.file-drop-area[data-v-89f4009a]:hover{border-color:#5b5fc7}.hidden-input[data-v-89f4009a]{display:none}.drop-hint[data-v-89f4009a]{display:flex;flex-direction:column;align-items:center;gap:6px;color:#888;font-size:13px}.drop-icon[data-v-89f4009a]{font-size:28px}.drop-selected[data-v-89f4009a]{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#3a3a4a}.import-result[data-v-89f4009a]{padding:10px 14px;border-radius:7px;font-size:13px;font-weight:500}.result-ok[data-v-89f4009a]{background:#e8f5e9;color:#2e7d32;border:1px solid #b2dfdb}.result-err[data-v-89f4009a]{background:#fbe9e9;color:#b84040;border:1px solid #f5c0c0}.import-errors[data-v-89f4009a]{margin-top:6px;font-weight:400;font-size:11px;max-height:80px;overflow-y:auto}.error-line[data-v-89f4009a]{padding:1px 0}.toast-wrap[data-v-89f4009a]{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast[data-v-89f4009a]{padding:11px 18px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000021;pointer-events:none}.toast-success[data-v-89f4009a]{background:#e6f9f0;color:#1a7a50;border:1px solid #b2e8d0}.toast-error[data-v-89f4009a]{background:#fbe9e9;color:#b84040;border:1px solid #f5c0c0}.slide-enter-active[data-v-89f4009a],.slide-leave-active[data-v-89f4009a]{transition:all .22s ease;overflow:hidden}.slide-enter-from[data-v-89f4009a],.slide-leave-to[data-v-89f4009a]{max-height:0;opacity:0}.slide-enter-to[data-v-89f4009a],.slide-leave-from[data-v-89f4009a]{max-height:120px;opacity:1}.modal-fade-enter-active[data-v-89f4009a],.modal-fade-leave-active[data-v-89f4009a]{transition:opacity .18s}.modal-fade-enter-from[data-v-89f4009a],.modal-fade-leave-to[data-v-89f4009a]{opacity:0}.toast-enter-active[data-v-89f4009a],.toast-leave-active[data-v-89f4009a]{transition:all .3s}.toast-enter-from[data-v-89f4009a],.toast-leave-to[data-v-89f4009a]{opacity:0;transform:translateY(10px)}.page-header-row[data-v-e2a8d0c8]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.header-actions[data-v-e2a8d0c8]{display:flex;gap:8px;flex-shrink:0}.btn-back[data-v-e2a8d0c8]{background:none;border:none;color:#5a5fc8;cursor:pointer;font-size:12px;padding:0;margin-bottom:6px;display:block}.btn-back[data-v-e2a8d0c8]:hover{text-decoration:underline}.page-title-inline[data-v-e2a8d0c8]{font-size:17px;font-weight:700;color:#1a1a2e}.page-sub[data-v-e2a8d0c8]{font-size:11.5px;color:#888;margin-top:2px}.error-banner[data-v-e2a8d0c8]{background:#fde8e8;color:#b03030;border:1px solid #f0bcbc;border-radius:7px;padding:10px 14px;margin-bottom:14px;font-size:13px}.form-tabs[data-v-e2a8d0c8]{display:flex;border-bottom:1px solid #e0ddd6;margin-bottom:16px;overflow-x:auto}.form-tab-btn[data-v-e2a8d0c8]{font-size:13px;padding:10px 18px;cursor:pointer;background:none;color:#888780;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;flex-shrink:0;transition:color .12s}.form-tab-btn[data-v-e2a8d0c8]:hover{color:#1a1a2e}.form-tab-btn.active[data-v-e2a8d0c8]{color:#5a5fc8;border-bottom-color:#5a5fc8;font-weight:600}.form-tab-btn.has-error[data-v-e2a8d0c8]{color:#b03030}.form-tab-btn.has-error.active[data-v-e2a8d0c8]{border-bottom-color:#b03030}.tab-err-dot[data-v-e2a8d0c8]{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;background:#b03030;color:#fff;border-radius:50%;font-size:10px;font-weight:700;margin-right:4px}.tab-panel[data-v-e2a8d0c8]{padding-bottom:16px}.form-section[data-v-e2a8d0c8]{background:#fff;border:1px solid #e8e5de;border-radius:10px;padding:16px 18px;margin-bottom:12px}.section-title[data-v-e2a8d0c8]{font-size:11px;font-weight:600;color:#888780;margin:0 0 12px;padding-bottom:4px;border-bottom:1px solid #e8e5de;text-transform:uppercase;letter-spacing:.04em}.section-title-row[data-v-e2a8d0c8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title-row .section-title[data-v-e2a8d0c8]{margin:0;border-bottom:none;padding-bottom:0}.form-grid-3[data-v-e2a8d0c8]{display:grid;grid-template-columns:repeat(3,1fr);gap:11px 13px}.fg-span2[data-v-e2a8d0c8]{grid-column:span 2}@media (max-width: 900px){.form-grid-3[data-v-e2a8d0c8]{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.form-grid-3[data-v-e2a8d0c8]{grid-template-columns:1fr}.fg-span2[data-v-e2a8d0c8]{grid-column:span 1}}.adhoc-row[data-v-e2a8d0c8]{grid-column:1/-1;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:10px 14px;background:#fdf8f0;border:1px solid #e8e5de;border-radius:8px}.adhoc-check-label[data-v-e2a8d0c8]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;color:#1a1a2e;white-space:nowrap}.adhoc-check[data-v-e2a8d0c8]{width:16px;height:16px;accent-color:#5b5fc7;cursor:pointer;flex-shrink:0}.adhoc-date-group[data-v-e2a8d0c8]{display:flex;flex-direction:column;gap:4px;min-width:180px}.adhoc-date-group label[data-v-e2a8d0c8]{font-size:12px;font-weight:500;color:#555}@media (max-width: 600px){.adhoc-row[data-v-e2a8d0c8]{flex-direction:column;align-items:flex-start;gap:12px}}.form-group[data-v-e2a8d0c8]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-e2a8d0c8]{font-size:12px;font-weight:600;color:#555}.form-group.error .input-ctrl[data-v-e2a8d0c8]{border-color:#e24b4a;background:#fdf0f0}.err-msg[data-v-e2a8d0c8]{font-size:11px;color:#b03030;min-height:14px}.req[data-v-e2a8d0c8]{color:#b03030}.input-ctrl[data-v-e2a8d0c8]{font-size:13px;padding:8px 11px;border:1px solid #d3d1c7;border-radius:7px;background:#fff;color:#1a1a2e;outline:none;width:100%;font-family:inherit;transition:border-color .15s}.input-ctrl[data-v-e2a8d0c8]:focus{border-color:#5a5fc8;box-shadow:0 0 0 2px #5a5fc814}.input-ctrl[readonly][data-v-e2a8d0c8]{background:#f8f7f4;color:#888780;cursor:default}select.input-ctrl[data-v-e2a8d0c8]{cursor:pointer}.input-sm[data-v-e2a8d0c8]{padding:6px 9px;font-size:12px}.img-upload-row[data-v-e2a8d0c8]{display:flex;gap:28px;flex-wrap:wrap}.img-upload-box[data-v-e2a8d0c8]{display:flex;flex-direction:column;align-items:center;gap:8px}.img-preview[data-v-e2a8d0c8]{width:100px;height:100px;border-radius:8px;border:2px dashed #d3d1c7;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8f7f4;background-size:cover;background-position:center}.img-placeholder[data-v-e2a8d0c8]{font-size:32px;line-height:1}.img-hint[data-v-e2a8d0c8]{font-size:11px;color:#b4b2a9}.weekoff-grid[data-v-e2a8d0c8]{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}.weekoff-check[data-v-e2a8d0c8]{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer}.weekoff-check input[data-v-e2a8d0c8]{cursor:pointer}.checkbox-label[data-v-e2a8d0c8]{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.checkbox-label input[data-v-e2a8d0c8]{cursor:pointer}.table-wrap[data-v-e2a8d0c8],.geo-table-wrap[data-v-e2a8d0c8]{overflow-x:auto}.data-table[data-v-e2a8d0c8]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-e2a8d0c8]{background:#faf9f6;color:#888780;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:9px 12px;border-bottom:1px solid #e8e5de;text-align:left;white-space:nowrap}.data-table td[data-v-e2a8d0c8]{padding:8px 12px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-e2a8d0c8]{border-bottom:none}.data-table tbody tr:hover td[data-v-e2a8d0c8]{background:#fafafe}.btn[data-v-e2a8d0c8]{font-size:13px;padding:8px 16px;border-radius:7px;cursor:pointer;border:1px solid #d3d1c7;background:#fff;color:#1a1a2e;transition:all .12s;white-space:nowrap;line-height:1.4;display:inline-flex;align-items:center;gap:6px}.btn[data-v-e2a8d0c8]:hover{background:#f8f7f4}.btn[data-v-e2a8d0c8]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-e2a8d0c8]{background:#5a5fc8;color:#fff;border-color:#5a5fc8}.btn-primary[data-v-e2a8d0c8]:not(:disabled):hover{background:#4a4fb8;border-color:#4a4fb8}.btn-outline[data-v-e2a8d0c8]{background:#fff;color:#1a1a2e;border:1px solid #d3d1c7}.btn-outline[data-v-e2a8d0c8]:hover{background:#f8f7f4}.btn-sm[data-v-e2a8d0c8]{font-size:11px;padding:5px 11px}.btn-icon-danger[data-v-e2a8d0c8]{background:none;border:none;cursor:pointer;color:#b03030;font-size:13px;padding:3px 7px;border-radius:5px}.btn-icon-danger[data-v-e2a8d0c8]:hover{background:#fde8e8}.tab-nav-bar[data-v-e2a8d0c8]{display:flex;justify-content:space-between;align-items:center;padding:16px 0 4px;margin-top:8px;border-top:1px solid #e0ddd6}.tab-nav-btn[data-v-e2a8d0c8]{min-width:130px}.form-footer[data-v-e2a8d0c8]{display:flex;justify-content:flex-end;gap:8px;padding:14px 0;margin-top:6px;border-top:1px solid #e0ddd6}.empty-hint[data-v-e2a8d0c8]{font-size:13px;color:#b4b2a9;margin-top:6px;padding:6px 0}.reveal-toggle[data-v-eeae1d61]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;background:none;border:none;border-radius:4px;color:#9a9890;cursor:pointer;transition:color .12s,background .12s}.reveal-toggle.is-inset[data-v-eeae1d61]{position:absolute;top:50%;right:7px;transform:translateY(-50%)}.reveal-toggle[data-v-eeae1d61]:hover{color:#5b5fc7;background:#f0effa}.reveal-toggle.is-revealed[data-v-eeae1d61]{color:#5b5fc7}.reveal-toggle[data-v-eeae1d61]:focus-visible{outline:2px solid #5b5fc7;outline-offset:1px}.reveal-toggle svg[data-v-eeae1d61]{width:15px;height:15px;display:block}.page-content[data-v-83160d97]{padding-bottom:40px}.staff-header[data-v-83160d97]{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.staff-avatar[data-v-83160d97]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0;overflow:hidden}.avatar-img[data-v-83160d97]{width:100%;height:100%;object-fit:cover;border-radius:50%}.staff-name[data-v-83160d97]{font-size:15px;font-weight:700;color:#1a1a2e}.staff-sub[data-v-83160d97]{font-size:11px;color:#888780;margin-top:2px}.status-pill[data-v-83160d97]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;margin-left:auto}.dot[data-v-83160d97]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.pill-active[data-v-83160d97]{background:#e8f5e9;color:#2e7d32}.pill-active .dot[data-v-83160d97]{background:#2e7d32}.pill-inactive[data-v-83160d97]{background:#f0ede8;color:#888780}.pill-inactive .dot[data-v-83160d97]{background:#aaa}.skel-circle[data-v-83160d97]{background:#e8e5de;animation:pulse-83160d97 1.2s ease infinite}.skel-line[data-v-83160d97]{height:12px;border-radius:4px;background:#e8e5de;animation:pulse-83160d97 1.2s ease infinite}@keyframes pulse-83160d97{0%,to{opacity:1}50%{opacity:.4}}.tab-bar[data-v-83160d97]{display:flex;border-bottom:1px solid #e8e5de;margin-bottom:20px;gap:0;overflow-x:auto}.tab[data-v-83160d97]{padding:10px 16px;font-size:13px;font-weight:500;color:#888780;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap}.tab[data-v-83160d97]:hover{color:#1a1a2e}.tab.active[data-v-83160d97]{color:#1a1a2e;border-bottom-color:#1a1a2e;font-weight:600}.two-col[data-v-83160d97]{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.two-col-equal[data-v-83160d97]{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:16px}@media (max-width: 900px){.two-col[data-v-83160d97],.two-col-equal[data-v-83160d97]{grid-template-columns:1fr}}.card[data-v-83160d97]{background:#fff;border:1px solid #e8e5de;border-radius:10px;padding:22px}.card-title[data-v-83160d97]{font-size:13px;font-weight:700;color:#1a1a2e;margin-bottom:18px}.card-footer[data-v-83160d97]{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-grid[data-v-83160d97]{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.form-group[data-v-83160d97]{display:flex;flex-direction:column}.sensitive-field[data-v-83160d97]{position:relative;display:flex}.sensitive-field .form-control[data-v-83160d97]{flex:1;min-width:0}.sensitive-field.has-eye .form-control[data-v-83160d97]{padding-right:34px}.input-masked[data-v-83160d97]{background:#f7f6f3;color:#6b6a64;letter-spacing:1.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;cursor:default;-webkit-user-select:none;user-select:none}.adhoc-row[data-v-83160d97]{grid-column:1/-1;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:10px 14px;background:#fdf8f0;border:1px solid #e8e5de;border-radius:8px}.adhoc-check-label[data-v-83160d97]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;color:#1a1a2e;white-space:nowrap}.adhoc-check[data-v-83160d97]{width:16px;height:16px;accent-color:#5b5fc7;cursor:pointer;flex-shrink:0}.adhoc-date-group[data-v-83160d97]{display:flex;flex-direction:column;gap:4px;min-width:180px}@media (max-width: 600px){.adhoc-row[data-v-83160d97]{flex-direction:column;align-items:flex-start;gap:12px}}.form-label[data-v-83160d97]{font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:5px}.req[data-v-83160d97]{color:#c0392b}.form-control[data-v-83160d97]{padding:8px 11px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;outline:none}.form-control[data-v-83160d97]:focus{border-color:#5b5fc7}.field-err[data-v-83160d97]{color:#c0392b;font-size:11px;margin-top:3px}.save-err[data-v-83160d97]{color:#c0392b;font-size:12px;margin-top:10px}.load-err[data-v-83160d97]{padding:20px;color:#c0392b;text-align:center}.field-hint[data-v-83160d97]{font-size:10px;color:#aaa9a3;margin-top:3px}.btn[data-v-83160d97]{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.btn-primary[data-v-83160d97]{background:#1a1a2e;color:#fff}.btn-primary[data-v-83160d97]:hover{background:#2d2d50}.btn-primary[data-v-83160d97]:disabled{opacity:.5;cursor:not-allowed}.btn-ghost[data-v-83160d97]{background:transparent;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-83160d97]:hover{background:#f5f4f0}.btn-outline[data-v-83160d97]{background:#fff;color:#1a1a2e;border:1px solid #c8c5bc;width:100%;margin-top:10px}.btn-outline[data-v-83160d97]:hover{background:#f5f4f0}.btn-outline[data-v-83160d97]:disabled{opacity:.5;cursor:not-allowed}.btn-danger[data-v-83160d97]{background:#c0392b;color:#fff}.btn-danger[data-v-83160d97]:hover{background:#a93226}.btn-danger[data-v-83160d97]:disabled{opacity:.5;cursor:not-allowed}.photo-wrap[data-v-83160d97]{display:flex;justify-content:center;margin-bottom:10px}.photo-avatar[data-v-83160d97]{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;overflow:hidden}.photo-img[data-v-83160d97]{width:100%;height:100%;object-fit:cover;border-radius:50%}.photo-hint[data-v-83160d97]{text-align:center;font-size:11px;color:#888780;margin-bottom:12px}.sig-wrap[data-v-83160d97]{display:flex;justify-content:center;margin-bottom:10px;min-height:60px;align-items:center}.sig-img[data-v-83160d97]{max-width:100%;max-height:80px;object-fit:contain;border:1px solid #e8e5de;border-radius:4px}.sig-placeholder[data-v-83160d97]{font-size:12px;color:#aaa9a3}.section-sep[data-v-83160d97]{height:1px;background:#f0ede8;margin:18px 0}.section-label[data-v-83160d97]{font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.weekoff-grid[data-v-83160d97]{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}.weekoff-check[data-v-83160d97]{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer}.weekoff-check input[data-v-83160d97]{cursor:pointer}.academy-row[data-v-83160d97]{display:flex;align-items:center;justify-content:space-between}.academy-name[data-v-83160d97]{font-size:13px;font-weight:500;color:#1a1a2e}.badge-primary[data-v-83160d97]{background:#e8f5e9;color:#2e7d32;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600}.info-banner[data-v-83160d97]{margin-top:12px;background:#eef2ff;color:#3730a3;border-radius:7px;padding:10px 12px;font-size:11px;line-height:1.5}.btn-copy-addr[data-v-83160d97]{background:none;border:1px solid #c8c5bc;border-radius:5px;padding:3px 8px;font-size:11px;color:#5b5fc7;font-weight:600;cursor:pointer}.btn-copy-addr[data-v-83160d97]:hover{background:#f0f0ff}.geo-row[data-v-83160d97]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #f5f4f0}.geo-row[data-v-83160d97]:last-child{border-bottom:none}.geo-row-add[data-v-83160d97]{background:#fafaf8;border-radius:6px;padding:8px 6px;margin-top:4px}.geo-info[data-v-83160d97]{display:flex;flex-direction:column;gap:2px;flex:1}.geo-coord[data-v-83160d97]{font-size:12px;font-weight:600;color:#1a1a2e}.geo-range[data-v-83160d97]{font-size:11px;color:#888780}.geo-actions[data-v-83160d97]{display:flex;gap:4px;flex-shrink:0}.geo-edit-block[data-v-83160d97]{display:flex;flex-direction:column;gap:6px;width:100%}.geo-edit-fields[data-v-83160d97]{display:flex;gap:6px}.geo-edit-fields .form-control-sm[data-v-83160d97]:nth-child(1),.geo-edit-fields .form-control-sm[data-v-83160d97]:nth-child(2){flex:0 0 84px;width:84px}.geo-edit-fields .form-control-sm[data-v-83160d97]:nth-child(3){flex:1;min-width:60px}.geo-row-add .geo-edit-fields[data-v-83160d97]{display:flex;gap:6px}.geo-edit-actions[data-v-83160d97]{display:flex;gap:6px;justify-content:flex-end;align-items:center}.icon-edit[data-v-83160d97]{background:none;border:none;font-size:13px;cursor:pointer;padding:3px 6px;border-radius:5px;flex-shrink:0}.icon-edit[data-v-83160d97]:hover{background:#eef2ff}.table-empty[data-v-83160d97]{text-align:center;padding:40px;color:#888780;font-size:13px}.sub-table[data-v-83160d97]{width:100%;border-collapse:collapse;font-size:13px}.sub-table th[data-v-83160d97]{font-size:10px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.4px;padding:8px;border-bottom:1px solid #f0ede8;text-align:left;white-space:nowrap}.sub-table td[data-v-83160d97]{padding:9px 8px;border-bottom:1px solid #f5f4f0;vertical-align:middle}.sub-table tr:last-child td[data-v-83160d97]{border-bottom:none}.sub-table .add-row td[data-v-83160d97]{padding:6px 4px;background:#fafaf8}.form-control-sm[data-v-83160d97]{padding:5px 8px;border:1px solid #e0ddd6;border-radius:5px;font-size:12px;outline:none;width:100%}.form-control-sm[data-v-83160d97]:focus{border-color:#5b5fc7}.btn-add-row[data-v-83160d97]{padding:5px 10px;background:#1a1a2e;color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-add-row[data-v-83160d97]:hover{background:#2d2d50}.btn-add-row[data-v-83160d97]:disabled{opacity:.5;cursor:not-allowed}.sub-item[data-v-83160d97]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #f5f4f0}.sub-item[data-v-83160d97]:last-child{border-bottom:none}.sub-item-body[data-v-83160d97]{flex:1;min-width:0}.sub-item-title[data-v-83160d97]{font-size:13px;font-weight:600;color:#1a1a2e}.sub-item-desc[data-v-83160d97]{font-size:11px;color:#888780;margin-top:2px}.fw-500[data-v-83160d97]{font-weight:500}.text-muted[data-v-83160d97]{color:#888780}.text-xs[data-v-83160d97]{font-size:11px}.doc-layout[data-v-83160d97]{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}.doc-upload-card[data-v-83160d97]{position:sticky;top:16px}.doc-empty[data-v-83160d97]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 0;color:#888780;font-size:13px}.doc-empty-icon[data-v-83160d97]{font-size:32px;opacity:.5}@media (max-width: 860px){.doc-layout[data-v-83160d97]{grid-template-columns:1fr}.doc-upload-card[data-v-83160d97]{position:static;order:-1}}.doc-count[data-v-83160d97]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:700;margin-left:8px}.doc-table[data-v-83160d97]{width:100%;border-collapse:collapse;font-size:13px;min-width:460px}.doc-table th[data-v-83160d97]{font-size:10px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.4px;padding:8px 10px;border-bottom:1px solid #f0ede8;text-align:left;white-space:nowrap}.doc-table td[data-v-83160d97]{padding:10px;border-bottom:1px solid #f5f4f0;vertical-align:middle;white-space:nowrap}.doc-table tr:last-child td[data-v-83160d97]{border-bottom:none}.doc-table th[data-v-83160d97]:last-child,.doc-table td[data-v-83160d97]:last-child{width:1%}.table-wrap[data-v-83160d97]{overflow-x:auto}.link-btn[data-v-83160d97]{display:inline-flex;align-items:center;gap:4px;color:#185fa5;font-size:12px;font-weight:600;background:none;border:none;cursor:pointer;padding:3px 0}.link-btn[data-v-83160d97]:hover{text-decoration:underline}.icon-del[data-v-83160d97]{background:none;border:none;font-size:14px;cursor:pointer;padding:3px 6px;border-radius:5px;flex-shrink:0}.icon-del[data-v-83160d97]:hover{background:#fdecea}.icon-view[data-v-83160d97]{background:none;border:none;font-size:14px;cursor:pointer;padding:3px 6px;border-radius:5px;flex-shrink:0}.icon-view[data-v-83160d97]:hover{background:#eef2ff}.exp-view-grid[data-v-83160d97]{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.exp-view-item[data-v-83160d97]{display:flex;flex-direction:column;gap:3px}.exp-view-lbl[data-v-83160d97]{font-size:10px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}.exp-view-val[data-v-83160d97]{font-size:13px;color:#1a1a2e;font-weight:500}.file-drop[data-v-83160d97]{border:1.5px dashed #c8c5bc;border-radius:8px;padding:18px 12px;text-align:center;transition:all .15s;cursor:default}.file-drop-active[data-v-83160d97]{border-color:#5b5fc7;background:#f0f0ff}.file-drop-icon[data-v-83160d97]{font-size:20px;margin-bottom:4px}.file-drop-text[data-v-83160d97]{font-size:13px;color:#3a3a4a}.file-link[data-v-83160d97]{color:#5b5fc7;font-weight:600;cursor:pointer}.file-link[data-v-83160d97]:hover{text-decoration:underline}.file-drop-hint[data-v-83160d97]{font-size:11px;color:#aaa9a3;margin-top:3px}.file-selected[data-v-83160d97]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.file-icon[data-v-83160d97]{font-size:18px}.file-name[data-v-83160d97]{font-size:12px;font-weight:500;color:#1a1a2e;word-break:break-all}.file-size[data-v-83160d97]{font-size:11px;color:#888780}.remove-file[data-v-83160d97]{background:none;border:none;color:#c0392b;cursor:pointer;font-size:14px;padding:2px 5px;border-radius:4px}.remove-file[data-v-83160d97]:hover{background:#fdecea}.modal-backdrop[data-v-83160d97]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-83160d97]{background:#fff;border-radius:10px;padding:0;width:380px;max-width:90vw}.modal-header[data-v-83160d97]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0ede8}.modal-title[data-v-83160d97]{font-size:14px;font-weight:700;color:#1a1a2e}.modal-close[data-v-83160d97]{background:none;border:none;font-size:16px;cursor:pointer;color:#888780}.modal-body[data-v-83160d97]{padding:16px 20px;font-size:13px;color:#3a3a4a}.modal-footer[data-v-83160d97]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid #f0ede8}.tab-bar[data-v-2772c0dd]{display:flex;gap:4px;border-bottom:2px solid #e2e8f0;margin-bottom:14px}.tab-btn[data-v-2772c0dd]{padding:10px 18px;border:none;background:none;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;display:flex;align-items:center;gap:6px}.tab-btn.active[data-v-2772c0dd]{color:#6366f1;border-bottom-color:#6366f1}.tab-badge[data-v-2772c0dd]{background:#ef4444;color:#fff;border-radius:10px;padding:1px 6px;font-size:11px}.filter-bar[data-v-2772c0dd]{display:flex;gap:8px;margin-bottom:12px}.form-sel[data-v-2772c0dd]{padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;cursor:pointer}.loading-msg[data-v-2772c0dd],.empty-msg[data-v-2772c0dd]{text-align:center;padding:60px;color:#94a3b8;font-size:14px}.req-table-wrap[data-v-2772c0dd]{overflow-x:auto}.req-table[data-v-2772c0dd]{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.req-table th[data-v-2772c0dd]{background:#f8fafc;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;padding:10px 14px;text-align:left}.req-table td[data-v-2772c0dd]{font-size:13px;color:#0f172a;padding:10px 14px;border-bottom:1px solid #f8fafc;vertical-align:middle}.req-table tr:last-child td[data-v-2772c0dd]{border-bottom:none}.req-table tbody tr:hover td[data-v-2772c0dd]{background:#fafcff}.staff-name[data-v-2772c0dd]{font-weight:600}.date-col[data-v-2772c0dd]{font-size:12px;color:#64748b;white-space:nowrap}.preview-col[data-v-2772c0dd]{font-size:12px;color:#475569;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-cell[data-v-2772c0dd]{position:relative;display:inline-block;width:48px;height:48px}.thumb[data-v-2772c0dd]{width:48px;height:48px;border-radius:6px;object-fit:cover;border:1px solid #e2e8f0}.thumb-cell .thumb[data-v-2772c0dd]{position:absolute;top:0;right:0;bottom:0;left:0}.thumb-ph[data-v-2772c0dd]{display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8;box-sizing:border-box}.done-txt[data-v-2772c0dd]{color:#94a3b8;font-size:12px}.expanded-row td[data-v-2772c0dd]{background:#f8fafc;padding:0}.expand-body[data-v-2772c0dd]{padding:14px 18px;display:flex;flex-wrap:wrap;gap:8px 24px}.expand-field[data-v-2772c0dd]{display:flex;flex-direction:column;min-width:140px}.expand-key[data-v-2772c0dd]{font-size:10px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.expand-val[data-v-2772c0dd]{font-size:13px;color:#0f172a;font-weight:500}.expand-notes[data-v-2772c0dd]{width:100%;font-size:12px;color:#b45309;background:#fef3c7;border-radius:6px;padding:6px 10px;margin-top:4px}.doc-dl-link[data-v-2772c0dd]{color:#6366f1;font-weight:600;font-size:13px;text-decoration:none}.doc-dl-link[data-v-2772c0dd]:hover{text-decoration:underline}.sbadge[data-v-2772c0dd]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.sb-amber[data-v-2772c0dd]{background:#fef3c7;color:#b45309}.sb-green[data-v-2772c0dd]{background:#dcfce7;color:#16a34a}.sb-red[data-v-2772c0dd]{background:#fee2e2;color:#dc2626}.type-badge[data-v-2772c0dd]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.tb-qualification[data-v-2772c0dd]{background:#ede9fe;color:#6d28d9}.tb-award[data-v-2772c0dd]{background:#fef3c7;color:#b45309}.tb-experience[data-v-2772c0dd]{background:#dbeafe;color:#1d4ed8}.tb-publication[data-v-2772c0dd]{background:#dcfce7;color:#166534}.tb-document[data-v-2772c0dd]{background:#fce7f3;color:#9d174d}.action-btns[data-v-2772c0dd]{display:flex;gap:6px}.abtn[data-v-2772c0dd]{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;border:none}.abtn[data-v-2772c0dd]:disabled{opacity:.5;cursor:not-allowed}.abtn-approve[data-v-2772c0dd]{background:#dcfce7;color:#16a34a}.abtn-approve[data-v-2772c0dd]:hover{background:#bbf7d0}.abtn-reject[data-v-2772c0dd]{background:#fee2e2;color:#dc2626}.abtn-reject[data-v-2772c0dd]:hover{background:#fecaca}.modal-backdrop[data-v-2772c0dd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-2772c0dd]{background:#fff;border-radius:12px;width:420px;max-width:95vw;box-shadow:0 16px 48px #0000002e}.modal-header[data-v-2772c0dd]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;border-bottom:1px solid #f1f5f9;font-weight:700;font-size:14px}.close-btn[data-v-2772c0dd]{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8}.modal-body[data-v-2772c0dd]{padding:16px 20px}.field-label[data-v-2772c0dd]{font-size:12px;color:#64748b;font-weight:500;display:block;margin-bottom:4px}.form-input[data-v-2772c0dd]{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;box-sizing:border-box}.modal-footer[data-v-2772c0dd]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid #f1f5f9}.mbtn[data-v-2772c0dd]{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0}.mbtn-ghost[data-v-2772c0dd]{background:#f8fafc;color:#0f172a}.mbtn-rej[data-v-2772c0dd]{background:#dc2626;color:#fff;border-color:#dc2626}.mbtn-rej[data-v-2772c0dd]:disabled{opacity:.55;cursor:not-allowed}.toast[data-v-2772c0dd]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-2772c0dd]{background:#16a34a;color:#fff}.toast-warn[data-v-2772c0dd]{background:#b45309;color:#fff}.toast-error[data-v-2772c0dd]{background:#dc2626;color:#fff}.page-header-row[data-v-8011b372]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-8011b372]{font-size:17px;font-weight:700;color:#1a1a2e}.page-sub[data-v-8011b372]{font-size:11.5px;color:#888;margin-top:2px}.stat-strip[data-v-8011b372]{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.stat-card[data-v-8011b372]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:13px 20px;min-width:100px;text-align:center}.nat-card[data-v-8011b372]{border-color:#5b5fc7;background:#f5f4ff}.opt-card[data-v-8011b372]{border-color:#e6a817;background:#fffbf0}.stat-val[data-v-8011b372]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-8011b372]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.filter-bar[data-v-8011b372]{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;align-items:flex-end}.filter-group[data-v-8011b372]{display:flex;flex-direction:column;gap:4px}.filter-lbl[data-v-8011b372]{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.4px}.filter-select[data-v-8011b372]{padding:7px 10px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;color:#333;outline:none;min-width:160px}.filter-select[data-v-8011b372]:focus{border-color:#5b5fc7}.table-wrap[data-v-8011b372]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-8011b372]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-8011b372]{background:#faf9f6;padding:10px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de;white-space:nowrap}.data-table td[data-v-8011b372]{padding:10px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-8011b372]{border-bottom:none}.data-table tbody tr[data-v-8011b372]:hover{background:#fafafe}.col-num[data-v-8011b372]{width:48px;text-align:center}.col-day[data-v-8011b372]{width:90px}.col-date[data-v-8011b372]{width:120px}.fw-600[data-v-8011b372]{font-weight:600}.text-muted[data-v-8011b372]{color:#888}.table-empty[data-v-8011b372]{text-align:center;padding:40px;color:#aaa;font-size:13px}.text-danger[data-v-8011b372]{color:#c0392b}.type-badge[data-v-8011b372]{font-size:11px;font-weight:600;border-radius:20px;padding:3px 10px;white-space:nowrap}.type-national[data-v-8011b372]{background:#e8eaff;color:#3a3fc8}.type-optional[data-v-8011b372]{background:#fff8e0;color:#b07c00}.type-restricted[data-v-8011b372]{background:#fde8e8;color:#b03030}.type-custom[data-v-8011b372]{background:#e8f9f0;color:#1a7a50}.status-toggle[data-v-8011b372]{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:20px;padding:4px 10px;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.status-dot[data-v-8011b372]{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.status-arrow[data-v-8011b372]{font-size:9px;opacity:.6}.status-active[data-v-8011b372]{background:#e6f9f0;color:#1a7a50}.status-inactive[data-v-8011b372]{background:#fbe9e9;color:#b84040}.action-cell[data-v-8011b372]{white-space:nowrap}.act-btn[data-v-8011b372]{border:none;border-radius:6px;font-size:11.5px;font-weight:600;padding:4px 10px;cursor:pointer;margin-right:4px;transition:opacity .15s}.act-edit[data-v-8011b372]{background:#eef0ff;color:#3a3fc8}.act-del[data-v-8011b372]{background:#fde8e8;color:#b03030}.act-edit[data-v-8011b372]:hover{background:#e0e3ff}.act-del[data-v-8011b372]:hover{background:#fbd5d5}.btn[data-v-8011b372]{padding:8px 16px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s}.btn[data-v-8011b372]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-8011b372]{background:#5a5fc8;color:#fff}.btn-primary[data-v-8011b372]:not(:disabled):hover{background:#4a4fb8}.btn-ghost[data-v-8011b372]{background:#f0f0f5;color:#555}.btn-ghost[data-v-8011b372]:hover{background:#e5e5ee}.btn-danger[data-v-8011b372]{background:#c0392b;color:#fff}.btn-danger[data-v-8011b372]:not(:disabled):hover{background:#a93226}.modal-backdrop[data-v-8011b372]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-8011b372]{background:#fff;border-radius:12px;width:100%;box-shadow:0 8px 40px #0000002e;display:flex;flex-direction:column;max-height:90vh}.modal-md[data-v-8011b372]{max-width:540px}.modal-sm[data-v-8011b372]{max-width:400px}.modal-header[data-v-8011b372]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-title[data-v-8011b372]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-8011b372]{background:none;border:none;font-size:18px;color:#aaa;cursor:pointer;padding:0 4px}.modal-close[data-v-8011b372]:hover{color:#555}.modal-body[data-v-8011b372]{padding:20px;overflow-y:auto}.modal-footer[data-v-8011b372]{padding:14px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:8px}.form-grid-2[data-v-8011b372]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-2[data-v-8011b372]{grid-column:span 2}.form-field[data-v-8011b372]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-8011b372]{font-size:12px;font-weight:600;color:#555}.req[data-v-8011b372]{color:#c0392b}.opt-lbl[data-v-8011b372]{font-size:11px;color:#aaa8a4;font-weight:400}.form-input[data-v-8011b372]{border:1px solid #e0ddd6;border-radius:7px;padding:8px 11px;font-size:13px;outline:none;transition:border-color .15s}.form-input[data-v-8011b372]:focus{border-color:#5b5fc7}.input-err[data-v-8011b372]{border-color:#e74c3c!important}.field-err[data-v-8011b372]{font-size:11px;color:#e74c3c}.save-err[data-v-8011b372]{margin-top:12px;padding:10px 14px;background:#fde8e8;border-radius:7px;font-size:13px;color:#b03030}.multi-day-toggle-row[data-v-8011b372]{margin-bottom:4px}.multi-day-label[data-v-8011b372]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:#1a1a2e}.multi-day-chk[data-v-8011b372]{width:15px;height:15px;accent-color:#5a5fc8;cursor:pointer}.multi-day-info[data-v-8011b372]{font-size:12px;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:7px 10px;margin-top:-4px}.date-range-sep[data-v-8011b372]{color:#5a5fc8;font-size:11px;font-weight:600}.cy-range-hint[data-v-8011b372]{font-size:12px;color:#5b5fc7;background:#f5f4ff;border:1px solid #d0cff8;border-radius:7px;padding:7px 12px}.page-header-row[data-v-107278f8]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-107278f8]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-107278f8]{font-size:12px;color:#888780;margin-top:2px}.stat-strip[data-v-107278f8]{display:flex;gap:14px;margin-bottom:20px}.stat-card[data-v-107278f8]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:14px 20px;min-width:100px;text-align:center}.current-card[data-v-107278f8]{min-width:160px;border-color:#5b5fc7;background:#f5f4ff}.stat-val[data-v-107278f8]{font-size:22px;font-weight:700;color:#1a1a2e}.current-title[data-v-107278f8]{font-size:16px}.stat-lbl[data-v-107278f8]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.toolbar[data-v-107278f8]{margin-bottom:14px}.input-search[data-v-107278f8]{padding:8px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;width:280px;outline:none}.input-search[data-v-107278f8]:focus{border-color:#5b5fc7}.table-wrap[data-v-107278f8]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-107278f8]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-107278f8]{background:#faf9f6;padding:11px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de}.data-table td[data-v-107278f8]{padding:11px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-107278f8]{border-bottom:none}.data-table tr:hover td[data-v-107278f8]{background:#faf9f6}.row-current td[data-v-107278f8]{background:#f8f7ff!important}.table-empty[data-v-107278f8]{text-align:center;padding:40px;color:#888780;font-size:13px}.fw-600[data-v-107278f8]{font-weight:600}.text-muted[data-v-107278f8]{color:#888780}.text-danger[data-v-107278f8]{color:#c0392b}.text-xs[data-v-107278f8]{font-size:11px}.badge-current[data-v-107278f8]{background:#5b5fc7;color:#fff;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:700;display:inline-block;margin-top:3px}.status-toggle[data-v-107278f8]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.status-dot[data-v-107278f8]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-arrow[data-v-107278f8]{font-size:10px;opacity:.6;margin-left:2px}.status-active[data-v-107278f8]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.status-active .status-dot[data-v-107278f8]{background:#2e7d32}.status-active[data-v-107278f8]:hover{background:#fdf5f0;color:#b7620a;border-color:#ffd54f}.status-inactive[data-v-107278f8]{background:#f0ede8;color:#888780;border-color:#ddd9d0}.status-inactive .status-dot[data-v-107278f8]{background:#aaa}.status-inactive[data-v-107278f8]:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.action-cell[data-v-107278f8]{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.act-btn[data-v-107278f8]{display:inline-flex;align-items:center;gap:3px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-btn[data-v-107278f8]:disabled{opacity:.45;cursor:default}.act-current[data-v-107278f8]{background:#f5f4ff;color:#5b5fc7;border-color:#c7c9f7}.act-current[data-v-107278f8]:hover{background:#ebebff}.act-lock[data-v-107278f8]{background:#fff3e0;color:#e65100;border-color:#ffcc80}.act-lock[data-v-107278f8]:hover{background:#ffe0b2}.act-unlock[data-v-107278f8]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.act-unlock[data-v-107278f8]:hover{background:#c8e6c9}.act-edit[data-v-107278f8]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-107278f8]:hover:not(:disabled){background:#e0e7ff}.act-del[data-v-107278f8]{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.act-del[data-v-107278f8]:hover:not(:disabled){background:#f8d7da}.act-holiday[data-v-107278f8]{background:#e8f4fd;color:#1565c0;border-color:#90caf9}.act-holiday[data-v-107278f8]:hover{background:#bbdefb}.modal-backdrop[data-v-107278f8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-107278f8]{background:#fff;border-radius:12px;width:480px;box-shadow:0 12px 40px #00000026;overflow:hidden}.modal-lg[data-v-107278f8]{width:560px}.modal-sm[data-v-107278f8]{width:360px}.modal-header[data-v-107278f8]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0ede8}.modal-title[data-v-107278f8]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-107278f8]{background:none;border:none;font-size:16px;cursor:pointer;color:#888}.modal-body[data-v-107278f8]{padding:22px}.modal-footer[data-v-107278f8]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #f0ede8}.modal-grid[data-v-107278f8]{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}.form-group[data-v-107278f8]{display:flex;flex-direction:column}.form-label[data-v-107278f8]{font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:5px}.req[data-v-107278f8]{color:#c0392b}.form-control[data-v-107278f8]{padding:8px 11px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;outline:none}.form-control[data-v-107278f8]:focus{border-color:#5b5fc7}.field-err[data-v-107278f8]{color:#c0392b;font-size:11px;margin-top:3px}.save-err[data-v-107278f8]{color:#c0392b;font-size:12px;margin-top:10px}.btn[data-v-107278f8]{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}.btn-primary[data-v-107278f8]{background:#1a1a2e;color:#fff}.btn-primary[data-v-107278f8]:hover:not(:disabled){background:#2d2d4e}.btn-primary[data-v-107278f8]:disabled{opacity:.6;cursor:default}.btn-ghost[data-v-107278f8]{background:#f5f4f0;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-107278f8]:hover{background:#eceae4}.btn-danger[data-v-107278f8]{background:#c0392b;color:#fff}.btn-danger[data-v-107278f8]:hover:not(:disabled){background:#a93226}.btn-danger[data-v-107278f8]:disabled{opacity:.6;cursor:default}.page-header-row[data-v-a2439262]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.page-title-inline[data-v-a2439262]{font-size:17px;font-weight:700;color:#1a1a2e}.page-sub[data-v-a2439262]{font-size:11.5px;color:#888;margin-top:2px}.header-actions[data-v-a2439262]{display:flex;gap:8px;align-items:center}.stat-strip[data-v-a2439262]{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.stat-card[data-v-a2439262]{background:#fff;border:1px solid #e8e8f0;border-radius:10px;padding:12px 18px;min-width:110px}.stat-val[data-v-a2439262]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-a2439262]{font-size:11px;color:#888;margin-top:2px}.unsaved-count[data-v-a2439262]{color:#e6a817}.table-wrap[data-v-a2439262]{background:#fff;border:1px solid #e8e8f0;border-radius:10px;overflow:auto}.leave-table[data-v-a2439262]{width:100%;border-collapse:collapse;font-size:13px}.leave-table th[data-v-a2439262]{background:#f7f7fb;color:#555;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;padding:9px 12px;border-bottom:1px solid #e8e8f0;white-space:nowrap;text-align:left}.leave-table td[data-v-a2439262]{padding:7px 12px;border-bottom:1px solid #f0f0f6;vertical-align:middle}.leave-table tbody tr:last-child td[data-v-a2439262]{border-bottom:none}.leave-table tbody tr[data-v-a2439262]:hover{background:#fafafe}.row-modified[data-v-a2439262]{background:#fffbf0!important}.col-num[data-v-a2439262]{width:60px;text-align:center}.col-code[data-v-a2439262]{width:110px;text-align:center}.col-center[data-v-a2439262]{width:90px;text-align:center}.text-center[data-v-a2439262]{text-align:center}.text-muted[data-v-a2439262]{color:#888}.chip[data-v-a2439262]{background:#eef0ff;color:#5a5fc8;font-size:11px;font-weight:600;border-radius:5px;padding:2px 7px;font-family:monospace;white-space:nowrap}.inline-input[data-v-a2439262]{border:1px solid #e0e0ee;border-radius:6px;padding:4px 8px;font-size:12.5px;width:100%;min-width:140px;background:#fafafe;transition:border-color .15s;box-sizing:border-box}.inline-input[data-v-a2439262]:focus{outline:none;border-color:#7c7cf0;background:#fff}.inline-input-code[data-v-a2439262]{min-width:70px;max-width:90px;font-family:monospace;text-align:center}.inline-input-num[data-v-a2439262]{min-width:55px;max-width:70px;text-align:center}.toggle-pill[data-v-a2439262]{border:none;border-radius:20px;font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.toggle-pill[data-v-a2439262]:disabled{opacity:.6;cursor:wait}.toggle-on[data-v-a2439262]{background:#e6f9f0;color:#1a7a50}.toggle-off[data-v-a2439262]{background:#fbe9e9;color:#b84040}.toggle-on[data-v-a2439262]:not(:disabled):hover{background:#d0f4e4}.toggle-off[data-v-a2439262]:not(:disabled):hover{background:#f8d5d5}.table-empty[data-v-a2439262]{text-align:center;padding:40px;color:#aaa;font-size:13px}.text-danger[data-v-a2439262]{color:#c0392b}.btn[data-v-a2439262]{padding:8px 16px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s}.btn[data-v-a2439262]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-a2439262]{background:#5a5fc8;color:#fff}.btn-primary[data-v-a2439262]:not(:disabled):hover{background:#4a4fb8}.btn-outline[data-v-a2439262]{background:#fff;color:#555;border:1px solid #d0d0e0}.btn-outline[data-v-a2439262]:not(:disabled):hover{background:#f5f5fc}.toast-wrap[data-v-a2439262]{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast[data-v-a2439262]{padding:11px 18px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000021;pointer-events:none}.toast-success[data-v-a2439262]{background:#e6f9f0;color:#1a7a50;border:1px solid #b2e8d0}.toast-error[data-v-a2439262]{background:#fbe9e9;color:#b84040;border:1px solid #f5c0c0}.toast-enter-active[data-v-a2439262],.toast-leave-active[data-v-a2439262]{transition:all .3s}.toast-enter-from[data-v-a2439262],.toast-leave-to[data-v-a2439262]{opacity:0;transform:translateY(10px)}.page-content[data-v-000c5744]{padding:0}.page-header-row[data-v-000c5744]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;gap:16px}.policy-panel[data-v-000c5744]{flex-shrink:0;width:280px;background:#fff;border:1px solid #e0ddd6;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 4px #0000000d}.policy-panel-header[data-v-000c5744]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0ede8;padding-bottom:7px}.policy-panel-title[data-v-000c5744]{font-size:12.5px;font-weight:700;color:#1a1a2e}.policy-upload-btn[data-v-000c5744]{background:#5a5fc8;color:#fff;border:none;border-radius:5px;padding:3px 10px;font-size:11.5px;font-weight:600;cursor:pointer}.policy-upload-btn[data-v-000c5744]:hover{background:#4a4fb8}.policy-empty[data-v-000c5744]{font-size:12px;color:#aaa;text-align:center;padding:8px 0}.policy-list[data-v-000c5744]{display:flex;flex-direction:column;gap:5px;max-height:160px;overflow-y:auto}.policy-row[data-v-000c5744]{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid #f5f2ee}.policy-row[data-v-000c5744]:last-child{border-bottom:none}.policy-type-badge[data-v-000c5744]{font-size:9px;font-weight:700;border-radius:3px;padding:2px 5px;flex-shrink:0;letter-spacing:.3px}.badge-pdf[data-v-000c5744]{background:#fde8e8;color:#c0392b}.badge-doc[data-v-000c5744]{background:#e8f0ff;color:#2563eb}.policy-row-name[data-v-000c5744]{flex:1;font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.policy-ver[data-v-000c5744]{font-size:10px;color:#aaa;flex-shrink:0}.policy-dl-btn[data-v-000c5744]{background:#5a5fc8;color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}.policy-dl-btn[data-v-000c5744]:hover:not(:disabled){background:#4a4fb8}.policy-dl-btn[data-v-000c5744]:disabled{opacity:.5;cursor:not-allowed}.policy-rm-btn[data-v-000c5744]{background:#fde8e8;color:#c0392b;border:none;border-radius:4px;padding:2px 7px;font-size:14px;font-weight:700;cursor:pointer;flex-shrink:0;line-height:1}.policy-rm-btn[data-v-000c5744]:hover{background:#fbd5d5}.form-field-lp[data-v-000c5744]{display:flex;flex-direction:column;gap:4px}.form-lbl-lp[data-v-000c5744]{font-size:12px;font-weight:600;color:#555}.opt-lp[data-v-000c5744]{font-size:11px;color:#aaa;font-weight:400}.form-inp-lp[data-v-000c5744]{border:1px solid #e0ddd6;border-radius:7px;padding:8px 11px;font-size:13px;outline:none;resize:vertical;transition:border-color .15s}.form-inp-lp[data-v-000c5744]:focus{border-color:#5b5fc7}.form-err-lp[data-v-000c5744]{font-size:11px;color:#e74c3c}.save-err-lp[data-v-000c5744]{padding:9px 13px;background:#fde8e8;border-radius:7px;font-size:13px;color:#b03030}.page-title-inline[data-v-000c5744]{font-size:17px;font-weight:700;color:#1a1a1a}.page-sub[data-v-000c5744]{font-size:11px;color:#888780;margin-top:2px}.stat-strip[data-v-000c5744]{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.stat-card[data-v-000c5744]{background:#f9f8f7;border:1px solid #e5e2de;border-radius:8px;padding:10px 18px;min-width:90px}.stat-val[data-v-000c5744]{font-size:22px;font-weight:700;color:#1a1a1a}.stat-lbl[data-v-000c5744]{font-size:10px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.text-green[data-v-000c5744]{color:#2e7d32}.text-orange[data-v-000c5744]{color:#d97706}.filter-bar[data-v-000c5744]{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap}.filter-group[data-v-000c5744]{display:flex;flex-direction:column;gap:3px}.filter-lbl[data-v-000c5744]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.filter-select[data-v-000c5744]{border:1px solid #d0cdc9;border-radius:6px;padding:5px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.filter-select[data-v-000c5744]:focus{border-color:#3b82f6}.import-strip[data-v-000c5744]{display:flex;align-items:center;gap:6px;background:#f4f3f1;border:1px solid #e5e2de;border-radius:7px;padding:6px 10px;flex-wrap:wrap}.file-name-lbl[data-v-000c5744]{font-size:11px;color:#666360;min-width:120px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-upload[data-v-000c5744]{background:#0d9488;border-color:#0d9488;color:#fff}.btn-upload[data-v-000c5744]:hover:not(:disabled){background:#0f766e}.btn-export[data-v-000c5744]{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.btn-export[data-v-000c5744]:hover:not(:disabled){background:#1e40af}.btn-export-hourly[data-v-000c5744]{background:#d97706;border-color:#d97706;color:#fff}.btn-export-hourly[data-v-000c5744]:hover:not(:disabled){background:#b45309}.import-divider[data-v-000c5744]{width:1px;height:24px;background:#d0cdc9;margin:0 4px;flex-shrink:0}.table-wrap[data-v-000c5744]{overflow-x:auto}.data-table[data-v-000c5744]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-000c5744]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td[data-v-000c5744]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-000c5744]:hover{background:#faf9f8}.table-empty[data-v-000c5744]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.col-num[data-v-000c5744]{width:36px;text-align:center}.text-right[data-v-000c5744]{text-align:right}.text-muted[data-v-000c5744]{color:#888780}.text-danger[data-v-000c5744]{color:#c0392b}.fw-600[data-v-000c5744]{font-weight:600}.col-action[data-v-000c5744]{position:sticky;right:0;z-index:2;background:#f4f3f1;text-align:center}.data-table tbody td.col-action[data-v-000c5744]{background:#fff}.data-table tbody tr:hover td.col-action[data-v-000c5744]{background:#faf9f8}.btn[data-v-000c5744]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 10px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-000c5744]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-000c5744]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-000c5744]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-000c5744]:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-cf[data-v-000c5744]{background:#6366f1;border-color:#6366f1;color:#fff}.btn-cf[data-v-000c5744]:hover:not(:disabled){background:#4f46e5}.btn-sm[data-v-000c5744]{padding:4px 8px;font-size:11px}.btn-danger-xs[data-v-000c5744]{background:#fee2e2;border-color:#fca5a5;color:#c0392b;padding:2px 6px;font-size:11px;border-radius:4px;cursor:pointer;border:1px solid #fca5a5}.btn-danger-xs[data-v-000c5744]:hover{background:#fecaca}.chip[data-v-000c5744]{background:#f0ede9;border-radius:10px;padding:2px 7px;font-size:10px;color:#666360}.modal-overlay[data-v-000c5744]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-box[data-v-000c5744]{background:#fff;border-radius:12px;width:680px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000040}.modal-lg[data-v-000c5744]{width:820px}.modal-header[data-v-000c5744]{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 14px;border-bottom:1px solid #f0ede9}.modal-title[data-v-000c5744]{font-size:15px;font-weight:700;color:#1a1a1a}.modal-sub[data-v-000c5744]{font-size:11px;color:#888780;margin-top:2px}.modal-close[data-v-000c5744]{border:none;background:none;font-size:16px;color:#aaa8a4;cursor:pointer;line-height:1;padding:2px}.modal-close[data-v-000c5744]:hover{color:#2d2a27}.modal-body[data-v-000c5744]{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer[data-v-000c5744]{padding:14px 20px;border-top:1px solid #f0ede9;display:flex;gap:8px;justify-content:flex-end;align-items:center}.inline-input[data-v-000c5744]{width:72px;border:1px solid #d0cdc9;border-radius:5px;padding:4px 6px;font-size:12px;text-align:right;outline:none}.inline-input[data-v-000c5744]:focus{border-color:#3b82f6}.form-err[data-v-000c5744]{color:#c0392b;font-size:11px;flex:1}.grp-header-row th[data-v-000c5744]{padding:4px 10px;font-size:10px;border-bottom:none}.grp-info[data-v-000c5744]{background:#f4f3f1}.grp-label[data-v-000c5744]{text-align:center;font-weight:700;font-size:10px;letter-spacing:.4px;text-transform:uppercase;border-radius:4px 4px 0 0}.grp-label-regular[data-v-000c5744]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-bottom:none}.grp-label-hourly[data-v-000c5744]{background:#fffbeb;color:#d97706;border:1px solid #fde68a;border-bottom:none}.grp-regular[data-v-000c5744]{background:#f8faff}.grp-hourly[data-v-000c5744]{background:#fffdf0}.hourly-val-assigned[data-v-000c5744]{font-weight:700;color:#d97706;font-size:12px}.hourly-val-used[data-v-000c5744]{font-weight:600;color:#888780;font-size:12px}.action-item-sep[data-v-000c5744]{height:1px;background:#e5e2de;margin:3px 0}.hourly-assigned[data-v-000c5744]{font-size:11px;font-weight:700;color:#d97706}.hourly-used[data-v-000c5744]{font-size:10px;color:#888780}.action-item-hourly[data-v-000c5744]{color:#d97706;font-weight:600}.hourly-form-row[data-v-000c5744]{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.hourly-field[data-v-000c5744]{display:flex;flex-direction:column;gap:5px}.hourly-used-display[data-v-000c5744]{font-size:14px;font-weight:700;color:#888780;padding:4px 0}.hourly-remaining[data-v-000c5744]{font-size:16px;font-weight:700;padding:4px 0}.toast[data-v-000c5744]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-000c5744 .2s ease}.toast-success[data-v-000c5744]{background:#16a34a;color:#fff}.toast-error[data-v-000c5744]{background:#dc2626;color:#fff}@keyframes fadeIn-000c5744{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.action-wrap[data-v-000c5744]{position:relative;display:inline-block}.btn-action[data-v-000c5744]{background:#3b82f6;border-color:#3b82f6;color:#fff;white-space:nowrap}.btn-action[data-v-000c5744]:hover{background:#2563eb}.caret[data-v-000c5744]{font-size:9px}.table-search-row[data-v-000c5744]{display:flex;align-items:center;gap:6px;padding:10px 4px 8px}.table-search-input[data-v-000c5744]{border:1px solid #e2e8f0;border-radius:7px;padding:6px 12px;font-size:12px;outline:none;width:260px;color:#0f172a;background:#fff}.table-search-input[data-v-000c5744]:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.table-search-input[data-v-000c5744]::placeholder{color:#94a3b8}.search-clear-btn[data-v-000c5744]{border:none;background:none;color:#94a3b8;font-size:13px;cursor:pointer;padding:4px 6px;line-height:1}.search-clear-btn[data-v-000c5744]:hover{color:#ef4444}.pagination-row[data-v-000c5744]{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;flex-wrap:wrap;gap:8px}.page-info[data-v-000c5744]{font-size:11px;color:#64748b}.page-btns[data-v-000c5744]{display:flex;align-items:center;gap:4px}.page-btn[data-v-000c5744]{border:1px solid #e2e8f0;background:#fff;color:#0f172a;border-radius:5px;padding:4px 9px;font-size:12px;cursor:pointer;min-width:30px;text-align:center;transition:all .15s}.page-btn[data-v-000c5744]:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.page-btn[data-v-000c5744]:disabled{opacity:.4;cursor:not-allowed}.page-btn-active[data-v-000c5744]{background:#6366f1;border-color:#6366f1;color:#fff;font-weight:600}.page-btn-active[data-v-000c5744]:hover{background:#6366f1}.page-ellipsis[data-v-000c5744]{font-size:12px;color:#94a3b8;padding:0 2px}.action-dropdown-fixed{position:fixed;z-index:9999;background:#fff;border:1px solid #d0cdc9;border-radius:8px;box-shadow:0 6px 24px #00000029;min-width:160px;overflow:hidden;animation:ddFadeIn .12s ease}.action-dropdown-fixed .action-item{padding:9px 16px;font-size:12px;color:#2d2a27;cursor:pointer;white-space:nowrap}.action-dropdown-fixed .action-item:hover{background:#f4f3f1}.action-dropdown-fixed .action-item-sep{height:1px;background:#e5e2de;margin:3px 0}.action-dropdown-fixed .action-item-hourly{color:#d97706;font-weight:600}@keyframes ddFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-85cca108]{padding:0}.page-header-row[data-v-85cca108]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-title-inline[data-v-85cca108]{font-size:17px;font-weight:700;color:#1a1a1a}.page-sub[data-v-85cca108]{font-size:11px;color:#888780;margin-top:2px}.back-btn[data-v-85cca108]{background:#f4f3f1;border-color:#d0cdc9;color:#555}.section-card[data-v-85cca108]{background:#fafaf9;border:1px solid #e5e2de;border-radius:9px;padding:16px 18px;margin-bottom:14px}.section-title[data-v-85cca108]{font-size:13px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.form-row[data-v-85cca108]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.form-group[data-v-85cca108]{display:flex;flex-direction:column;gap:4px;min-width:140px}.form-group-wide[data-v-85cca108]{min-width:200px;flex:1}.form-group-action[data-v-85cca108]{justify-content:flex-end}.form-lbl[data-v-85cca108]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-85cca108]{color:#c0392b}.form-sel[data-v-85cca108],.form-inp[data-v-85cca108]{border:1px solid #d0cdc9;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.form-sel[data-v-85cca108]:focus,.form-inp[data-v-85cca108]:focus{border-color:#3b82f6}.field-err[data-v-85cca108]{font-size:10px;color:#c0392b;margin-top:2px}.save-err[data-v-85cca108]{font-size:11px;color:#c0392b;margin-top:8px}.kind-bar[data-v-85cca108]{display:flex;gap:4px;margin-bottom:10px}.kind-btn[data-v-85cca108]{border:1px solid #d0cdc9;background:#fff;padding:5px 14px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:all .15s}.kind-btn[data-v-85cca108]:hover{background:#f4f3f1}.kind-active[data-v-85cca108]{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600}.col-kind[data-v-85cca108]{width:68px;text-align:center}.kind-badge[data-v-85cca108]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.kind-regular[data-v-85cca108]{background:#eff6ff;color:#1d4ed8}.kind-hourly[data-v-85cca108]{background:#fef3c7;color:#d97706}.hours-badge[data-v-85cca108]{font-size:11px;font-weight:700;color:#d97706;background:#fffbeb;padding:2px 7px;border-radius:8px;border:1px solid #fde68a}.filter-bar[data-v-85cca108]{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap}.filter-group[data-v-85cca108]{display:flex;flex-direction:column;gap:3px}.filter-lbl[data-v-85cca108]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.filter-select[data-v-85cca108]{border:1px solid #d0cdc9;border-radius:6px;padding:5px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.table-wrap[data-v-85cca108]{overflow-x:auto}.data-table[data-v-85cca108]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-85cca108]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td[data-v-85cca108]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-85cca108]:hover{background:#faf9f8}.row-cancelled td[data-v-85cca108]{opacity:.55}.table-empty[data-v-85cca108]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.col-num[data-v-85cca108]{width:36px;text-align:center}.text-center[data-v-85cca108]{text-align:center}.text-muted[data-v-85cca108]{color:#888780}.text-danger[data-v-85cca108]{color:#c0392b}.type-badge[data-v-85cca108]{font-size:11px;font-weight:600;color:#1a1a1a}.type-code[data-v-85cca108]{font-size:10px;color:#888780;font-weight:400}.pill[data-v-85cca108]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.pill-yes[data-v-85cca108]{background:#fef9c3;color:#854d0e}.pill-no[data-v-85cca108]{background:#f0f0ef;color:#666360}.status-badge[data-v-85cca108]{padding:3px 9px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.status-approved[data-v-85cca108]{background:#dcfce7;color:#16a34a}.status-rejected[data-v-85cca108]{background:#fee2e2;color:#dc2626}.status-pending[data-v-85cca108]{background:#fef3c7;color:#d97706}.status-cancelled[data-v-85cca108]{background:#f1f0ef;color:#888780}.btn-act[data-v-85cca108]{background:none;border:none;cursor:pointer;font-size:17px;line-height:1;padding:0 3px}.btn-approve[data-v-85cca108]:hover,.btn-reject[data-v-85cca108]:hover{opacity:.75}.btn-cancel-icon[data-v-85cca108]{background:none;border:none;cursor:pointer;font-size:18px;color:#f97316;line-height:1;padding:0 4px}.btn-cancel-icon[data-v-85cca108]:hover{color:#c2410c}.btn[data-v-85cca108]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-85cca108]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-85cca108]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-85cca108]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-85cca108]:hover:not(:disabled){background:#2563eb}.btn-sm[data-v-85cca108]{padding:4px 9px;font-size:11px}.toast[data-v-85cca108]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-85cca108 .2s ease}.toast-success[data-v-85cca108]{background:#16a34a;color:#fff}.toast-error[data-v-85cca108]{background:#dc2626;color:#fff}@keyframes fadeIn-85cca108{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-78be87c6]{padding:0}.page-header-row[data-v-78be87c6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-title[data-v-78be87c6]{font-size:17px;font-weight:700;color:#1a1a1a}.role-badge[data-v-78be87c6]{font-size:11px;font-weight:600;background:#eff6ff;color:#1d4ed8;padding:4px 10px;border-radius:10px;border:1px solid #bfdbfe}.section-card[data-v-78be87c6]{background:#fafaf9;border:1px solid #e5e2de;border-radius:9px;padding:16px 18px;margin-bottom:14px}.section-title[data-v-78be87c6]{font-size:13px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.form-row[data-v-78be87c6]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.form-group[data-v-78be87c6]{display:flex;flex-direction:column;gap:4px;min-width:140px}.form-group-action[data-v-78be87c6]{justify-content:flex-end;flex-direction:row;align-items:flex-end}.form-lbl[data-v-78be87c6]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-78be87c6]{color:#c0392b}.form-sel[data-v-78be87c6]{border:1px solid #d0cdc9;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.form-sel[data-v-78be87c6]:focus{border-color:#3b82f6}.form-sel[data-v-78be87c6]:disabled{background:#f4f3f1;color:#aaa8a4;cursor:not-allowed}.filter-type-sel[data-v-78be87c6]{font-weight:600;border-color:#5a5fc8;color:#5a5fc8}.save-err[data-v-78be87c6]{font-size:11px;color:#c0392b;margin-top:8px}.summary-bar[data-v-78be87c6]{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.summary-total[data-v-78be87c6]{font-size:12px;font-weight:700;color:#1a1a1a}.stat-chip[data-v-78be87c6]{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600}.chip-pending[data-v-78be87c6]{background:#fef3c7;color:#d97706}.chip-approved[data-v-78be87c6]{background:#dcfce7;color:#16a34a}.chip-rejected[data-v-78be87c6]{background:#fee2e2;color:#dc2626}.chip-cancelled[data-v-78be87c6]{background:#f1f0ef;color:#888780}.table-wrap[data-v-78be87c6]{overflow-x:auto}.data-table[data-v-78be87c6]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-78be87c6]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td[data-v-78be87c6]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-78be87c6]:hover{background:#faf9f8}.row-cancelled td[data-v-78be87c6]{opacity:.55}.table-empty[data-v-78be87c6]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.col-num[data-v-78be87c6]{width:36px;text-align:center}.text-center[data-v-78be87c6]{text-align:center}.text-muted[data-v-78be87c6]{color:#888780}.text-danger[data-v-78be87c6]{color:#c0392b}.staff-name[data-v-78be87c6]{font-weight:600;color:#1a1a1a}.details-cell[data-v-78be87c6]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-chk[data-v-78be87c6]{width:32px;text-align:center;padding:8px 6px}.col-chk input[type=checkbox][data-v-78be87c6]{cursor:pointer;width:14px;height:14px;accent-color:#3b82f6}.bulk-bar[data-v-78be87c6]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f0f4ff;border:1px solid #c7d7fc;border-radius:0 0 8px 8px;flex-wrap:wrap}.bulk-count[data-v-78be87c6]{font-size:12px;color:#2d2a27;min-width:80px}.bulk-count strong[data-v-78be87c6]{color:#3b82f6}.bulk-sel[data-v-78be87c6]{min-width:160px}.btn-sm[data-v-78be87c6]{padding:4px 10px;font-size:11px}.col-action[data-v-78be87c6]{position:sticky;right:0;z-index:2;background:#f4f3f1}.data-table tbody td.col-action[data-v-78be87c6]{background:#fff}.data-table tbody tr:hover td.col-action[data-v-78be87c6]{background:#faf9f8}.col-kind[data-v-78be87c6]{width:68px;text-align:center}.kind-badge[data-v-78be87c6]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.kind-regular[data-v-78be87c6]{background:#eff6ff;color:#1d4ed8}.kind-hourly[data-v-78be87c6]{background:#fef3c7;color:#d97706}.hours-badge[data-v-78be87c6]{font-size:11px;font-weight:700;color:#d97706;background:#fffbeb;padding:2px 7px;border-radius:8px;border:1px solid #fde68a}.type-badge[data-v-78be87c6]{font-size:11px;font-weight:600;color:#1a1a1a}.type-code[data-v-78be87c6]{font-size:10px;color:#888780;font-weight:400}.pill[data-v-78be87c6]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.pill-yes[data-v-78be87c6]{background:#fef9c3;color:#854d0e}.pill-no[data-v-78be87c6]{background:#f0f0ef;color:#666360}.status-badge[data-v-78be87c6]{padding:3px 9px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.status-approved[data-v-78be87c6]{background:#dcfce7;color:#16a34a}.status-rejected[data-v-78be87c6]{background:#fee2e2;color:#dc2626}.status-pending[data-v-78be87c6]{background:#fef3c7;color:#d97706}.status-cancelled[data-v-78be87c6]{background:#f1f0ef;color:#888780}.mgr-badge[data-v-78be87c6]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.mgr-recommended[data-v-78be87c6]{background:#ede9fe;color:#6d28d9}.mgr-pending[data-v-78be87c6]{background:#f1f0ef;color:#888780}.action-cell[data-v-78be87c6]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;align-items:center}.act-btn[data-v-78be87c6]{border:none;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.act-btn[data-v-78be87c6]:hover{opacity:.8}.act-approve[data-v-78be87c6]{background:#dcfce7;color:#16a34a}.act-reject[data-v-78be87c6]{background:#fee2e2;color:#dc2626}.act-recommend[data-v-78be87c6]{background:#ede9fe;color:#6d28d9}.act-cancel[data-v-78be87c6]{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.btn[data-v-78be87c6]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-78be87c6]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-78be87c6]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-78be87c6]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-78be87c6]:hover:not(:disabled){background:#2563eb}.toast[data-v-78be87c6]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-78be87c6 .2s ease}.toast-success[data-v-78be87c6]{background:#16a34a;color:#fff}.toast-error[data-v-78be87c6]{background:#dc2626;color:#fff}@keyframes fadeIn-78be87c6{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-5661c845]{padding:0}.page-header-row[data-v-5661c845]{display:flex;align-items:center;margin-bottom:14px}.page-title[data-v-5661c845]{font-size:17px;font-weight:700;color:#1a1a1a}.section-card[data-v-5661c845]{background:#fafaf9;border:1px solid #e5e2de;border-radius:9px;padding:16px 18px;margin-bottom:14px}.form-row[data-v-5661c845]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.form-group[data-v-5661c845]{display:flex;flex-direction:column;gap:4px;min-width:140px}.form-group-action[data-v-5661c845]{justify-content:flex-end;flex-direction:row;align-items:flex-end}.form-lbl[data-v-5661c845]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-5661c845]{color:#c0392b}.form-sel[data-v-5661c845]{border:1px solid #d0cdc9;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.form-sel[data-v-5661c845]:focus{border-color:#3b82f6}.form-sel[data-v-5661c845]:disabled{background:#f4f3f1;color:#aaa8a4;cursor:not-allowed}.save-err[data-v-5661c845]{font-size:11px;color:#c0392b;margin-top:8px}.field-err-border[data-v-5661c845]{border-color:#c0392b!important}.field-err-msg[data-v-5661c845]{font-size:10px;color:#c0392b;margin-top:3px}.summary-bar[data-v-5661c845]{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.summary-total[data-v-5661c845]{font-size:12px;font-weight:700;color:#1a1a1a}.stat-chip[data-v-5661c845]{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600}.chip-pending[data-v-5661c845]{background:#fef3c7;color:#d97706}.chip-approved[data-v-5661c845]{background:#dcfce7;color:#16a34a}.chip-rejected[data-v-5661c845]{background:#fee2e2;color:#dc2626}.chip-cancelled[data-v-5661c845]{background:#f1f0ef;color:#888780}.table-wrap[data-v-5661c845]{overflow-x:auto}.data-table[data-v-5661c845]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-5661c845]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td[data-v-5661c845]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-5661c845]:hover{background:#faf9f8}.row-cancelled td[data-v-5661c845]{opacity:.55}.table-empty[data-v-5661c845]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.col-num[data-v-5661c845]{width:36px;text-align:center}.text-center[data-v-5661c845]{text-align:center}.text-muted[data-v-5661c845]{color:#888780}.text-danger[data-v-5661c845]{color:#c0392b}.staff-name[data-v-5661c845]{font-weight:600;color:#1a1a1a}.details-cell[data-v-5661c845]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-action[data-v-5661c845]{position:sticky;right:0;z-index:2;background:#f4f3f1}.data-table tbody td.col-action[data-v-5661c845]{background:#fff}.data-table tbody tr:hover td.col-action[data-v-5661c845]{background:#faf9f8}.action-cell[data-v-5661c845]{display:flex;gap:4px;justify-content:center}.title-sub[data-v-5661c845]{font-size:12px;font-weight:400;color:#888780;margin-left:6px}.col-kind[data-v-5661c845]{width:68px;text-align:center}.kind-badge[data-v-5661c845]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.kind-regular[data-v-5661c845]{background:#eff6ff;color:#1d4ed8}.kind-hourly[data-v-5661c845]{background:#fef3c7;color:#d97706}.hours-badge[data-v-5661c845]{font-size:11px;font-weight:700;color:#d97706;background:#fffbeb;padding:2px 7px;border-radius:8px;border:1px solid #fde68a}.type-badge[data-v-5661c845]{font-size:11px;font-weight:600;color:#1a1a1a}.type-code[data-v-5661c845]{font-size:10px;color:#888780;font-weight:400}.pill[data-v-5661c845]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.pill-yes[data-v-5661c845]{background:#fef9c3;color:#854d0e}.pill-no[data-v-5661c845]{background:#f0f0ef;color:#666360}.status-badge[data-v-5661c845]{padding:3px 9px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.status-approved[data-v-5661c845]{background:#dcfce7;color:#16a34a}.status-rejected[data-v-5661c845]{background:#fee2e2;color:#dc2626}.status-pending[data-v-5661c845]{background:#fef3c7;color:#d97706}.status-cancelled[data-v-5661c845]{background:#f1f0ef;color:#888780}.mgr-badge[data-v-5661c845]{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.mgr-recommended[data-v-5661c845]{background:#ede9fe;color:#6d28d9}.mgr-pending[data-v-5661c845]{background:#f1f0ef;color:#888780}.act-btn[data-v-5661c845]{border:none;border-radius:5px;padding:3px 9px;font-size:11px;font-weight:700;cursor:pointer;transition:opacity .15s}.act-btn[data-v-5661c845]:hover{opacity:.8}.act-approve[data-v-5661c845]{background:#dcfce7;color:#16a34a}.act-reject[data-v-5661c845]{background:#fee2e2;color:#dc2626}.act-cancel[data-v-5661c845]{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.btn[data-v-5661c845]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-5661c845]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-5661c845]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-5661c845]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-5661c845]:hover:not(:disabled){background:#2563eb}.toast[data-v-5661c845]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-5661c845 .2s ease}.toast-success[data-v-5661c845]{background:#16a34a;color:#fff}.toast-error[data-v-5661c845]{background:#dc2626;color:#fff}@keyframes fadeIn-5661c845{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-70d13f8d]{padding:0}.page-header-row[data-v-70d13f8d]{display:flex;align-items:center;margin-bottom:14px}.page-title[data-v-70d13f8d]{font-size:17px;font-weight:700;color:#1a1a1a}.filter-bar[data-v-70d13f8d]{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap}.filter-group[data-v-70d13f8d]{display:flex;flex-direction:column;gap:3px}.filter-lbl[data-v-70d13f8d]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-70d13f8d]{color:#c0392b}.filter-sel[data-v-70d13f8d]{border:1px solid #d0cdc9;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.section-card[data-v-70d13f8d]{background:#fafaf9;border:1px solid #e5e2de;border-radius:9px;padding:16px 18px}.table-empty[data-v-70d13f8d]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.data-table[data-v-70d13f8d]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-70d13f8d]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td[data-v-70d13f8d]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-70d13f8d]:hover{background:#faf9f8}.col-num[data-v-70d13f8d]{width:36px;text-align:center}.text-center[data-v-70d13f8d]{text-align:center}.text-muted[data-v-70d13f8d]{color:#888780}.text-danger[data-v-70d13f8d]{color:#c0392b}.staff-name[data-v-70d13f8d]{font-weight:600;color:#1a1a1a}.minutes-val[data-v-70d13f8d]{font-weight:700;font-size:13px}.has-quota[data-v-70d13f8d]{color:#1d4ed8}.no-quota[data-v-70d13f8d]{color:#aaa8a4;font-weight:400}.used[data-v-70d13f8d]{color:#d97706}.good[data-v-70d13f8d]{color:#16a34a}.low[data-v-70d13f8d]{color:#d97706}.exhausted[data-v-70d13f8d]{color:#dc2626}.minutes-input[data-v-70d13f8d]{border:1px solid #3b82f6;border-radius:5px;padding:4px 7px;font-size:12px;width:70px;text-align:center;outline:none}.col-action[data-v-70d13f8d]{position:sticky;right:0;z-index:2;background:#f4f3f1}.data-table tbody td.col-action[data-v-70d13f8d]{background:#fff}.data-table tbody tr:hover td.col-action[data-v-70d13f8d]{background:#faf9f8}.action-cell[data-v-70d13f8d]{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.act-btn[data-v-70d13f8d]{border:none;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.act-btn[data-v-70d13f8d]:disabled{opacity:.5;cursor:not-allowed}.act-btn[data-v-70d13f8d]:not(:disabled):hover{opacity:.8}.act-edit[data-v-70d13f8d]{background:#dbeafe;color:#1d4ed8}.act-save[data-v-70d13f8d]{background:#dcfce7;color:#16a34a}.act-cancel[data-v-70d13f8d]{background:#f1f0ef;color:#5f5e5a}.act-delete[data-v-70d13f8d]{background:#fee2e2;color:#dc2626;font-size:11px}.act-ledger[data-v-70d13f8d]{background:#ede9fe;color:#6d28d9}.btn[data-v-70d13f8d]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-70d13f8d]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-70d13f8d]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-70d13f8d]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-70d13f8d]:hover:not(:disabled){background:#2563eb}.btn-sm[data-v-70d13f8d]{padding:4px 9px;font-size:11px}.toast[data-v-70d13f8d]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-70d13f8d .2s ease}.toast-success[data-v-70d13f8d]{background:#16a34a;color:#fff}.toast-error[data-v-70d13f8d]{background:#dc2626;color:#fff}@keyframes fadeIn-70d13f8d{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.time-input-wrap[data-v-db30f8eb]{display:inline-flex;align-items:center;gap:2px;border:1px solid #d0cdc9;border-radius:6px;overflow:hidden;background:#fff;width:100%}.time-input-wrap[data-v-db30f8eb]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.time-sel[data-v-db30f8eb]{flex:1;border:none;outline:none;padding:7px 4px;font-size:13px;background:transparent;color:#1a1a1a;cursor:pointer;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}.time-sel[data-v-db30f8eb]:disabled{opacity:.6;cursor:default}.time-colon[data-v-db30f8eb]{font-weight:700;color:#555;font-size:14px}.page-content[data-v-35b0c181]{padding:0}.page-header-row[data-v-35b0c181]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-title[data-v-35b0c181]{font-size:17px;font-weight:700;color:#1a1a1a}.layout-two-col[data-v-35b0c181]{display:grid;grid-template-columns:1fr 2fr;gap:16px;align-items:start}@media (max-width:900px){.layout-two-col[data-v-35b0c181]{grid-template-columns:1fr}}.section-card[data-v-35b0c181]{background:#fafaf9;border:1px solid #e5e2de;border-radius:9px;padding:16px 18px}.section-title[data-v-35b0c181]{font-size:13px;font-weight:700;color:#1a1a1a;margin-bottom:14px}.form-group[data-v-35b0c181]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-row-2[data-v-35b0c181]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-lbl[data-v-35b0c181]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-35b0c181]{color:#c0392b}.form-inp[data-v-35b0c181]{border:1px solid #d0cdc9;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.form-inp[data-v-35b0c181]:focus{border-color:#3b82f6}.form-hint[data-v-35b0c181]{font-size:10px;color:#aaa8a4}.night-shift-row[data-v-35b0c181]{display:flex;flex-direction:column;margin-bottom:12px}.night-shift-label[data-v-35b0c181]{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.night-chk[data-v-35b0c181]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.night-chk-text[data-v-35b0c181]{font-size:13px;font-weight:600;color:#0f172a}.info-banner[data-v-35b0c181]{border-radius:7px;padding:9px 12px;font-size:11px;margin-bottom:12px}.info-amber[data-v-35b0c181]{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.day-grid[data-v-35b0c181]{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.day-chip[data-v-35b0c181]{display:inline-flex;align-items:center;padding:4px 9px;border-radius:12px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid #d0cdc9;color:#888780;background:#fff;transition:all .15s;-webkit-user-select:none;user-select:none}.day-chip-active[data-v-35b0c181]{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.day-tags[data-v-35b0c181]{display:flex;flex-wrap:wrap;gap:3px}.day-tag[data-v-35b0c181]{font-size:10px;font-weight:600;padding:2px 6px;border-radius:8px;background:#eff6ff;color:#2563eb}.form-actions[data-v-35b0c181]{display:flex;justify-content:flex-end;gap:7px;margin-top:4px}.save-err[data-v-35b0c181]{font-size:11px;color:#c0392b;margin-bottom:8px}.data-table[data-v-35b0c181]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-35b0c181]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table td[data-v-35b0c181]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-35b0c181]:hover{background:#faf9f8}.row-inactive td[data-v-35b0c181]{opacity:.5}.table-empty[data-v-35b0c181]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.col-num[data-v-35b0c181]{width:36px;text-align:center}.text-center[data-v-35b0c181]{text-align:center}.text-muted[data-v-35b0c181]{color:#888780}.text-danger[data-v-35b0c181]{color:#c0392b}.shift-title[data-v-35b0c181]{font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:5px}.night-tag[data-v-35b0c181]{font-size:13px;line-height:1}.col-action[data-v-35b0c181]{position:sticky;right:0;z-index:2;background:#f4f3f1}.data-table tbody td.col-action[data-v-35b0c181]{background:#fff}.data-table tbody tr:hover td.col-action[data-v-35b0c181]{background:#faf9f8}.action-cell[data-v-35b0c181]{display:flex;gap:4px;justify-content:center}.act-btn[data-v-35b0c181]{border:none;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.act-btn[data-v-35b0c181]:hover{opacity:.8}.act-edit[data-v-35b0c181]{background:#dbeafe;color:#1d4ed8}.act-delete[data-v-35b0c181]{background:#fee2e2;color:#dc2626}.status-pill[data-v-35b0c181]{border:none;border-radius:10px;padding:3px 10px;font-size:10px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:opacity .15s}.status-pill[data-v-35b0c181]:disabled{opacity:.5;cursor:not-allowed}.pill-active[data-v-35b0c181]{background:#dcfce7;color:#16a34a}.pill-inactive[data-v-35b0c181]{background:#f1f0ef;color:#888780}.btn[data-v-35b0c181]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-35b0c181]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-35b0c181]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-35b0c181]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-35b0c181]:hover:not(:disabled){background:#2563eb}.toast[data-v-35b0c181]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-35b0c181 .2s ease}.toast-success[data-v-35b0c181]{background:#16a34a;color:#fff}.toast-error[data-v-35b0c181]{background:#dc2626;color:#fff}@keyframes fadeIn-35b0c181{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-482cf760]{padding:0}.page-header-row[data-v-482cf760]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.header-actions[data-v-482cf760]{display:flex;gap:8px;align-items:center}.btn-outline-sm[data-v-482cf760]{font-size:12px;padding:5px 10px;border:1px solid #c0bdb8;border-radius:6px;background:#fff;cursor:pointer;color:#555}.btn-outline-sm[data-v-482cf760]:hover{background:#f5f3f0}.btn-export[data-v-482cf760]{border-color:#16a34a;color:#16a34a}.btn-export[data-v-482cf760]:hover:not(:disabled){background:#f0fdf4}.btn-export[data-v-482cf760]:disabled{opacity:.45;cursor:default}.import-strip[data-v-482cf760]{display:flex;align-items:center;gap:8px;background:#f4f3f1;border:1px solid #e5e2de;border-radius:7px;padding:7px 12px;margin-bottom:12px;flex-wrap:wrap}.file-name-lbl[data-v-482cf760]{font-size:12px;color:#777;flex:1;min-width:120px}.btn-upload[data-v-482cf760]{background:#3b82f6;color:#fff;border:none}.btn-upload[data-v-482cf760]:hover:not(:disabled){background:#2563eb}.import-msg[data-v-482cf760]{font-size:12px;font-weight:500}.import-msg.success[data-v-482cf760]{color:#16a34a}.import-msg.error[data-v-482cf760]{color:#dc2626}.import-errors[data-v-482cf760]{background:#fff8f8;border:1px solid #fca5a5;border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:12px}.import-errors-title[data-v-482cf760]{font-weight:600;color:#b91c1c;margin-bottom:4px}.import-error-row[data-v-482cf760]{color:#7f1d1d;line-height:1.6}.page-title[data-v-482cf760]{font-size:17px;font-weight:700;color:#1a1a1a}.info-banner[data-v-482cf760]{background:#fffbeb;border:1px solid #fde68a;border-radius:7px;padding:8px 12px;font-size:11px;color:#92400e;margin-bottom:14px}.section-card[data-v-482cf760]{background:#fafaf9;border:1px solid #e5e2de;border-radius:9px;padding:16px 18px}.filter-strip[data-v-482cf760]{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.input-search[data-v-482cf760]{flex:1;min-width:260px;border:1px solid #d0cdc9;border-radius:7px;padding:7px 10px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.input-search[data-v-482cf760]:focus{border-color:#3b82f6}.btn-clear[data-v-482cf760]{background:none;border:none;font-size:11px;font-weight:600;color:#dc2626;cursor:pointer;padding:4px 2px;white-space:nowrap}.btn-clear[data-v-482cf760]:hover{text-decoration:underline}.match-count[data-v-482cf760]{font-size:11px;color:#888780;white-space:nowrap}.data-table[data-v-482cf760]{width:100%;border-collapse:collapse;font-size:12px}.data-table th[data-v-482cf760]{background:#f4f3f1;border-bottom:2px solid #e5e2de;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.data-table th.th-sort[data-v-482cf760]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s}.data-table th.th-sort[data-v-482cf760]:hover{background:#eae7e2;color:#2d2a27}.data-table th.th-sorted[data-v-482cf760]{background:#eae7e2;color:#1a1a1a}.th-inner[data-v-482cf760]{display:inline-flex;align-items:center;gap:5px}.sort-ico[data-v-482cf760]{display:inline-flex;flex-direction:column;font-size:7px;line-height:.95;color:#c4c0ba}.th-sort:hover .sort-ico[data-v-482cf760]{color:#a5a09a}.ico-asc .ar[data-v-482cf760]:first-child,.ico-desc .ar[data-v-482cf760]:last-child{color:#1a1a1a}.ico-asc .ar[data-v-482cf760]:last-child,.ico-desc .ar[data-v-482cf760]:first-child{opacity:.35}.table-footer[data-v-482cf760]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px;margin-top:4px;border-top:1px solid #e5e2de;font-size:11.5px}.page-info[data-v-482cf760]{color:#888780}.page-controls[data-v-482cf760]{display:flex;align-items:center;gap:3px}.pg-btn[data-v-482cf760]{min-width:26px;height:26px;border:1px solid #d0cdc9;border-radius:5px;background:#fff;cursor:pointer;font-size:12px;color:#2d2a27;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.pg-btn[data-v-482cf760]:hover:not(:disabled){background:#f0ede9}.pg-btn[data-v-482cf760]:disabled{opacity:.4;cursor:not-allowed}.pg-active[data-v-482cf760]{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important}.pg-gap[data-v-482cf760]{padding:0 3px;color:#aaa8a4}.per-page[data-v-482cf760]{display:flex;align-items:center;gap:6px}.per-page-sel[data-v-482cf760]{padding:3px 6px;font-size:11.5px}.data-table td[data-v-482cf760]{border-bottom:1px solid #f0ede9;padding:8px 10px;color:#2d2a27;vertical-align:middle}.data-table tbody tr[data-v-482cf760]:hover{background:#faf9f8}.table-empty[data-v-482cf760]{text-align:center;padding:36px;color:#aaa8a4;font-size:13px}.col-num[data-v-482cf760]{width:36px;text-align:center}.text-center[data-v-482cf760]{text-align:center}.text-muted[data-v-482cf760]{color:#888780}.text-danger[data-v-482cf760]{color:#c0392b}.emp-name[data-v-482cf760]{font-weight:600;color:#1a1a1a}.shift-chip[data-v-482cf760]{background:#eff6ff;color:#1d4ed8;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:600}.type-badge[data-v-482cf760]{padding:2px 8px;border-radius:8px;font-size:10px;font-weight:600}.type-permanent[data-v-482cf760]{background:#dcfce7;color:#16a34a}.type-override[data-v-482cf760]{background:#fef3c7;color:#d97706}.col-action[data-v-482cf760]{position:sticky;right:0;z-index:2;background:#f4f3f1}.data-table tbody td.col-action[data-v-482cf760]{background:#fff}.data-table tbody tr:hover td.col-action[data-v-482cf760]{background:#faf9f8}.action-cell[data-v-482cf760]{display:flex;gap:4px;justify-content:center}.act-btn[data-v-482cf760]{border:none;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.act-btn[data-v-482cf760]:hover{opacity:.8}.act-edit[data-v-482cf760]{background:#dbeafe;color:#1d4ed8}.act-delete[data-v-482cf760]{background:#fee2e2;color:#dc2626}.modal-backdrop[data-v-482cf760]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-482cf760]{background:#fff;border-radius:10px;width:420px;max-width:95vw;box-shadow:0 8px 32px #0003}.modal-header[data-v-482cf760]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e5e2de}.modal-title[data-v-482cf760]{font-size:14px;font-weight:700;color:#1a1a1a}.modal-close[data-v-482cf760]{background:none;border:none;font-size:14px;cursor:pointer;color:#888780;padding:0}.modal-body[data-v-482cf760]{padding:18px}.modal-footer[data-v-482cf760]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e5e2de}.form-group[data-v-482cf760]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-lbl[data-v-482cf760]{font-size:10px;color:#888780;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.lbl-note[data-v-482cf760]{font-size:10px;color:#aaa8a4;font-weight:400;text-transform:none;letter-spacing:0}.req[data-v-482cf760]{color:#c0392b}.form-sel[data-v-482cf760]{border:1px solid #d0cdc9;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;color:#1a1a1a;outline:none}.form-sel[data-v-482cf760]:focus{border-color:#3b82f6}.combobox-wrap[data-v-482cf760]{position:relative}.combobox-inp[data-v-482cf760]{width:100%;box-sizing:border-box}.combobox-list[data-v-482cf760]{position:absolute;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1px solid #d0cdc9;border-radius:6px;box-shadow:0 4px 14px #0000001a;max-height:200px;overflow-y:auto;z-index:600}.combobox-item[data-v-482cf760]{padding:7px 10px;font-size:12px;cursor:pointer;color:#1a1a1a}.combobox-item[data-v-482cf760]:hover{background:#f0f7ff}.combobox-item--active[data-v-482cf760]{background:#dbeafe;color:#1d4ed8;font-weight:600}.combobox-empty[data-v-482cf760]{padding:10px;font-size:12px;color:#aaa8a4;text-align:center}.save-err[data-v-482cf760]{font-size:11px;color:#c0392b;margin-top:4px}.btn[data-v-482cf760]{display:inline-flex;align-items:center;gap:4px;border:1px solid #d0cdc9;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#2d2a27;transition:background .15s}.btn[data-v-482cf760]:hover:not(:disabled){background:#f4f3f1}.btn[data-v-482cf760]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-482cf760]{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary[data-v-482cf760]:hover:not(:disabled){background:#2563eb}.toast[data-v-482cf760]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-482cf760 .2s ease}.toast-success[data-v-482cf760]{background:#16a34a;color:#fff}.toast-error[data-v-482cf760]{background:#dc2626;color:#fff}@keyframes fadeIn-482cf760{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-5d8600c9]{padding:0}.page-header-row[data-v-5d8600c9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.page-title[data-v-5d8600c9]{font-size:17px;font-weight:700;color:#0f172a}.two-panel[data-v-5d8600c9]{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}@media (max-width:1024px){.two-panel[data-v-5d8600c9]{grid-template-columns:1fr}}.section-card[data-v-5d8600c9]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d}.section-hdr[data-v-5d8600c9]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:12px}.form-row[data-v-5d8600c9]{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.form-group[data-v-5d8600c9]{display:flex;flex-direction:column;gap:4px}.form-lbl[data-v-5d8600c9]{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-5d8600c9]{color:#ef4444}.form-sel[data-v-5d8600c9]{border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;font-size:12px;background:#fff;outline:none}.form-sel[data-v-5d8600c9]:focus{border-color:#6366f1}.save-err[data-v-5d8600c9]{font-size:11px;color:#ef4444;margin-top:8px}.lock-banner[data-v-5d8600c9]{background:#fefce8;border:1px solid #fde68a;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:600;color:#92400e;margin-bottom:10px;text-align:center}.save-msg-bar[data-v-5d8600c9]{font-size:12px;padding:8px 12px;border-radius:6px;margin-bottom:10px}.msg-ok[data-v-5d8600c9]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.msg-err[data-v-5d8600c9]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.table-wrap[data-v-5d8600c9]{overflow-x:auto;margin-bottom:10px}.comp-table[data-v-5d8600c9]{width:100%;border-collapse:collapse;font-size:12px}.comp-table th[data-v-5d8600c9]{background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.comp-table td[data-v-5d8600c9]{border-bottom:1px solid #f1f5f9;padding:6px 8px;vertical-align:middle;color:#0f172a}.comp-table tbody tr:hover td[data-v-5d8600c9]{background:#fafbff}.col-num[data-v-5d8600c9]{width:32px;text-align:center}.text-center[data-v-5d8600c9]{text-align:center}.text-muted[data-v-5d8600c9]{color:#64748b}.date-cell[data-v-5d8600c9]{font-size:11px}.date-neutral[data-v-5d8600c9]{color:#0f172a}.date-present[data-v-5d8600c9]{color:#16a34a;font-weight:600}.date-off[data-v-5d8600c9]{color:#94a3b8}.date-absent[data-v-5d8600c9]{color:#dc2626;font-weight:600}.date-leave[data-v-5d8600c9]{color:#6366f1;font-weight:600}.bio-time[data-v-5d8600c9]{font-size:11px}.in-t[data-v-5d8600c9]{color:#16a34a;font-weight:600}.out-t[data-v-5d8600c9]{color:#dc2626;font-weight:600}.hours-cell[data-v-5d8600c9]{color:#6366f1;font-weight:600;font-size:11px}.flag-sel-wrap[data-v-5d8600c9]{position:relative;display:flex;align-items:center;gap:4px}.flag-sel[data-v-5d8600c9]{border:1px solid #e2e8f0;border-radius:5px;padding:4px 5px;font-size:11px;background:#fff;outline:none;width:100%}.flag-sel[data-v-5d8600c9]:focus{border-color:#6366f1}.flag-sel[data-v-5d8600c9]:disabled{background:#f8fafc;color:#94a3b8}.auto-suggest-tag[data-v-5d8600c9]{flex-shrink:0;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;padding:1px 4px;cursor:help}.flag-present[data-v-5d8600c9]{border-color:#bbf7d0;background:#f0fdf4;color:#16a34a}.flag-off[data-v-5d8600c9]{background:#f8fafc}.flag-absent[data-v-5d8600c9]{border-color:#fecaca;background:#fef2f2;color:#dc2626}.flag-worked[data-v-5d8600c9]{border-color:#c7d2fe;background:#eef2ff;color:#6366f1}.flag-leave[data-v-5d8600c9]{border-color:#ddd6fe;background:#f5f3ff;color:#7c3aed}.comment-inp[data-v-5d8600c9]{border:1px solid #e2e8f0;border-radius:5px;padding:4px 7px;font-size:11px;width:100%;outline:none}.comment-inp[data-v-5d8600c9]:disabled{background:#f8fafc;color:#94a3b8}.row-present td[data-v-5d8600c9]{background:#fafffe}.row-off td[data-v-5d8600c9]{background:#fafafa;color:#94a3b8}.row-absent td[data-v-5d8600c9]{background:#fff9f9}.row-half td[data-v-5d8600c9]{background:#fffef0}.row-worked-off td[data-v-5d8600c9]{background:#f5f3ff}.row-leave td[data-v-5d8600c9]{background:#f8f7ff}.submit-row[data-v-5d8600c9]{display:flex;justify-content:flex-end;padding-top:4px}.right-panel[data-v-5d8600c9]{position:sticky;top:20px}.action-btns[data-v-5d8600c9]{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.lock-btn-row[data-v-5d8600c9]{margin-bottom:12px}.lock-log-line[data-v-5d8600c9]{font-size:11px;color:#64748b;margin-top:6px;text-align:center;font-style:italic}.btn-dl[data-v-5d8600c9]{background:#0891b2;border-color:#0891b2;color:#fff;width:100%;justify-content:center}.btn-dl[data-v-5d8600c9]:hover:not(:disabled){background:#0e7490}.btn-dl-detail[data-v-5d8600c9]{background:#0d9488;border-color:#0d9488;color:#fff;width:100%;justify-content:center}.btn-dl-detail[data-v-5d8600c9]:hover:not(:disabled){background:#0f766e}.btn-lock[data-v-5d8600c9]{background:#f59e0b;border-color:#f59e0b;color:#fff;width:100%;justify-content:center}.btn-lock[data-v-5d8600c9]:hover:not(:disabled){background:#d97706}.btn-unlock[data-v-5d8600c9]{background:#8b5cf6;border-color:#8b5cf6;color:#fff;width:100%;justify-content:center}.btn-unlock[data-v-5d8600c9]:hover:not(:disabled){background:#7c3aed}.period-info[data-v-5d8600c9]{background:#f8fafc;border-radius:7px;padding:10px 12px}.pinfo-row[data-v-5d8600c9]{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f1f5f9}.pinfo-row[data-v-5d8600c9]:last-child{border-bottom:none}.pinfo-lbl[data-v-5d8600c9]{font-size:10px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.pinfo-val[data-v-5d8600c9]{font-size:12px;font-weight:600;color:#0f172a}.accent-val[data-v-5d8600c9]{color:#6366f1}.lp-summary-val[data-v-5d8600c9]{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.lp-count-chip[data-v-5d8600c9]{background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.eal-count-chip[data-v-5d8600c9]{background:#e0f2fe;color:#075985;border:1px solid #bae6fd;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.lp-deduct-note[data-v-5d8600c9]{color:#dc2626;font-size:11px;font-weight:500}.lp-ok-note[data-v-5d8600c9]{color:#16a34a;font-size:11px;font-weight:500}.locked-txt[data-v-5d8600c9]{color:#d97706}.unlocked-txt[data-v-5d8600c9]{color:#16a34a}.btn[data-v-5d8600c9]{display:inline-flex;align-items:center;gap:4px;border:1px solid #e2e8f0;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#0f172a;transition:all .15s;font-weight:500}.btn[data-v-5d8600c9]:hover:not(:disabled){background:#f8fafc}.btn[data-v-5d8600c9]:disabled{opacity:.45;cursor:not-allowed}.btn-primary[data-v-5d8600c9]{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary[data-v-5d8600c9]:hover:not(:disabled){background:#4f46e5}.btn-sm[data-v-5d8600c9]{padding:5px 12px;font-size:11px}.toast[data-v-5d8600c9]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-5d8600c9 .2s ease}.toast-success[data-v-5d8600c9]{background:#16a34a;color:#fff}.toast-error[data-v-5d8600c9]{background:#dc2626;color:#fff}@keyframes fadeIn-5d8600c9{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.staff-select-wrap[data-v-5d8600c9]{position:relative}.staff-search-inp[data-v-5d8600c9]{width:100%;padding-right:22px;cursor:text}.staff-clear-btn[data-v-5d8600c9]{position:absolute;right:7px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:11px;color:#94a3b8;line-height:1;-webkit-user-select:none;user-select:none}.staff-clear-btn[data-v-5d8600c9]:hover{color:#0f172a}.staff-dropdown[data-v-5d8600c9]{position:absolute;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;max-height:230px;overflow-y:auto;z-index:1000;box-shadow:0 4px 16px #0000001a}.staff-option[data-v-5d8600c9]{padding:7px 10px;cursor:pointer;font-size:12px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-option[data-v-5d8600c9]:hover{background:#f1f5f9}.staff-option-active[data-v-5d8600c9]{background:#ede9fe;color:#6366f1;font-weight:600}.staff-no-results[data-v-5d8600c9]{color:#94a3b8;font-style:italic;cursor:default}.staff-no-results[data-v-5d8600c9]:hover{background:transparent}.page-content[data-v-e7695984]{padding:0}.page-header-row[data-v-e7695984]{display:flex;align-items:center;margin-bottom:14px}.page-title[data-v-e7695984]{font-size:17px;font-weight:700;color:#0f172a}.two-panel[data-v-e7695984]{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width:900px){.two-panel[data-v-e7695984]{grid-template-columns:1fr}}.panel[data-v-e7695984]{display:flex;flex-direction:column;gap:14px}.section-card[data-v-e7695984]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #0000000d}.section-hdr[data-v-e7695984]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hdr-sub[data-v-e7695984]{font-size:11px;color:#94a3b8;font-weight:400}.form-row[data-v-e7695984]{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.form-group[data-v-e7695984]{display:flex;flex-direction:column;gap:4px}.form-lbl[data-v-e7695984]{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-e7695984]{color:#ef4444}.form-sel[data-v-e7695984]{border:1px solid #e2e8f0;border-radius:6px;padding:6px 9px;font-size:12px;background:#fff;outline:none;min-width:100px}.form-sel[data-v-e7695984]:focus{border-color:#6366f1}.save-err[data-v-e7695984]{font-size:11px;color:#ef4444;margin-top:6px}.table-empty[data-v-e7695984]{text-align:center;padding:24px;color:#94a3b8;font-size:13px}.att-summary[data-v-e7695984]{font-size:12px;color:#475569;margin:10px 0 8px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.acc-text[data-v-e7695984]{color:#6366f1;font-weight:600}.att-day-list[data-v-e7695984]{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:320px;overflow-y:auto}.att-day-card[data-v-e7695984]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:7px;flex-wrap:wrap}.att-date[data-v-e7695984]{font-size:12px;font-weight:600;color:#0f172a;min-width:100px}.att-entries[data-v-e7695984]{display:flex;gap:5px;flex-wrap:wrap;flex:1}.att-time[data-v-e7695984]{font-size:11px;padding:2px 7px;border-radius:6px;font-weight:600}.time-in[data-v-e7695984]{background:#dcfce7;color:#16a34a}.time-out[data-v-e7695984]{background:#fee2e2;color:#dc2626}.att-count[data-v-e7695984]{font-size:10px;color:#94a3b8}.multi-sel-wrap[data-v-e7695984]{border:1px solid #e2e8f0;border-radius:7px;padding:8px 10px;background:#f8fafc;min-height:40px}.chips-row[data-v-e7695984]{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.staff-chip[data-v-e7695984]{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600}.chip-remove[data-v-e7695984]{background:none;border:none;cursor:pointer;color:#6366f1;font-size:14px;line-height:1;padding:0 1px;font-weight:700}.chip-remove[data-v-e7695984]:hover{color:#dc2626}.chip-add-sel[data-v-e7695984]{border:none;background:transparent;font-size:12px;color:#6366f1;cursor:pointer;outline:none;min-width:120px}.all-staff-hint[data-v-e7695984]{font-size:11px;color:#94a3b8;font-style:italic}.multi-table-wrap[data-v-e7695984]{overflow-x:auto;margin-top:12px;border:1px solid #e2e8f0;border-radius:8px}.multi-table[data-v-e7695984]{width:100%;border-collapse:collapse;font-size:12px}.multi-table th[data-v-e7695984]{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 10px;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.multi-table td[data-v-e7695984]{border-bottom:1px solid #f1f5f9;padding:8px 10px;color:#0f172a;vertical-align:middle}.multi-table tbody tr:last-child td[data-v-e7695984]{border-bottom:none}.multi-table tbody tr:hover td[data-v-e7695984]{background:#fafbff}.col-num[data-v-e7695984]{width:32px;text-align:center}.text-center[data-v-e7695984]{text-align:center}.text-muted[data-v-e7695984]{color:#64748b}.staff-name-cell[data-v-e7695984]{font-weight:600}.count-badge[data-v-e7695984]{background:#e0e7ff;color:#4338ca;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.in-time[data-v-e7695984]{color:#16a34a;font-weight:600}.out-time[data-v-e7695984]{color:#dc2626;font-weight:600}.hours-val[data-v-e7695984]{color:#6366f1;font-weight:600}.btn-export-att[data-v-e7695984]{background:#16a34a;border-color:#16a34a;color:#fff}.btn-export-att[data-v-e7695984]:hover:not(:disabled){background:#059669}.row-on-leave td[data-v-e7695984]{background:#fff7ed!important}.leave-badge[data-v-e7695984]{display:inline-block;background:#fef3c7;color:#b45309;border:1px solid #fde68a;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.half-day-tag[data-v-e7695984]{display:inline-block;background:#ede9fe;color:#7c3aed;border:1px solid #ddd6fe;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:600;margin-left:4px}.import-type-sel[data-v-e7695984]{font-size:11px;border:1px solid #e2e8f0;border-radius:5px;padding:3px 7px;background:#fff;outline:none}.import-row[data-v-e7695984]{margin-bottom:10px}.file-row[data-v-e7695984]{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.file-name[data-v-e7695984]{font-size:11px;color:#64748b;flex:1;min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.import-msg[data-v-e7695984]{font-size:11px;padding:7px 10px;border-radius:6px;margin-bottom:8px}.msg-ok[data-v-e7695984]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.msg-err[data-v-e7695984]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.import-info[data-v-e7695984]{font-size:11px;color:#64748b;background:#f8fafc;border-radius:6px;padding:8px 10px;margin-top:8px;line-height:1.7}.btn[data-v-e7695984]{display:inline-flex;align-items:center;gap:4px;border:1px solid #e2e8f0;background:#fff;padding:5px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#0f172a;transition:all .15s;font-weight:500;white-space:nowrap}.btn[data-v-e7695984]:hover:not(:disabled){background:#f8fafc}.btn[data-v-e7695984]:disabled{opacity:.45;cursor:not-allowed}.btn-primary[data-v-e7695984]{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary[data-v-e7695984]:hover:not(:disabled){background:#4f46e5}.btn-sm[data-v-e7695984]{padding:4px 10px;font-size:11px}.btn-success-fill[data-v-e7695984]{background:#10b981;border-color:#10b981;color:#fff}.btn-success-fill[data-v-e7695984]:hover:not(:disabled){background:#059669}.btn-sample[data-v-e7695984]{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn-sample[data-v-e7695984]:hover:not(:disabled){background:#d97706}.btn-dl[data-v-e7695984]{background:#6366f1;border-color:#6366f1;color:#fff;align-self:flex-end}.btn-dl[data-v-e7695984]:hover:not(:disabled){background:#4f46e5}.total-btn[data-v-e7695984]{background:none;border:none;color:#6366f1;font-size:11px;font-weight:700;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:2px}.total-btn[data-v-e7695984]:hover{color:#4f46e5}.count-btn[data-v-e7695984]{background:#eef2ff;border:none;color:#4338ca;font-size:11px;font-weight:700;cursor:pointer;padding:3px 9px;border-radius:10px;text-decoration:underline;text-underline-offset:2px}.count-btn[data-v-e7695984]:hover{background:#e0e7ff}.modal-bd[data-v-e7695984]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1500;padding:16px}.modal-panel[data-v-e7695984]{background:#fff;border-radius:12px;width:90vw;max-width:1100px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-head[data-v-e7695984]{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;gap:12px;flex-wrap:wrap}.modal-ttl[data-v-e7695984]{font-size:16px;font-weight:700;color:#0f172a}.modal-meta[data-v-e7695984]{font-size:12px;color:#64748b;margin-top:2px;flex:1}.modal-cls[data-v-e7695984]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:0;line-height:1}.modal-cls[data-v-e7695984]:hover{color:#0f172a}.modal-bdy[data-v-e7695984]{padding:16px 20px;overflow:auto;flex:1}.detail-table[data-v-e7695984]{width:100%;border-collapse:collapse;font-size:12px}.detail-table th[data-v-e7695984]{background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 10px;text-align:left;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.detail-table td[data-v-e7695984]{border-bottom:1px solid #f1f5f9;padding:7px 10px;color:#0f172a;vertical-align:middle}.detail-table tbody tr:hover td[data-v-e7695984]{background:#fafbff}.inout-time[data-v-e7695984]{font-weight:700;color:#6366f1}.coord[data-v-e7695984]{font-size:11px;font-family:monospace}.attach-link[data-v-e7695984]{font-size:18px;text-decoration:none;color:#6366f1}.attach-link[data-v-e7695984]:hover{color:#4f46e5}.map-link[data-v-e7695984]{font-size:18px;text-decoration:none;color:#ef4444}.map-link[data-v-e7695984]:hover{color:#dc2626}.toast[data-v-e7695984]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-e7695984 .2s ease}.toast-success[data-v-e7695984]{background:#16a34a;color:#fff}.toast-error[data-v-e7695984]{background:#dc2626;color:#fff}@keyframes fadeIn-e7695984{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content[data-v-2a3151f6]{padding:0}.page-header-row[data-v-2a3151f6]{display:flex;align-items:center;margin-bottom:14px}.page-title[data-v-2a3151f6]{font-size:17px;font-weight:700;color:#0f172a}.loading-msg[data-v-2a3151f6]{text-align:center;padding:40px;color:#94a3b8;font-size:14px}.section-card[data-v-2a3151f6]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px;box-shadow:0 1px 3px #0000000d}.section-title[data-v-2a3151f6]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:14px;display:flex;align-items:center;gap:6px}.rule-dot[data-v-2a3151f6]{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.lp-dot[data-v-2a3151f6]{background:#b45309}.el-dot[data-v-2a3151f6]{background:#0369a1}.info-banner[data-v-2a3151f6]{border-radius:7px;padding:10px 13px;font-size:12px}.info-blue[data-v-2a3151f6]{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.info-amber[data-v-2a3151f6]{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.two-col[data-v-2a3151f6]{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:640px){.two-col[data-v-2a3151f6]{grid-template-columns:1fr}}.form-group[data-v-2a3151f6]{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-lbl[data-v-2a3151f6]{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.req[data-v-2a3151f6]{color:#ef4444}.form-inp[data-v-2a3151f6]{border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;font-size:13px;background:#fff;color:#0f172a;outline:none}.form-inp[data-v-2a3151f6]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-inp[data-v-2a3151f6]:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.form-hint[data-v-2a3151f6]{font-size:11px;color:#94a3b8;line-height:1.5}.preview-box[data-v-2a3151f6]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.preview-title[data-v-2a3151f6]{font-size:11px;font-weight:700;color:#64748b}.preview-text[data-v-2a3151f6]{font-size:12px;color:#0f172a;line-height:1.7}.rule-disabled[data-v-2a3151f6]{opacity:.5;pointer-events:none}.toggle-wrap[data-v-2a3151f6]{display:flex;align-items:center;gap:6px;cursor:pointer}.toggle-chk[data-v-2a3151f6]{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.toggle-label[data-v-2a3151f6]{font-size:12px;font-weight:600;color:#475569}.save-err[data-v-2a3151f6]{font-size:12px;color:#ef4444;margin-bottom:10px}.form-actions[data-v-2a3151f6]{display:flex;justify-content:flex-end;gap:8px}.btn[data-v-2a3151f6]{display:inline-flex;align-items:center;border:1px solid #e2e8f0;background:#fff;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;color:#0f172a;font-weight:500}.btn[data-v-2a3151f6]:hover:not(:disabled){background:#f8fafc}.btn[data-v-2a3151f6]:disabled{opacity:.45;cursor:not-allowed}.btn-primary[data-v-2a3151f6]{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary[data-v-2a3151f6]:hover:not(:disabled){background:#4f46e5}.toast[data-v-2a3151f6]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-2a3151f6]{background:#16a34a;color:#fff}.toast-error[data-v-2a3151f6]{background:#dc2626;color:#fff}.page-content[data-v-f65e805f]{padding:0}.page-header-row[data-v-f65e805f]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.page-title[data-v-f65e805f]{font-size:17px;font-weight:700;color:#0f172a}.page-sub[data-v-f65e805f]{font-size:12px;color:#94a3b8;margin-top:2px}.access-denied[data-v-f65e805f]{text-align:center;padding:80px 20px}.denied-icon[data-v-f65e805f]{font-size:48px;margin-bottom:12px}.denied-title[data-v-f65e805f]{font-size:18px;font-weight:700;color:#0f172a}.denied-sub[data-v-f65e805f]{font-size:13px;color:#94a3b8;margin-top:4px}.tab-bar[data-v-f65e805f]{display:flex;gap:4px;border-bottom:2px solid #e2e8f0;margin-bottom:16px}.tab-btn[data-v-f65e805f]{padding:9px 18px;border:none;background:none;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}.tab-btn.active[data-v-f65e805f]{color:#6366f1;border-bottom-color:#6366f1}.two-col[data-v-f65e805f]{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}@media (max-width:768px){.two-col[data-v-f65e805f]{grid-template-columns:1fr}}.col-left[data-v-f65e805f],.col-right[data-v-f65e805f]{display:flex;flex-direction:column;gap:14px}.card[data-v-f65e805f]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #0000000d}.card-title[data-v-f65e805f]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.create-form[data-v-f65e805f]{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.form-inp[data-v-f65e805f]{width:100%;padding:7px 10px;border:1px solid #e2e8f0;border-radius:7px;font-size:13px;background:#fff;color:#0f172a;box-sizing:border-box}.form-inp[data-v-f65e805f]:focus{outline:none;border-color:#6366f1}.form-inp-sm[data-v-f65e805f]{padding:5px 8px;font-size:12px}.loading-sm[data-v-f65e805f]{font-size:12px;color:#94a3b8;padding:8px 0}.empty-sm[data-v-f65e805f]{font-size:12px;color:#94a3b8;padding:12px 0;text-align:center}.role-list[data-v-f65e805f]{display:flex;flex-direction:column;gap:4px}.role-item[data-v-f65e805f]{padding:10px 12px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:all .12s}.role-item[data-v-f65e805f]:hover{background:#f8fafc;border-color:#e2e8f0}.role-item.role-selected[data-v-f65e805f]{background:#eff0ff;border-color:#6366f1}.role-item-name[data-v-f65e805f]{font-size:13px;font-weight:600;color:#0f172a}.role-item-desc[data-v-f65e805f]{font-size:11px;color:#64748b;margin-top:2px}.role-item-meta[data-v-f65e805f]{font-size:10px;color:#94a3b8;margin-top:3px}.perm-group[data-v-f65e805f]{margin-bottom:18px}.perm-group-header[data-v-f65e805f]{margin-bottom:8px}.perm-all-check[data-v-f65e805f]{display:flex;align-items:center;gap:7px;cursor:pointer}.perm-tab-label[data-v-f65e805f]{font-size:12px;font-weight:700;color:#0f172a}.perm-grid[data-v-f65e805f]{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-left:12px}.perm-check[data-v-f65e805f]{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569;padding:4px 6px;border-radius:5px;cursor:pointer}.perm-check[data-v-f65e805f]:hover{background:#f8fafc}.perm-check input[data-v-f65e805f]{accent-color:#6366f1;width:13px;height:13px}.user-table-wrap[data-v-f65e805f]{overflow-x:auto}.user-table[data-v-f65e805f]{width:100%;border-collapse:collapse}.user-table th[data-v-f65e805f]{background:#f8fafc;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;padding:9px 12px;text-align:left}.user-table td[data-v-f65e805f]{font-size:13px;color:#0f172a;padding:9px 12px;border-bottom:1px solid #f8fafc}.user-table tr:last-child td[data-v-f65e805f]{border-bottom:none}.user-name[data-v-f65e805f]{font-weight:600}.user-email[data-v-f65e805f]{font-size:12px;color:#64748b}.assign-cell[data-v-f65e805f]{width:220px}.role-badge[data-v-f65e805f]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.role-super[data-v-f65e805f]{background:#fef3c7;color:#b45309}.role-assigned[data-v-f65e805f]{background:#dbeafe;color:#1d4ed8}.role-no-account[data-v-f65e805f]{background:#f1f5f9;color:#94a3b8}.role-none[data-v-f65e805f]{background:#f1f5f9;color:#64748b}.row-no-account[data-v-f65e805f]{opacity:.65}.no-account-hint[data-v-f65e805f]{font-size:11px;color:#94a3b8;font-style:italic}.info-banner[data-v-f65e805f]{border-radius:7px;padding:10px 13px;font-size:12px}.info-blue[data-v-f65e805f]{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.sa-add-form[data-v-f65e805f]{display:flex;gap:8px;align-items:center;margin-bottom:6px}.help-note[data-v-f65e805f]{font-size:11px;color:#94a3b8;text-align:center;padding:6px}.info-amber[data-v-f65e805f]{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.btn[data-v-f65e805f]{padding:7px 14px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#0f172a}.btn-primary[data-v-f65e805f]{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary[data-v-f65e805f]:hover:not(:disabled){background:#4f46e5}.btn-primary[data-v-f65e805f]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-f65e805f]{padding:5px 10px;font-size:12px}.toast[data-v-f65e805f]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-f65e805f]{background:#16a34a;color:#fff}.toast-error[data-v-f65e805f]{background:#dc2626;color:#fff}html,body,#app{margin:0;padding:0;width:100%;min-height:100vh;background:#fff}.page[data-v-eec719b8]{display:flex;flex-direction:column;min-height:100vh;width:100%;background:#fff;font-family:Inter,Segoe UI,Arial,sans-serif;color:#333}.topbar[data-v-eec719b8]{width:100%;background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 1px 4px #0000000f}.topbar-inner[data-v-eec719b8]{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.brand[data-v-eec719b8]{display:flex;align-items:center;gap:10px}.brand-icon[data-v-eec719b8]{width:42px;height:42px;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;letter-spacing:.5px}.brand-name[data-v-eec719b8]{font-size:20px;font-weight:700;color:#1a1a2e;line-height:1.1}.brand-sub[data-v-eec719b8]{font-size:11px;color:#888}.content[data-v-eec719b8]{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:48px 24px 60px;box-sizing:border-box}.state-box[data-v-eec719b8]{text-align:center;padding:80px 24px}.spinner[data-v-eec719b8]{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#f59e0b;border-radius:50%;animation:spin-eec719b8 .8s linear infinite;margin:0 auto 16px}@keyframes spin-eec719b8{to{transform:rotate(360deg)}}.state-icon[data-v-eec719b8]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin:0 auto 16px}.state-icon--success[data-v-eec719b8]{background:#dcfce7;color:#16a34a}.state-icon--error[data-v-eec719b8]{background:#fee2e2;color:#dc2626}.state-icon--actioned[data-v-eec719b8]{background:#fef3c7;color:#d97706}.state-title[data-v-eec719b8]{font-size:22px;font-weight:700;margin:0 0 8px;color:#1a1a2e}.state-sub[data-v-eec719b8]{font-size:15px;color:#666;margin:0;line-height:1.6}.state-close[data-v-eec719b8]{font-size:12px;color:#aaa;margin-top:16px}.form-title[data-v-eec719b8]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 28px}.info-row[data-v-eec719b8]{font-size:14px;margin-bottom:10px;line-height:1.5}.info-label[data-v-eec719b8]{font-weight:700;color:#333;margin-right:4px}.info-val[data-v-eec719b8]{color:#444}.info-hl[data-v-eec719b8]{color:#1d6bb5}.leave-table[data-v-eec719b8]{width:100%;border-collapse:collapse;margin:28px 0 8px;font-size:14px;border:1px solid #ccc}.leave-table th[data-v-eec719b8],.leave-table td[data-v-eec719b8]{border:1px solid #ccc;padding:10px 16px}.leave-table thead th[data-v-eec719b8]{background:#f5f5f5;font-weight:700;color:#444;text-align:center}.leave-table tbody td[data-v-eec719b8]{text-align:center;color:#333}.col-num[data-v-eec719b8]{width:60px}.col-date[data-v-eec719b8]{text-align:center!important}.col-check[data-v-eec719b8]{width:140px}.check-label[data-v-eec719b8]{display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-weight:700;font-size:13px}.check-label input[data-v-eec719b8]{width:15px;height:15px;cursor:pointer}.leave-table tbody input[type=checkbox][data-v-eec719b8]{width:16px;height:16px;cursor:pointer}.half-tag[data-v-eec719b8]{display:inline-block;background:#fef3c7;color:#92400e;font-size:10px;padding:2px 7px;border-radius:10px;margin-left:8px;vertical-align:middle}.remarks-block[data-v-eec719b8]{margin-top:24px}.remarks-label[data-v-eec719b8]{display:block;font-size:14px;font-weight:700;color:#333;margin-bottom:8px}.remarks-optional[data-v-eec719b8]{font-weight:400;color:#888}.remarks-input[data-v-eec719b8]{width:100%;box-sizing:border-box;border:1px solid #ccc;border-radius:5px;padding:10px 12px;font-family:inherit;font-size:14px;color:#333;line-height:1.5;resize:vertical}.remarks-input[data-v-eec719b8]::placeholder{color:#aaa}.remarks-input[data-v-eec719b8]:focus{outline:none;border-color:#1d6bb5}.remarks-count[data-v-eec719b8]{font-size:11px;color:#aaa;text-align:right;margin-top:4px}.err-msg[data-v-eec719b8]{color:#dc2626;font-size:13px;margin:8px 0 0;text-align:right}.submit-row[data-v-eec719b8]{display:flex;justify-content:flex-end;margin-top:20px}.btn-submit[data-v-eec719b8]{padding:9px 28px;border:none;border-radius:5px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;min-width:100px}.btn-submit[data-v-eec719b8]:disabled{opacity:.5;cursor:not-allowed}.btn-submit[data-v-eec719b8]:not(:disabled):hover{opacity:.85}.btn-green[data-v-eec719b8]{background:#28a745;color:#fff}.btn-blue[data-v-eec719b8]{background:#1d4ed8;color:#fff}.btn-red[data-v-eec719b8]{background:#dc2626;color:#fff}.footer[data-v-eec719b8]{background:#1a1f36;color:#ffffffbf;padding:48px 24px 0;margin-top:auto}.footer-inner[data-v-eec719b8]{max-width:1100px;margin:0 auto;display:flex;gap:60px;padding-bottom:36px;flex-wrap:wrap}.footer-brand[data-v-eec719b8]{flex:2;min-width:240px}.footer-logo[data-v-eec719b8]{display:flex;align-items:center;gap:10px;margin-bottom:16px}.footer-logo-icon[data-v-eec719b8]{width:44px;height:44px;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px}.footer-brand-name[data-v-eec719b8]{font-size:18px;font-weight:700;color:#fff}.footer-brand-sub[data-v-eec719b8]{font-size:11px;color:#ffffff80}.footer-desc[data-v-eec719b8]{font-size:13px;line-height:1.7;color:#fff9;margin:0}.footer-col[data-v-eec719b8]{flex:1;min-width:200px}.footer-col-title[data-v-eec719b8]{font-size:15px;font-weight:700;color:#fff;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-contact-row[data-v-eec719b8]{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin-bottom:14px;color:#ffffffb3}.fc-label[data-v-eec719b8]{font-weight:600;color:#ffffffe6;margin-bottom:2px}.footer-copy[data-v-eec719b8]{max-width:1100px;margin:0 auto;padding:16px 0;font-size:12px;color:#ffffff59;border-top:1px solid rgba(255,255,255,.08);text-align:center}.page-header-row[data-v-f314fb91]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-f314fb91]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-f314fb91]{font-size:12px;color:#888780;margin-top:2px}.stat-strip[data-v-f314fb91]{display:flex;gap:14px;margin-bottom:20px}.stat-card[data-v-f314fb91]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:14px 20px;min-width:100px;text-align:center}.stat-val[data-v-f314fb91]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-f314fb91]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.toolbar[data-v-f314fb91]{margin-bottom:14px}.input-search[data-v-f314fb91]{padding:8px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;width:280px;outline:none}.input-search[data-v-f314fb91]:focus{border-color:#5b5fc7}.table-wrap[data-v-f314fb91]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-f314fb91]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-f314fb91]{background:#faf9f6;padding:11px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de}.data-table td[data-v-f314fb91]{padding:12px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-f314fb91]{border-bottom:none}.data-table tr:hover td[data-v-f314fb91]{background:#faf9f6}.table-empty[data-v-f314fb91]{text-align:center;padding:40px;color:#888780;font-size:13px}.fw-500[data-v-f314fb91]{font-weight:500}.text-muted[data-v-f314fb91]{color:#888780}.text-danger[data-v-f314fb91]{color:#c0392b}.status-toggle[data-v-f314fb91]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.status-dot[data-v-f314fb91]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-arrow[data-v-f314fb91]{font-size:10px;opacity:.6;margin-left:2px}.status-active[data-v-f314fb91]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.status-active .status-dot[data-v-f314fb91]{background:#2e7d32}.status-active[data-v-f314fb91]:hover{background:#fdf5f0;color:#b7620a;border-color:#ffd54f}.status-inactive[data-v-f314fb91]{background:#f0ede8;color:#888780;border-color:#ddd9d0}.status-inactive .status-dot[data-v-f314fb91]{background:#aaa}.status-inactive[data-v-f314fb91]:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.action-cell[data-v-f314fb91]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.act-btn[data-v-f314fb91]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-edit[data-v-f314fb91]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-f314fb91]:hover{background:#e0e7ff}.act-del[data-v-f314fb91]{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.act-del[data-v-f314fb91]:hover{background:#f8d7da}.modal-backdrop[data-v-f314fb91]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-f314fb91]{background:#fff;border-radius:12px;width:480px;box-shadow:0 12px 40px #00000026;overflow:hidden}.modal-sm[data-v-f314fb91]{width:360px}.modal-header[data-v-f314fb91]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0ede8}.modal-title[data-v-f314fb91]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-f314fb91]{background:none;border:none;font-size:16px;cursor:pointer;color:#888;padding:0}.modal-body[data-v-f314fb91]{padding:22px}.modal-footer[data-v-f314fb91]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #f0ede8}.form-group[data-v-f314fb91]{margin-bottom:16px}.form-label[data-v-f314fb91]{display:block;font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:6px}.req[data-v-f314fb91]{color:#c0392b}.form-control[data-v-f314fb91]{width:100%;padding:9px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;box-sizing:border-box;outline:none;font-family:inherit}.form-control[data-v-f314fb91]:focus{border-color:#5b5fc7}.field-err[data-v-f314fb91]{color:#c0392b;font-size:11px;margin-top:4px;display:block}.save-err[data-v-f314fb91]{color:#c0392b;font-size:12px;margin-top:8px}.btn[data-v-f314fb91]{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}.btn-primary[data-v-f314fb91]{background:#1a1a2e;color:#fff}.btn-primary[data-v-f314fb91]:hover:not(:disabled){background:#2d2d4e}.btn-primary[data-v-f314fb91]:disabled{opacity:.6;cursor:default}.btn-ghost[data-v-f314fb91]{background:#f5f4f0;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-f314fb91]:hover{background:#eceae4}.btn-danger[data-v-f314fb91]{background:#c0392b;color:#fff}.btn-danger[data-v-f314fb91]:hover:not(:disabled){background:#a93226}.btn-danger[data-v-f314fb91]:disabled{opacity:.6;cursor:default}.page-header-row[data-v-cd07f763]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-cd07f763]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-cd07f763]{font-size:12px;color:#888780;margin-top:2px}.stat-strip[data-v-cd07f763]{display:flex;gap:14px;margin-bottom:20px}.stat-card[data-v-cd07f763]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:14px 20px;min-width:100px;text-align:center}.stat-val[data-v-cd07f763]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-cd07f763]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.toolbar[data-v-cd07f763]{margin-bottom:14px}.input-search[data-v-cd07f763]{padding:8px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;width:280px;outline:none}.input-search[data-v-cd07f763]:focus{border-color:#5b5fc7}.table-wrap[data-v-cd07f763]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-cd07f763]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-cd07f763]{background:#faf9f6;padding:11px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de}.data-table td[data-v-cd07f763]{padding:12px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-cd07f763]{border-bottom:none}.data-table tr:hover td[data-v-cd07f763]{background:#faf9f6}.table-empty[data-v-cd07f763]{text-align:center;padding:40px;color:#888780;font-size:13px}.fw-500[data-v-cd07f763]{font-weight:500}.text-muted[data-v-cd07f763]{color:#888780}.text-danger[data-v-cd07f763]{color:#c0392b}.status-toggle[data-v-cd07f763]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.status-dot[data-v-cd07f763]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-arrow[data-v-cd07f763]{font-size:10px;opacity:.6;margin-left:2px}.status-active[data-v-cd07f763]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.status-active .status-dot[data-v-cd07f763]{background:#2e7d32}.status-active[data-v-cd07f763]:hover{background:#fdf5f0;color:#b7620a;border-color:#ffd54f}.status-inactive[data-v-cd07f763]{background:#f0ede8;color:#888780;border-color:#ddd9d0}.status-inactive .status-dot[data-v-cd07f763]{background:#aaa}.status-inactive[data-v-cd07f763]:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.action-cell[data-v-cd07f763]{display:flex;gap:6px;align-items:center}.act-btn[data-v-cd07f763]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-edit[data-v-cd07f763]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-cd07f763]:hover{background:#e0e7ff}.act-del[data-v-cd07f763]{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.act-del[data-v-cd07f763]:hover{background:#f8d7da}.modal-backdrop[data-v-cd07f763]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-cd07f763]{background:#fff;border-radius:12px;width:440px;box-shadow:0 12px 40px #00000026;overflow:hidden}.modal-sm[data-v-cd07f763]{width:360px}.modal-header[data-v-cd07f763]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0ede8}.modal-title[data-v-cd07f763]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-cd07f763]{background:none;border:none;font-size:16px;cursor:pointer;color:#888}.modal-body[data-v-cd07f763]{padding:22px}.modal-footer[data-v-cd07f763]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #f0ede8}.form-group[data-v-cd07f763]{margin-bottom:16px}.form-label[data-v-cd07f763]{display:block;font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:6px}.req[data-v-cd07f763]{color:#c0392b}.form-control[data-v-cd07f763]{width:100%;padding:9px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;box-sizing:border-box;outline:none}.form-control[data-v-cd07f763]:focus{border-color:#5b5fc7}.field-err[data-v-cd07f763]{color:#c0392b;font-size:11px;margin-top:4px;display:block}.save-err[data-v-cd07f763]{color:#c0392b;font-size:12px;margin-top:8px}.btn[data-v-cd07f763]{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}.btn-primary[data-v-cd07f763]{background:#1a1a2e;color:#fff}.btn-primary[data-v-cd07f763]:hover:not(:disabled){background:#2d2d4e}.btn-primary[data-v-cd07f763]:disabled{opacity:.6;cursor:default}.btn-ghost[data-v-cd07f763]{background:#f5f4f0;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-cd07f763]:hover{background:#eceae4}.btn-danger[data-v-cd07f763]{background:#c0392b;color:#fff}.btn-danger[data-v-cd07f763]:hover:not(:disabled){background:#a93226}.btn-danger[data-v-cd07f763]:disabled{opacity:.6;cursor:default}.page-header-row[data-v-8ad1984e]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-8ad1984e]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-8ad1984e]{font-size:12px;color:#888780;margin-top:2px}.stat-strip[data-v-8ad1984e]{display:flex;gap:14px;margin-bottom:20px}.stat-card[data-v-8ad1984e]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:14px 20px;min-width:100px;text-align:center}.stat-val[data-v-8ad1984e]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-8ad1984e]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.toolbar[data-v-8ad1984e]{margin-bottom:14px}.input-search[data-v-8ad1984e]{padding:8px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;width:280px;outline:none}.input-search[data-v-8ad1984e]:focus{border-color:#5b5fc7}.table-wrap[data-v-8ad1984e]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-8ad1984e]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-8ad1984e]{background:#faf9f6;padding:11px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de}.data-table td[data-v-8ad1984e]{padding:12px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-8ad1984e]{border-bottom:none}.data-table tr:hover td[data-v-8ad1984e]{background:#faf9f6}.table-empty[data-v-8ad1984e]{text-align:center;padding:40px;color:#888780;font-size:13px}.fw-500[data-v-8ad1984e]{font-weight:500}.text-muted[data-v-8ad1984e]{color:#888780}.text-danger[data-v-8ad1984e]{color:#c0392b}.status-toggle[data-v-8ad1984e]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.status-dot[data-v-8ad1984e]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-arrow[data-v-8ad1984e]{font-size:10px;opacity:.6;margin-left:2px}.status-active[data-v-8ad1984e]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.status-active .status-dot[data-v-8ad1984e]{background:#2e7d32}.status-active[data-v-8ad1984e]:hover{background:#fdf5f0;color:#b7620a;border-color:#ffd54f}.status-inactive[data-v-8ad1984e]{background:#f0ede8;color:#888780;border-color:#ddd9d0}.status-inactive .status-dot[data-v-8ad1984e]{background:#aaa}.status-inactive[data-v-8ad1984e]:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.action-cell[data-v-8ad1984e]{display:flex;gap:6px;align-items:center}.act-btn[data-v-8ad1984e]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-edit[data-v-8ad1984e]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-8ad1984e]:hover{background:#e0e7ff}.act-del[data-v-8ad1984e]{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.act-del[data-v-8ad1984e]:hover{background:#f8d7da}.modal-backdrop[data-v-8ad1984e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-8ad1984e]{background:#fff;border-radius:12px;width:440px;box-shadow:0 12px 40px #00000026;overflow:hidden}.modal-sm[data-v-8ad1984e]{width:360px}.modal-header[data-v-8ad1984e]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0ede8}.modal-title[data-v-8ad1984e]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-8ad1984e]{background:none;border:none;font-size:16px;cursor:pointer;color:#888}.modal-body[data-v-8ad1984e]{padding:22px}.modal-footer[data-v-8ad1984e]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #f0ede8}.form-group[data-v-8ad1984e]{margin-bottom:16px}.form-label[data-v-8ad1984e]{display:block;font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:6px}.req[data-v-8ad1984e]{color:#c0392b}.form-control[data-v-8ad1984e]{width:100%;padding:9px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;box-sizing:border-box;outline:none}.form-control[data-v-8ad1984e]:focus{border-color:#5b5fc7}.field-err[data-v-8ad1984e]{color:#c0392b;font-size:11px;margin-top:4px;display:block}.save-err[data-v-8ad1984e]{color:#c0392b;font-size:12px;margin-top:8px}.btn[data-v-8ad1984e]{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}.btn-primary[data-v-8ad1984e]{background:#1a1a2e;color:#fff}.btn-primary[data-v-8ad1984e]:hover:not(:disabled){background:#2d2d4e}.btn-primary[data-v-8ad1984e]:disabled{opacity:.6;cursor:default}.btn-ghost[data-v-8ad1984e]{background:#f5f4f0;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-8ad1984e]:hover{background:#eceae4}.btn-danger[data-v-8ad1984e]{background:#c0392b;color:#fff}.btn-danger[data-v-8ad1984e]:hover:not(:disabled){background:#a93226}.btn-danger[data-v-8ad1984e]:disabled{opacity:.6;cursor:default}.page-header-row[data-v-9cf7cb5a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-9cf7cb5a]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-9cf7cb5a]{font-size:12px;color:#888780;margin-top:2px}.stat-strip[data-v-9cf7cb5a]{display:flex;gap:14px;margin-bottom:20px}.stat-card[data-v-9cf7cb5a]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:14px 20px;min-width:100px;text-align:center}.stat-val[data-v-9cf7cb5a]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-9cf7cb5a]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.toolbar[data-v-9cf7cb5a]{margin-bottom:14px}.input-search[data-v-9cf7cb5a]{padding:8px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;width:280px;outline:none}.input-search[data-v-9cf7cb5a]:focus{border-color:#5b5fc7}.table-wrap[data-v-9cf7cb5a]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-9cf7cb5a]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-9cf7cb5a]{background:#faf9f6;padding:11px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de}.data-table td[data-v-9cf7cb5a]{padding:12px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-9cf7cb5a]{border-bottom:none}.data-table tr:hover td[data-v-9cf7cb5a]{background:#faf9f6}.table-empty[data-v-9cf7cb5a]{text-align:center;padding:40px;color:#888780;font-size:13px}.fw-500[data-v-9cf7cb5a]{font-weight:500}.text-muted[data-v-9cf7cb5a]{color:#888780}.text-danger[data-v-9cf7cb5a]{color:#c0392b}.status-toggle[data-v-9cf7cb5a]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.status-dot[data-v-9cf7cb5a]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-arrow[data-v-9cf7cb5a]{font-size:10px;opacity:.6;margin-left:2px}.status-active[data-v-9cf7cb5a]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.status-active .status-dot[data-v-9cf7cb5a]{background:#2e7d32}.status-active[data-v-9cf7cb5a]:hover{background:#fdf5f0;color:#b7620a;border-color:#ffd54f}.status-inactive[data-v-9cf7cb5a]{background:#f0ede8;color:#888780;border-color:#ddd9d0}.status-inactive .status-dot[data-v-9cf7cb5a]{background:#aaa}.status-inactive[data-v-9cf7cb5a]:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.action-cell[data-v-9cf7cb5a]{display:flex;gap:6px;align-items:center}.act-btn[data-v-9cf7cb5a]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-edit[data-v-9cf7cb5a]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-9cf7cb5a]:hover{background:#e0e7ff}.act-del[data-v-9cf7cb5a]{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.act-del[data-v-9cf7cb5a]:hover{background:#f8d7da}.modal-backdrop[data-v-9cf7cb5a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-9cf7cb5a]{background:#fff;border-radius:12px;width:440px;box-shadow:0 12px 40px #00000026;overflow:hidden}.modal-sm[data-v-9cf7cb5a]{width:360px}.modal-header[data-v-9cf7cb5a]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0ede8}.modal-title[data-v-9cf7cb5a]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-9cf7cb5a]{background:none;border:none;font-size:16px;cursor:pointer;color:#888}.modal-body[data-v-9cf7cb5a]{padding:22px}.modal-footer[data-v-9cf7cb5a]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #f0ede8}.form-group[data-v-9cf7cb5a]{margin-bottom:16px}.form-label[data-v-9cf7cb5a]{display:block;font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:6px}.req[data-v-9cf7cb5a]{color:#c0392b}.form-control[data-v-9cf7cb5a]{width:100%;padding:9px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;box-sizing:border-box;outline:none}.form-control[data-v-9cf7cb5a]:focus{border-color:#5b5fc7}.field-err[data-v-9cf7cb5a]{color:#c0392b;font-size:11px;margin-top:4px;display:block}.save-err[data-v-9cf7cb5a]{color:#c0392b;font-size:12px;margin-top:8px}.btn[data-v-9cf7cb5a]{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}.btn-primary[data-v-9cf7cb5a]{background:#1a1a2e;color:#fff}.btn-primary[data-v-9cf7cb5a]:hover:not(:disabled){background:#2d2d4e}.btn-primary[data-v-9cf7cb5a]:disabled{opacity:.6;cursor:default}.btn-ghost[data-v-9cf7cb5a]{background:#f5f4f0;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-9cf7cb5a]:hover{background:#eceae4}.btn-danger[data-v-9cf7cb5a]{background:#c0392b;color:#fff}.btn-danger[data-v-9cf7cb5a]:hover:not(:disabled){background:#a93226}.btn-danger[data-v-9cf7cb5a]:disabled{opacity:.6;cursor:default}.page-header-row[data-v-e9a9f8b2]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-title-inline[data-v-e9a9f8b2]{font-size:16px;font-weight:700;color:#1a1a2e}.page-sub[data-v-e9a9f8b2]{font-size:12px;color:#888780;margin-top:2px}.stat-strip[data-v-e9a9f8b2]{display:flex;gap:14px;margin-bottom:20px}.stat-card[data-v-e9a9f8b2]{background:#fff;border:1px solid #e8e5de;border-radius:8px;padding:14px 20px;min-width:100px;text-align:center}.stat-val[data-v-e9a9f8b2]{font-size:22px;font-weight:700;color:#1a1a2e}.stat-lbl[data-v-e9a9f8b2]{font-size:11px;color:#888780;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.toolbar[data-v-e9a9f8b2]{margin-bottom:14px}.input-search[data-v-e9a9f8b2]{padding:8px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;width:280px;outline:none}.input-search[data-v-e9a9f8b2]:focus{border-color:#5b5fc7}.table-wrap[data-v-e9a9f8b2]{background:#fff;border:1px solid #e8e5de;border-radius:10px;overflow:hidden}.data-table[data-v-e9a9f8b2]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-e9a9f8b2]{background:#faf9f6;padding:11px 14px;text-align:left;font-size:11px;font-weight:600;color:#888780;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e8e5de}.data-table td[data-v-e9a9f8b2]{padding:12px 14px;border-bottom:1px solid #f0ede8;color:#3a3a4a;vertical-align:middle}.data-table tr:last-child td[data-v-e9a9f8b2]{border-bottom:none}.data-table tr:hover td[data-v-e9a9f8b2]{background:#faf9f6}.table-empty[data-v-e9a9f8b2]{text-align:center;padding:40px;color:#888780;font-size:13px}.fw-500[data-v-e9a9f8b2]{font-weight:500}.text-muted[data-v-e9a9f8b2]{color:#888780}.text-danger[data-v-e9a9f8b2]{color:#c0392b}.status-toggle[data-v-e9a9f8b2]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.status-dot[data-v-e9a9f8b2]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-arrow[data-v-e9a9f8b2]{font-size:10px;opacity:.6;margin-left:2px}.status-active[data-v-e9a9f8b2]{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.status-active .status-dot[data-v-e9a9f8b2]{background:#2e7d32}.status-active[data-v-e9a9f8b2]:hover{background:#fdf5f0;color:#b7620a;border-color:#ffd54f}.status-inactive[data-v-e9a9f8b2]{background:#f0ede8;color:#888780;border-color:#ddd9d0}.status-inactive .status-dot[data-v-e9a9f8b2]{background:#aaa}.status-inactive[data-v-e9a9f8b2]:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.action-cell[data-v-e9a9f8b2]{display:flex;gap:6px;align-items:center}.act-btn[data-v-e9a9f8b2]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.act-edit[data-v-e9a9f8b2]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.act-edit[data-v-e9a9f8b2]:hover{background:#e0e7ff}.act-del[data-v-e9a9f8b2]{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.act-del[data-v-e9a9f8b2]:hover{background:#f8d7da}.modal-backdrop[data-v-e9a9f8b2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:9000}.modal-box[data-v-e9a9f8b2]{background:#fff;border-radius:12px;width:440px;box-shadow:0 12px 40px #00000026;overflow:hidden}.modal-sm[data-v-e9a9f8b2]{width:360px}.modal-header[data-v-e9a9f8b2]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #f0ede8}.modal-title[data-v-e9a9f8b2]{font-size:15px;font-weight:700;color:#1a1a2e}.modal-close[data-v-e9a9f8b2]{background:none;border:none;font-size:16px;cursor:pointer;color:#888}.modal-body[data-v-e9a9f8b2]{padding:22px}.modal-footer[data-v-e9a9f8b2]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #f0ede8}.form-group[data-v-e9a9f8b2]{margin-bottom:16px}.form-label[data-v-e9a9f8b2]{display:block;font-size:12px;font-weight:600;color:#3a3a4a;margin-bottom:6px}.req[data-v-e9a9f8b2]{color:#c0392b}.form-control[data-v-e9a9f8b2]{width:100%;padding:9px 12px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;box-sizing:border-box;outline:none}.form-control[data-v-e9a9f8b2]:focus{border-color:#5b5fc7}.field-err[data-v-e9a9f8b2]{color:#c0392b;font-size:11px;margin-top:4px;display:block}.save-err[data-v-e9a9f8b2]{color:#c0392b;font-size:12px;margin-top:8px}.btn[data-v-e9a9f8b2]{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;border:none}.btn-primary[data-v-e9a9f8b2]{background:#1a1a2e;color:#fff}.btn-primary[data-v-e9a9f8b2]:hover:not(:disabled){background:#2d2d4e}.btn-primary[data-v-e9a9f8b2]:disabled{opacity:.6;cursor:default}.btn-ghost[data-v-e9a9f8b2]{background:#f5f4f0;color:#3a3a4a;border:1px solid #e0ddd6}.btn-ghost[data-v-e9a9f8b2]:hover{background:#eceae4}.btn-danger[data-v-e9a9f8b2]{background:#c0392b;color:#fff}.btn-danger[data-v-e9a9f8b2]:hover:not(:disabled){background:#a93226}.btn-danger[data-v-e9a9f8b2]:disabled{opacity:.6;cursor:default}.page-header-row[data-v-656803b7]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.page-title-inline[data-v-656803b7]{font-size:16px;font-weight:700;color:#1a1a2e;margin-top:6px}.page-sub[data-v-656803b7]{font-size:12px;color:#888780;margin-top:2px}.btn-back[data-v-656803b7]{display:inline-flex;align-items:center;font-size:12px;color:#5b5fc7;background:none;border:none;cursor:pointer;padding:0;margin-bottom:6px;font-weight:600}.btn-back[data-v-656803b7]:hover{text-decoration:underline}.parent-card[data-v-656803b7]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#f5f4ff;border:1px solid #d0cfff;border-radius:10px;padding:14px 18px;margin-bottom:14px}.parent-lbl[data-v-656803b7]{font-size:10px;color:#6366f1;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.parent-name[data-v-656803b7]{font-size:15px;font-weight:700;color:#1a1a2e;margin-top:2px}.parent-stats[data-v-656803b7]{display:flex;gap:8px;flex-wrap:wrap}.stat-chip[data-v-656803b7]{background:#fff;border:1px solid #d0cfff;border-radius:20px;padding:3px 10px;font-size:12px;color:#555}.stat-chip.accent[data-v-656803b7]{background:#eef2ff;color:#3730a3;border-color:#c7d2fe;font-weight:600}.mappings-section[data-v-656803b7]{background:#fff;border:1px solid #e8e5de;border-radius:10px}.section-bar[data-v-656803b7]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid #f0ede8;background:#faf9f6}.section-title[data-v-656803b7]{font-size:13px;font-weight:700;color:#1a1a2e}.section-right[data-v-656803b7]{display:flex;align-items:center;gap:10px}.view-search[data-v-656803b7]{padding:6px 10px;font-size:12px;min-width:220px}.total-badge[data-v-656803b7]{background:#eef2ff;color:#3730a3;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}.no-mappings[data-v-656803b7]{padding:40px;text-align:center;color:#888780;font-size:13px}.mappings-table[data-v-656803b7]{width:100%;border-collapse:collapse;font-size:12.5px}.mappings-table th[data-v-656803b7]{padding:9px 14px;text-align:left;font-size:11px;font-weight:700;color:#888780;text-transform:uppercase;letter-spacing:.4px;background:#faf9f6;border-bottom:1px solid #e8e5de}.mappings-table td[data-v-656803b7]{padding:10px 14px;border-bottom:1px solid #f0ede8;vertical-align:middle}.mappings-table tr:last-child td[data-v-656803b7]{border-bottom:none}.mappings-table tr:hover td[data-v-656803b7]{background:#faf9f6}.col-f[data-v-656803b7]{width:200px;min-width:160px}.col-a[data-v-656803b7]{min-width:260px}.col-act[data-v-656803b7]{width:110px;text-align:right}.col-sortable[data-v-656803b7]{cursor:pointer;-webkit-user-select:none;user-select:none}.col-sortable[data-v-656803b7]:hover{color:#5b5fc7}.sort-icon[data-v-656803b7]{margin-left:4px;font-size:10px;color:#5b5fc7}.m-name[data-v-656803b7]{font-weight:600;color:#1a1a2e;font-size:13px}.m-code[data-v-656803b7]{font-size:11px;color:#888;margin-top:2px}.row-ms[data-v-656803b7]{position:relative}.row-ms-trigger[data-v-656803b7]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid #e0ddd6;border-radius:7px;background:#fff;cursor:pointer;min-height:36px;transition:border-color .15s}.row-ms-trigger[data-v-656803b7]:hover{border-color:#5b5fc7}.row-chips[data-v-656803b7]{display:flex;flex-wrap:wrap;gap:5px;flex:1}.row-ms-caret[data-v-656803b7]{font-size:10px;color:#888;flex-shrink:0;margin-top:3px}.acad-chip-sm[data-v-656803b7]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 9px;background:#e8f5e9;color:#2e7d32;border:1px solid #b2dfdb;border-radius:20px;font-size:11px}.chip-x[data-v-656803b7]{background:none;border:none;cursor:pointer;font-size:13px;color:#4caf50;padding:0 0 0 2px;line-height:1}.chip-x[data-v-656803b7]:hover{color:#c0392b}.row-ms-dropdown[data-v-656803b7]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:300;background:#fff;border:1px solid #d0cdc8;border-radius:8px;box-shadow:0 8px 24px #00000024;overflow:hidden;min-width:260px}.row-ms-header[data-v-656803b7]{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:#faf9f6;border-bottom:1px solid #f0ede8}.row-ms-count[data-v-656803b7]{font-size:11px;color:#888}.row-ms-actions[data-v-656803b7]{display:flex;gap:5px}.row-ms-list[data-v-656803b7]{max-height:200px;overflow-y:auto}.ms-placeholder[data-v-656803b7]{color:#aaa;font-size:12px}.ms-tb-btn[data-v-656803b7]{font-size:11px;padding:2px 8px;border:1px solid #d0cdc8;border-radius:4px;background:#fff;cursor:pointer;color:#555;transition:all .12s}.ms-tb-btn[data-v-656803b7]:hover{background:#f0ede8}.ms-item[data-v-656803b7]{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;transition:background .1s;font-size:13px}.ms-item[data-v-656803b7]:hover{background:#faf9f6}.ms-item.is-selected[data-v-656803b7]{background:#f0f0ff}.ms-cb[data-v-656803b7]{width:15px;height:15px;flex-shrink:0;accent-color:#5b5fc7;cursor:pointer}.ms-item-name[data-v-656803b7]{color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-clear-row[data-v-656803b7]{font-size:11px;padding:3px 9px;border:1px solid #f5c6c2;border-radius:5px;background:#fdecea;color:#c0392b;cursor:pointer;white-space:nowrap;transition:all .12s}.btn-clear-row[data-v-656803b7]:hover{background:#f8d7d4}.pagination[data-v-656803b7]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 16px;border-top:1px solid #f0ede8;background:#faf9f6;border-radius:0 0 10px 10px}.page-info[data-v-656803b7]{font-size:12px;color:#888780}.page-btns[data-v-656803b7]{display:flex;align-items:center;gap:4px}.page-btn[data-v-656803b7]{padding:4px 10px;border:1px solid #d0cdc8;border-radius:5px;background:#fff;font-size:13px;cursor:pointer;color:#444;transition:all .12s;line-height:1.4}.page-btn[data-v-656803b7]:hover:not(:disabled){background:#eef2ff;border-color:#5b5fc7;color:#5b5fc7}.page-btn[data-v-656803b7]:disabled{opacity:.35;cursor:not-allowed}.page-num[data-v-656803b7]{font-size:12px;color:#555;padding:0 8px;white-space:nowrap}.loading-state[data-v-656803b7]{text-align:center;padding:60px;color:#888780;font-size:14px;background:#fff;border:1px solid #e8e5de;border-radius:10px}.input-ctrl[data-v-656803b7]{padding:7px 10px;border:1px solid #e0ddd6;border-radius:7px;font-size:13px;outline:none;background:#fff}.input-ctrl[data-v-656803b7]:focus{border-color:#5b5fc7}.toast-wrap[data-v-656803b7]{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast[data-v-656803b7]{padding:11px 18px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000021;pointer-events:none}.toast-success[data-v-656803b7]{background:#e6f9f0;color:#1a7a50;border:1px solid #b2e8d0}.toast-error[data-v-656803b7]{background:#fbe9e9;color:#b84040;border:1px solid #f5c0c0}.toast-info[data-v-656803b7]{background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.toast-enter-active[data-v-656803b7],.toast-leave-active[data-v-656803b7]{transition:all .3s}.toast-enter-from[data-v-656803b7],.toast-leave-to[data-v-656803b7]{opacity:0;transform:translateY(10px)}.select-page[data-v-ce00bb8e]{min-height:100vh;background:#f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px}.select-header[data-v-ce00bb8e]{text-align:center;margin-bottom:36px}.select-title[data-v-ce00bb8e]{font-size:22px;font-weight:700;color:#0f172a;margin-bottom:8px}.select-sub[data-v-ce00bb8e]{font-size:14px;color:#64748b;max-width:420px}.loading-msg[data-v-ce00bb8e]{font-size:14px;color:#94a3b8;padding:40px}.empty-msg[data-v-ce00bb8e]{text-align:center;color:#64748b;padding:40px}.empty-icon[data-v-ce00bb8e]{font-size:48px;margin-bottom:14px}.empty-hint[data-v-ce00bb8e]{font-size:12px;color:#94a3b8;margin-top:8px}.profiles-grid[data-v-ce00bb8e]{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;max-width:780px}.profile-card[data-v-ce00bb8e]{background:#1e2030;border-radius:14px;width:220px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #0000002e;border:2px solid transparent}.profile-card[data-v-ce00bb8e]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000038}.profile-card.selected[data-v-ce00bb8e]{border-color:#6366f1}.card-avatar[data-v-ce00bb8e]{background:linear-gradient(135deg,#6366f1,#818cf8);height:90px;display:flex;align-items:center;justify-content:center;position:relative}.avatar-img[data-v-ce00bb8e]{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4)}.avatar-initials[data-v-ce00bb8e]{width:60px;height:60px;border-radius:50%;background:#fff3;color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center}.card-info[data-v-ce00bb8e]{padding:14px 16px 10px}.card-name[data-v-ce00bb8e]{font-size:14px;font-weight:700;color:#f1f5f9;margin-bottom:4px}.card-role[data-v-ce00bb8e]{font-size:11px;color:#94a3b8}.start-btn[data-v-ce00bb8e]{width:100%;background:#6366f1;color:#fff;border:none;padding:11px;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.3px;transition:background .15s}.start-btn[data-v-ce00bb8e]:hover{background:#4f46e5}.loading-msg[data-v-45ae528f]{text-align:center;padding:60px;color:#94a3b8;font-size:14px}.stat-grid.g4[data-v-45ae528f]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width:800px){.stat-grid.g4[data-v-45ae528f]{grid-template-columns:repeat(2,1fr)}}.stat-card[data-v-45ae528f]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #0000000d}.stat-label[data-v-45ae528f]{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.stat-val[data-v-45ae528f]{font-size:28px;font-weight:700;color:#0f172a;margin-bottom:4px}.stat-val.green[data-v-45ae528f]{color:#16a34a}.stat-val.blue[data-v-45ae528f]{color:#185fa5}.stat-sub[data-v-45ae528f]{font-size:11px;color:#94a3b8}.sbadge[data-v-45ae528f]{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:700}.sb-green[data-v-45ae528f]{background:#dcfce7;color:#16a34a}.sb-gray[data-v-45ae528f]{background:#f1f5f9;color:#64748b}.two-col[data-v-45ae528f]{display:grid;grid-template-columns:1fr 360px;gap:14px}@media (max-width:900px){.two-col[data-v-45ae528f]{grid-template-columns:1fr}}.card[data-v-45ae528f]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #0000000d}.card-title[data-v-45ae528f]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.cal-grid[data-v-45ae528f]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-hdr[data-v-45ae528f]{text-align:center;font-size:10px;font-weight:700;color:#94a3b8;padding:4px 0 6px}.cal-cell[data-v-45ae528f]{border-radius:6px;padding:5px 2px;text-align:center;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center}.cal-empty[data-v-45ae528f]{background:#f8fafc}.cal-P[data-v-45ae528f]{background:#dcfce7}.cal-LP[data-v-45ae528f]{background:#fef3c7}.cal-L[data-v-45ae528f]{background:#dbeafe}.cal-W[data-v-45ae528f]{background:#f1f5f9}.cal-A[data-v-45ae528f]{background:#fee2e2}.cal-num[data-v-45ae528f]{font-size:12px;font-weight:700;color:#0f172a;line-height:1}.cal-code[data-v-45ae528f]{font-size:9px;font-weight:700;color:#64748b;margin-top:2px}.cal-P .cal-code[data-v-45ae528f]{color:#16a34a}.cal-LP .cal-code[data-v-45ae528f]{color:#b45309}.cal-L .cal-code[data-v-45ae528f]{color:#1d4ed8}.cal-A .cal-code[data-v-45ae528f]{color:#dc2626}.cal-legend[data-v-45ae528f]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.leg[data-v-45ae528f]{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b}.leg-dot[data-v-45ae528f]{width:10px;height:10px;border-radius:3px}.cal-P.leg-dot[data-v-45ae528f]{background:#dcfce7;border:1px solid #86efac}.cal-LP.leg-dot[data-v-45ae528f]{background:#fef3c7;border:1px solid #fcd34d}.cal-L.leg-dot[data-v-45ae528f]{background:#dbeafe;border:1px solid #93c5fd}.cal-W.leg-dot[data-v-45ae528f]{background:#f1f5f9;border:1px solid #e2e8f0}.cal-A.leg-dot[data-v-45ae528f]{background:#fee2e2;border:1px solid #fca5a5}.action-list[data-v-45ae528f]{display:flex;flex-direction:column;gap:6px}.action-btn[data-v-45ae528f]{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:13px;color:#0f172a;cursor:pointer;transition:background .12s}.action-btn[data-v-45ae528f]:hover{background:#f1f5f9}.lb-row[data-v-45ae528f]{margin-bottom:12px}.lb-row[data-v-45ae528f]:last-child{margin-bottom:0}.lb-top[data-v-45ae528f]{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.lb-label[data-v-45ae528f]{color:#475569}.lb-val[data-v-45ae528f]{font-weight:700;color:#16a34a}.prog-bar[data-v-45ae528f]{background:#f1f5f9;border-radius:4px;height:6px}.prog-fill[data-v-45ae528f]{background:#6366f1;border-radius:4px;height:100%;transition:width .4s}.empty-sub[data-v-45ae528f]{font-size:12px;color:#94a3b8;padding:8px 0}.modal-backdrop[data-v-45ae528f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-45ae528f]{background:#fff;border-radius:14px;width:420px;max-width:95vw;box-shadow:0 16px 48px #0000002e}.modal-header[data-v-45ae528f]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 14px;border-bottom:1px solid #f1f5f9;font-weight:700;font-size:15px}.close-btn[data-v-45ae528f]{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8;line-height:1}.close-btn[data-v-45ae528f]:hover{color:#0f172a}.modal-body[data-v-45ae528f]{padding:18px 22px}.modal-hint[data-v-45ae528f]{font-size:12px;color:#64748b;margin-bottom:14px}.modal-footer[data-v-45ae528f]{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 18px;border-top:1px solid #f1f5f9}.req-status[data-v-45ae528f]{margin:0 22px 2px;padding:8px 12px;border-radius:8px;font-size:12px}.rs-pending[data-v-45ae528f]{background:#fef3c7;color:#92400e}.rs-approved[data-v-45ae528f]{background:#dcfce7;color:#166534}.rs-rejected[data-v-45ae528f]{background:#fee2e2;color:#991b1b}.upload-area[data-v-45ae528f]{border:2px dashed #e2e8f0;border-radius:10px;min-height:160px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s;overflow:hidden}.upload-area[data-v-45ae528f]:hover{border-color:#6366f1}.upload-preview[data-v-45ae528f]{width:100%;max-height:200px;object-fit:cover}.upload-placeholder[data-v-45ae528f]{text-align:center;color:#94a3b8;padding:24px}.upload-icon[data-v-45ae528f]{font-size:36px;margin-bottom:8px}.upload-hint[data-v-45ae528f]{font-size:11px;margin-top:4px}.hidden-input[data-v-45ae528f]{display:none}.form-error[data-v-45ae528f]{color:#dc2626;font-size:12px;margin-top:8px}.btn[data-v-45ae528f]{padding:9px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;transition:background .12s}.btn[data-v-45ae528f]:hover{background:#f1f5f9}.btn-ghost[data-v-45ae528f]{background:transparent;border:1px solid #e2e8f0}.btn-primary[data-v-45ae528f]{background:#6366f1;color:#fff;border-color:#6366f1}.btn-primary[data-v-45ae528f]:hover{background:#4f46e5}.btn-primary[data-v-45ae528f]:disabled{opacity:.55;cursor:not-allowed}.toast[data-v-45ae528f]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-45ae528f]{background:#16a34a;color:#fff}.toast-error[data-v-45ae528f]{background:#dc2626;color:#fff}.page-content[data-v-61e0168c]{padding:0;display:flex;flex-direction:column;gap:16px}.toolbar-row[data-v-61e0168c]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.toolbar-left[data-v-61e0168c]{display:flex;gap:8px;flex-wrap:wrap}.form-sel[data-v-61e0168c]{border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px;font-size:12px;background:#fff;outline:none;color:#0f172a;font-family:inherit}.form-sel[data-v-61e0168c]:focus{border-color:#6366f1}.form-sel-sm[data-v-61e0168c]{padding:4px 8px;font-size:11px}.grid-card[data-v-61e0168c]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.grid-header[data-v-61e0168c]{background:#0ea5e9;color:#fff;font-size:13px;font-weight:700;padding:10px 16px}.filter-row[data-v-61e0168c]{padding:10px 16px 0}.ess-table[data-v-61e0168c]{width:100%;border-collapse:collapse;font-size:12px}.ess-table th[data-v-61e0168c]{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:9px 14px;text-align:left;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.ess-table td[data-v-61e0168c]{border-bottom:1px solid #f1f5f9;padding:10px 14px;color:#0f172a;vertical-align:middle}.ess-table tbody tr:last-child td[data-v-61e0168c]{border-bottom:none}.ess-table tbody tr:hover td[data-v-61e0168c]{background:#fafbff}.table-empty[data-v-61e0168c]{text-align:center;padding:32px;color:#94a3b8;font-size:13px}.col-num[data-v-61e0168c]{width:50px;text-align:center}.text-right[data-v-61e0168c]{text-align:right}.text-center[data-v-61e0168c]{text-align:center}.text-muted[data-v-61e0168c]{color:#64748b}.text-green[data-v-61e0168c]{color:#16a34a}.text-red[data-v-61e0168c]{color:#dc2626}.fw-600[data-v-61e0168c]{font-weight:600}.type-tag[data-v-61e0168c]{font-size:11px;font-weight:700;background:#eff6ff;color:#2563eb;padding:2px 7px;border-radius:6px}.half-badge[data-v-61e0168c]{font-size:10px;font-weight:700;background:#fef3c7;color:#d97706;padding:2px 6px;border-radius:6px}.status-badge[data-v-61e0168c]{padding:3px 10px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.status-approved[data-v-61e0168c]{background:#dcfce7;color:#16a34a}.status-rejected[data-v-61e0168c]{background:#fee2e2;color:#dc2626}.status-pending[data-v-61e0168c]{background:#fef3c7;color:#d97706}.status-cancelled[data-v-61e0168c]{background:#f1f5f9;color:#64748b}.btn-cancel[data-v-61e0168c]{border:none;background:#fee2e2;color:#dc2626;border-radius:5px;padding:3px 9px;font-size:11px;font-weight:600;cursor:pointer}.btn-cancel[data-v-61e0168c]:hover{background:#fecaca}.modal-bd[data-v-61e0168c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-panel[data-v-61e0168c]{background:#fff;border-radius:12px;width:440px;max-width:95vw;box-shadow:0 12px 32px #00000026}.modal-head[data-v-61e0168c]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0}.modal-ttl[data-v-61e0168c]{font-size:15px;font-weight:700;color:#0f172a}.modal-cls[data-v-61e0168c]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer}.modal-bdy[data-v-61e0168c]{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.modal-foot[data-v-61e0168c]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0}.form-group[data-v-61e0168c]{display:flex;flex-direction:column;gap:4px}.form-row-2[data-v-61e0168c]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-lbl[data-v-61e0168c]{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.req[data-v-61e0168c]{color:#ef4444}.save-err[data-v-61e0168c]{font-size:11px;color:#ef4444}.half-day-row[data-v-61e0168c]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.half-day-label[data-v-61e0168c]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:#0f172a}.half-day-chk[data-v-61e0168c]{width:15px;height:15px;accent-color:#6366f1;cursor:pointer}.half-type-row[data-v-61e0168c]{display:flex;gap:8px;margin-top:10px}.half-type-opt[data-v-61e0168c]{flex:1;text-align:center;border:1.5px solid #e2e8f0;border-radius:7px;padding:8px;font-size:12px;font-weight:600;cursor:pointer;color:#64748b;transition:all .15s}.half-type-opt.selected[data-v-61e0168c]{border-color:#6366f1;background:#eff2ff;color:#4338ca}.btn[data-v-61e0168c]{display:inline-flex;align-items:center;border:1px solid #e2e8f0;background:#fff;padding:5px 14px;border-radius:6px;font-size:12px;cursor:pointer;color:#0f172a;font-weight:500;transition:all .15s}.btn[data-v-61e0168c]:hover:not(:disabled){background:#f8fafc}.btn[data-v-61e0168c]:disabled{opacity:.45;cursor:not-allowed}.btn-primary[data-v-61e0168c]{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary[data-v-61e0168c]:hover:not(:disabled){background:#4f46e5}.btn-sm[data-v-61e0168c]{padding:5px 12px;font-size:11px}.toast[data-v-61e0168c]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003;animation:fadeIn-61e0168c .2s ease}.toast-success[data-v-61e0168c]{background:#16a34a;color:#fff}.toast-error[data-v-61e0168c]{background:#dc2626;color:#fff}@keyframes fadeIn-61e0168c{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-922f2ff8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-922f2ff8]{background:#fff;border-radius:10px;width:420px;max-width:92vw;box-shadow:0 10px 40px #0003}.modal-header[data-v-922f2ff8]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}.modal-title[data-v-922f2ff8]{font-weight:700;font-size:14px}.modal-close[data-v-922f2ff8]{border:none;background:none;font-size:14px;cursor:pointer;color:#888}.modal-body[data-v-922f2ff8]{padding:14px 16px}.modal-footer[data-v-922f2ff8]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #eee}.form-group[data-v-922f2ff8]{margin-bottom:10px}.form-label[data-v-922f2ff8]{display:block;font-size:11px;font-weight:600;color:#666;margin-bottom:4px}.form-input[data-v-922f2ff8]{width:100%;border:1px solid #ddd;border-radius:6px;padding:8px 10px;font-size:12px;font-family:inherit;resize:vertical}.toast[data-v-922f2ff8]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-922f2ff8]{background:#16a34a;color:#fff}.toast-error[data-v-922f2ff8]{background:#dc2626;color:#fff}.toolbar[data-v-a1ebe605]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}.toolbar-left[data-v-a1ebe605]{display:flex;gap:8px}.sel-year[data-v-a1ebe605]{width:100px}.sel-month[data-v-a1ebe605]{width:140px}.form-input[data-v-a1ebe605]{padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#0f172a;cursor:pointer}.form-input[data-v-a1ebe605]:focus{outline:none;border-color:#6366f1}.stat-grid[data-v-a1ebe605]{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}@media (max-width:700px){.stat-grid[data-v-a1ebe605]{grid-template-columns:repeat(2,1fr)}}.stat-card[data-v-a1ebe605]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;text-align:center;box-shadow:0 1px 3px #0000000d}.stat-label[data-v-a1ebe605]{font-size:11px;color:#94a3b8;font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.stat-val[data-v-a1ebe605]{font-size:28px;font-weight:700;color:#0f172a}.stat-val.present[data-v-a1ebe605]{color:#16a34a}.stat-val.leave[data-v-a1ebe605]{color:#185fa5}.stat-val.late[data-v-a1ebe605]{color:#b45309}.stat-val.lop[data-v-a1ebe605]{color:#dc2626}.card[data-v-a1ebe605]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:0;overflow:hidden;box-shadow:0 1px 3px #0000000d}.card-title[data-v-a1ebe605]{font-size:13px;font-weight:700;color:#0f172a;padding:14px 18px;border-bottom:1px solid #f1f5f9}.table-wrap[data-v-a1ebe605]{overflow-x:auto}table[data-v-a1ebe605]{width:100%;border-collapse:collapse}th[data-v-a1ebe605]{background:#f8fafc;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;padding:10px 14px;text-align:left;white-space:nowrap}td[data-v-a1ebe605]{font-size:13px;color:#0f172a;padding:10px 14px;border-bottom:1px solid #f8fafc}tr:last-child td[data-v-a1ebe605]{border-bottom:none}tr:hover td[data-v-a1ebe605]{background:#fafcff}.day-col[data-v-a1ebe605]{color:#64748b;font-size:12px}.time-col[data-v-a1ebe605]{font-family:monospace;font-size:13px}.remark-col[data-v-a1ebe605]{font-size:11px;color:#94a3b8}.nd[data-v-a1ebe605]{color:#cbd5e1}.row-off td[data-v-a1ebe605]{background:#f8fafc;color:#94a3b8}.row-absent td[data-v-a1ebe605]{background:#fff5f5}.status-badge[data-v-a1ebe605]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px}.sc-green[data-v-a1ebe605]{background:#dcfce7;color:#16a34a}.sc-amber[data-v-a1ebe605]{background:#fef3c7;color:#b45309}.sc-gray[data-v-a1ebe605]{background:#f1f5f9;color:#64748b}.sc-red[data-v-a1ebe605]{background:#fee2e2;color:#dc2626}.sc-blue[data-v-a1ebe605]{background:#dbeafe;color:#1d4ed8}.loading-msg[data-v-a1ebe605]{text-align:center;padding:60px;color:#94a3b8;font-size:14px}.toast[data-v-a1ebe605]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-a1ebe605]{background:#16a34a;color:#fff}.toast-error[data-v-a1ebe605]{background:#dc2626;color:#fff}.modal-bd[data-v-164740ed]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-panel[data-v-164740ed]{background:#fff;border-radius:12px;max-width:95vw;max-height:85vh;overflow-y:auto;box-shadow:0 12px 32px #00000026}.modal-head[data-v-164740ed]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff}.modal-ttl[data-v-164740ed]{font-size:14px;font-weight:700;color:#0f172a}.modal-cls[data-v-164740ed]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer}.modal-bdy[data-v-164740ed]{padding:16px 18px}.modal-foot[data-v-164740ed]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0}.text-muted[data-v-164740ed]{color:#94a3b8}.toast[data-v-164740ed]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-164740ed]{background:#16a34a;color:#fff}.toast-error[data-v-164740ed]{background:#dc2626;color:#fff}.page-content[data-v-7b257eb4]{padding:0}.loading-msg[data-v-7b257eb4],.empty-msg[data-v-7b257eb4]{text-align:center;padding:60px;color:#94a3b8;font-size:14px}.profile-header[data-v-7b257eb4]{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;margin-bottom:18px;box-shadow:0 1px 3px #0000000f}.avatar-wrap[data-v-7b257eb4]{flex-shrink:0}.avatar-img[data-v-7b257eb4]{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #e2e8f0}.avatar-initials[data-v-7b257eb4]{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center}.header-name[data-v-7b257eb4]{font-size:20px;font-weight:700;color:#0f172a;margin-bottom:4px}.header-meta[data-v-7b257eb4]{font-size:13px;color:#64748b;margin-bottom:8px}.sep[data-v-7b257eb4]{margin:0 5px;color:#cbd5e1}.header-ids[data-v-7b257eb4]{display:flex;gap:6px;flex-wrap:wrap}.id-chip[data-v-7b257eb4]{font-size:11px;background:#f1f5f9;color:#475569;padding:3px 8px;border-radius:8px;font-weight:600}.status-chip[data-v-7b257eb4]{font-size:11px;padding:3px 8px;border-radius:8px;font-weight:700}.chip-active[data-v-7b257eb4]{background:#dcfce7;color:#16a34a}.chip-inactive[data-v-7b257eb4]{background:#fee2e2;color:#dc2626}.two-col[data-v-7b257eb4]{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:768px){.two-col[data-v-7b257eb4]{grid-template-columns:1fr}}.card[data-v-7b257eb4]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #0000000d}.card-title[data-v-7b257eb4]{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.emp-field[data-v-7b257eb4]{display:flex;justify-content:space-between;align-items:flex-start;padding:7px 0;border-bottom:1px solid #f8fafc;gap:12px}.emp-field[data-v-7b257eb4]:last-child{border-bottom:none}.efl[data-v-7b257eb4]{font-size:12px;color:#94a3b8;font-weight:500;flex-shrink:0;min-width:120px}.efv[data-v-7b257eb4]{font-size:13px;color:#0f172a;font-weight:500;text-align:right;word-break:break-word}.masked[data-v-7b257eb4]{letter-spacing:1px;color:#64748b}.efv-sensitive[data-v-7b257eb4]{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.section-heading[data-v-7b257eb4]{font-size:14px;font-weight:700;color:#0f172a;margin:22px 0 10px;display:flex;align-items:center;gap:10px}.loading-sm[data-v-7b257eb4]{font-size:11px;color:#94a3b8;font-weight:400}.addl-card[data-v-7b257eb4]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.addl-header[data-v-7b257eb4]{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #f1f5f9;background:#f8fafc}.addl-header>span[data-v-7b257eb4]:first-child{font-size:13px;font-weight:700;color:#0f172a;flex:1}.pending-badge[data-v-7b257eb4]{font-size:11px;background:#fef3c7;color:#b45309;padding:2px 8px;border-radius:6px;font-weight:600}.addl-btn[data-v-7b257eb4]{font-size:12px;background:#6366f1;color:#fff;border:none;border-radius:6px;padding:5px 12px;cursor:pointer;font-weight:600}.addl-btn[data-v-7b257eb4]:hover{background:#4f46e5}.addl-empty[data-v-7b257eb4]{padding:16px 18px;font-size:12px;color:#94a3b8}.addl-list[data-v-7b257eb4]{padding:10px 18px;display:flex;flex-direction:column;gap:10px}.addl-item[data-v-7b257eb4]{border-bottom:1px solid #f8fafc;padding-bottom:8px}.addl-item[data-v-7b257eb4]:last-child{border-bottom:none;padding-bottom:0}.addl-item-title[data-v-7b257eb4]{font-size:13px;font-weight:600;color:#0f172a}.addl-item-sub[data-v-7b257eb4]{font-size:12px;color:#64748b;margin-top:2px}.addl-table-wrap[data-v-7b257eb4]{overflow-x:auto}.addl-table[data-v-7b257eb4]{width:100%;border-collapse:collapse}.addl-table th[data-v-7b257eb4]{background:#f8fafc;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;padding:8px 12px;text-align:left}.addl-table td[data-v-7b257eb4]{font-size:12px;color:#0f172a;padding:8px 12px;border-bottom:1px solid #f8fafc}.addl-table tr:last-child td[data-v-7b257eb4]{border-bottom:none}.modal-backdrop[data-v-7b257eb4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-7b257eb4]{background:#fff;border-radius:14px;width:480px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #0000002e}.modal-header[data-v-7b257eb4]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 14px;border-bottom:1px solid #f1f5f9;font-weight:700;font-size:14px;position:sticky;top:0;background:#fff}.close-btn[data-v-7b257eb4]{background:none;border:none;font-size:18px;cursor:pointer;color:#94a3b8}.modal-body[data-v-7b257eb4]{padding:18px 22px}.modal-footer[data-v-7b257eb4]{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 18px;border-top:1px solid #f1f5f9;position:sticky;bottom:0;background:#fff}.field-group[data-v-7b257eb4]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field-group label[data-v-7b257eb4]{font-size:12px;color:#64748b;font-weight:500}.field-row[data-v-7b257eb4]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-input[data-v-7b257eb4]{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#0f172a;width:100%;box-sizing:border-box}.form-input[data-v-7b257eb4]:focus{outline:none;border-color:#6366f1}.form-error[data-v-7b257eb4]{color:#dc2626;font-size:12px;margin-top:4px}.mbtn[data-v-7b257eb4]{padding:9px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0}.mbtn-ghost[data-v-7b257eb4]{background:#f8fafc;color:#0f172a}.mbtn-primary[data-v-7b257eb4]{background:#6366f1;color:#fff;border-color:#6366f1}.mbtn-primary[data-v-7b257eb4]:hover{background:#4f46e5}.mbtn-primary[data-v-7b257eb4]:disabled{opacity:.55;cursor:not-allowed}.doc-link[data-v-7b257eb4]{color:#6366f1;font-size:12px;font-weight:600;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.doc-link[data-v-7b257eb4]:hover:not(:disabled){text-decoration:underline}.doc-link[data-v-7b257eb4]:disabled{opacity:.6;cursor:not-allowed}.pending-requests[data-v-7b257eb4]{border-top:1px solid #f1f5f9;padding:10px 18px;display:flex;flex-direction:column;gap:6px}.pr-label[data-v-7b257eb4]{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;margin-bottom:4px}.pr-row[data-v-7b257eb4]{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.pr-type[data-v-7b257eb4]{font-weight:600;color:#0f172a}.pr-file[data-v-7b257eb4]{color:#64748b}.pr-note[data-v-7b257eb4]{color:#b45309;font-size:11px}.sbadge[data-v-7b257eb4]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700}.sb-amber[data-v-7b257eb4]{background:#fef3c7;color:#b45309}.sb-green[data-v-7b257eb4]{background:#dcfce7;color:#16a34a}.sb-red[data-v-7b257eb4]{background:#fee2e2;color:#dc2626}.upload-area[data-v-7b257eb4]{border:2px dashed #e2e8f0;border-radius:10px;min-height:120px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s;overflow:hidden}.upload-area[data-v-7b257eb4]:hover{border-color:#6366f1}.upload-selected[data-v-7b257eb4]{display:flex;align-items:center;gap:8px;padding:16px;font-size:13px;color:#0f172a}.upload-placeholder[data-v-7b257eb4]{text-align:center;color:#94a3b8;padding:20px}.upload-icon[data-v-7b257eb4]{font-size:28px;display:block;margin-bottom:6px}.upload-hint[data-v-7b257eb4]{font-size:11px;margin-top:4px}.file-size[data-v-7b257eb4]{color:#94a3b8;font-size:11px}.hidden-input[data-v-7b257eb4]{display:none}.toast[data-v-7b257eb4]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-7b257eb4]{background:#16a34a;color:#fff}.toast-error[data-v-7b257eb4]{background:#dc2626;color:#fff}.ph-card-title[data-v-e4da3f33]{background:#0d9488;color:#fff;border-radius:8px 8px 0 0;margin:-1px -1px 0;padding:12px 16px;font-size:15px;font-weight:700}.ph-amt[data-v-e4da3f33]{font-variant-numeric:tabular-nums;white-space:nowrap}.ph-outstanding[data-v-e4da3f33]{color:#dc2626;font-weight:600}.modal-bd[data-v-e4da3f33]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-panel[data-v-e4da3f33]{background:#fff;border-radius:12px;max-width:95vw;max-height:85vh;overflow-y:auto;box-shadow:0 12px 32px #00000026}.modal-head[data-v-e4da3f33]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff}.modal-ttl[data-v-e4da3f33]{font-size:14px;font-weight:700;color:#0f172a}.modal-cls[data-v-e4da3f33]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer}.modal-bdy[data-v-e4da3f33]{padding:16px 18px}.modal-foot[data-v-e4da3f33]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0}.toast[data-v-e4da3f33]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-e4da3f33]{background:#16a34a;color:#fff}.toast-error[data-v-e4da3f33]{background:#dc2626;color:#fff}.ps-header[data-v-145ef26f]{background:#0d9488;color:#fff;border-radius:8px 8px 0 0;margin:-1px -1px 0;padding:12px 16px;font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.ps-btn-tax[data-v-145ef26f]{background:#0f766e;color:#fff;border:1px solid rgba(255,255,255,.3);font-size:12px;padding:5px 12px}.ps-btn-tax[data-v-145ef26f]:hover{background:#0e8a81}.ps-scroll-wrap[data-v-145ef26f]{position:relative;display:flex;align-items:center;padding:0 28px}.ps-table-box[data-v-145ef26f]{overflow-x:auto;flex:1;scroll-behavior:smooth}.ps-scroll-btn[data-v-145ef26f]{position:absolute;top:50%;transform:translateY(-50%);background:#e2e8f0;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;color:#475569;z-index:1;padding:0;line-height:1}.ps-scroll-btn[data-v-145ef26f]:hover{background:#cbd5e1}.ps-scroll-left[data-v-145ef26f]{left:2px}.ps-scroll-right[data-v-145ef26f]{right:2px}.ps-table[data-v-145ef26f]{border-collapse:collapse;white-space:nowrap;font-size:12px;width:max-content;min-width:100%}.ps-table th[data-v-145ef26f],.ps-table td[data-v-145ef26f]{border:1px solid #e2e8f0;padding:7px 10px;text-align:center}.ps-th-month[data-v-145ef26f]{background:#f8fafc;font-weight:700;min-width:80px}.ps-cat-earning[data-v-145ef26f]{background:#f0fdf4;color:#16a34a;font-weight:700}.ps-cat-deduction[data-v-145ef26f]{background:#fef2f2;color:#dc2626;font-weight:700}.ps-th-header[data-v-145ef26f]{background:#f8fafc;font-size:11px;font-weight:600;color:#374151;min-width:90px}.ps-th-gross[data-v-145ef26f]{background:#f0fdf4;color:#16a34a;font-weight:700}.ps-th-deduct[data-v-145ef26f]{background:#fef2f2;color:#dc2626;font-weight:700}.ps-th-net[data-v-145ef26f]{background:#eff6ff;color:#2563eb;font-weight:700}.ps-td-month[data-v-145ef26f]{font-weight:600;background:#f8fafc}.ps-td-amt[data-v-145ef26f]{font-variant-numeric:tabular-nums}.ps-td-gross[data-v-145ef26f]{color:#16a34a;font-weight:600}.ps-td-deduct[data-v-145ef26f]{color:#dc2626;font-weight:600}.ps-td-net[data-v-145ef26f]{color:#2563eb;font-weight:600}.ps-table tbody tr[data-v-145ef26f]:nth-child(2n){background:#f9fafb}.modal-bd[data-v-145ef26f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-panel[data-v-145ef26f]{background:#fff;border-radius:12px;max-width:95vw;max-height:85vh;overflow-y:auto;box-shadow:0 12px 32px #00000026}.modal-head[data-v-145ef26f]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff}.modal-ttl[data-v-145ef26f]{font-size:14px;font-weight:700;color:#0f172a}.modal-cls[data-v-145ef26f]{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer}.modal-bdy[data-v-145ef26f]{padding:16px 18px}.modal-foot[data-v-145ef26f]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e2e8f0}.toast[data-v-145ef26f]{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;z-index:2000;box-shadow:0 4px 16px #0003}.toast-success[data-v-145ef26f]{background:#16a34a;color:#fff}.toast-error[data-v-145ef26f]{background:#dc2626;color:#fff}.td-table[data-v-145ef26f]{width:100%;border-collapse:collapse;font-size:13px}.td-table th[data-v-145ef26f],.td-table td[data-v-145ef26f]{border:1px solid #e2e8f0;padding:9px 12px;vertical-align:middle}.td-th-section[data-v-145ef26f]{width:120px;text-align:center;background:#f8fafc;font-weight:700;color:#1e293b}.td-th-cat[data-v-145ef26f]{background:#f8fafc;font-weight:700;color:#1e293b}.td-th-amt[data-v-145ef26f]{width:100px;text-align:center;background:#f8fafc;font-weight:700;color:#1e293b}.td-td-section[data-v-145ef26f]{text-align:center;font-weight:600;color:#374151;background:#f9fafb;white-space:nowrap}.td-td-cat[data-v-145ef26f]{color:#374151;line-height:1.5}.td-td-amt[data-v-145ef26f]{text-align:center;font-variant-numeric:tabular-nums}.td-na[data-v-145ef26f]{color:#94a3b8;font-style:italic}.td-table tbody tr[data-v-145ef26f]:hover{background:#f0f9ff}.td-close-btn[data-v-145ef26f]{background:#f59e0b;color:#fff;border:none}.td-close-btn[data-v-145ef26f]:hover{background:#d97706}.tp-wrap[data-v-145ef26f]{display:flex;gap:0;border-top:1px solid #e2e8f0}.tp-left[data-v-145ef26f]{flex:1 1 0;min-width:0;overflow-x:auto;border-right:2px solid #e2e8f0}.tp-right[data-v-145ef26f]{flex:0 0 220px;overflow-x:auto}.tp-table[data-v-145ef26f]{width:100%;border-collapse:collapse;font-size:12px}.tp-table th[data-v-145ef26f],.tp-table td[data-v-145ef26f]{border:1px solid #e2e8f0;padding:7px 10px;vertical-align:middle}.tp-th-label[data-v-145ef26f]{background:#f8fafc;font-weight:700;color:#1e293b}.tp-th-val[data-v-145ef26f]{background:#f8fafc;font-weight:700;color:#1e293b;width:110px;text-align:center}.tp-num[data-v-145ef26f]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tp-bold td[data-v-145ef26f]{font-weight:700;background:#f8fafc}.tp-table tbody tr[data-v-145ef26f]:hover{background:#f0f9ff}.sidebar-root[data-v-c876c348]{display:contents}.nav-badge-sub[data-v-c876c348]{font-size:9px;font-weight:700;background:#f59e0b;color:#fff;padding:1px 6px;border-radius:8px;margin-left:auto}.ess-profile-banner[data-v-c876c348]{background:#6366f126;border-bottom:1px solid rgba(99,102,241,.3);padding:10px 16px 8px}.ess-profile-name[data-v-c876c348]{font-size:12px;font-weight:700;color:#c7d2fe}.ess-profile-role[data-v-c876c348]{font-size:10px;color:#ffffff73;margin-top:1px}.ess-change-btn[data-v-c876c348]{margin-top:6px;background:none;border:1px solid rgba(99,102,241,.5);color:#818cf8;border-radius:5px;padding:3px 8px;font-size:10px;cursor:pointer;font-weight:600;transition:all .15s}.ess-change-btn[data-v-c876c348]:hover{background:#6366f133}.nav-group-label[data-v-c876c348]{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#b4b2a9;padding:6px 16px 3px;letter-spacing:.06em;-webkit-user-select:none;user-select:none;transition:color .15s}.nav-chevron[data-v-c876c348]{font-size:14px;line-height:1;display:inline-block;transition:transform .22s ease;color:#c8c5bc}.nav-group-items[data-v-c876c348]{overflow:hidden;max-height:0;transition:max-height .28s ease}.nav-masters-group.masters-active .nav-group-items[data-v-c876c348]{max-height:600px}.nav-masters-group.masters-active .nav-chevron[data-v-c876c348]{transform:rotate(90deg)}.nav-masters-group.masters-active .nav-group-label[data-v-c876c348]{color:#ffffffd9}.nav-item-sub[data-v-c876c348]{padding-left:28px}.nav-mis-label[data-v-c876c348]{cursor:pointer;padding:7px 16px;display:flex;align-items:center;justify-content:space-between;border-radius:6px;transition:background .15s;color:#ffffff8c;font-size:13px}.nav-mis-label[data-v-c876c348]:hover{background:#ffffff0f;color:#ffffffd9}.nav-icon-inline[data-v-c876c348]{margin-right:6px;font-size:14px}.nav-mis-group .nav-group-items[data-v-c876c348]{overflow:hidden;max-height:0;transition:max-height .28s ease}.nav-mis-group.mis-active .nav-group-items[data-v-c876c348]{max-height:200px}.nav-mis-group.mis-active .nav-chevron[data-v-c876c348]{transform:rotate(90deg)}.nav-mis-group.mis-active .nav-mis-label[data-v-c876c348]{color:#ffffffd9}.as-root[data-v-1753e6d4]{position:relative;display:inline-flex}.as-trigger[data-v-1753e6d4]{display:inline-flex;align-items:center;gap:5px;background:var(--accent-light, #eef2ff);border:1px solid transparent;border-radius:20px;padding:4px 10px;cursor:pointer;font-size:11px;font-weight:600;color:var(--accent-text, #4338ca);font-family:inherit;max-width:220px;transition:border-color .15s,background .15s}.as-trigger[data-v-1753e6d4]:hover:not(:disabled){background:#e0e7ff;border-color:#c7d2fe}.as-trigger[data-v-1753e6d4]:disabled{opacity:.6;cursor:wait}.as-name[data-v-1753e6d4]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;display:block}.as-caret[data-v-1753e6d4]{font-size:10px;flex-shrink:0;opacity:.6}.as-panel[data-v-1753e6d4]{position:absolute;top:calc(100% + 6px);left:0;width:300px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0f172a24;z-index:9999;overflow:hidden}.as-search[data-v-1753e6d4]{display:block;width:100%;box-sizing:border-box;padding:10px 14px;border:none;border-bottom:1px solid #f1f5f9;font-size:13px;color:#0f172a;outline:none;background:#f8fafc;font-family:inherit}.as-search[data-v-1753e6d4]::placeholder{color:#94a3b8}.as-search[data-v-1753e6d4]:focus{background:#fff}.as-list[data-v-1753e6d4]{list-style:none;margin:0;padding:6px 0;max-height:240px;overflow-y:auto}.as-item[data-v-1753e6d4]{padding:9px 14px;font-size:13px;color:#334155;cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-item[data-v-1753e6d4]:hover{background:#f1f5f9}.as-item.active[data-v-1753e6d4]{background:#eff6ff;color:#1d4ed8;font-weight:600}.as-empty[data-v-1753e6d4]{padding:10px 14px;font-size:12px;color:#94a3b8}.topbar-context[data-v-40109ad0]{display:flex;align-items:center;gap:6px}.topbar-mode[data-v-40109ad0]{font-size:11px;font-weight:600;white-space:nowrap;color:var(--accent-text, #4338ca)}.user-menu[data-v-40109ad0]{position:relative}.user-chip[data-v-40109ad0]{display:flex;align-items:center;gap:8px;background:none;border:1px solid #e2e8f0;border-radius:22px;padding:4px 12px 4px 4px;cursor:pointer;font-size:13px;color:#0f172a;transition:all .15s;font-family:inherit}.user-chip[data-v-40109ad0]:hover{background:#f8fafc;border-color:#cbd5e1}.user-name[data-v-40109ad0]{font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron[data-v-40109ad0]{font-size:11px;color:#94a3b8}.avatar-sm[data-v-40109ad0]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.avatar-md[data-v-40109ad0]{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.user-dropdown[data-v-40109ad0]{position:absolute;top:calc(100% + 8px);right:0;width:224px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 32px #0f172a1f;z-index:9999;overflow:hidden}.user-dropdown-header[data-v-40109ad0]{display:flex;align-items:center;gap:12px;padding:16px}.ud-name[data-v-40109ad0]{font-size:13px;font-weight:600;color:#0f172a}.ud-role[data-v-40109ad0]{font-size:11px;color:#94a3b8;margin-top:2px}.ud-divider[data-v-40109ad0]{border:none;border-top:1px solid #f1f5f9;margin:0}.ud-item[data-v-40109ad0]{display:flex;align-items:center;gap:8px;width:100%;padding:11px 16px;background:none;border:none;font-size:13px;cursor:pointer;text-align:left;color:#334155;transition:background .12s;font-family:inherit}.ud-item[data-v-40109ad0]:hover{background:#f8fafc}.ud-logout[data-v-40109ad0]{color:#ef4444}.ud-logout[data-v-40109ad0]:hover{background:#fef2f2}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.border-red-400{border-color:var(--color-red-400)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing) * 1)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-right{text-align:right}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-60:disabled{opacity:.6}}:root{--sidebar-bg:#0f1117;--sidebar-border:#ffffff12;--sidebar-text:#ffffffa6;--sidebar-muted:#ffffff47;--sidebar-hover:#ffffff0f;--sidebar-active-bg:#1e2030;--sidebar-active:#818cf8;--sidebar-accent:#6366f1;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#eef2ff;--accent-text:#4338ca;--bg-page:#f1f5f9;--bg-card:#fff;--bg-subtle:#f8fafc;--border:#e2e8f0;--border-light:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--success:#10b981;--success-bg:#ecfdf5;--danger:#ef4444;--danger-bg:#fef2f2;--warning:#f59e0b;--warning-bg:#fffbeb;--info:#3b82f6;--info-bg:#eff6ff;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 12px 32px #0000001f;--radius:10px;--radius-sm:6px;--radius-lg:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-page);-webkit-font-smoothing:antialiased;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#app{width:100vw;height:100vh;display:flex}.payroll-root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{width:100%;height:100%;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex-direction:column;flex-shrink:0;width:240px;transition:width .22s,height .22s;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar.collapsed{width:0;overflow:hidden}.logo-area{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;align-items:center;gap:10px;padding:18px 16px 14px;display:flex}.logo-icon{object-fit:contain;border-radius:9px;flex-shrink:0;width:36px;height:36px;display:block;overflow:hidden}.logo-text{color:#fff;letter-spacing:-.3px;font-size:15px;font-weight:700}.logo-sub{color:var(--sidebar-muted);margin-top:1px;font-size:11px}.mode-pills{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:3px;padding:10px;display:grid}.mode-pill{text-align:center;cursor:pointer;color:var(--sidebar-muted);white-space:nowrap;letter-spacing:.02em;background:0 0;border:1px solid #ffffff14;border-radius:6px;padding:5px 2px;font-size:10px;font-weight:600;transition:all .15s}.mode-pill:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.mode-pill.active{background:var(--sidebar-accent);color:#fff;border-color:var(--sidebar-accent);box-shadow:0 2px 8px #6366f166}.nav-section{padding:6px 0}.nav-label{color:var(--sidebar-muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 16px 4px;font-size:10px;font-weight:600}.nav-item{color:var(--sidebar-text);cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:-.1px;border-left:2px solid #0000;align-items:center;gap:9px;padding:8px 16px;font-size:13.5px;text-decoration:none;transition:all .12s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:#ffffffe6}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active);border-left-color:var(--sidebar-accent);font-weight:600}.nav-icon{text-align:center;opacity:.8;flex-shrink:0;width:18px;font-size:15px}.nav-badge{color:#fff;text-align:center;background:#ef4444;border-radius:10px;min-width:18px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.main{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--bg-card);height:54px;box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 24px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.hamburger{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:18px;line-height:1;transition:background .15s;display:flex}.hamburger:hover{background:var(--bg-subtle)}.page-title{color:var(--text-primary);letter-spacing:-.2px;font-size:15px;font-weight:600}.topbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-badge{background:var(--accent-light);color:var(--accent-text);white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.avatar-sm{background:linear-gradient(135deg,var(--accent),#818cf8);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.content{background:var(--bg-page);flex:1;padding:22px 26px;overflow-y:auto}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);white-space:nowrap;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;transition:all .12s}.btn:hover{background:var(--bg-subtle);border-color:#cbd5e1}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:11px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 4px #6366f14d}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-success{background:var(--success-bg);color:var(--success);border-color:#a7f3d0}.btn-success:hover{background:#d1fae5}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#fecaca}.btn-danger:hover{background:#fee2e2}.btn-warning{background:var(--warning-bg);color:var(--warning);border-color:#fde68a}.btn-warning:hover{background:#fef3c7}.btn-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;display:inline-flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px 20px}.card-title{color:var(--text-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.stat-grid{gap:12px;margin-bottom:18px;display:grid}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.stat-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);padding:16px 18px;transition:all .15s}.stat-card:hover{border-color:var(--accent);box-shadow:0 0 0 3px #6366f114,var(--shadow-sm)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:500}.stat-val{color:var(--text-primary);letter-spacing:-1px;font-size:26px;font-weight:700}.stat-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.three-col{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle;padding:10px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:#fafbff}.tbl-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.badge{white-space:nowrap;letter-spacing:.02em;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-btn{cursor:pointer;border:none;transition:opacity .15s,filter .15s}.badge-btn:hover:not(:disabled){filter:brightness(.92)}.badge-btn:disabled{opacity:.6;cursor:not-allowed}.b-green{color:#059669;background:#ecfdf5}.b-blue{background:var(--info-bg);color:#2563eb}.b-amber{background:var(--warning-bg);color:#d97706}.b-red{background:var(--danger-bg);color:#dc2626}.b-gray{background:var(--bg-subtle);color:var(--text-secondary)}.b-purple{background:var(--accent-light);color:var(--accent-text)}.b-teal{color:#0d9488;background:#f0fdfa}.b-orange{color:#ea580c;background:#fff7ed}.b-gold{color:#a16207;background:#fefce8}.form-grid{gap:12px;margin-bottom:12px;display:grid}.fg-2{grid-template-columns:1fr 1fr}.fg-3{grid-template-columns:1fr 1fr 1fr}.fg-4{grid-template-columns:1fr 1fr 1fr 1fr}.form-group{flex-direction:column;gap:5px;display:flex}.form-label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-label .req{color:var(--danger)}.form-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);outline:none;width:100%;padding:8px 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}.form-input[readonly]{background:var(--bg-subtle);color:var(--text-muted)}select.form-input{cursor:pointer}textarea.form-input{resize:vertical}.section-title{color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;margin:16px 0 10px;padding-bottom:6px;font-size:11px;font-weight:600}.tab-bar{border-bottom:1px solid var(--border);margin-bottom:18px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .15s}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab:hover{color:var(--text-primary)}.info-banner{border-radius:var(--radius-sm);margin-bottom:14px;padding:11px 14px;font-size:13px;line-height:1.6}.info-blue{background:var(--info-bg);color:#2563eb;border:1px solid #bfdbfe}.info-green{background:var(--success-bg);color:#059669;border:1px solid #a7f3d0}.info-amber{background:var(--warning-bg);color:#d97706;border:1px solid #fde68a}.info-red{background:var(--danger-bg);color:#dc2626;border:1px solid #fecaca}.info-nests{color:#fff;border-radius:var(--radius);background:linear-gradient(135deg,#312e81,#4f46e5);border:none;margin-bottom:14px;padding:14px 18px;font-size:13px;line-height:1.6}.info-nests strong{color:#c7d2fe}.emp-field{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.emp-field:last-child{border-bottom:none}.efl{color:var(--text-muted)}.efv{color:var(--text-primary);font-weight:600}.chip{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border);border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.divider{border:none;border-top:1px solid var(--border);margin:14px 0}.tag{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#0f172a66;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.modal-overlay.open{display:flex}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:560px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:24px;overflow-y:auto}.modal-lg{width:740px}.modal-title{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:18px;font-size:15px;font-weight:600;display:flex}.close-x{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:19px;line-height:1}.close-x:hover{color:var(--text-primary)}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;display:flex}.prog-bar{background:var(--border);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.prog-fill{background:var(--accent);border-radius:3px;height:100%}.att-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.att-cell{text-align:center;cursor:default;border-radius:6px;padding:7px 4px;font-size:11px}.att-cell .day-num{color:var(--text-primary);font-size:13px;font-weight:600}.att-cell .day-code{margin-top:2px;font-size:11px;font-weight:600}.att-P{background:#ecfdf5}.att-P .day-code{color:#059669}.att-A{background:#fef2f2}.att-A .day-code{color:#dc2626}.att-PL{background:#eff6ff}.att-PL .day-code{color:#2563eb}.att-W{background:var(--bg-subtle)}.att-W .day-code{color:var(--text-muted)}.att-SH{background:#fefce8}.att-SH .day-code{color:#a16207}.att-LP{background:#fff7ed}.att-LP .day-code{color:#ea580c}.att-blank{background:0 0}.att-cell.att-hdr{background:var(--bg-subtle);color:var(--text-muted);font-size:12px;font-weight:600}.lc{align-items:center;gap:0;margin-bottom:18px;display:flex}.lc-step{text-align:center;flex:1;position:relative}.lc-dot{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin:0 auto 4px;font-size:12px;font-weight:700;display:flex;position:relative}.lc-dot.done{color:#059669;background:#ecfdf5;border:2px solid #6ee7b7}.lc-dot.curr{background:var(--accent);color:#fff;border:2px solid var(--accent);box-shadow:0 0 0 3px #6366f133}.lc-dot.pend{background:var(--bg-subtle);color:var(--text-muted);border:2px solid var(--border)}.lc-lbl{color:var(--text-muted);font-size:11px}.lc-lbl.curr{color:var(--accent);font-weight:600}.lc-line{background:var(--border);z-index:0;height:2px;position:absolute;top:15px;left:50%;right:-50%}.lc-line.done{background:#6ee7b7}.toggle-wrap{cursor:pointer;align-items:center;display:inline-flex}.toggle-wrap input{display:none}.toggle{background:var(--border);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-wrap input:checked+.toggle{background:var(--accent)}.toggle-wrap input:checked+.toggle:after{transform:translate(16px)}.nests-banner{color:#fff;border-radius:var(--radius);background:linear-gradient(135deg,#312e81,#4f46e5);margin-bottom:18px;padding:18px}.school-chip{color:#fff;background:#ffffff26;border-radius:5px;align-items:center;gap:5px;margin:2px;padding:4px 10px;font-size:11px;display:inline-flex}.toolbar{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:14px;display:flex}.toolbar-right{align-items:center;gap:9px;margin-left:auto;display:flex}.att-grid-6{grid-template-columns:70px 58px 80px 80px 80px 80px;gap:3px;display:grid}.att-grid-6 .att-cell{padding:6px 5px}.content::-webkit-scrollbar{width:5px}.content::-webkit-scrollbar-track{background:0 0}.content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}@media (max-width:900px){.app{flex-direction:column}.sidebar{border-right:none;flex-direction:row;flex-shrink:0;width:100%;height:auto;overflow:auto hidden}.sidebar.mobile-hidden{display:none}.sidebar.collapsed{width:100%;height:0;overflow:hidden}.logo-area{flex-shrink:0}.nav-section{gap:0;display:flex}.nav-label{display:none}.nav-item{border-bottom:2px solid #0000;border-left:none;padding:9px 12px;font-size:13px}.nav-item.active{border-bottom-color:var(--sidebar-accent);border-left-color:#0000}.hamburger{display:block}.two-col,.three-col{grid-template-columns:1fr}.g4,.g3{grid-template-columns:repeat(2,1fr)}.fg-3,.fg-4{grid-template-columns:1fr 1fr}.stat-val{font-size:20px}}@media (max-width:600px){.app{flex-direction:column}.sidebar{z-index:300;flex-direction:column;width:240px;height:100%;transition:transform .22s;position:fixed;top:0;left:0;overflow:hidden auto;transform:translate(-100%)}.sidebar.mobile-open{display:flex;overflow:hidden auto;transform:translate(0);width:240px!important}.sidebar-backdrop{z-index:299;background:#0f172a80;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.sidebar-backdrop.active,.nav-section,.nav-label{display:block}.nav-item{border-bottom:none;border-left:2px solid #0000;padding:9px 16px}.nav-item.active{border-left-color:var(--sidebar-accent);border-bottom-color:#0000}.g4{grid-template-columns:repeat(2,1fr)}.two-col,.fg-2{grid-template-columns:1fr}.modal{padding:16px}.content{padding:14px 16px}.topbar{padding:0 16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
