@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--brand-50:#eff6ff;--brand-100:#dbeafe;--brand-200:#bfdbfe;--brand-300:#93c5fd;--brand-400:#60a5fa;--brand-500:#3b82f6;--brand-600:#2563eb;--brand-700:#1d4ed8;--brand-800:#1e40af;--brand-900:#1e3a8a;--hue-success:#16a34a;--hue-success-strong:#15803d;--hue-danger:#dc2626;--hue-danger-strong:#b91c1c;--hue-warning:#f59e0b;--hue-warning-strong:#d97706;--hue-info:#0ea5e9;--hue-pink:#ec4899;--surface-app:#eef0f3;--surface-1:#fff;--surface-2:#f3f4f6;--surface-3:#e5e7eb;--surface-card:#fff;--surface-card-hover:#f9fafb;--surface-sidebar:#1a1c29;--surface-overlay:#11182773;--surface-glass:#ffffffb3;--surface-glass-strong:#ffffffe6;--fg-primary:#111827;--fg-secondary:#4b5563;--fg-tertiary:#6b7280;--fg-muted:#9ca3af;--fg-inverse:#fff;--line-subtle:#e5e7eb;--line-medium:#d1d5db;--line-strong:#9ca3af;--elev-sm:0 1px 3px #0000001a;--elev-md:0 4px 12px #0000001f;--elev-lg:0 8px 32px #00000029;--accent:var(--brand-600);--accent-hover:var(--brand-700);--accent-weak:var(--brand-50);--accent-weak-fg:var(--brand-700);--on-accent:#fff;--focus-ring:#2563eb73;--primary-bg:var(--brand-600);--primary-hover:var(--brand-700);--on-primary:#fff;--success-bg:var(--hue-success);--success-hover:var(--hue-success-strong);--on-success:#fff;--danger-bg:var(--hue-danger);--danger-hover:var(--hue-danger-strong);--on-danger:#fff;--warning-bg:var(--hue-warning);--warning-hover:var(--hue-warning-strong);--on-warning:#1f2937;--neutral-bg:var(--surface-3);--neutral-hover:var(--line-medium);--on-neutral:var(--fg-primary);--success-weak:#16a34a1f;--danger-weak:#dc26261f;--warning-weak:#f59e0b24;--info-weak:#0ea5e91f;--bg-primary:var(--surface-app);--bg-secondary:var(--surface-1);--bg-tertiary:var(--surface-3);--bg-sidebar:var(--surface-sidebar);--bg-card:var(--surface-card);--bg-card-hover:var(--surface-card-hover);--bg-glass:var(--surface-glass);--bg-glass-strong:var(--surface-glass-strong);--bg-gradient:var(--surface-app);--purple-50:var(--brand-50);--purple-100:var(--brand-100);--purple-200:var(--brand-200);--purple-300:var(--brand-300);--purple-400:var(--brand-400);--purple-500:var(--brand-500);--purple-600:var(--brand-600);--purple-700:var(--brand-700);--purple-800:var(--brand-800);--purple-900:var(--brand-900);--green:var(--hue-success);--green-light:#4ade80;--green-bg:var(--success-weak);--blue:var(--brand-500);--blue-light:var(--brand-400);--yellow:var(--hue-warning);--yellow-bg:var(--warning-weak);--orange:#f97316;--orange-bg:#f973161f;--red:var(--hue-danger);--red-bg:var(--danger-weak);--cyan:var(--hue-info);--pink:var(--hue-pink);--text-primary:var(--fg-primary);--text-secondary:var(--fg-secondary);--text-tertiary:var(--fg-tertiary);--text-muted:var(--fg-muted);--text-inverse:var(--fg-inverse);--primary:var(--accent);--primary-color:var(--accent);--accent-blue:var(--accent);--text-main:var(--fg-primary);--border-color:var(--line-subtle);--bg-hover:var(--surface-card-hover);--font-size-md:var(--font-size-base);--border-subtle:var(--line-subtle);--border-medium:var(--line-medium);--border-strong:var(--line-strong);--shadow-sm:var(--elev-sm);--shadow-md:var(--elev-md);--shadow-lg:var(--elev-lg);--shadow-glow:0 0 0 3px var(--focus-ring);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:12px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.7rem;--font-size-sm:.8rem;--font-size-base:.95rem;--font-size-lg:1.15rem;--font-size-xl:1.4rem;--font-size-2xl:1.8rem;--font-size-3xl:2.2rem;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--z-base:1;--z-dropdown:100;--z-modal:200;--z-sheet:300;--z-toast:400;--sidebar-w:64px;--bar-h:56px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--surface-app:#0f1115;--surface-1:#171a21;--surface-2:#1e222b;--surface-3:#262b36;--surface-card:#171a21;--surface-card-hover:#1e222b;--surface-sidebar:#0b0d12;--surface-overlay:#0009;--surface-glass:#171a21b3;--surface-glass-strong:#171a21eb;--fg-primary:#e6e8ec;--fg-secondary:#b3bac6;--fg-tertiary:#9aa4b2;--fg-muted:#6b7280;--fg-inverse:#111827;--line-subtle:#2a2f3a;--line-medium:#3a4150;--line-strong:#4b5563;--elev-sm:0 1px 3px #00000080;--elev-md:0 4px 12px #0009;--elev-lg:0 10px 34px #000000b3;--accent:var(--brand-500);--accent-hover:var(--brand-400);--accent-weak:#3b82f629;--accent-weak-fg:var(--brand-300);--focus-ring:#3b82f68c;--primary-bg:var(--brand-600);--primary-hover:var(--brand-500);--neutral-bg:var(--surface-3);--neutral-hover:var(--line-medium);--on-neutral:var(--fg-primary);--success-weak:#16a34a33;--danger-weak:#dc262638;--warning-weak:#f59e0b33;--info-weak:#0ea5e933;--green-light:#34d399;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-gradient);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;background-attachment:fixed}#app{flex-direction:column;height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.btn{border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary-bg);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-success{background:var(--success-bg);color:var(--on-success)}.btn-success:hover{background:var(--success-hover)}.btn-warning{background:var(--warning-bg);color:var(--on-warning)}.btn-warning:hover{background:var(--warning-hover)}.btn-danger{background:var(--danger-bg);color:var(--on-danger)}.btn-danger:hover{background:var(--danger-hover)}.btn-block{width:100%}.btn-lg{font-size:var(--font-size-lg);border-radius:var(--radius-lg);padding:16px 32px}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.glass-badge-green{background:var(--success-weak);color:var(--hue-success);border:1px solid var(--success-weak);border-radius:var(--radius-md);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;padding:4px 12px;font-weight:700;display:inline-flex}.glass-badge-blue{background:var(--accent-weak);color:var(--accent-weak-fg);border:1px solid var(--accent-weak);border-radius:var(--radius-md);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;padding:4px 12px;font-weight:700;display:inline-flex}.pill-tabs{flex-wrap:wrap;gap:6px;display:flex}.pill-tab{border-radius:var(--radius-md);border:1px solid var(--border-medium);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.02em;background:0 0;padding:8px 18px;font-weight:600}.pill-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.pill-tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fade-enter-active{animation:fadeIn var(--transition-base)}.fade-leave-active{animation:fadeIn var(--transition-base) reverse}.slide-up-enter-active{animation:slideUp var(--transition-slow)}.slide-up-leave-active{animation:slideUp var(--transition-base) reverse}.notif-stack[data-v-9f21b113]{z-index:4000;pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 28px);display:flex;position:fixed;top:14px;right:14px}.notif-head[data-v-9f21b113]{pointer-events:auto;align-self:flex-end;align-items:center;gap:6px;display:flex}.notif-count[data-v-9f21b113]{color:#fff;background:#10b981;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;box-shadow:0 2px 6px #00000040}.notif-icon-btn[data-v-9f21b113]{color:#fff;cursor:pointer;background:#0f172ae6;border:none;border-radius:999px;width:26px;height:26px;font-size:13px;line-height:1}.notif-list[data-v-9f21b113]{pointer-events:auto;flex-direction:column;gap:8px;max-height:calc(100vh - 64px);display:flex;overflow-y:auto}.notif-card[data-v-9f21b113]{pointer-events:auto;color:#f1f5f9;cursor:pointer;background:#0f172a;border-left:4px solid #10b981;border-radius:14px;align-items:center;gap:12px;padding:13px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -10px #0009}.notif-emoji[data-v-9f21b113]{flex:none;font-size:24px}.notif-body[data-v-9f21b113]{flex:1;min-width:0}.notif-title[data-v-9f21b113]{align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.notif-tag[data-v-9f21b113]{color:#6ee7b7;background:#10b9812e;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.notif-sub[data-v-9f21b113]{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.notif-code[data-v-9f21b113]{color:#94a3b8}.notif-see[data-v-9f21b113]{color:#04241a;cursor:pointer;background:#10b981;border:none;border-radius:10px;flex:none;padding:7px 13px;font-size:12.5px;font-weight:800}.notif-see[data-v-9f21b113]:hover{background:#34d399}.notif-x[data-v-9f21b113]{color:#64748b;cursor:pointer;background:0 0;border:none;flex:none;padding:4px;font-size:13px}.notif-x[data-v-9f21b113]:hover{color:#cbd5e1}.notif-card.is-error[data-v-9f21b113]{border-left-color:#ef4444}.notif-card.is-error .notif-tag[data-v-9f21b113]{color:#fca5a5;background:#ef44442e}.notif-card.is-error .notif-pulse[data-v-9f21b113]{background:#f87171}.notif-card.is-warn[data-v-9f21b113]{border-left-color:#f59e0b}.notif-card.is-warn .notif-tag[data-v-9f21b113]{color:#fcd34d;background:#f59e0b2e}.notif-card.is-warn .notif-pulse[data-v-9f21b113]{background:#fbbf24}.notif-pulse[data-v-9f21b113]{background:#34d399;width:4px;animation:1.4s ease-in-out infinite notif-pulse-9f21b113;position:absolute;top:0;bottom:0;left:0}@keyframes notif-pulse-9f21b113{0%,to{opacity:.35}50%{opacity:1}}.notif-enter-active[data-v-9f21b113]{transition:all .28s cubic-bezier(.16,1,.3,1)}.notif-leave-active[data-v-9f21b113]{width:100%;transition:all .2s;position:absolute}.notif-enter-from[data-v-9f21b113]{opacity:0;transform:translate(24px)scale(.96)}.notif-leave-to[data-v-9f21b113]{opacity:0;transform:translate(24px)}@media (prefers-reduced-motion:reduce){.notif-pulse[data-v-9f21b113]{animation:none}.notif-enter-active[data-v-9f21b113],.notif-leave-active[data-v-9f21b113]{transition:opacity .2s}.notif-enter-from[data-v-9f21b113],.notif-leave-to[data-v-9f21b113]{transform:none}}.employee-card[data-v-2bbc482f]{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;align-items:center;gap:10px;min-width:90px;padding:18px 22px;display:flex}.employee-card[data-v-2bbc482f]:hover{background:var(--bg-card-hover);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.employee-card.selected[data-v-2bbc482f]{border-color:var(--purple-500);box-shadow:var(--shadow-glow)}.avatar[data-v-2bbc482f]{border-radius:var(--radius-full);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.initial[data-v-2bbc482f]{font-size:var(--font-size-xl);color:#fff;font-weight:700}.name[data-v-2bbc482f]{font-size:var(--font-size-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.numpad-container[data-v-59342ee3]{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:320px;padding:24px;display:flex}.pin-dots[data-v-59342ee3]{gap:14px;margin-bottom:8px;display:flex}.dot[data-v-59342ee3]{border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border-medium);width:38px;height:38px;transition:all var(--transition-fast)}.dot.filled[data-v-59342ee3]{background:var(--purple-600);border-color:var(--purple-500);box-shadow:0 0 10px var(--focus-ring)}.dot.error[data-v-59342ee3]{background:var(--red);border-color:var(--red);animation:.4s shake-59342ee3}.amount-display[data-v-59342ee3]{text-align:center;background:var(--bg-glass);border-radius:var(--radius-md);border:1px solid var(--border-subtle);width:100%;padding:14px}.amount[data-v-59342ee3]{font-size:var(--font-size-xl);font-weight:700}.keypad[data-v-59342ee3]{grid-template-columns:repeat(3,1fr);gap:4px;width:100%;display:grid}.key[data-v-59342ee3]{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-card);height:56px;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-weight:600;display:flex}.key[data-v-59342ee3]:hover{background:var(--bg-card-hover)}.key[data-v-59342ee3]:active{background:var(--accent-weak);transform:scale(.95)}.key-action[data-v-59342ee3]{background:0 0;border-color:#0000}.key-action .key-icon[data-v-59342ee3]{color:var(--cyan);font-size:var(--font-size-lg)}.key-empty[data-v-59342ee3]{cursor:default;background:0 0;border-color:#0000}.key-confirm .key-icon[data-v-59342ee3]{color:var(--green)}@keyframes shake-59342ee3{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.login-view[data-v-f11cb9df]{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding-top:8vh;display:flex;position:relative;overflow:hidden}.logo[data-v-f11cb9df]{position:absolute;top:16px;left:16px}.logo svg[data-v-f11cb9df]{width:32px;height:32px}.login-content[data-v-f11cb9df]{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:420px;display:flex}.title[data-v-f11cb9df]{font-size:var(--font-size-xl);color:var(--text-primary);font-weight:700}.subtitle[data-v-f11cb9df]{font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:center;margin-top:-12px}.employees-grid[data-v-f11cb9df]{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.bind-tabs[data-v-f11cb9df]{background:var(--surface-2,#1c1c24);border:1px solid var(--border-color,#2a2a35);border-radius:12px;gap:4px;width:100%;padding:4px;display:flex}.bind-tabs button[data-v-f11cb9df]{color:var(--text-tertiary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-weight:600}.bind-tabs button.active[data-v-f11cb9df]{background:var(--accent);color:#fff}.bind-form[data-v-f11cb9df]{flex-direction:column;gap:14px;width:100%;display:flex}.bind-pin[data-v-f11cb9df]{text-align:center;letter-spacing:.3em;font-size:var(--font-size-lg)}.bind-input[data-v-f11cb9df]{border:1px solid var(--border-color,#2a2a35);background:var(--surface-2,#1c1c24);width:100%;color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-family);border-radius:12px;outline:none;padding:14px 16px}.bind-input[data-v-f11cb9df]:focus{border-color:var(--accent)}.bind-error[data-v-f11cb9df]{color:var(--danger-bg);font-size:var(--font-size-sm);text-align:center;margin:0}.revoked-notice[data-v-f11cb9df]{color:var(--warning-bg);font-size:var(--font-size-sm);text-align:center;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:8px;margin:0;padding:10px 14px}.bind-submit[data-v-f11cb9df]{width:100%;padding:14px}.locations-list[data-v-f11cb9df]{flex-direction:column;gap:12px;width:100%;display:flex}.location-card[data-v-f11cb9df]{border:1px solid var(--border-color,#2a2a35);background:var(--surface-2,#1c1c24);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast);border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;display:flex}.location-card[data-v-f11cb9df]:hover{border-color:var(--accent);transform:translateY(-1px)}.loc-name[data-v-f11cb9df]{font-weight:700;font-size:var(--font-size-md)}.loc-meta[data-v-f11cb9df]{font-size:var(--font-size-xs);color:var(--text-tertiary)}.back-link[data-v-f11cb9df]{color:var(--text-tertiary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:8px 16px}.back-link[data-v-f11cb9df]:hover{color:var(--text-primary)}.timeclock-btn[data-v-f11cb9df]{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:12px 22px;font-weight:600;display:inline-flex}.timeclock-btn[data-v-f11cb9df]:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-weak);transform:translateY(-1px)}.bound-bar[data-v-f11cb9df]{font-size:var(--font-size-sm);color:var(--text-tertiary);align-items:center;gap:12px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.bound-name[data-v-f11cb9df]{font-weight:600}.unbind-btn[data-v-f11cb9df]{border:1px solid var(--border-color,#2a2a35);color:var(--text-tertiary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);transition:all var(--transition-fast);background:0 0;border-radius:8px;padding:6px 12px}.unbind-btn[data-v-f11cb9df]:hover{color:var(--text-primary);border-color:var(--accent)}.slide-enter-active[data-v-f11cb9df],.slide-leave-active[data-v-f11cb9df]{transition:opacity .25s,transform .25s}.slide-enter-from[data-v-f11cb9df]{opacity:0;transform:translateY(12px)}.slide-leave-to[data-v-f11cb9df]{opacity:0;transform:translateY(-12px)}
