.theme-toggle[data-v-aca7981e]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;outline:none;position:relative}.theme-toggle[data-v-aca7981e]:after{display:none!important}.theme-toggle[data-v-aca7981e]:before{display:none!important}.theme-toggle[data-v-aca7981e]:hover{background:var(--bg-card);color:var(--text-primary);transform:scale(1.05)}.theme-toggle[data-v-aca7981e]:active{transform:scale(.95)}@keyframes rotate-aca7981e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-toggle:active svg[data-v-aca7981e]{animation:rotate-aca7981e .3s ease}.mobile-bottom-nav[data-v-2eaa98ef]{position:fixed;bottom:0;left:0;right:0;background:var(--bg-nav);border-top:1px solid var(--border-color);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;justify-content:space-around;align-items:stretch;height:68px;z-index:1000;box-shadow:0 -2px 12px #00000014;transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-bottom-nav--hidden[data-v-2eaa98ef]{transform:translateY(100%)}@supports (padding-bottom: env(safe-area-inset-bottom)){.mobile-bottom-nav[data-v-2eaa98ef]{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}.mobile-nav-item[data-v-2eaa98ef]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text-muted);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);padding:8px 4px 4px;min-height:60px;tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}.mobile-nav-item[data-v-2eaa98ef]:active{transform:scale(.95);background:var(--bg-secondary);border-radius:12px}.mobile-nav-item--active[data-v-2eaa98ef]{color:var(--primary-blue)}.mobile-nav-item--active .mobile-nav-icon[data-v-2eaa98ef]{transform:translateY(-2px)}.mobile-nav-icon[data-v-2eaa98ef]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:2px;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-nav-item--active .mobile-nav-icon[data-v-2eaa98ef]{color:var(--primary-blue);background:rgba(59,130,246,.1);border-radius:50%}.mobile-nav-label[data-v-2eaa98ef]{font-size:10px;font-weight:500;text-align:center;line-height:1;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:.8}.mobile-nav-item--active .mobile-nav-label[data-v-2eaa98ef]{opacity:1;font-weight:600;color:var(--primary-blue)}.mobile-nav-indicator[data-v-2eaa98ef]{position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:24px;height:3px;background:var(--primary-blue);border-radius:0 0 2px 2px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-nav-item--active .mobile-nav-indicator[data-v-2eaa98ef]{transform:translate(-50%) scaleX(1)}.mobile-nav-item[data-v-2eaa98ef]:hover{color:var(--text-primary)}.mobile-nav-item:hover .mobile-nav-icon[data-v-2eaa98ef]{transform:translateY(-1px)}@media (min-width: 769px){.mobile-bottom-nav[data-v-2eaa98ef]{display:none}}@media (prefers-color-scheme: dark){.mobile-bottom-nav[data-v-2eaa98ef]{box-shadow:0 -2px 12px #0003}}.pwa-install-prompt[data-v-651efb14]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1001;max-width:400px;width:calc(100% - 40px);animation:slideUp-651efb14 .3s cubic-bezier(.4,0,.2,1)}.pwa-install-prompt--mobile[data-v-651efb14]{bottom:88px}@keyframes slideUp-651efb14{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-prompt-content[data-v-651efb14]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1rem;box-shadow:var(--shadow-heavy);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;gap:1rem;position:relative}.pwa-prompt-icon[data-v-651efb14]{flex-shrink:0;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.pwa-prompt-icon img[data-v-651efb14]{width:100%;height:100%;object-fit:cover;border-radius:12px}.pwa-prompt-text[data-v-651efb14]{flex:1;min-width:0}.pwa-prompt-text h3[data-v-651efb14]{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.pwa-prompt-text p[data-v-651efb14]{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.3}.pwa-prompt-actions[data-v-651efb14]{display:flex;gap:.5rem;flex-shrink:0}.pwa-btn-dismiss[data-v-651efb14]{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pwa-btn-dismiss[data-v-651efb14]:hover{background:var(--bg-card);color:var(--text-primary)}.pwa-btn-install[data-v-651efb14]{padding:.5rem .75rem;background:var(--primary-blue);border:1px solid var(--primary-blue);border-radius:8px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pwa-btn-install[data-v-651efb14]:hover{background:var(--primary-blue-hover);transform:translateY(-1px)}.pwa-prompt-close[data-v-651efb14]{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pwa-prompt-close[data-v-651efb14]:hover{background:var(--bg-card);color:var(--text-primary);transform:scale(1.1)}@media (max-width: 480px){.pwa-prompt-content[data-v-651efb14]{padding:.75rem;gap:.75rem}.pwa-prompt-icon[data-v-651efb14]{width:40px;height:40px}.pwa-prompt-icon img[data-v-651efb14]{border-radius:10px}.pwa-prompt-text h3[data-v-651efb14]{font-size:.9rem}.pwa-prompt-text p[data-v-651efb14]{font-size:.8rem}.pwa-prompt-actions[data-v-651efb14]{flex-direction:column;gap:.4rem}.pwa-btn-dismiss[data-v-651efb14],.pwa-btn-install[data-v-651efb14]{padding:.4rem .6rem;font-size:.75rem}}.navbar[data-v-9f8bed65]{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--bg-nav);color:var(--text-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-light);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-brand[data-v-9f8bed65]{display:flex;flex-direction:column;align-items:flex-start}.nav-brand h1[data-v-9f8bed65]{margin:0;font-size:1.5rem;font-weight:700;background:var(--blue-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-subtitle[data-v-9f8bed65]{font-size:.75rem;color:var(--text-muted);font-weight:500;margin-top:-2px}.nav-center[data-v-9f8bed65]{flex:1;display:flex;justify-content:center}.nav-links[data-v-9f8bed65]{display:flex;gap:.5rem;background:var(--bg-secondary);padding:.25rem;border-radius:12px;border:1px solid var(--border-color)}.nav-link[data-v-9f8bed65]{color:var(--text-secondary);text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.875rem;position:relative;overflow:hidden}.nav-link[data-v-9f8bed65]:hover{color:var(--primary-blue);background:var(--bg-card);box-shadow:var(--shadow-light);transform:translateY(-1px)}.nav-link.router-link-active[data-v-9f8bed65]{color:var(--text-inverse);background:var(--blue-gradient);box-shadow:var(--shadow-medium)}.nav-link.router-link-active[data-v-9f8bed65]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.nav-link.router-link-active[data-v-9f8bed65]:hover:before{left:100%}.nav-link svg[data-v-9f8bed65]{opacity:.8;transition:opacity .3s}.nav-link:hover svg[data-v-9f8bed65],.nav-link.router-link-active svg[data-v-9f8bed65]{opacity:1}.nav-actions[data-v-9f8bed65],.user-info[data-v-9f8bed65]{display:flex;align-items:center;gap:1rem}.user-name[data-v-9f8bed65]{color:var(--text-primary);font-weight:500;font-size:.875rem}.logout-btn[data-v-9f8bed65]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .3s ease}.logout-btn[data-v-9f8bed65]:hover{background:var(--bg-card);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-light)}.main-content[data-v-9f8bed65]{padding:2rem;min-height:calc(100vh - 80px);background:var(--bg-primary);transition:background-color .3s ease}.global-progress-container[data-v-9f8bed65]{position:fixed;top:80px;left:0;right:0;z-index:99;background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:1rem 2rem;box-shadow:var(--shadow-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-progress-bar[data-v-9f8bed65]{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.global-progress-fill[data-v-9f8bed65]{height:100%;background:var(--blue-gradient);border-radius:4px;transition:width .3s ease;position:relative;overflow:hidden}.global-progress-fill[data-v-9f8bed65]:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background-image:linear-gradient(-45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:20px 20px;animation:move-9f8bed65 1s linear infinite}@keyframes move-9f8bed65{0%{background-position:0 0}to{background-position:20px 20px}}.global-progress-status[data-v-9f8bed65]{margin:0;color:var(--text-secondary);font-size:.875rem;text-align:center;font-weight:500}.mobile-nav[data-v-9f8bed65]{display:none}.mobile-navbar[data-v-9f8bed65]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-nav);color:var(--text-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-light);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-nav-brand h1[data-v-9f8bed65]{margin:0;font-size:1.25rem;font-weight:700;background:var(--blue-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mobile-nav-actions[data-v-9f8bed65]{display:flex;align-items:center;gap:.75rem}.mobile-user-info[data-v-9f8bed65]{display:flex;align-items:center}.mobile-user-name[data-v-9f8bed65]{color:var(--text-primary);font-weight:500;font-size:.8rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-logout-btn[data-v-9f8bed65]{display:flex;align-items:center;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.mobile-logout-btn[data-v-9f8bed65]:hover{background:var(--bg-card);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-light)}.main-content--mobile[data-v-9f8bed65]{margin-bottom:68px}@supports (padding-bottom: env(safe-area-inset-bottom)){.main-content--mobile[data-v-9f8bed65]{margin-bottom:calc(68px + env(safe-area-inset-bottom))}}@media (max-width: 768px){.desktop-nav[data-v-9f8bed65]{display:none}.mobile-nav[data-v-9f8bed65]{display:flex}.main-content[data-v-9f8bed65]{padding:1rem}.global-progress-container[data-v-9f8bed65]{top:60px}}@media (min-width: 769px){.mobile-nav[data-v-9f8bed65]{display:none}.main-content--mobile[data-v-9f8bed65]{margin-bottom:0}}.income-chart[data-v-65c50961]{width:100%;height:100%;min-height:300px;overflow:hidden}.chart-container[data-v-65c50961]{width:100%;height:300px;position:relative;overflow:hidden}.chart-loading[data-v-65c50961],.chart-error[data-v-65c50961],.chart-no-data[data-v-65c50961]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center}.chart-loading[data-v-65c50961]{gap:1rem}.loading-spinner[data-v-65c50961]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-blue);border-radius:50%;animation:spin-65c50961 1s linear infinite}@keyframes spin-65c50961{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chart-error[data-v-65c50961]{color:var(--danger-color)}.chart-no-data[data-v-65c50961]{color:var(--text-muted);font-style:italic}.chart-loading p[data-v-65c50961],.chart-error p[data-v-65c50961],.chart-no-data p[data-v-65c50961]{margin:0;color:var(--text-secondary)}@media (max-width: 768px){.income-chart[data-v-65c50961]{min-height:240px;width:100%;max-width:calc(100vw - 2rem);box-sizing:border-box;margin:0;padding:0}.chart-container[data-v-65c50961]{height:240px;width:100%;max-width:100%;padding:0;margin:0;overflow:hidden;box-sizing:border-box}.chart-loading[data-v-65c50961],.chart-error[data-v-65c50961],.chart-no-data[data-v-65c50961]{height:240px}}@media (display-mode: standalone){.income-chart[data-v-65c50961]{width:100%;max-width:calc(100vw - 1.5rem)}.chart-container[data-v-65c50961]{width:100%;padding:0;margin:0}}@media (max-width: 480px){.income-chart[data-v-65c50961]{max-width:calc(100vw - 1rem)}.chart-container[data-v-65c50961],.chart-loading[data-v-65c50961],.chart-error[data-v-65c50961],.chart-no-data[data-v-65c50961]{height:220px}}.dashboard[data-v-ec1e595b]{width:100%;padding:0 1rem}.dashboard-header[data-v-ec1e595b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.user-info[data-v-ec1e595b]{color:var(--text-secondary);font-size:.9rem;font-weight:500}.label[data-v-ec1e595b]{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.label-default[data-v-ec1e595b]{background-color:#6c757d;color:#fff}.dashboard-loading[data-v-ec1e595b],.dashboard-error[data-v-ec1e595b]{text-align:center;padding:4rem 2rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}.dashboard-error[data-v-ec1e595b]{color:var(--danger-color)}.loading-spinner[data-v-ec1e595b]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-blue);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.payslip-loading[data-v-ec1e595b],.raise-loading[data-v-ec1e595b]{text-align:center;padding:1rem;color:var(--text-secondary)}.no-payslips[data-v-ec1e595b],.no-raises[data-v-ec1e595b]{text-align:center;padding:1rem;color:var(--text-muted);font-style:italic}.dashboard-header h2[data-v-ec1e595b]{margin-bottom:.5rem;background:var(--blue-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:2rem;font-weight:700}.dashboard-header p[data-v-ec1e595b]{color:var(--text-secondary);font-size:1.1rem}.dashboard-stats[data-v-ec1e595b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card[data-v-ec1e595b]{background:var(--bg-card);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden}.stat-card[data-v-ec1e595b]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue-gradient)}.stat-card[data-v-ec1e595b]:hover{transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.stat-icon[data-v-ec1e595b]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.blue[data-v-ec1e595b]{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.stat-icon.green[data-v-ec1e595b]{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon.purple[data-v-ec1e595b]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-icon.orange[data-v-ec1e595b]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-content h3[data-v-ec1e595b]{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-content p[data-v-ec1e595b]{margin:0 0 .5rem;color:var(--text-secondary);font-size:.875rem}.stat-change[data-v-ec1e595b]{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.stat-change.positive[data-v-ec1e595b]{color:var(--success);background:var(--success-light)}.stat-change.neutral[data-v-ec1e595b]{color:var(--text-muted);background:var(--bg-tertiary)}.dashboard-grid[data-v-ec1e595b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.card[data-v-ec1e595b]{background:var(--bg-card);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.card[data-v-ec1e595b]:hover{transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.card-header[data-v-ec1e595b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3[data-v-ec1e595b]{margin:0;color:var(--text-primary);font-size:1.125rem;font-weight:600}.btn-sm[data-v-ec1e595b]{padding:.5rem 1rem;font-size:.75rem;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;transition:all .3s ease}.btn-sm[data-v-ec1e595b]:hover{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.chart-card[data-v-ec1e595b]{grid-column:span 2;min-height:300px}.chart-content[data-v-ec1e595b]{height:300px;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.payslip-list[data-v-ec1e595b]{display:flex;flex-direction:column;gap:.75rem}.payslip-item[data-v-ec1e595b]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);cursor:pointer;transition:all .3s ease}.payslip-item[data-v-ec1e595b]:hover{background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-light)}.payslip-date[data-v-ec1e595b]{color:var(--text-secondary);font-size:.875rem}.payslip-amount[data-v-ec1e595b]{font-weight:600;color:var(--primary-blue)}.payslip-amount .loading-text[data-v-ec1e595b]{color:var(--text-muted);font-style:italic}.payslip-amount .processing-text[data-v-ec1e595b]{color:var(--text-secondary);font-style:italic}.payslip-amount .no-data-text[data-v-ec1e595b]{color:var(--text-muted);font-style:italic}.raise-list[data-v-ec1e595b]{display:flex;flex-direction:column;gap:1rem}.raise-item[data-v-ec1e595b]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--success-light);border-radius:8px;border:1px solid var(--success)}.raise-item.latest[data-v-ec1e595b]{background:#15803d;border:2px solid #166534;flex-direction:column;align-items:stretch;padding:1rem;color:#fff}.raise-header[data-v-ec1e595b]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.raise-date[data-v-ec1e595b]{color:var(--text-primary);font-weight:500;display:flex;flex-direction:column;gap:.25rem}.date-badge[data-v-ec1e595b]{font-size:.875rem;font-weight:600}.raise-item.latest .date-badge[data-v-ec1e595b]{color:#fff}.latest-tag[data-v-ec1e595b]{font-size:.75rem;background:var(--success);color:#fff;padding:.15rem .5rem;border-radius:12px;font-weight:500}.raise-info[data-v-ec1e595b]{display:flex;gap:.5rem;align-items:center;flex-direction:column;text-align:right}.raise-item.latest .raise-info[data-v-ec1e595b]{flex-direction:row;gap:1rem}.raise-amount[data-v-ec1e595b]{font-weight:600;color:#059669;font-size:1rem}.raise-item.latest .raise-amount[data-v-ec1e595b]{font-size:1.125rem;color:#fff;font-weight:700}.raise-percentage[data-v-ec1e595b]{font-size:.875rem;color:#6b7280;font-weight:500}.raise-item.latest .raise-percentage[data-v-ec1e595b]{font-size:1rem;color:#fff;font-weight:600}.raise-details[data-v-ec1e595b]{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--success-light, rgba(34, 197, 94, .2))}.raise-details small[data-v-ec1e595b]{color:var(--text-secondary);font-size:.75rem}.raise-item.latest .raise-details small[data-v-ec1e595b]{color:#fff}.other-raises[data-v-ec1e595b]{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.other-raises-header[data-v-ec1e595b]{margin-bottom:.5rem}.other-raises-header span[data-v-ec1e595b]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.raises-summary[data-v-ec1e595b]{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);text-align:center}.raises-summary small[data-v-ec1e595b]{color:var(--text-muted)}@media (max-width: 1024px){.chart-card[data-v-ec1e595b]{grid-column:span 1}}@media (max-width: 768px){.dashboard[data-v-ec1e595b]{padding:0 .25rem}.dashboard-header[data-v-ec1e595b]{flex-direction:column;align-items:stretch;gap:1rem}.refresh-btn[data-v-ec1e595b]{align-self:flex-end}.dashboard-stats[data-v-ec1e595b]{grid-template-columns:1fr 1fr;gap:.75rem}.dashboard-grid[data-v-ec1e595b]{grid-template-columns:1fr;gap:1rem}.stat-card[data-v-ec1e595b]{padding:.75rem;margin:0;gap:.5rem}.stat-icon[data-v-ec1e595b]{width:36px;height:36px}.stat-content h3[data-v-ec1e595b]{font-size:1.1rem;margin-bottom:.125rem}.stat-content p[data-v-ec1e595b]{font-size:.75rem;margin-bottom:.25rem}.stat-change[data-v-ec1e595b]{font-size:.6rem;padding:.15rem .35rem}}@media (max-width: 400px){.stat-card[data-v-ec1e595b]{flex-direction:column;text-align:center;gap:.5rem}.stat-icon[data-v-ec1e595b]{align-self:center}.card[data-v-ec1e595b]{padding:.75rem;margin:0;width:100%;box-sizing:border-box}.chart-card[data-v-ec1e595b]{min-height:auto;width:100%;max-width:100%;overflow:hidden}.chart-content[data-v-ec1e595b]{height:260px;padding:.25rem;margin:0;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}}.modal-overlay[data-v-ec1e595b]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-ec1e595b]{background:var(--bg-primary);border-radius:12px;max-width:90vw;max-height:90vh;width:900px;box-shadow:var(--shadow-heavy);overflow:hidden}.modal-header[data-v-ec1e595b]{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.modal-header h3[data-v-ec1e595b]{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-close[data-v-ec1e595b]{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.modal-close[data-v-ec1e595b]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-ec1e595b]{padding:1.5rem;overflow-y:auto}.details-modal .modal-body[data-v-ec1e595b]{max-height:none!important}.loading-container[data-v-ec1e595b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.error-container[data-v-ec1e595b]{text-align:center;padding:2rem;color:var(--danger-color)}.payslip-details[data-v-ec1e595b]{display:flex;flex-direction:column;gap:2rem}.details-section[data-v-ec1e595b]{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.details-section h4[data-v-ec1e595b]{margin:0 0 1rem;color:var(--text-primary);font-size:1.125rem;font-weight:600;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.info-grid[data-v-ec1e595b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item[data-v-ec1e595b]{display:flex;flex-direction:column;gap:.25rem}.info-item label[data-v-ec1e595b]{font-weight:600;color:var(--text-secondary);font-size:.875rem}.info-item span[data-v-ec1e595b]{color:var(--text-primary)}.no-items[data-v-ec1e595b]{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic}.items-container[data-v-ec1e595b]{display:flex;flex-direction:column;gap:2rem}.items-category[data-v-ec1e595b]{background:var(--bg-primary);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.category-title[data-v-ec1e595b]{margin:0 0 1rem;font-size:1rem;font-weight:600;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.category-title.income[data-v-ec1e595b]{color:var(--success)}.category-title.deduction[data-v-ec1e595b]{color:var(--danger-color)}.items-table table[data-v-ec1e595b]{width:100%;border-collapse:collapse;font-size:.875rem}.items-table th[data-v-ec1e595b],.items-table td[data-v-ec1e595b]{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--border-color)}.items-table th[data-v-ec1e595b]{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.items-table .amount[data-v-ec1e595b]{text-align:right;font-weight:600;font-family:Courier New,monospace}.items-table .amount.income[data-v-ec1e595b]{color:var(--success)}.items-table .amount.deduction[data-v-ec1e595b]{color:var(--danger-color)}.items-table .item-type[data-v-ec1e595b]{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary)}.items-table .total-row[data-v-ec1e595b]{border-top:2px solid var(--border-color);font-weight:700}.items-table .total-row td[data-v-ec1e595b]{padding:1rem .5rem}.net-salary[data-v-ec1e595b]{background:var(--primary-blue);color:#fff;border-radius:8px;padding:1.5rem;margin-top:1rem}.net-salary-row[data-v-ec1e595b]{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700}.net-salary .label[data-v-ec1e595b]{font-size:1.125rem}.net-salary .amount[data-v-ec1e595b]{font-size:1.5rem;font-family:Courier New,monospace}.details-modal-overlay[data-v-ec1e595b]{background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none;animation:slideInFromRight-ec1e595b .3s ease-out}.details-modal[data-v-ec1e595b]{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;border:none;box-shadow:none;display:flex;flex-direction:column;transform:translate(0);transition:transform .3s ease-out;position:relative;overflow:hidden}@keyframes slideInFromRight-ec1e595b{0%{transform:translate(100%)}to{transform:translate(0)}}.details-modal-header[data-v-ec1e595b]{background:var(--bg-secondary);padding:1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);position:relative;min-height:60px}.modal-back-btn[data-v-ec1e595b]{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s;margin-right:1rem}.modal-back-btn[data-v-ec1e595b]:hover{background:var(--bg-tertiary)}.details-modal-header h3[data-v-ec1e595b]{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600;flex:1;text-align:center}.details-modal .modal-body[data-v-ec1e595b]{flex:1;overflow-y:auto;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;min-height:0}@media (min-width: 769px){.details-modal-overlay[data-v-ec1e595b]{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.details-modal[data-v-ec1e595b]{width:95vw;height:95vh;max-width:95vw;max-height:95vh;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-heavy)}.modal-back-btn[data-v-ec1e595b]{display:none}.details-modal-header h3[data-v-ec1e595b]{text-align:left}.details-modal .modal-body[data-v-ec1e595b]{flex:1;overflow-y:auto;max-height:none}}@media (max-width: 768px){.modal[data-v-ec1e595b]{width:95vw;max-height:95vh}.modal-header[data-v-ec1e595b],.modal-body[data-v-ec1e595b]{padding:1rem}.info-grid[data-v-ec1e595b]{grid-template-columns:1fr}.payslip-details[data-v-ec1e595b]{gap:1rem}.details-section[data-v-ec1e595b]{border-radius:8px;padding:1rem;margin:0}.details-section h4[data-v-ec1e595b]{font-size:1rem;margin-bottom:.75rem}.info-item[data-v-ec1e595b]{background:var(--bg-primary);padding:.75rem;border-radius:6px;border:1px solid var(--border-color)}.info-item label[data-v-ec1e595b]{font-size:.8rem;margin-bottom:.25rem}.info-item span[data-v-ec1e595b]{font-size:.9rem}.items-table[data-v-ec1e595b]{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.items-table table[data-v-ec1e595b]{min-width:500px;font-size:.85rem}.items-table th[data-v-ec1e595b],.items-table td[data-v-ec1e595b]{padding:.6rem .5rem}.items-table th[data-v-ec1e595b]{font-size:.8rem;position:sticky;top:0;z-index:1}.items-table th[data-v-ec1e595b]:last-child,.items-table td[data-v-ec1e595b]:last-child{text-align:right;font-weight:600}.items-table tr[data-v-ec1e595b]:hover{background:var(--bg-tertiary)}.net-salary[data-v-ec1e595b]{padding:1.25rem 1rem;margin:1rem 0}.net-salary-row[data-v-ec1e595b]{flex-direction:column;gap:.5rem;font-size:1.1rem}.net-salary .amount[data-v-ec1e595b]{font-size:1.4rem}}.modal-overlay[data-v-82f636f8]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-82f636f8]{background:var(--bg-primary);border-radius:12px;max-width:90vw;max-height:90vh;width:500px;overflow:hidden;box-shadow:var(--shadow-heavy);border:1px solid var(--border-color)}.modal-header[data-v-82f636f8]{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.modal-header h3[data-v-82f636f8]{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-close[data-v-82f636f8]{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close[data-v-82f636f8]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-82f636f8]{padding:1.5rem;max-height:70vh;overflow-y:auto}.import-form[data-v-82f636f8]{display:flex;flex-direction:column;gap:20px}.file-upload-area[data-v-82f636f8]{border:2px dashed var(--color-border);border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative}.file-upload-area[data-v-82f636f8]:hover{border-color:var(--color-primary);background-color:var(--color-background-soft)}.file-upload-area.drag-over[data-v-82f636f8]{border-color:var(--color-primary);background-color:var(--color-primary-soft)}.file-upload-area.has-file[data-v-82f636f8]{border-color:var(--color-success);background-color:var(--color-success-soft)}.file-upload-area.error[data-v-82f636f8]{border-color:var(--color-danger);background-color:var(--color-danger-soft)}.file-input[data-v-82f636f8]{display:none}.upload-prompt[data-v-82f636f8]{pointer-events:none}.upload-icon[data-v-82f636f8]{font-size:48px;margin-bottom:10px}.upload-text[data-v-82f636f8]{font-size:16px;font-weight:500;color:var(--color-text);margin:0 0 5px}.upload-hint[data-v-82f636f8]{font-size:14px;color:var(--color-text-muted);margin:0}.selected-file[data-v-82f636f8]{pointer-events:none}.file-info[data-v-82f636f8]{display:flex;align-items:center;gap:15px}.file-icon[data-v-82f636f8]{font-size:24px}.file-details[data-v-82f636f8]{flex:1;text-align:left}.file-name[data-v-82f636f8]{font-weight:500;color:var(--color-text);margin:0 0 5px}.file-size[data-v-82f636f8]{font-size:14px;color:var(--color-text-muted);margin:0}.remove-file[data-v-82f636f8]{background:var(--color-danger);border:none;border-radius:50%;color:#fff;width:24px;height:24px;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;font-size:16px}.remove-file[data-v-82f636f8]:hover{background:var(--color-danger-dark)}.error-message[data-v-82f636f8]{color:var(--color-danger);font-size:14px;margin-top:-10px}.info-message[data-v-82f636f8]{display:flex;align-items:center;gap:10px;padding:12px;background-color:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:6px;font-size:14px;color:var(--color-text)}.info-icon[data-v-82f636f8]{font-size:16px}.info-message p[data-v-82f636f8]{margin:0}.form-row[data-v-82f636f8]{display:flex;gap:15px}.form-group[data-v-82f636f8]{flex:1}.form-group label[data-v-82f636f8]{display:block;margin-bottom:5px;font-weight:500;color:var(--color-text)}.form-select[data-v-82f636f8]{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-background);color:var(--color-text);font-size:14px}.form-select[data-v-82f636f8]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.checkbox-message[data-v-82f636f8]{display:flex;align-items:center;gap:10px;padding:12px;background-color:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:6px;font-size:14px;color:var(--color-text)}.checkbox-input[data-v-82f636f8]{display:none}.checkbox-label[data-v-82f636f8]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-icon[data-v-82f636f8]{font-size:16px;transition:all .2s}.checkbox-text[data-v-82f636f8]{margin:0}.form-actions[data-v-82f636f8]{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.btn[data-v-82f636f8]{padding:8px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.btn-primary[data-v-82f636f8]{background:var(--blue-gradient);color:var(--text-inverse);position:relative;overflow:hidden;border:none}.btn-primary[data-v-82f636f8]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-primary[data-v-82f636f8]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary[data-v-82f636f8]:hover:before{left:100%}.btn-secondary[data-v-82f636f8]{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-82f636f8]:hover:not(:disabled){background-color:var(--primary-blue);color:var(--text-inverse);border-color:var(--primary-blue);transform:translateY(-1px)}.btn-green[data-v-82f636f8]{background:#28a745!important;color:#fff!important;border:none!important}.btn-green[data-v-82f636f8]:hover:not(:disabled){background:#218838!important;transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.btn[data-v-82f636f8]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.progress-container[data-v-82f636f8]{text-align:center;padding:20px 0}.progress-bar[data-v-82f636f8]{width:100%;height:8px;background:var(--color-background-soft);border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill[data-v-82f636f8]{height:100%;background:var(--color-primary);transition:width .3s ease}.progress-status[data-v-82f636f8]{font-size:14px;color:var(--color-text);margin:10px 0 5px}.progress-percent[data-v-82f636f8]{font-size:18px;font-weight:600;color:var(--color-primary);margin:0}.result-container[data-v-82f636f8]{text-align:center;padding:20px 0}.success-message[data-v-82f636f8],.error-message[data-v-82f636f8]{margin-bottom:20px}.success-icon[data-v-82f636f8],.error-icon[data-v-82f636f8]{font-size:48px;margin-bottom:15px}.success-message h4[data-v-82f636f8]{color:var(--color-success);margin:0 0 10px}.error-message h4[data-v-82f636f8]{color:var(--color-danger);margin:0 0 10px}.result-details[data-v-82f636f8]{margin-top:15px;padding-top:15px;border-top:1px solid var(--color-border)}.result-details p[data-v-82f636f8]{font-size:14px;color:var(--color-text-muted);margin:5px 0}.result-actions[data-v-82f636f8]{display:flex;gap:10px;justify-content:center}.payslips-header[data-v-fd5696ae]{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-title[data-v-fd5696ae]{display:flex;flex-direction:column;gap:.5rem}.header-title h2[data-v-fd5696ae]{margin:0}.connection-status[data-v-fd5696ae]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary)}.status-dot[data-v-fd5696ae]{width:8px;height:8px;border-radius:50%;background-color:var(--text-muted);animation:pulse-fd5696ae 2s infinite}.connection-status.connected .status-dot[data-v-fd5696ae]{background-color:#10b981;animation:none}.connection-status.disconnected .status-dot[data-v-fd5696ae]{background-color:#ef4444;animation:pulse-fd5696ae 1s infinite}@keyframes pulse-fd5696ae{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.header-actions[data-v-fd5696ae]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.year-selector[data-v-fd5696ae]{display:flex;gap:.5rem}.year-select[data-v-fd5696ae]{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg);color:var(--text-primary);font-size:.9rem}.year-select[data-v-fd5696ae]:focus{outline:none;border-color:var(--primary-blue)}.progress-container[data-v-fd5696ae]{margin-bottom:2rem;padding:1rem;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color)}.progress-bar[data-v-fd5696ae]{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill[data-v-fd5696ae]{height:100%;background:var(--blue-gradient);transition:width .3s ease}.progress-status[data-v-fd5696ae]{margin:0;font-size:.9rem;color:var(--text-secondary);text-align:center}.loading-container[data-v-fd5696ae]{text-align:center;padding:2rem;color:var(--text-secondary)}.empty-state[data-v-fd5696ae]{text-align:center;padding:3rem 1rem;color:var(--text-secondary);background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color)}.payslips-table-container[data-v-fd5696ae]{background:var(--bg-card);border-radius:8px;box-shadow:var(--shadow-medium);border:1px solid var(--border-color)}.payslips-table[data-v-fd5696ae]{width:100%;border-collapse:collapse}.payslips-table thead[data-v-fd5696ae]{background:var(--bg-secondary)}.payslips-table th[data-v-fd5696ae]{padding:1rem .75rem;text-align:left;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.payslips-table th[data-v-fd5696ae]:first-child{padding-left:1.5rem}.payslips-table th[data-v-fd5696ae]:last-child{padding-right:1.5rem;text-align:center}.payslips-table th[data-v-fd5696ae]:nth-child(2),.payslips-table th[data-v-fd5696ae]:nth-child(3),.payslips-table th[data-v-fd5696ae]:nth-child(4),.payslips-table th[data-v-fd5696ae]:nth-child(5),.payslips-table th[data-v-fd5696ae]:nth-child(6){text-align:right}.payslips-table th[data-v-fd5696ae]:nth-child(7){text-align:center}.payslips-table tbody tr[data-v-fd5696ae]{border-bottom:1px solid var(--border-color);transition:background-color .2s}.payslips-table tbody tr[data-v-fd5696ae]:hover{background:var(--bg-tertiary)}.payslips-table tbody tr.no-data-row td[data-v-fd5696ae]:not(.actions-cell){opacity:.6}.payslips-table tbody tr.no-data-row[data-v-fd5696ae]:hover{background:var(--bg-secondary)}.payslips-table tbody tr[data-v-fd5696ae]:last-child{border-bottom:none}.payslips-table td[data-v-fd5696ae]{padding:1rem .75rem;vertical-align:middle;font-size:1rem}.payslips-table td[data-v-fd5696ae]:first-child{padding-left:1.5rem}.payslips-table td[data-v-fd5696ae]:last-child{padding-right:1.5rem}.payslips-table th[data-v-fd5696ae]:nth-child(1){width:60px!important;max-width:60px!important;min-width:60px!important}.payslips-table th[data-v-fd5696ae]:nth-child(2),.payslips-table th[data-v-fd5696ae]:nth-child(3),.payslips-table th[data-v-fd5696ae]:nth-child(4),.payslips-table th[data-v-fd5696ae]:nth-child(5),.payslips-table th[data-v-fd5696ae]:nth-child(6){width:15%}.payslips-table th[data-v-fd5696ae]:nth-child(7){width:17%}.payslips-table th[data-v-fd5696ae]:nth-child(8){width:5%}.month-cell[data-v-fd5696ae]{width:60px!important;max-width:60px!important;min-width:60px!important;overflow:hidden;display:inline-block}.month-info[data-v-fd5696ae]{display:flex;align-items:center}.month-year[data-v-fd5696ae]{font-weight:600;color:var(--text-primary);font-size:1rem;white-space:nowrap}.amount-cell[data-v-fd5696ae]{text-align:right;overflow:hidden}.amount-cell .amount[data-v-fd5696ae]{font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}.amount-cell.income .amount[data-v-fd5696ae]{color:var(--success-color)}.amount-cell.allowances .amount[data-v-fd5696ae]{color:var(--primary-blue)}.amount-cell.deduction .amount[data-v-fd5696ae]{color:var(--danger-color)}.amount-cell.net-salary-cell .amount[data-v-fd5696ae]{color:var(--text-primary);font-weight:600;font-size:1rem}.amount-cell .loading-text[data-v-fd5696ae]{color:var(--text-secondary);font-style:italic;font-size:.8rem}.amount-cell .no-data[data-v-fd5696ae]{color:var(--text-muted);font-style:italic}.status-cell[data-v-fd5696ae]{overflow:hidden}.status-info[data-v-fd5696ae]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem}.status-info.single-line[data-v-fd5696ae]{flex-direction:row}.status-badge[data-v-fd5696ae]{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;display:inline-block}.status-pending[data-v-fd5696ae]{background:#fef3c7;color:#92400e}.status-downloading[data-v-fd5696ae]{background:#dbeafe;color:#1e40af}.status-completed[data-v-fd5696ae]{background:#d1fae5;color:#065f46}.status-failed[data-v-fd5696ae]{background:#fee2e2;color:#991b1b}.status-not-available[data-v-fd5696ae]{background:#f3f4f6;color:#6b7280;font-style:italic}.status-ocr[data-v-fd5696ae]{background:#dbeafe;color:#1e40af}.actions-cell[data-v-fd5696ae]{text-align:center;overflow:visible}.action-dropdown[data-v-fd5696ae]{position:relative;display:inline-block}.action-dropdown-btn[data-v-fd5696ae]{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary);transition:all .2s}.action-dropdown-btn[data-v-fd5696ae]:hover{background:var(--primary-blue);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-medium)}.action-dropdown.active .action-dropdown-btn[data-v-fd5696ae]{background:var(--primary-blue);color:#fff}.action-dropdown-menu[data-v-fd5696ae]{position:absolute;right:0;top:100%;margin-top:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-heavy);min-width:160px;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s}.action-dropdown.active .action-dropdown-menu[data-v-fd5696ae]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item[data-v-fd5696ae]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:none;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background-color .2s;text-align:left}.dropdown-item[data-v-fd5696ae]:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.dropdown-item[data-v-fd5696ae]:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.dropdown-item[data-v-fd5696ae]:hover:not(:disabled){background:var(--bg-tertiary)}.dropdown-item[data-v-fd5696ae]:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted)}.dropdown-icon[data-v-fd5696ae]{font-size:1rem;width:16px;text-align:center;flex-shrink:0}.btn[data-v-fd5696ae]{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.btn-primary[data-v-fd5696ae]{background:var(--blue-gradient);color:var(--text-inverse);position:relative;overflow:hidden}.btn-primary[data-v-fd5696ae]:hover{transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-primary[data-v-fd5696ae]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary[data-v-fd5696ae]:hover:before{left:100%}.btn-secondary[data-v-fd5696ae]{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-fd5696ae]:hover{background-color:var(--primary-blue);color:var(--text-inverse);border-color:var(--primary-blue);transform:translateY(-1px)}.btn-icon[data-v-fd5696ae]{width:40px;height:40px;padding:0;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0;transition:all .2s;position:relative}.btn-icon.btn-secondary[data-v-fd5696ae]{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-icon.btn-secondary[data-v-fd5696ae]:hover:not(:disabled){background-color:var(--primary-blue);color:#fff;border-color:var(--primary-blue);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.btn-icon.btn-primary[data-v-fd5696ae]{background:var(--blue-gradient);color:#fff;border:none}.btn-icon.btn-primary[data-v-fd5696ae]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-icon[data-v-fd5696ae]:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.spinning[data-v-fd5696ae]{animation:spin-fd5696ae 1s linear infinite}@keyframes spin-fd5696ae{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay[data-v-fd5696ae]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-fd5696ae]{background:var(--bg-primary);border-radius:12px;max-width:90vw;max-height:90vh;width:900px;overflow:hidden;box-shadow:var(--shadow-heavy);border:1px solid var(--border-color)}.details-modal-overlay[data-v-fd5696ae]{background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none;animation:slideInFromRight-fd5696ae .3s ease-out}.details-modal[data-v-fd5696ae]{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;border:none;box-shadow:none;display:flex;flex-direction:column;transform:translate(0);transition:transform .3s ease-out;position:relative;overflow:hidden}@keyframes slideInFromRight-fd5696ae{0%{transform:translate(100%)}to{transform:translate(0)}}.details-modal-header[data-v-fd5696ae]{background:var(--bg-secondary);padding:1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);position:relative;min-height:60px}.modal-back-btn[data-v-fd5696ae]{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s;margin-right:1rem}.modal-back-btn[data-v-fd5696ae]:hover{background:var(--bg-tertiary)}.details-modal-header h3[data-v-fd5696ae]{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600;flex:1;text-align:center}.details-modal .modal-body[data-v-fd5696ae]{flex:1;overflow-y:auto;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;min-height:0}@media (min-width: 769px){.details-modal-overlay[data-v-fd5696ae]{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.details-modal[data-v-fd5696ae]{width:95vw;height:95vh;max-width:95vw;max-height:95vh;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-heavy)}.modal-back-btn[data-v-fd5696ae]{display:none}.details-modal-header h3[data-v-fd5696ae]{text-align:left}.details-modal .modal-body[data-v-fd5696ae]{flex:1;overflow-y:auto;max-height:none}}.modal-header[data-v-fd5696ae]{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.modal-header h3[data-v-fd5696ae]{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-close[data-v-fd5696ae]{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close[data-v-fd5696ae]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-fd5696ae]{padding:1.5rem;overflow-y:auto}.details-modal .modal-body[data-v-fd5696ae]{max-height:none!important}.payslip-details[data-v-fd5696ae]{display:flex;flex-direction:column;gap:1.5rem}.details-section[data-v-fd5696ae]{background:var(--bg-secondary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color)}@media (max-width: 768px){.payslip-details[data-v-fd5696ae]{gap:1rem}.details-section[data-v-fd5696ae]{border-radius:8px;padding:1rem;margin:0}.details-section h4[data-v-fd5696ae]{font-size:1rem;margin-bottom:.75rem}}.details-section h4[data-v-fd5696ae]{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.info-grid[data-v-fd5696ae]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item[data-v-fd5696ae]{display:flex;flex-direction:column;gap:.25rem}.info-item label[data-v-fd5696ae]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.info-item span[data-v-fd5696ae]{color:var(--text-primary);font-weight:500}@media (max-width: 768px){.info-grid[data-v-fd5696ae]{grid-template-columns:1fr;gap:.75rem}.info-item[data-v-fd5696ae]{background:var(--bg-primary);padding:.75rem;border-radius:6px;border:1px solid var(--border-color)}.info-item label[data-v-fd5696ae]{font-size:.8rem;margin-bottom:.25rem}.info-item span[data-v-fd5696ae]{font-size:.9rem}}.items-container[data-v-fd5696ae]{display:flex;flex-direction:column;gap:2rem}.items-category[data-v-fd5696ae]{background:var(--bg-primary);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.category-title[data-v-fd5696ae]{margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.category-title.income[data-v-fd5696ae]{color:var(--success-color)}.category-title.deduction[data-v-fd5696ae]{color:var(--danger-color)}.items-table table[data-v-fd5696ae]{width:100%;border-collapse:collapse;font-size:.9rem}.items-table th[data-v-fd5696ae],.items-table td[data-v-fd5696ae]{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.items-table th[data-v-fd5696ae]{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.items-table[data-v-fd5696ae]{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.items-table table[data-v-fd5696ae]{min-width:500px;font-size:.85rem}.items-table th[data-v-fd5696ae],.items-table td[data-v-fd5696ae]{padding:.6rem .5rem}.items-table th[data-v-fd5696ae]{font-size:.8rem;position:sticky;top:0;z-index:1}.items-table th[data-v-fd5696ae]:last-child,.items-table td[data-v-fd5696ae]:last-child{text-align:right;font-weight:600}}.items-table tr[data-v-fd5696ae]:hover{background:var(--bg-tertiary)}.item-type[data-v-fd5696ae]{padding:.25rem .5rem;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-size:.75rem;text-transform:uppercase;font-weight:500}.amount[data-v-fd5696ae]{font-weight:600;text-align:right}.amount.income[data-v-fd5696ae]{color:var(--success-color)}.amount.deduction[data-v-fd5696ae]{color:var(--danger-color)}.total-row[data-v-fd5696ae]{background:var(--bg-tertiary);font-weight:600}.total-row td[data-v-fd5696ae]{border-top:2px solid var(--border-color);padding-top:1rem}.net-salary[data-v-fd5696ae]{background:var(--bg-primary);border:2px solid var(--primary-blue);border-radius:8px;padding:1.5rem;text-align:center}.net-salary-row[data-v-fd5696ae]{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700}.net-salary .label[data-v-fd5696ae]{color:var(--text-primary)}.net-salary .amount[data-v-fd5696ae]{color:var(--primary-blue);font-size:1.5rem}@media (max-width: 768px){.net-salary[data-v-fd5696ae]{padding:1.25rem 1rem;margin:1rem 0}.net-salary-row[data-v-fd5696ae]{flex-direction:column;gap:.5rem;font-size:1.1rem}.net-salary .amount[data-v-fd5696ae]{font-size:1.4rem}}.no-items[data-v-fd5696ae]{text-align:center;padding:2rem;color:var(--text-secondary);background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.loading-container[data-v-fd5696ae],.error-container[data-v-fd5696ae]{text-align:center;padding:2rem;color:var(--text-secondary)}.error-container[data-v-fd5696ae]{color:var(--danger-color)}@media (max-width: 1024px){.payslips-table[data-v-fd5696ae]{font-size:.85rem}.payslips-table th[data-v-fd5696ae],.payslips-table td[data-v-fd5696ae]{padding:.75rem .5rem}.payslips-table th[data-v-fd5696ae]:first-child,.payslips-table td[data-v-fd5696ae]:first-child{padding-left:1rem}.payslips-table th[data-v-fd5696ae]:last-child,.payslips-table td[data-v-fd5696ae]:last-child{padding-right:1rem}.action-dropdown-btn[data-v-fd5696ae]{width:28px;height:28px}.dropdown-item[data-v-fd5696ae]{padding:.6rem .8rem;font-size:.85rem}}@media (max-width: 768px){.header-actions[data-v-fd5696ae]{gap:.75rem}.btn-icon[data-v-fd5696ae]{width:36px;height:36px}.payslips-table-container[data-v-fd5696ae]{overflow-x:visible}.payslips-table[data-v-fd5696ae]{min-width:unset}.payslips-table th[data-v-fd5696ae]:nth-child(3),.payslips-table th[data-v-fd5696ae]:nth-child(4),.payslips-table th[data-v-fd5696ae]:nth-child(5),.payslips-table th[data-v-fd5696ae]:nth-child(7),.payslips-table td[data-v-fd5696ae]:nth-child(3),.payslips-table td[data-v-fd5696ae]:nth-child(4),.payslips-table td[data-v-fd5696ae]:nth-child(5),.payslips-table td[data-v-fd5696ae]:nth-child(7){display:none}.payslips-table th[data-v-fd5696ae],.payslips-table td[data-v-fd5696ae]{padding:.75rem .5rem}.payslips-table th[data-v-fd5696ae]:first-child,.payslips-table td[data-v-fd5696ae]:first-child{padding-left:1rem}.payslips-table th[data-v-fd5696ae]:last-child,.payslips-table td[data-v-fd5696ae]:last-child{padding-right:1rem}.payslips-table th[data-v-fd5696ae]:nth-child(1){width:20%}.payslips-table th[data-v-fd5696ae]:nth-child(2){width:35%}.payslips-table th[data-v-fd5696ae]:nth-child(6){width:35%}.payslips-table th[data-v-fd5696ae]:nth-child(8){width:10%}.month-year[data-v-fd5696ae]{font-weight:600}.action-dropdown-btn[data-v-fd5696ae]{width:32px;height:32px}.dropdown-item[data-v-fd5696ae]{padding:.75rem 1rem;font-size:.9rem;min-height:44px;display:flex;align-items:center}.action-dropdown-menu[data-v-fd5696ae]{right:-10px;min-width:200px}.modal[data-v-fd5696ae]{width:95vw;max-height:95vh}.modal-header[data-v-fd5696ae],.modal-body[data-v-fd5696ae]{padding:1rem}.info-grid[data-v-fd5696ae]{grid-template-columns:1fr}.items-table[data-v-fd5696ae]{font-size:.8rem}.items-table th[data-v-fd5696ae],.items-table td[data-v-fd5696ae]{padding:.5rem}.net-salary-row[data-v-fd5696ae]{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.payslips-header[data-v-fd5696ae]{flex-direction:column;align-items:stretch;gap:1rem}.header-actions[data-v-fd5696ae]{justify-content:center;gap:1rem}.year-selector[data-v-fd5696ae]{flex:1}.year-select[data-v-fd5696ae]{width:100%}.btn-icon[data-v-fd5696ae]{width:36px;height:36px}.payslips-table th[data-v-fd5696ae],.payslips-table td[data-v-fd5696ae]{padding:.6rem .4rem}.payslips-table th[data-v-fd5696ae]:first-child,.payslips-table td[data-v-fd5696ae]:first-child{padding-left:.75rem}.payslips-table th[data-v-fd5696ae]:last-child,.payslips-table td[data-v-fd5696ae]:last-child{padding-right:.75rem}.payslips-table th[data-v-fd5696ae]:nth-child(1){width:18%}.payslips-table th[data-v-fd5696ae]:nth-child(2){width:36%}.payslips-table th[data-v-fd5696ae]:nth-child(6){width:36%}.payslips-table th[data-v-fd5696ae]:nth-child(8){width:10%}.action-dropdown-btn[data-v-fd5696ae]{width:26px;height:26px}.action-dropdown-menu[data-v-fd5696ae]{right:-15px;min-width:160px}.dropdown-item[data-v-fd5696ae]{padding:.5rem .7rem;font-size:.8rem}.dropdown-icon[data-v-fd5696ae]{font-size:.9rem}}.logs-modal[data-v-fd5696ae]{max-width:800px;width:90vw;max-height:90vh;overflow-y:auto}.logs-content[data-v-fd5696ae]{display:flex;flex-direction:column;gap:1.5rem}.logs-section[data-v-fd5696ae]{background:var(--bg-secondary);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.logs-section h4[data-v-fd5696ae]{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.status-grid[data-v-fd5696ae]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.status-item[data-v-fd5696ae]{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.status-label[data-v-fd5696ae]{font-weight:500;color:var(--text-secondary)}.status-value[data-v-fd5696ae]{font-weight:600}.status-completed[data-v-fd5696ae]{background-color:#22c55e;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-failed[data-v-fd5696ae]{background-color:#ef4444;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-processing[data-v-fd5696ae]{background-color:#f59e0b;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-pending[data-v-fd5696ae]{background-color:#6b7280;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-unknown[data-v-fd5696ae]{background-color:#9ca3af;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.operations-list[data-v-fd5696ae]{display:flex;flex-direction:column;gap:.75rem}.operation-item[data-v-fd5696ae]{background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);padding:.75rem}.operation-header[data-v-fd5696ae]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.operation-status[data-v-fd5696ae]{font-size:1.2rem}.operation-name[data-v-fd5696ae]{font-weight:600;color:var(--text-primary);flex:1}.operation-status-text[data-v-fd5696ae]{font-weight:600;text-transform:capitalize;padding:.2rem .4rem;border-radius:4px;font-size:.8rem}.operation-details[data-v-fd5696ae]{display:flex;flex-direction:column;gap:.25rem;margin-left:2rem}.operation-time[data-v-fd5696ae],.operation-message[data-v-fd5696ae]{font-size:.9rem;color:var(--text-secondary)}.op-status-completed[data-v-fd5696ae]{background-color:#22c55e;color:#fff}.op-status-failed[data-v-fd5696ae]{background-color:#ef4444;color:#fff}.op-status-processing[data-v-fd5696ae]{background-color:#f59e0b;color:#fff}.op-status-unknown[data-v-fd5696ae]{background-color:#9ca3af;color:#fff}.warnings-list[data-v-fd5696ae],.errors-list[data-v-fd5696ae]{margin-bottom:1rem}.warnings-list h5[data-v-fd5696ae]{color:var(--warning-color);margin:0 0 .5rem;font-size:1rem}.errors-list h5[data-v-fd5696ae]{color:var(--danger-color);margin:0 0 .5rem;font-size:1rem}.warnings-list ul[data-v-fd5696ae],.errors-list ul[data-v-fd5696ae]{margin:0;padding-left:1rem;list-style:none}.warning-item[data-v-fd5696ae]{color:var(--warning-color);margin-bottom:.25rem}.error-item[data-v-fd5696ae]{color:var(--danger-color);margin-bottom:.25rem}.no-operations[data-v-fd5696ae],.no-issues[data-v-fd5696ae]{text-align:center;color:var(--text-secondary);font-style:italic}.no-issues p[data-v-fd5696ae]{color:var(--success-color);font-weight:500}@media (max-width: 768px){.logs-modal[data-v-fd5696ae]{width:95vw;max-height:85vh}.status-grid[data-v-fd5696ae]{grid-template-columns:1fr}.operation-header[data-v-fd5696ae]{flex-direction:column;align-items:flex-start;gap:.5rem}.operation-details[data-v-fd5696ae]{margin-left:0}}.payment-schedule-page[data-v-7c326295]{min-height:100vh;background:var(--bg-primary);padding-bottom:80px}.payment-schedule-header[data-v-7c326295]{position:sticky;top:0;z-index:100;background:var(--bg-nav);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);padding:1rem}.header-content[data-v-7c326295]{display:flex;justify-content:space-between;align-items:center;max-width:480px;margin:0 auto}.header-controls[data-v-7c326295]{display:flex;align-items:center;gap:.75rem}.page-title[data-v-7c326295]{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.year-selector[data-v-7c326295]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.year-selector[data-v-7c326295]:hover{border-color:var(--primary-blue)}.year-selector[data-v-7c326295]:disabled{opacity:.6;cursor:not-allowed}.refresh-btn[data-v-7c326295]{display:flex;align-items:center;gap:.5rem;background:var(--primary-blue);color:#fff;border:none;border-radius:8px;padding:.5rem .75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:fit-content;white-space:nowrap}.refresh-btn[data-v-7c326295]:hover:not(:disabled){background:var(--primary-blue-dark, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.refresh-btn[data-v-7c326295]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.refresh-btn svg.spinning[data-v-7c326295]{animation:spin-7c326295 1s linear infinite}.status-indicators[data-v-7c326295]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem 0}.status-badge[data-v-7c326295]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.status-badge.offline[data-v-7c326295]{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.status-badge.cache[data-v-7c326295]{background:rgba(34,197,94,.1);color:#059669;border:1px solid rgba(34,197,94,.2);animation:fadeInOut-7c326295 2s ease-in-out}@keyframes fadeInOut-7c326295{0%{opacity:0;transform:translateY(-5px)}50%{opacity:1;transform:translateY(0)}to{opacity:.8;transform:translateY(0)}}.loading-container[data-v-7c326295],.error-container[data-v-7c326295]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.loading-spinner[data-v-7c326295]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-blue);border-radius:50%;animation:spin-7c326295 1s linear infinite;margin-bottom:1rem}@keyframes spin-7c326295{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon[data-v-7c326295]{font-size:3rem;margin-bottom:1rem}.retry-btn[data-v-7c326295]{background:var(--primary-blue);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:background .2s ease}.retry-btn[data-v-7c326295]:hover{background:var(--primary-blue-dark)}.payment-schedule-container[data-v-7c326295]{padding:1rem;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}@media (min-width: 768px) and (max-width: 1024px){.payment-schedule-container[data-v-7c326295]{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (min-width: 1025px){.payment-schedule-container[data-v-7c326295]{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1400px){.payment-schedule-container[data-v-7c326295]{grid-template-columns:repeat(4,1fr)}}.payment-card[data-v-7c326295]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000d;position:relative}.payment-card[data-v-7c326295]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.payment-card.current-month[data-v-7c326295]{border-color:var(--primary-blue);background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(59,130,246,.05) 100%)}.countdown-badge[data-v-7c326295]{position:absolute;top:1rem;right:1rem;padding:.5rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;box-shadow:0 2px 8px #0003;z-index:10;transition:all .3s ease}.countdown-badge.normal[data-v-7c326295]{background:linear-gradient(135deg,#10b981,#059669)}.countdown-badge.warning[data-v-7c326295]{background:linear-gradient(135deg,#f59e0b,#d97706)}.countdown-badge.urgent[data-v-7c326295]{background:linear-gradient(135deg,#ef4444,#dc2626);animation:pulse-7c326295 2s infinite}.countdown-badge.today[data-v-7c326295]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);animation:pulse-7c326295 1.5s infinite}.countdown-badge.past[data-v-7c326295]{background:linear-gradient(135deg,#6b7280,#4b5563);opacity:.8}@keyframes pulse-7c326295{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.month-header[data-v-7c326295]{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.current-indicator[data-v-7c326295]{color:var(--primary-blue);font-size:1.2rem}.payment-info[data-v-7c326295]{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.date-box[data-v-7c326295]{background:var(--primary-blue);color:#fff;border-radius:12px;padding:1rem;text-align:center;min-width:80px;box-shadow:0 4px 12px #3b82f64d}.day-number[data-v-7c326295]{font-size:2rem;font-weight:900;line-height:1;margin-bottom:.25rem}.month-abbr[data-v-7c326295]{font-size:.75rem;font-weight:600;opacity:.9}.day-name[data-v-7c326295]{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.full-date[data-v-7c326295]{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.holiday-section[data-v-7c326295]{margin-top:1rem}.holiday-badge[data-v-7c326295]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;line-height:1.2}.holiday-badge.chinese[data-v-7c326295],.holiday-badge.christmas[data-v-7c326295]{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.holiday-badge.islamic[data-v-7c326295]{background:rgba(34,197,94,.1);color:#059669;border:1px solid rgba(34,197,94,.2)}.holiday-badge.other[data-v-7c326295]{background:rgba(245,158,11,.1);color:#d97706;border:1px solid rgba(245,158,11,.2)}.no-notes[data-v-7c326295]{color:var(--text-muted);font-size:.9rem;font-style:italic}@media (prefers-color-scheme: dark){.payment-card[data-v-7c326295]{box-shadow:0 2px 8px #0003}.payment-card[data-v-7c326295]:hover{box-shadow:0 4px 16px #0000004d}}@media (max-width: 767px){.payment-schedule-container[data-v-7c326295]{grid-template-columns:1fr;max-width:480px;padding:.5rem;gap:1rem}.payment-card[data-v-7c326295]{padding:1rem}.countdown-badge[data-v-7c326295]{top:.75rem;right:.75rem;padding:.375rem .5rem;font-size:.7rem;border-radius:8px}.payment-info[data-v-7c326295]{gap:1rem}.date-box[data-v-7c326295]{min-width:70px;padding:.75rem}.day-number[data-v-7c326295]{font-size:1.75rem}.header-controls[data-v-7c326295]{gap:.5rem}.refresh-btn[data-v-7c326295]{padding:.4rem .6rem;font-size:.8rem}.refresh-btn span[data-v-7c326295]{display:none}.refresh-btn svg[data-v-7c326295]{width:18px;height:18px}}.modal-overlay[data-v-16a5c6f8]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modalFadeIn-16a5c6f8 .2s ease-out}.modal-content[data-v-16a5c6f8]{background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-heavy);border:1px solid var(--border-color);max-width:480px;width:100%;max-height:90vh;overflow:hidden;animation:modalSlideIn-16a5c6f8 .3s ease-out}.modal-header[data-v-16a5c6f8]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-16a5c6f8]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close[data-v-16a5c6f8]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close[data-v-16a5c6f8]:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--text-primary)}.modal-body[data-v-16a5c6f8]{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 140px)}.password-form[data-v-16a5c6f8]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-16a5c6f8]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-16a5c6f8]{font-weight:600;color:var(--text-primary);font-size:.875rem}.input-wrapper[data-v-16a5c6f8]{position:relative;display:flex;align-items:center}.input-wrapper input[data-v-16a5c6f8]{width:100%;padding:.875rem 3rem .875rem .875rem;border:2px solid var(--input-border);border-radius:12px;font-size:1rem;background-color:var(--input-bg);color:var(--text-primary);transition:all .2s ease;min-height:48px}.input-wrapper input[data-v-16a5c6f8]:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.input-wrapper input[data-v-16a5c6f8]:disabled{opacity:.6;cursor:not-allowed}.password-toggle[data-v-16a5c6f8]{position:absolute;right:.875rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle[data-v-16a5c6f8]:hover{color:var(--text-primary)}.password-toggle[data-v-16a5c6f8]:disabled{opacity:.5;cursor:not-allowed}.password-strength[data-v-16a5c6f8]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.strength-indicator[data-v-16a5c6f8]{flex:1;height:4px;background:var(--bg-secondary, rgba(0, 0, 0, .1));border-radius:2px;overflow:hidden}.strength-bar[data-v-16a5c6f8]{height:100%;border-radius:2px;transition:all .3s ease}.strength-weak .strength-bar[data-v-16a5c6f8]{width:33%;background:#ef4444}.strength-medium .strength-bar[data-v-16a5c6f8]{width:66%;background:#f59e0b}.strength-strong .strength-bar[data-v-16a5c6f8]{width:100%;background:#10b981}.strength-text[data-v-16a5c6f8]{font-size:.75rem;font-weight:500;min-width:100px}.strength-weak .strength-text[data-v-16a5c6f8]{color:#ef4444}.strength-medium .strength-text[data-v-16a5c6f8]{color:#f59e0b}.strength-strong .strength-text[data-v-16a5c6f8]{color:#10b981}.modal-actions[data-v-16a5c6f8]{display:flex;gap:.75rem;margin-top:1rem}.btn[data-v-16a5c6f8]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease;min-height:48px;flex:1}.btn[data-v-16a5c6f8]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-16a5c6f8]{background:var(--blue-gradient);color:#fff!important}.btn-primary[data-v-16a5c6f8]:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-secondary[data-v-16a5c6f8]{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-16a5c6f8]:not(:disabled):hover{background:var(--bg-hover, rgba(0, 0, 0, .1))}.btn-spinner[data-v-16a5c6f8]{animation:spin-16a5c6f8 1s linear infinite}@keyframes spin-16a5c6f8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes modalFadeIn-16a5c6f8{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn-16a5c6f8{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.modal-overlay[data-v-16a5c6f8]{padding:.5rem;align-items:flex-end}.modal-content[data-v-16a5c6f8]{border-radius:20px 20px 0 0;max-height:85vh;margin-bottom:0}.modal-header[data-v-16a5c6f8],.modal-body[data-v-16a5c6f8]{padding:1.25rem}.modal-actions[data-v-16a5c6f8]{flex-direction:column-reverse}}@media (prefers-color-scheme: dark){.modal-overlay[data-v-16a5c6f8]{background:rgba(0,0,0,.8)}}@media (prefers-reduced-motion: reduce){.modal-overlay[data-v-16a5c6f8],.modal-content[data-v-16a5c6f8],.strength-bar[data-v-16a5c6f8],.btn[data-v-16a5c6f8]{animation:none!important;transition:none!important}}.settings[data-v-9b535710]{max-width:100%;padding:0;margin:0}.settings-header[data-v-9b535710]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-card);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.settings-header h2[data-v-9b535710]{margin:0;font-size:1.5rem;color:var(--text-primary)}.offline-indicator[data-v-9b535710]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e);border-radius:1rem;font-size:.875rem;font-weight:500}.settings-container[data-v-9b535710]{padding:1rem 1rem 6rem}.settings-section[data-v-9b535710]{background:var(--bg-card);border-radius:16px;padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-light);border:1px solid var(--border-color);overflow:hidden}.section-header[data-v-9b535710]{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.section-icon[data-v-9b535710]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-bg, rgba(37, 99, 235, .1));border-radius:12px;color:var(--primary-color, #2563eb)}.section-info h3[data-v-9b535710]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.section-info p[data-v-9b535710]{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.credentials-form[data-v-9b535710]{width:100%}.credentials-fields[data-v-9b535710]{display:flex;flex-direction:column;gap:1rem}.credentials-actions[data-v-9b535710]{margin-top:1rem}.form-group[data-v-9b535710]{margin-bottom:1.5rem}.form-group label[data-v-9b535710]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.875rem}.input-wrapper[data-v-9b535710]{position:relative;display:flex;align-items:center}.input-wrapper input[data-v-9b535710]{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid var(--input-border);border-radius:12px;font-size:1rem;background-color:var(--input-bg);color:var(--text-primary);transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-wrapper input[data-v-9b535710]:focus{outline:none;border-color:var(--primary-color, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.input-wrapper input[data-v-9b535710]:disabled{opacity:.6;cursor:not-allowed}.input-icon[data-v-9b535710]{position:absolute;right:1rem;color:var(--text-secondary);pointer-events:none}.password-toggle[data-v-9b535710]{position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle[data-v-9b535710]:hover{color:var(--text-primary)}.password-toggle[data-v-9b535710]:disabled{opacity:.5;cursor:not-allowed}.toggle-group[data-v-9b535710]{display:flex;flex-direction:column;gap:1rem}.toggle-item[data-v-9b535710]{padding:1rem;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:12px;border:1px solid var(--border-light, rgba(0, 0, 0, .1))}.toggle-label[data-v-9b535710]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:1rem}.toggle-info[data-v-9b535710]{flex:1}.toggle-title[data-v-9b535710]{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.toggle-description[data-v-9b535710]{display:block;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.toggle-wrapper[data-v-9b535710]{position:relative;flex-shrink:0}.toggle-input[data-v-9b535710]{opacity:0;position:absolute;width:0;height:0}.toggle-slider[data-v-9b535710]{display:block;width:48px;height:24px;background:var(--toggle-off-bg, #d1d5db);border-radius:12px;position:relative;transition:all .2s ease;cursor:pointer}.toggle-slider[data-v-9b535710]:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:white;top:2px;left:2px;transition:all .2s ease;box-shadow:0 1px 3px #0000004d}.toggle-input:checked+.toggle-slider[data-v-9b535710]{background:var(--primary-color, #2563eb)}.toggle-input:checked+.toggle-slider[data-v-9b535710]:before{transform:translate(24px)}.app-info[data-v-9b535710]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.info-item[data-v-9b535710]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .1))}.info-item[data-v-9b535710]:last-child{border-bottom:none}.info-label[data-v-9b535710]{font-weight:500;color:var(--text-secondary);font-size:.875rem}.info-value[data-v-9b535710]{font-weight:600;color:var(--text-primary);font-size:.875rem}.info-value.pwa-installed[data-v-9b535710],.info-value.online[data-v-9b535710]{color:var(--success-color, #059669)}.info-value.offline[data-v-9b535710]{color:var(--warning-color, #d97706)}.btn[data-v-9b535710]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease;min-height:48px;position:relative;overflow:hidden;line-height:1}.btn svg[data-v-9b535710]{flex-shrink:0;vertical-align:middle}.btn[data-v-9b535710]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-9b535710]{background:var(--blue-gradient);color:#fff!important;width:100%}.btn-primary[data-v-9b535710]:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-primary[data-v-9b535710]:not(:disabled):active{transform:translateY(0)}.btn-secondary[data-v-9b535710]{background:var(--bg-secondary, rgba(0, 0, 0, .05));color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-9b535710]:not(:disabled):hover{background:var(--bg-hover, rgba(0, 0, 0, .1))}.action-buttons[data-v-9b535710]{display:flex;flex-direction:column;gap:.75rem}.btn-spinner[data-v-9b535710]{animation:spin-9b535710 1s linear infinite}@keyframes spin-9b535710{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (min-width: 768px){.settings-container[data-v-9b535710]{padding:2rem;max-width:768px;margin:0 auto}.settings-section[data-v-9b535710]{padding:2rem;margin-bottom:1.5rem}.credentials-form[data-v-9b535710]{max-width:100%}.credentials-fields[data-v-9b535710]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.credentials-fields .form-group[data-v-9b535710]{margin-bottom:0}.credentials-actions[data-v-9b535710]{display:flex;justify-content:flex-end}.credentials-actions .btn-primary[data-v-9b535710]{width:auto!important;min-width:100px}.action-buttons[data-v-9b535710]{flex-direction:row;justify-content:flex-start}.btn-secondary[data-v-9b535710]{width:auto;min-width:140px}.toggle-item[data-v-9b535710]{padding:1.5rem}}@media (min-width: 1024px){.settings-container[data-v-9b535710]{max-width:896px}.settings-section[data-v-9b535710]{padding:2.5rem}}@media (prefers-color-scheme: dark){.offline-indicator[data-v-9b535710]{background:rgba(251,191,36,.2);color:#fbbf24}}@media (prefers-contrast: high){.settings-section[data-v-9b535710],.input-wrapper input[data-v-9b535710]{border-width:2px}.btn[data-v-9b535710]{border-width:2px;border-color:currentColor}}.profile-content[data-v-9b535710]{display:flex;flex-direction:column;gap:2rem}.profile-info[data-v-9b535710]{display:flex;flex-direction:column;gap:1.5rem}.readonly-input input[data-v-9b535710]{background-color:var(--bg-secondary, rgba(0, 0, 0, .02))!important;color:var(--text-secondary)!important;cursor:default}.readonly-input .input-icon[data-v-9b535710]{color:var(--text-disabled, rgba(0, 0, 0, .4))}.field-hint[data-v-9b535710]{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}.password-section[data-v-9b535710]{padding:1.5rem;background:var(--bg-secondary, rgba(0, 0, 0, .02));border-radius:12px;border:1px solid var(--border-light, rgba(0, 0, 0, .1))}.password-section h4[data-v-9b535710]{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.section-description[data-v-9b535710]{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.password-section .form-group[data-v-9b535710]:last-of-type{margin-bottom:1.5rem}.password-section .btn[data-v-9b535710]{width:100%}@media (min-width: 768px){.profile-content[data-v-9b535710]{gap:2.5rem}.password-section[data-v-9b535710]{padding:2rem}.password-section .btn[data-v-9b535710]{width:auto;min-width:160px}.profile-info .btn[data-v-9b535710]{width:auto;min-width:140px}}.admin-link[data-v-9b535710]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s ease;margin-bottom:1rem}.admin-link[data-v-9b535710]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.admin-link svg[data-v-9b535710]{flex-shrink:0}@media (prefers-reduced-motion: reduce){[data-v-9b535710]{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-settings[data-v-47eba2dc]{max-width:1200px;margin:0 auto;padding:1rem}.admin-header[data-v-47eba2dc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:1.5rem;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color)}.admin-header h2[data-v-47eba2dc]{margin:0;color:var(--text-primary);font-size:1.5rem}.admin-badge[data-v-47eba2dc]{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border-radius:8px;font-size:.875rem;font-weight:600}.admin-container[data-v-47eba2dc]{display:flex;flex-direction:column;gap:2rem}.status-section[data-v-47eba2dc],.config-section[data-v-47eba2dc]{background:var(--bg-card);border-radius:16px;padding:2rem;border:1px solid var(--border-color)}.section-header[data-v-47eba2dc]{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.section-icon[data-v-47eba2dc]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary-bg, rgba(37, 99, 235, .1));border-radius:12px;color:var(--primary-color, #2563eb)}.section-info[data-v-47eba2dc]{flex:1}.section-info h3[data-v-47eba2dc]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.section-info p[data-v-47eba2dc]{margin:0;font-size:.875rem;color:var(--text-secondary)}.status-grid[data-v-47eba2dc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.status-card[data-v-47eba2dc]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light)}.status-card.enabled[data-v-47eba2dc]{background:rgba(34,197,94,.1);border-color:#22c55e4d}.status-indicator[data-v-47eba2dc]{width:12px;height:12px;border-radius:50%;background:var(--text-disabled);transition:all .2s ease}.status-indicator.active[data-v-47eba2dc]{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.status-info h4[data-v-47eba2dc]{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.status-text[data-v-47eba2dc]{font-size:.75rem;color:var(--text-secondary)}.config-form[data-v-47eba2dc]{max-width:100%}.form-row[data-v-47eba2dc]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-47eba2dc]{margin-bottom:1rem}.form-group label[data-v-47eba2dc]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.875rem}.form-group input[data-v-47eba2dc]{width:100%;padding:.75rem;border:2px solid var(--input-border);border-radius:8px;font-size:.875rem;background-color:var(--input-bg);color:var(--text-primary);transition:all .2s ease}.form-group input[data-v-47eba2dc]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group small[data-v-47eba2dc]{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary)}.toggle-label[data-v-47eba2dc]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-label input[type=checkbox][data-v-47eba2dc]{width:auto;margin:0}.toggle-switch-container[data-v-47eba2dc]{display:flex;align-items:center;gap:.75rem;flex-direction:row}.toggle-switch[data-v-47eba2dc]{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;display:block;width:44px;height:24px}.toggle-switch input[type=checkbox][data-v-47eba2dc]{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0}.toggle-slider[data-v-47eba2dc]{position:relative;width:44px;height:24px;background:#ddd;border-radius:12px;transition:all .3s ease;flex-shrink:0;display:inline-block}.toggle-slider[data-v-47eba2dc]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch input[type=checkbox]:checked+.toggle-slider[data-v-47eba2dc]{background:var(--primary-blue)}.toggle-switch input[type=checkbox]:checked+.toggle-slider[data-v-47eba2dc]:before{transform:translate(20px)}.toggle-switch input[type=checkbox]:focus+.toggle-slider[data-v-47eba2dc]{box-shadow:0 0 0 3px #3b82f61a}.toggle-switch input[type=checkbox]:disabled+.toggle-slider[data-v-47eba2dc]{opacity:.5;cursor:not-allowed}.toggle-text[data-v-47eba2dc]{font-size:.9rem;color:var(--text-primary);font-weight:500;flex-grow:1;white-space:nowrap}.form-actions[data-v-47eba2dc]{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-light)}.btn[data-v-47eba2dc]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease;min-height:44px}.btn[data-v-47eba2dc]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-47eba2dc]{background:var(--primary-color);color:#fff}.btn-primary[data-v-47eba2dc]:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-medium)}.btn-secondary[data-v-47eba2dc]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary[data-v-47eba2dc]:not(:disabled):hover{background:var(--bg-hover)}.btn-sm[data-v-47eba2dc]{padding:.5rem 1rem;font-size:.75rem;min-height:36px}.btn-spinner[data-v-47eba2dc]{animation:spin-47eba2dc 1s linear infinite}@keyframes spin-47eba2dc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vapid-keys-section[data-v-47eba2dc]{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;margin-bottom:1rem}.vapid-actions[data-v-47eba2dc]{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.form-row[data-v-47eba2dc]{grid-template-columns:1fr 1fr}.form-actions[data-v-47eba2dc]{flex-direction:row;justify-content:flex-end}.vapid-actions[data-v-47eba2dc]{flex-direction:row;align-items:center;gap:1rem}}@media (max-width: 767px){.admin-header[data-v-47eba2dc]{flex-direction:column;gap:1rem;text-align:center}.form-row[data-v-47eba2dc]{grid-template-columns:1fr}.form-actions[data-v-47eba2dc]{flex-direction:column}.btn[data-v-47eba2dc]{width:100%}}.registration-control[data-v-47eba2dc]{padding:1.5rem;background:var(--bg-secondary);border-radius:12px;margin-top:1rem}.toggle-container[data-v-47eba2dc]{display:flex;align-items:flex-start;gap:1rem}.toggle-label-large[data-v-47eba2dc]{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;width:100%}.toggle-content[data-v-47eba2dc]{flex:1}.toggle-content h4[data-v-47eba2dc]{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.toggle-content p[data-v-47eba2dc]{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.login-page[data-v-214a4f64]{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);background-color:var(--bg-primary)}.login-container[data-v-214a4f64]{width:100%;max-width:400px}.login-form[data-v-214a4f64]{background:var(--bg-card);border-radius:8px;padding:2rem;box-shadow:var(--shadow-heavy);border:1px solid var(--border-color)}.login-form h2[data-v-214a4f64]{margin-top:0;margin-bottom:.5rem;color:var(--text-primary);text-align:center}.login-form p[data-v-214a4f64]{margin-bottom:2rem;color:var(--text-secondary);text-align:center}.form-group[data-v-214a4f64]{margin-bottom:1rem}.form-group label[data-v-214a4f64]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input[data-v-214a4f64]{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:var(--input-bg);color:var(--text-primary);transition:all .3s ease}.form-group input[data-v-214a4f64]:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #2563eb1a}.form-group input[data-v-214a4f64]::placeholder{color:var(--text-muted)}.btn[data-v-214a4f64]{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.btn-primary[data-v-214a4f64]{background:var(--blue-gradient);color:var(--text-inverse);position:relative;overflow:hidden}.btn-primary[data-v-214a4f64]:hover{transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-primary[data-v-214a4f64]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary[data-v-214a4f64]:hover:before{left:100%}.btn-full[data-v-214a4f64]{width:100%}.login-footer[data-v-214a4f64]{text-align:center;margin-top:1.5rem}.login-footer a[data-v-214a4f64]{color:#3498db;text-decoration:none}.login-footer a[data-v-214a4f64]:hover{text-decoration:underline}.register-page[data-v-1722877e]{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);background-color:var(--bg-primary);padding:2rem 1rem}.register-container[data-v-1722877e]{width:100%;max-width:400px}.register-form[data-v-1722877e]{background:var(--bg-card);border-radius:8px;padding:2rem;box-shadow:var(--shadow-heavy);border:1px solid var(--border-color)}.register-form h2[data-v-1722877e]{margin-top:0;margin-bottom:.5rem;color:var(--text-primary);text-align:center}.register-form p[data-v-1722877e]{margin-bottom:2rem;color:var(--text-secondary);text-align:center}.form-group[data-v-1722877e]{margin-bottom:1rem}.form-group label[data-v-1722877e]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input[data-v-1722877e]{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:var(--input-bg);color:var(--text-primary);transition:all .3s ease}.form-group input[data-v-1722877e]:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #2563eb1a}.form-group input[data-v-1722877e]::placeholder{color:var(--text-muted)}.btn[data-v-1722877e]{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.btn-primary[data-v-1722877e]{background:var(--blue-gradient);color:var(--text-inverse);position:relative;overflow:hidden}.btn-primary[data-v-1722877e]:hover{transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-primary[data-v-1722877e]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary[data-v-1722877e]:hover:before{left:100%}.btn-full[data-v-1722877e]{width:100%}.register-footer[data-v-1722877e]{text-align:center;margin-top:1.5rem}.register-footer a[data-v-1722877e]{color:#3498db;text-decoration:none}.register-footer a[data-v-1722877e]:hover{text-decoration:underline}.registration-disabled[data-v-1722877e]{text-align:center;padding:2rem 1rem}.disabled-icon[data-v-1722877e]{margin-bottom:1rem;color:var(--text-disabled)}.registration-disabled h3[data-v-1722877e]{margin:0 0 1rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.registration-disabled p[data-v-1722877e]{margin:0 0 2rem;color:var(--text-secondary);line-height:1.5}.disabled-actions[data-v-1722877e]{display:flex;justify-content:center}:root{--primary-blue: #2563eb;--primary-blue-hover: #1d4ed8;--secondary-blue: #3b82f6;--accent-blue: #60a5fa;--light-blue: #dbeafe;--blue-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--bg-nav: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-color: #e2e8f0;--border-hover: #cbd5e1;--shadow-light: 0 1px 3px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .1);--shadow-heavy: 0 10px 25px rgba(0, 0, 0, .15);--input-bg: #ffffff;--input-border: #d1d5db;--input-focus: var(--primary-blue);--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--error: #ef4444;--error-light: #fee2e2}:root.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--bg-nav: #0f172a;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-inverse: #0f172a;--border-color: #334155;--border-hover: #475569;--shadow-light: 0 1px 3px rgba(0, 0, 0, .3);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .4);--shadow-heavy: 0 10px 25px rgba(0, 0, 0, .5);--blue-gradient: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 50%, #6366f1 100%);--input-bg: #334155;--input-border: #475569;--input-focus: var(--accent-blue);--success: #22c55e;--success-light: rgba(34, 197, 94, .1);--warning: #fbbf24;--warning-light: rgba(251, 191, 36, .1);--error: #f87171;--error-light: rgba(248, 113, 113, .1)}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease}body{background-color:var(--bg-primary);color:var(--text-primary)}nav{background-color:var(--bg-nav);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-light)}.card,.settings-section,.login-form,.payslip-item{background-color:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-medium)}.btn-primary{background:var(--blue-gradient);color:var(--text-inverse);border:none;position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-heavy)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-hover);border-color:var(--primary-blue)}input,select,textarea{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-primary)}input:focus,select:focus,textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #2563eb1a;outline:none}input::placeholder{color:var(--text-muted)}.theme-toggle{position:relative;width:50px;height:24px;background:var(--border-color);border-radius:12px;border:none;cursor:pointer;transition:all .3s ease;outline:none}.theme-toggle:hover{background:var(--border-hover)}.theme-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--primary-blue);border-radius:50%;transition:transform .3s ease;box-shadow:var(--shadow-light)}:root.dark .theme-toggle:after{transform:translate(26px);background:var(--accent-blue)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}:root.dark .swal2-popup{background-color:var(--bg-card)!important;color:var(--text-primary)!important}:root.dark .swal2-title{color:var(--text-primary)!important}:root.dark .swal2-content{color:var(--text-secondary)!important}:root.dark .swal2-confirm{background-color:var(--primary-blue)!important}:root.dark .swal2-cancel{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation}p,span,h1,h2,h3,h4,h5,h6,input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s ease,color .3s ease}#app{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-bottom:1rem;font-weight:600}a{color:var(--primary-blue);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary-blue-hover)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;text-align:center;text-decoration:none;transition:all .3s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover{background-color:#229954}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.card{background:var(--bg-card);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-medium);margin-bottom:1rem;border:1px solid var(--border-color);transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-heavy)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:8px;font-size:1rem;box-sizing:border-box;background-color:var(--input-bg);color:var(--text-primary);transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #2563eb1a;transform:translateY(-1px)}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.main-content{padding:1rem}.btn{min-height:44px;padding:.75rem 1rem;font-size:1rem}.form-group input,.form-group select,.form-group textarea{min-height:44px;padding:.875rem;font-size:1rem}.card{transition:transform .2s ease,box-shadow .2s ease}.card:active{transform:scale(.98)}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.grid{gap:1.25rem}}@supports (-webkit-touch-callout: none){.btn,.card,.form-group input,.form-group select,.form-group textarea{-webkit-appearance:none;border-radius:8px}}
