:root{--primary:#4f46e5;--primary-light:#6366f1;--primary-dark:#3730a3;--primary-glow:#4f46e51f;--success:#10b981;--success-glow:#10b9811f;--danger:#f43f5e;--danger-glow:#f43f5e1f;--warning:#f59e0b;--background:#f8fafc;--bg-gradient-1:#6366f10d;--bg-gradient-2:#10b9810a;--card-bg:#ffffffe6;--card-bg-solid:#fff;--bg-card:#fff;--card-border:#00000014;--card-border-active:#4f46e566;--text-main:#0f172a;--text-sub:#475569;--text-muted:#94a3b8;--input-bg:#fff;--input-border:#cbd5e1;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 10px 30px #00000014;--shadow-glow:0 0 20px #4f46e526;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--nav-bg:#ffffffe6;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:#0000004d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light]{--primary:#4f46e5;--primary-light:#6366f1;--primary-dark:#3730a3;--primary-glow:#4f46e51f;--success:#10b981;--success-glow:#10b9811f;--danger:#f43f5e;--danger-glow:#f43f5e1f;--warning:#f59e0b;--background:#f8fafc;--bg-gradient-1:#6366f10d;--bg-gradient-2:#10b9810a;--card-bg:#ffffffe6;--card-bg-solid:#fff;--bg-card:#fff;--card-border:#00000014;--card-border-active:#4f46e566;--text-main:#0f172a;--text-sub:#475569;--text-muted:#94a3b8;--input-bg:#fff;--input-border:#cbd5e1;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 10px 30px #00000014;--shadow-glow:0 0 20px #4f46e526;--nav-bg:#ffffffe6;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:#0000004d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--primary:#818cf8;--primary-light:#a5b4fc;--primary-dark:#6366f1;--primary-glow:#818cf833;--success:#34d399;--success-glow:#34d39933;--danger:#fb7185;--danger-glow:#fb718533;--warning:#fbbf24;--background:#0b0f19;--bg-gradient-1:#6366f11f;--bg-gradient-2:#10b98114;--card-bg:#111827d9;--card-bg-solid:#111827;--bg-card:#111827;--card-border:#ffffff1f;--card-border-active:#818cf899;--text-main:#f3f4f6;--text-sub:#9ca3af;--text-muted:#6b7280;--input-bg:#1f2937;--input-border:#374151;--shadow-sm:0 2px 8px #0006;--shadow-md:0 10px 30px #0009;--shadow-glow:0 0 20px #818cf84d;--nav-bg:#111827e6;--scrollbar-thumb:#fff3;--scrollbar-thumb-hover:#fff6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]),[data-theme=system]{--primary:#818cf8;--primary-light:#a5b4fc;--primary-dark:#6366f1;--primary-glow:#818cf833;--success:#34d399;--success-glow:#34d39933;--danger:#fb7185;--danger-glow:#fb718533;--warning:#fbbf24;--background:#0b0f19;--bg-gradient-1:#6366f11f;--bg-gradient-2:#10b98114;--card-bg:#111827d9;--card-bg-solid:#111827;--card-border:#ffffff1f;--card-border-active:#818cf899;--text-main:#f3f4f6;--text-sub:#9ca3af;--text-muted:#6b7280;--input-bg:#1f2937;--input-border:#374151;--shadow-sm:0 2px 8px #0006;--shadow-md:0 10px 30px #0009;--shadow-glow:0 0 20px #818cf84d;--nav-bg:#111827e6;--scrollbar-thumb:#fff3;--scrollbar-thumb-hover:#fff6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html[data-font-size=small]{zoom:.88;font-size:85%}html[data-font-size=small] body{font-size:13px}html[data-font-size=medium],html:not([data-font-size]){zoom:1;font-size:100%}html[data-font-size=medium] body,html:not([data-font-size]) body{font-size:15px}html[data-font-size=large]{zoom:1.18;font-size:120%}html[data-font-size=large] body{font-size:18px}html{scrollbar-gutter:stable}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--background);color:var(--text-main);font-family:var(--font-sans);background-image:radial-gradient(circle at 10% 20%, var(--bg-gradient-1) 0%, transparent 40%), radial-gradient(circle at 90% 80%, var(--bg-gradient-2) 0%, transparent 40%);background-attachment:fixed;min-height:100vh;position:relative;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.glass{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);box-shadow:var(--shadow-md)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #6366f126}50%{box-shadow:0 0 25px #6366f14d}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(.995)}}@keyframes skeletonShimmer{0%{opacity:.45}50%{opacity:.8}to{opacity:.45}}.skeleton-box{background:var(--input-border);border-radius:var(--radius-sm);animation:1.4s ease-in-out infinite skeletonShimmer}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.active-press:active{opacity:.9;transform:scale(.97)}input,select,textarea,.form-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);width:100%;color:var(--text-main);transition:var(--transition);outline:none;padding:12px 16px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus,.form-input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--primary-glow);background:var(--card-bg-solid)}select{cursor:pointer;background-color:var(--input-bg);color:var(--text-main);appearance:none!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:16px 16px!important;padding-right:36px!important}[data-theme=light] select{background-color:var(--input-bg);color:var(--text-main);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:16px 16px!important;padding-right:36px!important}[data-theme=dark] select,.dark select,html[data-theme=dark] select{background-color:var(--input-bg);color:var(--text-main);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:16px 16px!important;padding-right:36px!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) select,[data-theme=system] select{background-color:var(--input-bg);color:var(--text-main);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:16px 16px!important;padding-right:36px!important}}select option{background-color:var(--card-bg-solid,#111827);color:var(--text-main,#f3f4f6);padding:8px 12px}[data-theme=light] select option{color:#0f172a;background-color:#fff}[data-theme=dark] select option,.dark select option,html[data-theme=dark] select option{color:#f3f4f6;background-color:#1f2937}label{color:var(--text-sub);margin-bottom:6px;margin-left:4px;font-size:13px;font-weight:600;display:block}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{filter:brightness(1.1);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--input-bg);color:var(--text-main);border:1px solid var(--input-border)}.btn-secondary:hover{background:var(--card-border)}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.btn-success:hover{filter:brightness(1.1)}.btn-danger{color:#fff;background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%)}.btn-danger:hover{filter:brightness(1.1)}.badge{border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-pending{color:var(--warning);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-applied{background:var(--primary-glow);color:var(--primary-light);border:1px solid #6366f14d}.badge-active{background:var(--success-glow);color:var(--success);border:1px solid #10b9814d}.theme-card-group{background:var(--input-bg);border-radius:var(--radius-md);border:1px solid var(--input-border);gap:4px;margin-top:10px;padding:4px;display:flex}.theme-card{cursor:pointer;transition:var(--transition);color:var(--text-sub);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;display:flex}.theme-card:hover{color:var(--text-main);background:#ffffff0d}.theme-card.active{background:var(--primary);font-weight:700;box-shadow:0 2px 8px #6366f159;color:#fff!important}.theme-card-icon{justify-content:center;align-items:center;font-size:14px;display:flex}.theme-card-label{font-size:13px;font-weight:600}.theme-card-desc{display:none}.mobile-nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--card-border);z-index:100;height:64px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-sub);height:100%;transition:var(--transition);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item svg{width:22px;height:22px;transition:var(--transition)}.mobile-nav-item.active svg{filter:drop-shadow(0 0 5px var(--primary-glow));transform:translateY(-2px)}@media print{@page{size:A4 portrait;margin:8mm 10mm}html,body{color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;font-size:11pt!important}header,footer,nav,.mobile-nav,.print-hidden-btn,.no-print,button,.btn,.toast,.badge,.sidebar,.admin-sidebar,.admin-header{display:none!important}.modal-overlay,.modal-backdrop,.glass{-webkit-backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:0!important;position:static!important;overflow:visible!important}.tab-pane{margin:0!important;padding:0!important}main{width:100%!important;margin:0!important;padding:0!important}.contract-print-area,.payslip-print-area,.withholding-slip-printable,.withholding-print-area{box-shadow:none!important;color:#000!important;box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important;background:#fff!important;border:none!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0!important}.contract-print-area h2,.payslip-print-area h3{color:#000!important;border-bottom:2px solid #000!important}.contract-print-area p,.contract-print-area span,.contract-print-area div,.payslip-print-area p,.payslip-print-area span,.payslip-print-area div{color:#000!important}.contract-print-area table,.payslip-print-area table{border-collapse:collapse!important;border:1px solid #000!important;width:100%!important;margin-bottom:15px!important}.contract-print-area th,.payslip-print-area th{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#000!important;background-color:#f1f5f9!important;border:1px solid #000!important;font-weight:700!important}.contract-print-area td,.payslip-print-area td{color:#000!important;border:1px solid #000!important}}.contract-print-area{background:var(--card-bg-solid)!important;border:1px solid var(--card-border)!important;color:var(--text-main)!important}.contract-print-area h2{color:var(--text-main)!important;border-bottom:2px solid var(--card-border)!important}.contract-print-area th{background:var(--input-bg)!important;border:1px solid var(--input-border)!important;color:var(--text-main)!important}.contract-print-area td{border:1px solid var(--input-border)!important;color:var(--text-main)!important}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.animate-slide-in-left{animation:.25s cubic-bezier(.16,1,.3,1) forwards slideInLeft}.admin-app-container{background:var(--bg-main);flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.admin-global-header{z-index:100;justifyContent:space-between;background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--card-border);box-sizing:border-box;align-items:center;width:100%;height:60px;padding:0 20px;display:flex;position:sticky;top:0}.admin-body-layout{flex:1;width:100%;min-height:calc(100vh - 60px);display:flex;position:relative}.admin-main-content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:24px;display:flex}@media (min-width:1024px){.admin-desktop-sidebar{z-index:80!important;height:calc(100vh - 60px)!important;display:flex!important;position:sticky!important;top:60px!important}}@media (max-width:1023px){.admin-desktop-sidebar{z-index:80!important;width:64px!important;min-width:64px!important;height:calc(100vh - 60px)!important;display:flex!important;position:sticky!important;top:60px!important}.admin-desktop-sidebar .sidebar-toggle-header,.admin-desktop-sidebar .sidebar-text,.admin-desktop-sidebar .sidebar-expanded-only{display:none!important}.admin-main-content{padding:16px 12px}}.hover-row:hover{background:#6366f10d}.hover-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s}.hover-card:hover{box-shadow:var(--shadow-md);border-color:var(--card-border-active);transform:translateY(-2px)}table,td,th,.tabular-nums,.amount,.currency,.stat-value,.badge-count{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.text-right,td.amount-cell,th.amount-cell{text-align:right}table{border-collapse:collapse;width:100%}th{color:#475569;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-weight:700}td{border-bottom:1px solid #f1f5f9;padding:10px 12px}[data-theme=dark] th,.dark th,html[data-theme=dark] th{color:#94a3b8;background-color:#1e293b;border-bottom:2px solid #334155}[data-theme=dark] td,.dark td,html[data-theme=dark] td{border-bottom:1px solid #33415599}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) th,[data-theme=system] th{color:#94a3b8;background-color:#1e293b;border-bottom:2px solid #334155}:root:not([data-theme=light]):not([data-theme=dark]) td,[data-theme=system] td{border-bottom:1px solid #33415599}}.data-table-container,.table-responsive{border-radius:var(--radius-md);background-color:#fff;border:1px solid #e2e8f0;width:100%;overflow-x:auto}[data-theme=dark] .data-table-container,[data-theme=dark] .table-responsive,.dark .data-table-container,.dark .table-responsive,html[data-theme=dark] .data-table-container,html[data-theme=dark] .table-responsive{background-color:#0f172a;border:1px solid #334155}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .data-table-container,:root:not([data-theme=light]):not([data-theme=dark]) .table-responsive,[data-theme=system] .data-table-container,[data-theme=system] .table-responsive{background-color:#0f172a;border:1px solid #334155}}
