:root{--hr-primary:#1565c0;--hr-primary-light:#1976d2;--hr-primary-pale:#e3f2fd;--hr-primary-dark:#0d47a1;--hr-success:#2e7d32;--hr-success-light:#388e3c;--hr-success-pale:#e8f5e9;--hr-success-text:#1b5e20;--hr-teal:#00695c;--hr-teal-light:#00897b;--hr-teal-pale:#e0f2f1;--hr-bg:#f5f7fa;--hr-surface:#fff;--hr-border:#e0e4eb;--hr-text:#1a2332;--hr-muted:#5f6b7a;--hr-divider:#eceff4;--hr-warning:#f57f17;--hr-warning-pale:#fff8e1;--hr-danger:#c62828;--hr-danger-pale:#ffebee;--hr-purple:#6a1b9a;--hr-purple-pale:#f3e5f5;--shell-bg:var(--hr-bg);--nav-bg:var(--hr-primary-dark);--sidebar-bg:var(--hr-primary-dark);--panel-bg:var(--hr-surface);--card-bg:var(--hr-surface);--surface:#eef1f6;--hover:#e4e9f1;--text-primary:var(--hr-text);--text-secondary:var(--hr-muted);--text-tertiary:#8a94a3;--text-inverse:#fff;--company-accent:var(--hr-primary);--accent-soft:#1565c01a;--success:var(--hr-success);--warning:var(--hr-warning);--danger:var(--hr-danger);--info:var(--hr-primary-light);--border:var(--hr-divider);--border-strong:var(--hr-border);--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 8px 32px #10182824;--r-sm:2px;--r-md:4px;--r-lg:6px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--shell-bg);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#10182805 1px,#0000 1px),linear-gradient(90deg,#10182805 1px,#0000 1px);background-size:24px 24px;margin:0;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--hover);background-clip:padding-box}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--company-accent);border-color:var(--company-accent);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:#ef44441f}.btn-sm{padding:4px 10px;font-size:12px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg)}.panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.panel-header h3{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.panel-body{padding:16px}.badge{letter-spacing:.02em;text-transform:uppercase;border-radius:3px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:#10b98124}.badge-warning{color:var(--warning);background:#f59e0b24}.badge-danger{color:var(--danger);background:#ef444424}.badge-info{color:var(--info);background:#3b82f624}.badge-neutral{background:var(--surface);color:var(--text-secondary)}.badge-teal{color:#14b8a6;background:#14b8a624}.badge-purple{background:var(--hr-purple-pale);color:var(--hr-purple)}table.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:11px;font-weight:600}.data-table tbody td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:10px 12px}.data-table tbody tr:hover{background:var(--hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable{cursor:pointer}input.input,select.input,textarea.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text-primary);border-radius:3px;outline:none;padding:8px 10px}input.input:focus,select.input:focus,textarea.input:focus{border-color:var(--company-accent)}input.input::placeholder{color:var(--text-tertiary)}.form-row{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.form-row label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.avatar{background:var(--company-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.empty-state{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:13px}.modal-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel-bg);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;width:560px;max-width:92vw;max-height:88vh;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:15px}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.drawer-overlay{z-index:1900;background:#00000080;position:fixed;inset:0}.drawer{background:var(--panel-bg);border-left:1px solid var(--border-strong);width:480px;max-width:92vw;box-shadow:var(--shadow-lg);z-index:1901;flex-direction:column;animation:.16s ease-out slide-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 16px;display:flex}.tab{color:var(--text-secondary);border-bottom:2px solid #0000;padding:10px 12px;font-size:12px;font-weight:600}.tab.active{color:var(--company-accent);border-bottom-color:var(--company-accent)}.tab:hover{color:var(--text-primary)}.progress-bar{background:var(--surface);border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--company-accent);border-radius:3px;height:100%}.spinner{border:2px solid var(--border-strong);border-top-color:var(--company-accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{color:var(--text-tertiary);justify-content:center;align-items:center;gap:10px;padding:60px;display:flex}.toast{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:3000;max-width:340px;padding:12px 16px;font-size:13px;position:fixed;bottom:20px;right:20px}.toast.error{border-color:var(--danger);color:var(--danger)}.toast.success{border-color:var(--success);color:var(--success)}.checkin-panel{justify-content:space-between;align-items:center;gap:16px;display:flex}.leave-balance-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:20px;display:grid}.leave-balance-card{padding:16px}.leave-balance-card .name{margin-bottom:8px;font-size:13px;font-weight:600}.leave-balance-card .stats{color:var(--text-tertiary);justify-content:space-between;margin-top:6px;font-size:11.5px;display:flex}.apply-leave-form{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:0 14px;display:grid}.apply-leave-form .form-row.full{grid-column:1/-1}.apply-leave-form .form-row.submit-row{align-self:start}.cal-weekdays{color:var(--text-tertiary);text-transform:uppercase;text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;font-size:10.5px;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-cell{background:var(--surface);border-radius:var(--r-sm);min-height:56px;padding:5px}.cal-cell.empty{background:0 0}.cal-date{color:var(--text-tertiary);margin-bottom:3px;font-size:10.5px}.cal-dot{border-radius:50%;width:6px;height:6px;margin-right:2px;display:inline-block}.pending-actions{gap:6px;display:flex}.payroll-toolbar{align-items:center;gap:10px;margin-bottom:16px;display:flex}.payroll-toolbar select,.payroll-toolbar input{width:auto}.payroll-summary-strip{border-bottom:1px solid var(--border);gap:24px;padding:14px 16px;font-size:12.5px;display:flex}.payroll-summary-strip b{margin-top:2px;font-size:15px;display:block}.payslip-view{max-width:640px;margin:0 auto}.payslip-letterhead{text-align:center;border-bottom:1px solid var(--border);padding:20px}.payslip-letterhead .co{font-size:16px;font-weight:700}.payslip-letterhead .period{color:var(--text-tertiary);margin-top:4px;font-size:12px}.payslip-grid{grid-template-columns:1fr 1fr;gap:20px;padding:20px;display:grid}.payslip-col h4{text-transform:uppercase;color:var(--text-tertiary);margin:0 0 10px;font-size:11px}.payslip-net{text-align:center;border-top:1px solid var(--border);padding:20px}.payslip-net .amt{color:var(--success);font-size:28px;font-weight:700}.doc-filter-row{gap:10px;margin-bottom:16px;display:flex}.doc-filter-row select,.doc-filter-row input{width:auto;min-width:160px}.org-chart-root{text-align:center}.org-node-root{background:var(--company-accent);color:#fff;border-radius:var(--r-md);margin-bottom:24px;padding:10px 20px;font-size:13px;font-weight:700;display:inline-block}.org-level{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:24px;padding-top:24px;display:flex;position:relative}.org-level:before{content:"";background:var(--border-strong);width:1px;height:24px;position:absolute;top:0;left:50%}.org-node{background:var(--card-bg);border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;min-width:140px;padding:12px 16px;transition:border-color .12s}.org-node:hover{border-color:var(--company-accent)}.org-node .avatar{margin:0 auto 8px}.org-node .n{font-size:12.5px;font-weight:600}.org-node .d{color:var(--text-tertiary);margin-top:2px;font-size:11px}.org-group{flex-direction:column;align-items:center;gap:12px;display:flex}.org-children{border-left:1px dashed var(--border-strong);flex-wrap:wrap;justify-content:center;gap:12px;padding-left:12px;display:flex}.settings-tabs{gap:4px;margin-bottom:20px;display:flex}.settings-tabs button{border-radius:var(--r-md);border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);padding:8px 14px;font-size:12.5px}.settings-tabs button.active{background:var(--accent-soft);color:var(--company-accent);border-color:var(--company-accent);font-weight:600}.settings-form-row{grid-template-columns:160px 1fr;align-items:center;gap:12px;max-width:520px;margin-bottom:14px;display:grid}.settings-form-row label{color:var(--text-secondary);font-size:12.5px}.color-swatch{border:1px solid var(--border-strong);vertical-align:middle;border-radius:5px;width:22px;height:22px;margin-right:8px;display:inline-block}.two-col-panels{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=980px){.two-col-panels{grid-template-columns:1fr}}.dept-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.dept-card{padding:16px}.dept-card .name{margin-bottom:4px;font-size:13.5px;font-weight:600}.dept-card .count{color:var(--text-tertiary);font-size:11.5px}.inline-add-form{gap:8px;margin-bottom:16px;display:flex}.inline-add-form input{max-width:260px}.dept-card{position:relative}.row-actions{gap:4px;display:flex}.row-actions button{border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-secondary);background:0 0;padding:3px 7px;font-size:11px}.row-actions button:hover{border-color:var(--company-accent);color:var(--company-accent)}.row-actions button.danger:hover{border-color:var(--danger);color:var(--danger)}.dept-card .dept-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dept-card .tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.bday-badges{gap:10px;margin-bottom:16px;display:flex}.bday-badge{border-radius:var(--r-md);align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.bday-badge.today{color:var(--danger);background:#ef44441f}.bday-badge.week{color:var(--warning);background:#f59e0b24}.bday-list{flex-direction:column;gap:10px;display:flex}.bday-row{border-radius:var(--r-md);background:var(--surface);align-items:center;gap:12px;padding:10px;display:flex}.bday-row .info{flex:1;min-width:0}.bday-row .info .name{font-size:13px;font-weight:600}.bday-row .info .sub{color:var(--text-tertiary);margin-top:2px;font-size:11.5px}.bday-row .wish-btn{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--card-bg);color:var(--text-secondary);white-space:nowrap;padding:6px 12px;font-size:12px}.bday-row .wish-btn:hover{border-color:var(--company-accent);color:var(--company-accent)}.policy-doc{max-width:720px}.policy-heading{color:var(--text-primary);margin:20px 0 8px;font-size:13.5px;font-weight:700}.policy-heading:first-child{margin-top:0}.policy-para{color:var(--text-secondary);white-space:pre-wrap;margin:0 0 10px;font-size:13px;line-height:1.6}.request-btn-row{gap:8px;display:flex}.reason-cell{text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:220px;overflow:hidden}.top-nav{background:var(--nav-bg);border-bottom:1px solid var(--border);z-index:1000;align-items:center;gap:16px;height:48px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.top-nav-brand{flex-shrink:0;align-items:center;gap:8px;display:flex}.top-nav-wordmark{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-tertiary);font-size:12px;font-weight:700}.top-nav-sep{color:var(--text-tertiary);font-size:12px}.top-nav-logo{background:var(--company-accent);color:#fff;object-fit:cover;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.top-nav-company{color:var(--text-primary);font-size:13px;font-weight:600}.top-nav-search{flex:1;max-width:460px;margin:0 auto}.top-nav-search input{background:var(--sidebar-bg);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-secondary);outline:none;padding:6px 10px;font-size:12.5px}.top-nav-search input:focus{border-color:var(--company-accent);color:var(--text-primary)}.top-nav-right{flex-shrink:0;align-items:center;gap:14px;margin-left:auto;display:flex}.bell-menu{position:relative}.bell-wrap{color:var(--text-secondary);background:0 0;border:none;padding:4px;display:flex;position:relative}.bell-wrap:hover{color:var(--text-primary)}.bell-badge{background:var(--danger);color:#fff;border-radius:100px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.bell-dropdown{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);width:300px;box-shadow:var(--shadow-lg);z-index:1100;position:absolute;top:40px;right:0;overflow:hidden}.bell-dropdown-section{padding:10px 0}.bell-dropdown-section+.bell-dropdown-section{border-top:1px solid var(--border)}.bell-dropdown-heading{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;padding:2px 14px 8px;font-size:11px;font-weight:700}.bell-dropdown-empty{color:var(--text-tertiary);padding:4px 14px 8px;font-size:12.5px}.bell-dropdown-item{text-align:left;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:6px 14px;display:flex}.bell-dropdown-item:hover{background:var(--hover)}.bell-item-title{color:var(--text-primary);font-size:12.5px;font-weight:600}.bell-item-sub{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.bell-dropdown-link{text-align:left;width:100%;color:var(--company-accent);background:0 0;border:none;padding:8px 14px 2px;font-size:12px;font-weight:600;display:block}.bell-dropdown-link:hover{text-decoration:underline}.user-menu{position:relative}.user-menu-trigger{background:0 0;border:none;align-items:center;gap:8px;padding:2px;display:flex}.user-name-role{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.user-name-role .name{color:var(--text-primary);font-size:12.5px;font-weight:600}.user-name-role .role{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:1100;min-width:170px;position:absolute;top:40px;right:0;overflow:hidden}.user-menu-dropdown button{text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;padding:9px 14px;font-size:12.5px;display:block}.user-menu-dropdown button:hover{background:var(--hover)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);width:200px;padding:8px 0;position:fixed;top:48px;bottom:0;left:0;overflow-y:auto}.nav-section-title{letter-spacing:.06em;color:var(--text-tertiary);text-transform:uppercase;padding:14px 16px 6px;font-size:10px;font-weight:700}.nav-item{color:var(--text-secondary);cursor:pointer;border-left:2px solid #0000;align-items:center;gap:10px;padding:8px 16px;font-size:13px;transition:background .1s,color .1s;display:flex}.nav-item svg{opacity:.85;flex-shrink:0}.nav-item:hover{background:var(--hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-soft);color:var(--company-accent);border-left-color:var(--company-accent);font-weight:600}.nav-item-badge{background:var(--danger);color:#fff;border-radius:100px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:auto;padding:0 4px;font-size:10px;font-weight:700;display:flex}.main-content{background:var(--panel-bg);flex-direction:column;min-height:calc(100vh - 48px);margin-top:48px;margin-left:200px;display:flex}.mobile-bottom-nav{display:none}@media (width<=768px){.sidebar{display:none}.main-content{margin-left:0;padding-bottom:64px}.top-nav-search{display:none}.mobile-bottom-nav{background:var(--hr-primary-dark);border-top:1px solid var(--border-strong);z-index:500;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav a{color:#ffffffa6;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;display:flex}.mobile-bottom-nav a.active{color:#fff}.mobile-bottom-nav a svg{width:18px;height:18px}}.page-header{background:var(--panel-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;padding:0 24px;display:flex}.breadcrumb{align-items:center;gap:6px;padding:10px 0;font-size:13px;display:flex}.breadcrumb .crumb{color:var(--text-tertiary)}.breadcrumb .crumb.current{color:var(--company-accent);font-weight:600}.breadcrumb .sep{color:var(--text-tertiary);opacity:.5}.page-header-actions{gap:8px;margin-left:auto;padding:8px 0;display:flex}.content-area{flex:1;padding:24px}.footer{border-top:1px solid var(--border);color:var(--text-tertiary);justify-content:space-between;align-items:center;padding:12px 24px;font-size:11px;display:flex}.footer .powered-by{color:var(--text-tertiary)}.login-shell{background:var(--hr-bg);background-image:radial-gradient(circle,#1018280d 1px,#0000 1px);background-size:32px 32px;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--hr-surface);border:1px solid var(--hr-border);border-radius:12px;width:440px;max-width:92vw;padding:48px 40px;box-shadow:0 32px 64px #10182829}.login-brand{text-align:center;margin-bottom:24px}.login-wordmark{font-family:var(--font-mono);letter-spacing:.04em;color:var(--hr-text);font-size:48px;font-weight:700}.login-cursor{color:var(--hr-primary);animation:1.1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.login-subtitle{font-size:13px;font-family:"Inter", var(--font);color:var(--hr-muted);margin:8px 0 0}.login-divider{background:var(--hr-divider);height:1px;margin-bottom:24px}.form-row label{color:var(--hr-muted)}.login-card input.input{background:var(--hr-surface);border:1px solid var(--hr-border);color:var(--hr-text);border-radius:3px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .12s,box-shadow .12s}.login-card input.input:focus{border-color:var(--hr-primary);box-shadow:0 0 0 3px #1565c026}.login-card input.input-error{border-color:var(--danger)}.login-card input.input-error:focus{box-shadow:0 0 0 3px #c6282826}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{width:32px;height:32px;color:var(--hr-muted);background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--hr-text);background:#1018280d}.login-error{background:var(--hr-danger-pale);border:1px solid var(--danger);color:var(--danger);border-radius:var(--r-md);margin-bottom:14px;padding:8px 12px;font-size:12.5px}.login-submit{background:var(--hr-primary);color:#fff;border:none;border-radius:3px;justify-content:center;align-items:center;width:100%;height:44px;margin-top:4px;font-size:14px;font-weight:600;transition:background .12s,transform 80ms;display:flex}.login-submit:hover:not(:disabled){background:var(--hr-primary-dark);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-forgot{text-align:center;color:var(--hr-muted);margin:20px 0 0;font-size:12px}.login-footer{text-align:center;color:var(--hr-muted);margin-top:6px;font-size:11px}.kpi-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.kpi-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;position:relative;overflow:hidden}.kpi-card:after{content:"";background:var(--company-accent);height:2px;position:absolute;top:0;left:0;right:0}.kpi-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:11.5px}.kpi-value{color:var(--text-primary);font-size:28px;font-weight:700}.dash-row-2{grid-template-columns:3fr 2fr;align-items:start;gap:16px;margin-bottom:20px;display:grid}.dash-row-3{grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;margin-bottom:20px;display:grid}.leave-week-strip{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.leave-week-day{background:var(--surface);border-radius:var(--r-md);min-height:90px;padding:8px 6px}.leave-week-day-label{color:var(--text-tertiary);text-transform:uppercase;text-align:center;margin-bottom:6px;font-size:10.5px;font-weight:700}.leave-week-empty{color:var(--text-tertiary);text-align:center;opacity:.5;font-size:11px}.leave-week-name{color:var(--text-secondary);background:var(--hover);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;margin-bottom:3px;padding:2px 4px;font-size:10.5px;overflow:hidden}.bar-chart-row{grid-template-columns:88px 1fr 24px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.bar-chart-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.bar-chart-track{background:var(--surface);border-radius:4px;height:8px;overflow:hidden}.bar-chart-fill{background:var(--company-accent);border-radius:4px;height:100%}.bar-chart-value{color:var(--text-tertiary);text-align:right;font-size:12px}.donut-wrap{align-items:center;gap:20px;display:flex}.donut-legend{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.activity-row{border-bottom:1px solid var(--border);gap:10px;padding:8px 0;display:flex}.activity-row:last-child{border-bottom:none}.activity-dot{background:var(--info);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.activity-dot[data-type=join]{background:var(--success)}.activity-dot[data-type=leave]{background:var(--warning)}.activity-text{color:var(--text-primary);font-size:12.5px}.activity-time{color:var(--text-tertiary);margin-top:2px;font-size:11px}.my-panel-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.my-panel-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:11px}.my-panel-sub{color:var(--text-secondary);margin-bottom:4px;font-size:12.5px}@media (width<=1100px){.kpi-row,.dash-row-3{grid-template-columns:repeat(2,1fr)}.dash-row-2,.my-panel-grid{grid-template-columns:1fr}}.emp-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.emp-search{flex:1;min-width:200px}.emp-toolbar select{width:auto;min-width:140px}.view-toggle{border:1px solid var(--border-strong);border-radius:var(--r-md);margin-left:auto;display:flex;overflow:hidden}.view-toggle button{background:var(--surface);color:var(--text-secondary);border:none;padding:7px 14px;font-size:12.5px}.view-toggle button.active{background:var(--company-accent);color:#fff}.mono{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.emp-name-cell{align-items:center;gap:10px;display:flex}.emp-card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.emp-card{text-align:center;cursor:pointer;padding:20px 16px;transition:border-color .12s}.emp-card:hover{border-color:var(--company-accent)}.emp-card .avatar{margin:0 auto 10px}.emp-card-name{margin-bottom:3px;font-size:13px;font-weight:600}.emp-card-sub{color:var(--text-tertiary);margin-bottom:10px;font-size:11.5px}.drawer-header{border-bottom:1px solid var(--border);padding:20px}.drawer-header-top{justify-content:flex-end;display:flex}.drawer-close{color:var(--text-tertiary);background:0 0;border:none;padding:4px}.drawer-close:hover{color:var(--text-primary)}.drawer-profile{align-items:center;gap:14px;margin-top:4px;display:flex}.drawer-profile-name{font-size:17px;font-weight:700}.drawer-profile-sub{color:var(--text-tertiary);margin-top:2px;font-size:12.5px}.drawer-profile-meta{color:var(--text-tertiary);align-items:center;gap:8px;margin-top:8px;font-size:11.5px;display:flex}.drawer-body{flex:1;padding:20px;overflow-y:auto}.detail-section{margin-bottom:22px}.detail-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 10px;font-size:11px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.detail-field-label{color:var(--text-tertiary);font-size:11px}.detail-field-value{color:var(--text-primary);margin-top:2px;font-size:13px}.att-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.att-summary-cell{background:var(--surface);border-radius:var(--r-md);text-align:center;padding:10px}.att-summary-cell .n{font-size:18px;font-weight:700}.att-summary-cell .l{color:var(--text-tertiary);text-transform:uppercase;margin-top:2px;font-size:10.5px}.leave-balance-row{margin-bottom:14px}.leave-balance-top{justify-content:space-between;margin-bottom:5px;font-size:12.5px;display:flex}.doc-upload-row{gap:8px;margin-bottom:14px;display:flex}.doc-upload-row select{flex:1}.doc-upload-row input[type=date]{width:150px}.doc-upload-row label.btn{align-items:center;display:inline-flex}.doc-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.doc-card{background:var(--surface);border-radius:var(--r-md);padding:12px}.doc-card .doc-type{color:var(--company-accent);text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.doc-card .doc-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:12.5px;overflow:hidden}.doc-card .doc-meta{color:var(--text-tertiary);font-size:10.5px}.wizard-steps{gap:6px;margin-bottom:18px;display:flex}.wizard-step{background:var(--surface);border-radius:2px;flex:1;height:3px}.wizard-step.done,.wizard-step.active{background:var(--company-accent)}.wizard-step-label{color:var(--text-tertiary);margin-bottom:14px;font-size:11px}.review-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:7px 0;font-size:12.5px;display:flex}.review-row .k{color:var(--text-tertiary)}.credential-box{background:var(--surface);border-radius:var(--r-md);font-family:var(--font-mono);margin-top:8px;padding:12px;font-size:12.5px}.messages-page{height:calc(100vh - 48px);margin:-24px;display:flex}.msg-left-panel{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;display:flex}.msg-left-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.msg-left-header h2{margin:0;font-size:15px}.msg-conv-list{flex:1;padding:8px 0;overflow-y:auto}.msg-section-title{letter-spacing:.06em;color:var(--text-tertiary);text-transform:uppercase;padding:12px 16px 6px;font-size:10px;font-weight:700}.msg-conv-row{text-align:left;background:0 0;border:none;align-items:flex-start;gap:10px;width:100%;padding:8px 16px;display:flex;position:relative}.msg-conv-row:hover{background:var(--hover)}.msg-conv-row.active{background:var(--accent-soft)}.msg-conv-row-body{flex:1;min-width:0}.msg-conv-row-top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.msg-conv-row-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.msg-conv-row-time{color:var(--text-tertiary);flex-shrink:0;font-size:10.5px}.msg-conv-row-company{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.msg-conv-row-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.msg-unread-badge{background:var(--company-accent);color:#fff;border-radius:100px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:10px;right:12px}.msg-center-panel{background:var(--panel-bg);flex-direction:column;flex:1;min-width:0;display:flex}.msg-empty-state{color:var(--text-tertiary);flex:1;justify-content:center;align-items:center;font-size:13.5px;display:flex}.msg-conv-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.msg-conv-header-info{align-items:center;gap:10px;display:flex}.msg-conv-header-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.msg-conv-header-company{color:var(--text-tertiary);font-size:11px}.msg-body{flex:1;min-height:0;display:flex}.msg-messages{flex:1;padding:16px 0;overflow-y:auto}.date-separator{text-align:center;color:var(--text-tertiary);margin:16px 0;font-size:11px;position:relative}.date-separator span{background:var(--panel-bg);z-index:1;padding:0 10px;position:relative}.date-separator:before,.date-separator:after{content:"";background:var(--border);width:40%;height:1px;position:absolute;top:50%}.date-separator:before{left:0}.date-separator:after{right:0}.message{gap:10px;margin:2px 0;padding:4px 16px;display:flex}.message.own{justify-content:flex-end}.message-avatar{flex-shrink:0;margin-top:16px}.message-content{flex-direction:column;max-width:65%;display:flex}.message.own .message-content{align-items:flex-end}.message-meta{color:var(--text-tertiary);margin-bottom:2px;font-size:11px}.bubble{word-break:break-word;white-space:pre-wrap;border-radius:3px;max-width:100%;padding:8px 12px;font-size:14px;line-height:1.5}.bubble.own{background:var(--company-accent);color:#fff}.bubble.other{background:var(--card-bg);color:var(--text-primary)}.message-input-bar{border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.message-textarea{resize:none;background:var(--surface);border:1px solid var(--border-strong);max-height:96px;color:var(--text-primary);border-radius:3px;outline:none;flex:1;padding:9px 12px;font-family:inherit;font-size:14px;line-height:1.4}.message-textarea:focus{border-color:var(--company-accent)}.message-send-btn{background:var(--company-accent);color:#fff;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.message-send-btn:disabled{opacity:.4;cursor:not-allowed}.message-send-btn:hover:not(:disabled){filter:brightness(1.1)}.msg-info-panel{border-left:1px solid var(--border);flex-shrink:0;width:240px;padding:16px;overflow-y:auto}.msg-info-panel h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 12px;font-size:12px}.msg-info-member{align-items:center;gap:10px;padding:6px 0;display:flex}.msg-info-member-name{color:var(--text-primary);font-size:13px}.msg-info-member-company{color:var(--text-tertiary);font-size:11px}.avatar-sm{width:28px;height:28px;font-size:11px}.new-msg-selected{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.new-msg-chip{background:var(--accent-soft);color:var(--company-accent);border-radius:3px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:12px;font-weight:600;display:inline-flex}.new-msg-chip button{color:inherit;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.new-msg-directory{border:1px solid var(--border);border-radius:var(--r-md);max-height:320px;overflow-y:auto}.new-msg-directory-row{text-align:left;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.new-msg-directory-row:last-child{border-bottom:none}.new-msg-directory-row:hover{background:var(--hover)}.new-msg-directory-row.selected{background:var(--accent-soft)}.new-msg-name{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;display:flex}.new-msg-hr-tag{color:var(--company-accent);background:var(--accent-soft);letter-spacing:.03em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.new-msg-sub{color:var(--text-tertiary);font-size:11px}@media (width<=900px){.msg-info-panel{display:none}}.ann-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 12px;font-size:12px;font-weight:700}.announcement-card{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:3px;margin-bottom:8px;padding:16px 20px;transition:opacity .15s}.announcement-card.is-read{opacity:.6}.announcement-card.priority-urgent{border-left-color:var(--danger)}.announcement-card.priority-important{border-left-color:var(--warning)}.announcement-card.priority-normal{border-left-color:var(--info)}.announcement-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.announcement-expiry{color:var(--text-tertiary);font-size:11px}.announcement-title{color:var(--text-primary);margin:0 0 6px;font-size:16px;font-weight:600}.announcement-content{color:var(--text-secondary);white-space:pre-wrap;margin:0 0 10px;font-size:14px;line-height:1.55}.announcement-content.clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.announcement-expand{color:var(--company-accent);background:0 0;border:none;padding:0 0 10px;font-size:12.5px;font-weight:600}.announcement-expand:hover{text-decoration:underline}.announcement-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.announcement-meta{color:var(--text-tertiary);font-size:12px}.docgen-page{height:calc(100vh - 100px);margin:-24px;display:flex}.docgen-left{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;display:flex}.docgen-left-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:14px 16px;font-size:11px;font-weight:700}.docgen-type-list{flex:1;padding:6px 0;overflow-y:auto}.docgen-type-row{text-align:left;width:100%;color:var(--text-secondary);background:0 0;border:none;border-left:2px solid #0000;justify-content:space-between;align-items:center;padding:9px 16px;font-size:13px;display:flex}.docgen-type-row:hover{background:var(--hover);color:var(--text-primary)}.docgen-type-row.active{background:var(--accent-soft);color:var(--company-accent);border-left-color:var(--company-accent);font-weight:600}.docgen-type-count{color:var(--text-tertiary);background:var(--surface);border-radius:100px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;display:flex}.docgen-type-row.active .docgen-type-count{color:var(--company-accent)}.docgen-center{flex-direction:column;flex:1;min-width:0;padding:16px 24px;display:flex;overflow-y:auto}.docgen-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.docgen-employee-picker{flex:1;gap:8px;min-width:280px;display:flex}.docgen-employee-picker .input{max-width:240px}.docgen-actions{align-items:center;gap:8px;display:flex}.docgen-doc-id{font-family:var(--font-mono);color:var(--company-accent);background:var(--accent-soft);border-radius:3px;padding:4px 10px;font-size:12px;font-weight:600}.docgen-fields{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;margin-bottom:12px;padding:12px 16px;display:grid}.docgen-field label{color:var(--text-secondary);margin-bottom:4px;font-size:11.5px;display:block}.docgen-toast{border:1px solid var(--success);color:var(--success);border-radius:var(--r-md);background:#10b9811a;margin-bottom:12px;padding:8px 12px;font-size:12.5px}.docgen-preview{border-radius:var(--r-lg);background:#2a2a2a;flex:1;min-height:400px;position:relative;overflow:hidden}.docgen-empty{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:13.5px;display:flex}.docgen-iframe{background:#e8e8e8;border:none;width:100%;height:100%}.docgen-preview-loading{z-index:2;position:absolute;top:12px;right:12px}.score-good{color:var(--success);font-weight:600}.score-mid{color:var(--warning);font-weight:600}.score-bad{color:var(--danger);font-weight:600}.opening-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.opening-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.opening-card-top{justify-content:space-between;align-items:center;display:flex}.opening-card-count{color:var(--text-tertiary);font-size:11.5px}.opening-card-title{color:var(--text-primary);margin:4px 0 0;font-size:16px;font-weight:600}.opening-card-meta{color:var(--text-secondary);font-size:12.5px}.opening-card-salary{color:var(--text-tertiary);font-size:12.5px}.opening-card-actions{gap:8px;margin-top:10px;display:flex}.talent-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);border-radius:100px;padding:5px 14px;font-size:12.5px;font-weight:500}.filter-chip:hover{background:var(--hover)}.filter-chip.active{background:var(--company-accent);border-color:var(--company-accent);color:#fff}.table-scroll-x{overflow-x:auto}.talent-score-table{min-width:900px}.talent-overall-cell{font-size:15px}.talent-actions-cell{white-space:nowrap;gap:6px;display:flex}.atwork-link-box{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);word-break:break-all;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.scorecard-header{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.scorecard-header-info{flex:1;min-width:200px}.scorecard-name{color:var(--text-primary);font-size:18px;font-weight:700}.scorecard-sub{color:var(--text-tertiary);margin-top:2px;font-size:12.5px}.scorecard-header-actions{flex-wrap:wrap;gap:8px;display:flex}.score-row{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px;display:grid}@media (width<=1100px){.score-row{grid-template-columns:repeat(3,1fr)}}.score-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;padding:18px 12px}.score-card-value{color:var(--text-primary);font-size:26px;font-weight:700}.score-card.score-good .score-card-value{color:var(--success)}.score-card.score-mid .score-card-value{color:var(--warning)}.score-card.score-bad .score-card-value{color:var(--danger)}.score-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-top:4px;font-size:11px}.score-card-overall{border-width:2px;border-color:var(--company-accent)}.score-card-overall .score-card-value{font-size:32px}.ai-summary-box{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--company-accent);border-radius:var(--r-lg);padding:16px 20px}.ai-summary-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ai-summary-top h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0;font-size:13px}.ai-summary-box p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.hire-success-banner{border:1px solid var(--success);color:var(--success);border-radius:var(--r-md);background:#10b9811a;margin-bottom:14px;padding:10px 14px;font-size:13px}.hire-credentials{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:14px 16px}.hire-cred-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.hire-cred-row:last-child{border-bottom:none}.talent-public-banner{border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text-secondary);background:#3b82f614;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.status-toggle{cursor:pointer;align-items:center;gap:8px;margin:10px 0;display:flex}.status-toggle-label{color:var(--text-tertiary);font-size:12.5px}.toggle-switch{flex-shrink:0;width:40px;height:22px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch input:disabled~.toggle-slider{opacity:.6;cursor:not-allowed}.toggle-slider{cursor:pointer;background:#cbd5e0;border-radius:12px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--success,#10b981)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.badge-purple{color:#a855f7;background:#a855f724}.slate-sub{color:var(--text-tertiary);margin:-8px 0 16px;font-size:12px}.slate-pulse-dot{background:var(--warning);border-radius:50%;width:6px;height:6px;margin-right:5px;animation:1.3s ease-in-out infinite slate-pulse;display:inline-block}.slate-timer-live{color:var(--danger);font-variant-numeric:tabular-nums;font-weight:700;animation:1.3s ease-in-out infinite slate-pulse}@keyframes slate-pulse{0%,to{opacity:1}50%{opacity:.45}}.slate-unassigned{color:var(--warning);font-size:12px;font-weight:600}.slate-drawer-section{border-bottom:1px solid var(--border);padding:16px 20px}.slate-drawer-section:last-child{border-bottom:none}.slate-drawer-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);margin-bottom:6px;font-size:11px}.slate-field-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.slate-timer-box{text-align:center;background:var(--surface);border-radius:var(--r-md);padding:18px}.slate-timer-display{font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:26px;font-weight:700}.slate-comment{border-bottom:1px solid var(--border);padding:10px 0}.slate-comment:last-child{border-bottom:none}.slate-comment-meta{color:var(--text-tertiary);justify-content:space-between;margin-bottom:3px;font-size:12px;display:flex}
