@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-brand-50: #EEF2FF;--color-brand-100: #E0E7FF;--color-brand-200: #C7D2FE;--color-brand-400: #818CF8;--color-brand-500: #6366F1;--color-brand-600: #4F46E5;--color-brand-700: #4338CA;--color-neutral-0: #FFFFFF;--color-neutral-50: #F9FAFB;--color-neutral-100: #F3F4F6;--color-neutral-200: #E5E7EB;--color-neutral-300: #D1D5DB;--color-neutral-400: #9CA3AF;--color-neutral-500: #6B7280;--color-neutral-600: #4B5563;--color-neutral-700: #374151;--color-neutral-800: #1F2937;--color-neutral-900: #111827;--color-sidebar-bg: #0F1117;--color-sidebar-border: rgba(255, 255, 255, .07);--color-sidebar-item-hover: rgba(255, 255, 255, .05);--color-sidebar-item-active: rgba(99, 102, 241, .13);--color-sidebar-text: rgba(255, 255, 255, .56);--color-sidebar-text-hover: rgba(255, 255, 255, .8);--color-sidebar-text-active: #FFFFFF;--color-sidebar-icon: rgba(255, 255, 255, .36);--color-sidebar-icon-active: #818CF8;--color-feedback-success: #10B981;--color-feedback-success-bg: #ECFDF5;--color-feedback-success-border: #6EE7B7;--color-feedback-warning: #F59E0B;--color-feedback-warning-bg: #FFFBEB;--color-feedback-warning-border: #FCD34D;--color-feedback-error: #EF4444;--color-feedback-error-bg: #FEF2F2;--color-feedback-error-border: #FCA5A5;--color-feedback-info: #6366F1;--color-feedback-info-bg: #EEF2FF;--color-feedback-info-border: #C7D2FE;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .07), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .07);--shadow-glass: 0 8px 32px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--transition-fast: .15s ease-out;--transition-base: .2s ease-out;--transition-slow: .3s ease-out;--duration-instant: 80ms;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--duration-slower: .6s;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-decel: cubic-bezier(.22, 1, .36, 1);--stagger-1: 0ms;--stagger-2: 60ms;--stagger-3: .12s;--stagger-4: .18s;--stagger-5: .24s}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:14px;line-height:1.5;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;background:var(--color-neutral-100);color:var(--color-neutral-700);font-family:var(--font-sans)}.ant-layout-content{background:linear-gradient(145deg,#f3f4f6,#eef2ff 55%,#f3f4f6)!important;min-height:calc(100vh - 52px)}.ant-layout-header{background:linear-gradient(90deg,#fff,#fbfbff)!important}.ant-layout-sider{background:linear-gradient(175deg,#0f1117,#0d1023)!important}.ant-layout-sider-children{background:transparent!important}#root{width:100%;min-height:100svh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;color:var(--color-neutral-900);margin:0;letter-spacing:-.4px}h1{font-weight:800;letter-spacing:-.6px}h2{font-weight:700;letter-spacing:-.4px}p{margin:0}code,kbd,samp,pre{font-family:var(--font-mono)}.zhrms-nav-item{transition:background var(--transition-fast),color var(--transition-fast)}.zhrms-nav-item:hover:not(.zhrms-nav-item--active){background:var(--color-sidebar-item-hover)!important;color:var(--color-sidebar-text-hover)!important}.zhrms-nav-item:hover:not(.zhrms-nav-item--active) .zhrms-nav-icon{color:#ffffffa6!important}.zhrms-nav-item:active{transform:scale(.98)}.ant-layout-sider-children{display:flex!important;flex-direction:column!important;height:100%!important}.ant-btn{transition:all var(--transition-fast)!important;font-weight:500!important}.ant-btn:active{transform:scale(.98)!important}.ant-card{background:linear-gradient(145deg,#fff,#f8f9ff)!important;box-shadow:none!important;border:1px solid var(--color-neutral-200)!important;border-radius:var(--radius-md)!important;transition:transform .16s ease-out,border-color .16s ease-out,background .16s ease-out!important}.ant-card:hover{background:linear-gradient(145deg,#fff,#f3f5ff)!important}.ant-card-head{border-bottom:1px solid var(--color-neutral-100)!important;padding:0 20px!important;min-height:46px!important;font-size:14px!important;font-weight:500!important;color:var(--color-neutral-800)!important}.ant-card-body{padding:20px!important}.ant-table-thead>tr>th{font-size:var(--text-xs)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--color-neutral-500)!important;background:var(--color-neutral-50)!important;font-family:var(--font-mono)!important;padding:10px 16px!important;border-bottom:1px solid var(--color-neutral-200)!important}.ant-table-tbody>tr>td{padding:10px 16px!important;font-size:14px!important;color:var(--color-neutral-700)!important;border-bottom:1px solid var(--color-neutral-100)!important}.ant-table-tbody>tr:last-child>td{border-bottom:none!important}.ant-table-tbody>tr:hover>td{background:var(--color-neutral-50)!important}.ant-table-wrapper{border-radius:var(--radius-md)!important;overflow:hidden!important}.ant-tag{font-size:var(--text-xs)!important;font-weight:500!important;letter-spacing:.04em!important;border-radius:var(--radius-xs)!important;padding:1px 6px!important;line-height:18px!important}.ant-modal-content{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:#ffffffe0!important;border:1px solid var(--color-neutral-200)!important;box-shadow:var(--shadow-modal)!important;border-radius:var(--radius-lg)!important}.ant-modal-header{background:transparent!important;border-bottom:1px solid var(--color-neutral-100)!important;padding:16px 24px!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important}.ant-modal-title{font-size:16px!important;font-weight:600!important;color:var(--color-neutral-900)!important;letter-spacing:-.2px!important}.ant-modal-body{padding:20px 24px!important;max-height:calc(100vh - 220px);overflow-y:auto;overflow-x:hidden}.ant-modal-footer{padding:12px 24px!important;border-top:1px solid var(--color-neutral-100)!important;background:transparent!important}.ant-drawer-content{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:#ffffffe0!important}.ant-drawer-header{border-bottom:1px solid var(--color-neutral-100)!important;padding:14px 20px!important}.ant-drawer-title{font-size:15px!important;font-weight:600!important;color:var(--color-neutral-900)!important}.ant-tabs-tab{font-size:14px!important;font-weight:400!important;color:var(--color-neutral-500)!important;padding:8px 0!important;transition:color var(--transition-fast)!important}.ant-tabs-tab:hover{color:var(--color-neutral-700)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:500!important;color:var(--color-neutral-900)!important}.ant-tabs-ink-bar{background:var(--color-brand-500)!important;height:2px!important}.ant-tabs-nav{margin-bottom:20px!important}.ant-tabs-nav:before{border-bottom-color:var(--color-neutral-200)!important}.ant-select-selector,.ant-input,.ant-picker{border-color:var(--color-neutral-200)!important;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)!important}.ant-select-selector:hover,.ant-input:hover,.ant-picker:hover{border-color:var(--color-neutral-400)!important}.ant-select-selector:focus-within,.ant-input:focus,.ant-picker-focused{border-color:var(--color-brand-500)!important;box-shadow:0 0 0 2px #6366f11f!important}.ant-form-item-has-error .ant-input,.ant-form-item-has-error .ant-input:hover,.ant-form-item-has-error .ant-input-affix-wrapper,.ant-form-item-has-error .ant-input-affix-wrapper:hover,.ant-form-item-has-error .ant-select-selector,.ant-form-item-has-error .ant-select-selector:hover,.ant-form-item-has-error .ant-picker,.ant-form-item-has-error .ant-picker:hover{border-color:var(--color-feedback-error)!important}.ant-form-item-has-error .ant-input:focus,.ant-form-item-has-error .ant-input-affix-wrapper:focus-within,.ant-form-item-has-error .ant-select-selector:focus-within,.ant-form-item-has-error .ant-picker-focused{border-color:var(--color-feedback-error)!important;box-shadow:0 0 0 2px #ef44441f!important}.ant-badge-count{background:var(--color-brand-500)!important;box-shadow:none!important;font-size:10px!important;min-width:16px!important;height:16px!important;line-height:16px!important}.ant-form-item-label>label{font-size:13px!important;font-weight:500!important;color:var(--color-neutral-700)!important}.ant-statistic-title{font-size:var(--text-xs)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--color-neutral-400)!important;font-family:var(--font-mono)!important;margin-bottom:8px!important}.ant-statistic-content-value{font-size:26px!important;font-weight:600!important;color:var(--color-neutral-900)!important;font-variant-numeric:tabular-nums!important;letter-spacing:-.5px!important}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-inner{border-radius:var(--radius-sm)!important}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-cell-inner{background:var(--color-brand-50)!important;border-color:var(--color-brand-200)!important;color:var(--color-brand-600)!important}.ant-skeleton-element .ant-skeleton-button,.ant-skeleton-element .ant-skeleton-input,.ant-skeleton-element .ant-skeleton-image,.ant-skeleton-paragraph>li,.ant-skeleton-title{border-radius:var(--radius-sm)!important}.ant-list-item{padding:10px 0!important;border-bottom:1px solid var(--color-neutral-100)!important;transition:background var(--transition-fast)!important}.ant-list-item:last-child{border-bottom:none!important}.ant-pagination-options-size-changer .ant-select-selection-search{display:none!important}.ant-pagination-options-size-changer .ant-select-selector{cursor:pointer!important}.ant-pagination-item{border-radius:var(--radius-sm)!important;border-color:var(--color-neutral-200)!important;font-size:13px!important}.ant-pagination-item-active{border-color:var(--color-brand-500)!important;background:var(--color-brand-50)!important}.ant-pagination-item-active a{color:var(--color-brand-600)!important}.ant-alert{border-radius:var(--radius-md)!important}.ant-empty-description{font-size:14px!important;color:var(--color-neutral-400)!important}.zhrms-empty{padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.zhrms-empty__icon{color:var(--color-neutral-300)}.zhrms-empty__text{font-size:var(--text-base);color:var(--color-neutral-400);max-width:280px;line-height:1.5}.zhrms-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:24px}.zhrms-page-title{font-size:var(--text-xl);font-weight:800;color:var(--color-neutral-900);letter-spacing:-.6px;line-height:1.2;margin:0}.zhrms-page-subtitle{font-size:var(--text-sm);color:var(--color-neutral-500);margin:4px 0 0;font-weight:400}.zhrms-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}.zhrms-stat-card{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:16px 20px;transition:border-color var(--transition-fast)}.zhrms-stat-card:hover{border-color:var(--color-neutral-300)}.zhrms-stat-label{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-400);font-family:var(--font-mono);margin-bottom:8px}.zhrms-stat-value{font-size:26px;font-weight:800;color:var(--color-neutral-900);font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.5px}.zhrms-stat-suffix{font-size:14px;font-weight:400;color:var(--color-neutral-400);margin-left:4px}.zhrms-stat-card--indigo{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#c7d2fe}.zhrms-stat-card--indigo .zhrms-stat-label{color:#6366f1}.zhrms-stat-card--indigo .zhrms-stat-value{color:#4338ca}.zhrms-stat-card--emerald{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.zhrms-stat-card--emerald .zhrms-stat-label{color:#059669}.zhrms-stat-card--emerald .zhrms-stat-value{color:#065f46}.zhrms-stat-card--amber{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.zhrms-stat-card--amber .zhrms-stat-label{color:#d97706}.zhrms-stat-card--amber .zhrms-stat-value{color:#92400e}.zhrms-stat-card-body{display:flex;align-items:flex-start;gap:14px}.zhrms-stat-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.zhrms-stat-card--indigo .zhrms-stat-card-icon{background:#6366f11f;color:#6366f1}.zhrms-stat-card--emerald .zhrms-stat-card-icon{background:#10b9811f;color:#10b981}.zhrms-stat-card--amber .zhrms-stat-card-icon{background:#f59e0b1f;color:#f59e0b}.zhrms-stat-card-text{flex:1;min-width:0}.zhrms-auth-bg{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding:24px;background:linear-gradient(140deg,#0f1117,#1a1740 35%,#2d2a6e 65%,#3730a3);overflow-x:hidden;overflow-y:auto}.zhrms-auth-bg__orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px)}.zhrms-auth-bg__orb--1{width:400px;height:400px;background:#6366f138;top:-120px;right:-80px}.zhrms-auth-bg__orb--2{width:300px;height:300px;background:#8b5cf626;bottom:-60px;left:-60px}.zhrms-auth-card{width:100%;max-width:420px;background:#fff;border-radius:14px;padding:0 36px 28px;box-shadow:0 24px 60px #00000059,0 4px 16px #0003;position:relative;z-index:1;margin:auto 0}.zhrms-auth-card__header{margin:0 -36px 28px;padding:20px 28px;background:linear-gradient(160deg,#eef2ff,#e0e7ff 55%,#f5f3ff);border-radius:14px 14px 0 0;border-bottom:1px solid #C7D2FE;display:flex;flex-direction:row;align-items:center;gap:14px}.zhrms-auth-card__logo{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px}.zhrms-auth-card__logo-badge{width:80px;height:80px;border-radius:22px;background:linear-gradient(145deg,#1a1744,#2d2566 55%,#312e81);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #6366f173,0 2px 6px #0003;flex-shrink:0}.zhrms-auth-card__logo-icon{height:52px;width:auto;object-fit:contain;mix-blend-mode:multiply;flex-shrink:0}.zhrms-auth-card__logo-text{font-size:20px;font-weight:800;letter-spacing:-.5px;line-height:1.2;background:linear-gradient(135deg,#3730a3,#6366f1 55%,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.zhrms-auth-card__logo-tagline{font-size:10px;color:#6366f1;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;margin-top:3px;opacity:.7}.zhrms-auth-card__title{font-size:22px;font-weight:800;color:#111827;margin:0 0 6px;letter-spacing:-.6px;line-height:1.2}.zhrms-auth-card__sub{font-size:14px;color:#6b7280;margin:0 0 24px}.zhrms-auth-card__forgot{font-size:12px;color:#6366f1;text-decoration:none;transition:color .15s}.zhrms-auth-card__forgot:hover{color:#4f46e5;text-decoration:underline}.zhrms-auth-card__footer{font-size:12px;color:#9ca3af;text-align:center;margin:20px 0 0;padding-top:16px;border-top:1px solid #f3f4f6}.zhrms-auth-card__back{display:flex;align-items:center;gap:6px;font-size:13px;color:#6366f1;text-decoration:none;margin-bottom:20px;transition:color .15s;width:fit-content}.zhrms-auth-card__back:hover{color:#4f46e5}.zhrms-auth-success{text-align:center;padding:8px 0 4px}.zhrms-auth-success__icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#ecfdf5,#d1fae5);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.zhrms-auth-success__title{font-size:18px;font-weight:700;color:#111827;margin:0 0 8px}.zhrms-auth-success__body{font-size:13px;color:#6b7280;line-height:1.6;margin:0 0 24px}.zhrms-greeting{background:linear-gradient(135deg,#6366f1,#818cf8 60%,#a5b4fc);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.zhrms-greeting__title{font-size:18px;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.3}.zhrms-greeting__sub{font-size:13px;color:#fffc;margin:0}.zhrms-greeting__badge{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:8px 14px;font-size:12px;font-weight:500;color:#fff;font-family:var(--font-mono);white-space:nowrap}.zhrms-holiday-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F3F4F6}.zhrms-holiday-item:last-child{border-bottom:none}.zhrms-holiday-date{min-width:48px;text-align:center;flex-shrink:0}.zhrms-holiday-date__day{font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.zhrms-holiday-date__mon{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono);color:#9ca3af}.zhrms-holiday-divider{width:3px;height:36px;border-radius:2px;flex-shrink:0}.zhrms-holiday-info{flex:1;min-width:0}.zhrms-holiday-info__name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zhrms-holiday-info__meta{font-size:11px;color:#9ca3af;font-family:var(--font-mono);margin-top:2px}.zhrms-attendance-widget{background:linear-gradient(160deg,#1e1b4b,#2d2a6e 55%,#312e81);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;min-height:260px;position:relative;overflow:hidden}.zhrms-attendance-widget:before{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:#818cf814;pointer-events:none}.zhrms-attendance-widget__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.zhrms-attendance-widget__title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73;font-family:var(--font-mono)}.zhrms-attendance-widget__status{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.zhrms-attendance-widget__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.zhrms-attendance-widget__dot--active{background:#34d399;box-shadow:0 0 #34d39999;animation:zhrms-pulse-green 2s ease-in-out infinite}.zhrms-attendance-widget__dot--idle{background:#ffffff40}.zhrms-attendance-widget__dot--done{background:#818cf8}.zhrms-attendance-widget__body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.zhrms-attendance-widget__elapsed{font-size:38px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;font-family:var(--font-mono);letter-spacing:-1px;line-height:1}.zhrms-attendance-widget__elapsed-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#fff6;font-family:var(--font-mono);margin-top:4px}.zhrms-attendance-widget__wallclock{font-size:36px;font-weight:300;color:#ffffffe6;font-variant-numeric:tabular-nums;font-family:var(--font-mono);letter-spacing:-.5px;line-height:1}.zhrms-attendance-widget__date{font-size:13px;color:#ffffff80;margin-top:6px}.zhrms-attendance-widget__meta{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.zhrms-attendance-widget__chip{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 10px}.zhrms-attendance-widget__chip-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff6;font-family:var(--font-mono)}.zhrms-attendance-widget__chip-value{font-size:13px;font-weight:600;color:#fff;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:2px}.zhrms-attendance-widget__footer{margin-top:16px}.zhrms-attendance-widget__btn{width:100%;height:42px;border:none;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:opacity .12s ease-out,transform .1s ease-out;display:flex;align-items:center;justify-content:center;gap:8px}.zhrms-attendance-widget__btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.zhrms-attendance-widget__btn:active:not(:disabled){transform:translateY(0)}.zhrms-attendance-widget__btn:disabled{opacity:.5;cursor:not-allowed}.zhrms-attendance-widget__btn--checkin{background:#34d399;color:#064e3b}.zhrms-attendance-widget__btn--checkout{background:#fffffff2;color:#312e81}.zhrms-attendance-widget__done-summary{background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:13px;color:#fffc;margin-top:16px}.zhrms-filter-bar{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.zhrms-section-card{background:linear-gradient(145deg,#fff,#f8f9ff);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);overflow:hidden}@keyframes snackbar-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes zhrms-progress-bar{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes zhrms-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes zhrms-fade-in{0%{opacity:0}to{opacity:1}}@keyframes zhrms-scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes zhrms-bar-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes zhrms-value-pop{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes zhrms-bell-shake{0%{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-16deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-10deg)}75%{transform:rotate(6deg)}90%{transform:rotate(-3deg)}to{transform:rotate(0)}}@keyframes zhrms-page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes zhrms-checkin-burst{0%{box-shadow:0 0 #34d3998c}50%{box-shadow:0 0 0 18px #34d39900}to{box-shadow:0 0 #34d39900}}@keyframes zhrms-badge-pop{0%{transform:scale(1)}35%{transform:scale(1.25)}65%{transform:scale(.92)}to{transform:scale(1)}}@keyframes zhrms-row-success-flash{0%{background:#ecfdf5}80%{background:#ecfdf5}to{background:transparent}}@keyframes zhrms-row-error-flash{0%{background:#fef2f2}80%{background:#fef2f2}to{background:transparent}}.app-snackbar-host{position:fixed;right:20px;bottom:20px;top:auto;z-index:1400;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:8px;width:min(400px,calc(100vw - 32px));pointer-events:none}.app-snackbar{position:relative;display:flex;align-items:flex-start;gap:10px;padding:13px 14px 16px 16px;border-radius:var(--radius-xl);border:1px solid var(--color-neutral-200);background:#fff;box-shadow:0 4px 16px #00000014,0 1px 4px #0000000d;pointer-events:auto;overflow:hidden;max-height:200px;opacity:1;transform:translateY(0) scale(1);transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1),max-height .24s cubic-bezier(.22,1,.36,1),margin .24s cubic-bezier(.22,1,.36,1),padding .24s cubic-bezier(.22,1,.36,1);font-family:var(--font-sans);will-change:transform,opacity}.app-snackbar--success{background:var(--color-feedback-success-bg);border-color:var(--color-feedback-success-border)}.app-snackbar--error{background:var(--color-feedback-error-bg);border-color:var(--color-feedback-error-border)}.app-snackbar--warning{background:var(--color-feedback-warning-bg);border-color:var(--color-feedback-warning-border)}.app-snackbar--info{background:var(--color-feedback-info-bg);border-color:var(--color-feedback-info-border)}.app-snackbar--entering{opacity:0;transform:translateY(12px) scale(.97)}.app-snackbar--visible{opacity:1;transform:translateY(0) scale(1)}.app-snackbar--exiting{opacity:0;transform:translateY(8px) scale(.97);max-height:0;margin:0;padding-top:0;padding-bottom:0}.app-snackbar__stripe{position:absolute;inset:0 auto 0 0;width:4px;border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:var(--color-neutral-300)}.app-snackbar--success .app-snackbar__stripe{background:var(--color-feedback-success)}.app-snackbar--error .app-snackbar__stripe{background:var(--color-feedback-error)}.app-snackbar--warning .app-snackbar__stripe{background:var(--color-feedback-warning)}.app-snackbar--info .app-snackbar__stripe{background:var(--color-brand-500)}.app-snackbar__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;font-size:17px;line-height:1}.app-snackbar--success .app-snackbar__icon{color:var(--color-feedback-success)}.app-snackbar--error .app-snackbar__icon{color:var(--color-feedback-error)}.app-snackbar--warning .app-snackbar__icon{color:var(--color-feedback-warning)}.app-snackbar--info .app-snackbar__icon{color:var(--color-brand-500)}.app-snackbar__body{flex:1;min-width:0}.app-snackbar__message{margin:0;color:var(--color-neutral-900);font-weight:600;font-size:13.5px;line-height:1.45}.app-snackbar__description{margin:3px 0 0;color:var(--color-neutral-600);font-size:12.5px;line-height:1.5}.app-snackbar__actions{display:flex;align-items:flex-start;gap:2px;flex-shrink:0;margin-left:6px}.app-snackbar__action-btn{all:unset;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-sans);padding:2px 8px;border-radius:var(--radius-sm);line-height:1.6;color:var(--color-brand-600);transition:background .15s}.app-snackbar__action-btn:hover{background:var(--color-brand-50)}.app-snackbar__close{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-md);font-size:12px;color:var(--color-neutral-400);transition:color .15s,background .15s;margin-top:-2px;margin-right:-4px}.app-snackbar__close:hover,.app-snackbar__close:focus-visible{color:var(--color-neutral-700);background:#0000000f}.app-snackbar__track{position:absolute;left:4px;right:0;bottom:0;height:3px;background:#00000012;border-radius:0 0 var(--radius-xl) 0;overflow:hidden}.app-snackbar__bar{height:100%;width:100%;transform-origin:left center;will-change:transform;border-radius:inherit}.app-snackbar--success .app-snackbar__bar{background:var(--color-feedback-success)}.app-snackbar--error .app-snackbar__bar{background:var(--color-feedback-error)}.app-snackbar--warning .app-snackbar__bar{background:var(--color-feedback-warning)}.app-snackbar--info .app-snackbar__bar{background:var(--color-brand-500)}.app-snackbar:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}@media (max-width: 640px){.app-snackbar-host{right:12px;left:12px;bottom:12px;width:auto;align-items:stretch}}@media (max-width: 860px){.zhrms-roles-shell{flex-direction:column}.zhrms-roles-shell__list{width:100%!important;border-right:none!important;border-bottom:1px solid #E5E7EB;max-height:240px}.zhrms-roles-shell__detail [data-perm-row]{padding-left:20px!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes zhrms-ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes zhrms-pulse-green{0%{box-shadow:0 0 #10b98159}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes zhrms-pulse-amber{0%{box-shadow:0 0 #f59e0b59}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@keyframes zhrms-pulse-red{0%{box-shadow:0 0 #ef444459}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}@media (prefers-reduced-motion: no-preference){.ant-card{transition:transform .16s ease-out,border-color .16s ease-out,background .16s ease-out!important}.ant-card:hover{transform:translateY(-3px);border-color:#c7d2fe!important}.zhrms-stat-card{transition:transform .16s ease-out,border-color .16s ease-out!important}.zhrms-stat-card:hover{transform:translateY(-3px);border-color:#a5b4fc!important}.ant-table-tbody>tr>td{transition:background .16s ease-out,color .16s ease-out!important}.ant-table-tbody>tr:not(.ant-table-row-selected):hover>td{background:#eef2ff!important}.ant-table-tbody>tr:not(.ant-table-row-selected):hover>td:first-child{box-shadow:inset 3px 0 #6366f1!important;border-radius:0!important}.ant-table-tbody>tr:hover>td{color:#4338ca!important}.ant-table-tbody>tr:hover>td .ant-tag,.ant-table-tbody>tr:hover>td [style*="color: #9CA3AF"],.ant-table-tbody>tr:hover>td [style*="color:#9CA3AF"]{color:inherit!important}.ant-list-item{transition:background .16s ease-out,border-color .16s ease-out!important;border-left:2px solid transparent;padding-left:6px!important}.ant-list-item:hover{background:#eef2ff!important;border-left-color:#6366f1!important;border-radius:0!important}.ant-btn-default:not(.ant-btn-dangerous):not([disabled])>span:not(.ant-btn-icon){display:inline-flex;align-items:center;gap:0;transition:gap .2s ease}.ant-btn-default:not(.ant-btn-dangerous):not([disabled])>span:not(.ant-btn-icon):after{content:"→";display:inline-block;max-width:0;opacity:0;overflow:hidden;margin-left:0;font-size:11px;line-height:1;transition:max-width .2s ease,opacity .2s ease,margin-left .2s ease}.ant-btn-default:not(.ant-btn-dangerous):not([disabled]):hover>span:not(.ant-btn-icon){gap:6px}.ant-btn-default:not(.ant-btn-dangerous):not([disabled]):hover>span:not(.ant-btn-icon):after{max-width:16px;opacity:1;margin-left:2px}.ant-btn-primary:not([disabled]){position:relative!important;overflow:hidden!important}.ant-tag-green:hover,.ant-tag-success:hover{animation:zhrms-pulse-green .6s ease-out infinite}.ant-tag-orange:hover,.ant-tag-warning:hover,.ant-tag-gold:hover{animation:zhrms-pulse-amber .6s ease-out infinite}.ant-tag-red:hover,.ant-tag-error:hover,.ant-tag-volcano:hover{animation:zhrms-pulse-red .6s ease-out infinite}.ant-btn-primary:not(.ant-btn-dangerous):not([disabled]){transition:transform .13s ease-out,background-color .15s ease-out!important}.ant-btn-primary:not(.ant-btn-dangerous):not([disabled]):hover{transform:scale(1.06)}.ant-btn-dangerous:not([disabled]){transition:transform .13s ease-out,background-color .15s ease-out!important}.ant-btn-dangerous:not([disabled]):hover{transform:scale(1.06);background-color:#fef2f2!important}.zhrms-settings-row{position:relative;transition:background .15s ease-out!important}.zhrms-settings-row .zhrms-settings-chevron{opacity:0;transform:translate(0);transition:opacity .15s ease-out,transform .2s ease-out}.zhrms-settings-row:hover{background:#f9fafb!important}.zhrms-settings-row:hover .zhrms-settings-chevron{opacity:1;transform:translate(3px)}.ant-btn-icon-only:not([disabled]) .anticon-setting,.ant-btn-icon-only:not([disabled]) .anticon-edit,.ant-btn-icon-only:not([disabled]) .anticon-reload,.ant-btn-icon-only:not([disabled]) .anticon-sync,.ant-btn-text:not([disabled]) .anticon-setting,.ant-btn-text:not([disabled]) .anticon-reload,.ant-btn-text:not([disabled]) .anticon-sync{display:inline-flex;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .16s ease-out}.ant-btn-icon-only:not([disabled]):hover .anticon-setting,.ant-btn-icon-only:not([disabled]):hover .anticon-edit,.ant-btn-icon-only:not([disabled]):hover .anticon-reload,.ant-btn-icon-only:not([disabled]):hover .anticon-sync,.ant-btn-text:not([disabled]):hover .anticon-setting,.ant-btn-text:not([disabled]):hover .anticon-reload,.ant-btn-text:not([disabled]):hover .anticon-sync{transform:rotate(60deg);color:#6366f1}.zhrms-nav-item{transition:background .16s ease-out,color .16s ease-out,box-shadow .16s ease-out!important}.zhrms-nav-item:hover:not(.zhrms-nav-item--active){box-shadow:inset 0 -2px #6366f173}.zhrms-nav-item--active{box-shadow:inset 0 -2px #6366f1}.ant-tabs-tab:not(.ant-tabs-tab-active){border-bottom:2px solid transparent!important;transition:color .16s ease-out,border-color .16s ease-out!important;border-radius:0!important}.ant-tabs-tab:not(.ant-tabs-tab-active):hover{border-bottom-color:#6366f14d!important;color:#4338ca!important}.zhrms-anim-fade-up{animation:zhrms-fade-up var(--duration-slow) var(--ease-out-expo) both}.zhrms-anim-fade-in{animation:zhrms-fade-in var(--duration-base) ease both}.zhrms-anim-scale-in{animation:zhrms-scale-in var(--duration-base) var(--ease-spring) both}.zhrms-page-enter{animation:zhrms-page-enter .25s var(--ease-out-expo) both}.zhrms-stagger-1{animation-delay:var(--stagger-1)}.zhrms-stagger-2{animation-delay:var(--stagger-2)}.zhrms-stagger-3{animation-delay:var(--stagger-3)}.zhrms-stagger-4{animation-delay:var(--stagger-4)}.zhrms-stagger-5{animation-delay:var(--stagger-5)}.zhrms-bell--has-unread .anticon-bell{animation:zhrms-bell-shake .6s var(--ease-spring) 1}.zhrms-balance-bar--animated{transform-origin:left center;animation:zhrms-bar-fill var(--duration-slower) var(--ease-out-expo) both}.zhrms-attendance-widget--checked-in-flash{animation:zhrms-checkin-burst .7s ease-out 1;border-radius:var(--radius-lg)}.zhrms-badge-pop{animation:zhrms-badge-pop .35s var(--ease-spring) 1}.zhrms-row-success{animation:zhrms-row-success-flash 2s ease-out forwards}.zhrms-row-error{animation:zhrms-row-error-flash 2s ease-out forwards}.zhrms-row-exiting{animation:zhrms-fade-in .2s ease reverse forwards;pointer-events:none}}a,[role=button],[role=tab],[role=menuitem],[role=option]{cursor:pointer}.ant-btn:not([disabled]):not(.ant-btn-disabled),.ant-tabs-tab,.ant-tabs-nav-add,.ant-select:not(.ant-select-disabled) .ant-select-selector,.ant-select:not(.ant-select-disabled) .ant-select-arrow,.ant-dropdown-trigger,.ant-dropdown-menu-item,.ant-menu-item:not(.ant-menu-item-disabled),.ant-menu-submenu-title,.ant-pagination-item:not(.ant-pagination-disabled),.ant-pagination-prev:not(.ant-pagination-disabled),.ant-pagination-next:not(.ant-pagination-disabled),.ant-pagination-jump-prev,.ant-pagination-jump-next,.ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled),.ant-radio-wrapper:not(.ant-radio-wrapper-disabled),.ant-switch:not(.ant-switch-disabled),.ant-upload:not(.ant-upload-disabled),.ant-upload-list-item-actions .anticon,.ant-popover-open,.ant-tooltip-open,.ant-tag[onClick],.ant-list-item[style*=cursor],.ant-table-row[style*=cursor]{cursor:pointer}.org-chart-page{padding:0}.org-chart-canvas{overflow:auto;min-height:480px;padding:32px 0 40px}.org-chart-canvas__inner{display:table;margin:0 auto;padding:0 40px}.org-connector-v{width:1px;height:32px;background:var(--color-neutral-300);margin:0 auto;flex-shrink:0}.org-row{display:flex;flex-direction:row;gap:10px;align-items:flex-start;position:relative}.org-row--connected:before{content:"";position:absolute;top:0;left:64px;right:64px;height:1px;background:var(--color-neutral-300);pointer-events:none}.org-row--single:before{display:none}.org-node{display:flex;flex-direction:column;align-items:center;position:relative}.org-node__drop{width:1px;height:32px;background:var(--color-neutral-300);flex-shrink:0}.org-node-card{width:128px;background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;flex-shrink:0;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.org-node-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-neutral-300)}.org-node-card--focal{border-color:var(--color-brand-400);box-shadow:0 0 0 3px #6366f129,var(--shadow-md)}.org-node-card--manager{opacity:.72;transform:scale(.92);transform-origin:bottom center}.org-node-card__band{height:34px;background:linear-gradient(135deg,var(--color-brand-600) 0%,var(--color-brand-400) 100%);flex-shrink:0}.org-node-card--focal .org-node-card__band{background:linear-gradient(135deg,#4338ca,#818cf8)}.org-node-card--self .org-node-card__band{background:linear-gradient(135deg,#059669,#34d399)}.org-node-card--manager .org-node-card__band{background:linear-gradient(135deg,var(--color-neutral-500) 0%,var(--color-neutral-400) 100%)}.org-node-card__avatar-wrap{display:flex;justify-content:center;margin-top:-16px;margin-bottom:6px}.org-node-card__avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-neutral-0);background:var(--color-brand-100);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--color-brand-600);overflow:hidden;box-shadow:0 2px 8px #00000024;flex-shrink:0}.org-node-card__avatar img{width:100%;height:100%;object-fit:cover}.org-node-card__body{padding:0 8px 8px;text-align:center}.org-node-card__name{font-size:11px;font-weight:700;color:var(--color-neutral-800);line-height:1.3;margin-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-node-card__title{font-size:10px;color:var(--color-neutral-500);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-node-card__footer{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:5px}.org-node-card__status{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.org-node-card__status-label{font-size:10px;color:var(--color-neutral-400);font-family:var(--font-mono);letter-spacing:.02em}.org-node-card__status--active{background:var(--color-feedback-success)}.org-node-card__status--on_leave{background:var(--color-feedback-warning)}.org-node-card__status--inactive{background:var(--color-neutral-300)}.org-expand-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--color-neutral-300);background:var(--color-neutral-0);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;color:var(--color-neutral-500);margin-top:4px;transition:background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.org-expand-btn:hover{background:var(--color-brand-50);border-color:var(--color-brand-300);color:var(--color-brand-600)}
