@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--green: #48245f;--green-dark: #351848;--ink: #282333;--muted: #716b7d;--navy: #ffffff;--line: #eeeaf2;--blue-soft: #f2edf6;--canvas: #faf9fc;--status-success: #007a53;--status-success-bg: #d8f9eb;--status-info: #1a5fa8;--status-info-bg: #e8f0fb;--status-warning: #8a5c00;--status-warning-bg: #fdf3dc;--status-danger: #b52b2b;--status-danger-bg: #fdeaea;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:#d6cee0 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#d6cee0;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:#b5a7c2}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:inherit;font-size:14px;line-height:1.5}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8d70a2;outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:236px;padding:24px 16px 18px;background:#ffffff;border-right:1px solid var(--line);color:var(--ink);box-shadow:2px 0 16px #48245f0a}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0 4px 26px;text-decoration:none;color:var(--ink)}.brand-logo{display:block;width:100%;max-width:172px;height:auto;object-fit:contain;object-position:left center}.brand-text-block{display:flex;flex-direction:column;gap:2px;margin-top:4px}.brand-title{display:block;color:var(--green);font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:-.2px;line-height:1.2}.brand-title--reset{color:#8a5aa0;font-size:12.5px;font-weight:700}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.4px}.nav-label{margin:0 0 10px 6px;color:#8c8599;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.side-nav{display:grid;gap:6px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;min-height:42px;padding:0 12px;border:0;border-left:3px solid transparent;border-radius:8px;color:#565160;background:transparent;text-align:left;font-size:13px;font-weight:500;cursor:pointer;overflow:hidden;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .12s ease}.nav-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(72,36,95,.08) 0%,transparent 100%);opacity:0;transition:opacity .18s ease}.nav-item:hover{color:var(--green);background:#f8f5fb}.nav-item:hover:before{opacity:1}.nav-item.is-active{color:var(--green);background:linear-gradient(90deg,#ede3f4 0%,#f9f5fc 100%);border-left-color:var(--green);font-weight:700;box-shadow:0 1px 4px #48245f0f}.nav-icon{display:inline-grid;place-items:center;width:20px;font-size:16px;flex-shrink:0}.sidebar-bottom{position:relative;margin-top:auto;padding:14px 12px 12px;border:1px solid var(--line);border-radius:10px;background:#faf8fc;font-size:11.5px;line-height:1.4}.sidebar-logout-form{margin-top:10px}.sidebar-logout-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:40px;padding:0 12px;border:1px solid #f3d2d2;border-radius:9px;color:var(--status-danger);background:#fff7f7;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease}.sidebar-logout-button:hover{border-color:#e8b3b3;background:#fdeaea}.sidebar-logout-button i{font-size:16px}.sidebar-bottom strong{display:inline-block;margin-left:14px;font-size:11.5px;font-weight:700;color:var(--ink)}.sidebar-bottom small{display:block;margin:4px 0 10px 14px;color:var(--muted);font-size:11px}.connected-dot,.live-dot,.context-chip i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.connected-dot{position:absolute;top:18px;left:12px;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{box-shadow:0 0 #48245f80}50%{box-shadow:0 0 0 5px #48245f00}}.edition{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.edition b{padding:3px 6px;color:var(--green);background:#f1ebf5;border-radius:4px;font-size:10.5px;font-weight:700}.main-area{flex:1;min-width:0;min-height:100vh;margin-left:236px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 32px;border-bottom:1px solid rgba(238,234,242,.85);background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 14px #48245f0a}.portal-name,.account{display:flex;align-items:center;gap:12px}.portal-name strong{display:block;color:var(--ink);font-size:14px;font-weight:700}.portal-name small{display:block;margin-top:2px;color:var(--muted);font-size:11.5px}.portal-name small b{color:var(--green);font-weight:700}.account strong{display:block;color:var(--ink);font-size:13px;font-weight:700}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:8px;color:var(--green);background:#f1ebf5;font-size:12px;font-weight:700}.avatar-rk{width:36px;height:36px;color:#fff;background:linear-gradient(135deg,#48245f 0%,#7a3d96 100%);border:2px solid #d9c5e4;border-radius:9px;font-size:12px;font-weight:800;box-shadow:0 2px 8px #48245f38;transition:box-shadow .2s ease,transform .2s ease}.avatar-rk:hover{box-shadow:0 4px 14px #48245f4d;transform:translateY(-1px)}.avatar-0{color:#fff;background:#008a63}.avatar-1{color:#282333;background:#dce2fb}.avatar-2{color:#fff;background:#0080bd}.avatar-3{color:#282333;background:#e1eafe}.avatar-4{color:#282333;background:#cfe5ff}.page-content{max-width:1560px;margin:0 auto;padding:26px 32px 42px}.view-panel{display:none;animation:appear .25s cubic-bezier(.4,0,.2,1) both}.view-panel.is-visible{display:block}@keyframes appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px}.eyebrow{margin:0 0 5px;color:var(--green);font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.eyebrow span{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:600}.page-heading h1{margin:0 0 4px;color:#171221;font-family:Manrope,sans-serif;font-size:26px;font-weight:800;line-height:1.25;letter-spacing:-.4px}.page-heading>div:first-child>p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:13.5px;line-height:1.5}.heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}.heading-actions form{margin:0}.primary-button.employee-add-button{min-height:36px;padding:0 14px;font-size:12.5px}.primary-button,.secondary-button,.soft-button,.context-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s ease,transform .16s ease,box-shadow .18s ease,border-color .18s ease}.primary-button{color:#fff!important;background-color:var(--green);box-shadow:0 2px 8px #48245f38}.primary-button:hover{background-color:var(--green-dark);box-shadow:0 5px 16px #48245f4d;transform:translateY(-1px)}.secondary-button{color:#342a42;border-color:#dcd5e2;background:#ffffff;box-shadow:0 1px 3px #2823330a}.secondary-button:hover{background:#f7f3f9;border-color:#baa7c8;transform:translateY(-1px);box-shadow:0 3px 10px #48245f14}.soft-button{color:var(--green);background:#f1ebf5;border-color:#e5dceb}.soft-button:hover{background:#e6dcfa;transform:translateY(-1px)}.context-chip{gap:8px;border-radius:20px;background:#ffffff;border:1px solid var(--line);font-size:12.5px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashboard-metrics-grid{margin-bottom:20px}.employee-metrics,.bonus-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.resignation-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card,.content-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:#ffffff;box-shadow:0 1px 4px #48245f0a;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease,border-color .2s ease}.metric-card{display:flex;flex-direction:column;justify-content:space-between;min-height:136px;padding:18px 20px 16px}.metric-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #48245f17;border-color:#dcd3e4}.metric-label{display:flex;align-items:center;justify-content:space-between;min-height:24px;color:#635a70;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.metric-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;font-size:15px;background:#f4f0f7;color:var(--green)}.metric-number{display:block;margin:8px 0 10px;color:#171221;font-family:Manrope,sans-serif;font-size:28px;font-weight:800;line-height:1.15}.metric-number small{color:#686073;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:600}.metric-number.currency{margin-top:8px;font-size:21px;white-space:nowrap}.metric-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#716b7d;font-size:12px;font-weight:500}.green-text{color:var(--status-success)!important;font-weight:600}.dashboard-dual-count{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:center;margin:6px 0 10px}.dashboard-dual-count>span{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:0}.dashboard-dual-count strong{color:#171221;font-family:Manrope,sans-serif;font-size:26px;font-weight:800}.dashboard-dual-count small{color:#716b7d;font-size:12px;font-weight:600}.dashboard-dual-count i{display:block;width:1px;height:28px;background:var(--line)}.dashboard-dual-foot{display:grid;grid-template-columns:1fr 1fr;gap:0}.dashboard-dual-foot>span{text-align:center}.content-card{padding:22px}.content-card:hover{box-shadow:0 4px 18px #48245f12}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h2{margin:0;color:#171221;font-family:Manrope,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.2px}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}.small-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:20px;color:var(--green);background:#f1ebf5;font-size:11.5px;font-weight:700;white-space:nowrap}.dashboard-analytics{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}.analytics-card{min-height:320px;padding:20px}.chart-filters{display:flex;justify-content:flex-end;gap:8px}.chart-filters label{display:block}.chart-filters select{min-width:130px;max-width:210px;min-height:38px;padding:0 32px 0 12px;border:1px solid #dcd5e2;border-radius:8px;color:#2e263a;background-color:#faf8fc;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.chart-filters select:hover{border-color:#b7a4c6;background-color:#fff}.chart-filters select:focus-visible{border-color:#8d70a2;outline:0;box-shadow:0 0 0 3px #48245f1f}.demographic-chart{display:flex;align-items:center;justify-content:center;gap:28px;min-height:235px;padding:16px 4px 0}.donut-chart{position:relative;display:grid;place-items:center;flex-shrink:0;width:196px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:conic-gradient(#eeeaf2 0% 100%);box-shadow:0 2px 8px #48245f0d}.donut-chart:before{position:absolute;top:20%;right:20%;bottom:20%;left:20%;border:1px solid var(--line);border-radius:50%;background:#ffffff;content:""}.donut-center{position:relative;z-index:1;display:grid;justify-items:center}.donut-center strong{color:#171221;font-family:Manrope,sans-serif;font-size:28px;font-weight:800}.donut-center span{margin-top:2px;color:var(--muted);font-size:12px;font-weight:600}.chart-legend{display:grid;align-content:center;gap:10px;min-width:0;max-height:230px;overflow-y:auto;margin:0;padding:0;list-style:none}.chart-legend li{display:grid;grid-template-columns:10px minmax(60px,1fr) auto;align-items:center;gap:8px;color:#4c4456;font-size:12.5px}.chart-legend-swatch{width:10px;height:10px;border-radius:3px}.chart-legend-label{overflow-wrap:anywhere}.chart-legend strong{color:#171221;font-size:12.5px;font-weight:700;white-space:nowrap}.chart-empty{margin:14px 0 0;color:#7b7486;font-size:12.5px;text-align:center}.chart-empty[hidden]{display:none}.vertical-bar-chart{display:grid;grid-auto-columns:minmax(70px,1fr);grid-auto-flow:column;align-items:end;gap:12px;min-height:220px;overflow-x:auto;margin-top:20px;padding:10px 6px 0;border-bottom:2px solid var(--line)}.education-chart{max-height:260px}.department-chart{height:290px;min-height:290px;grid-template-columns:repeat(9,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:10px;margin-top:20px;overflow:visible;border-bottom:2px solid var(--line)}.vertical-bar-column{display:grid;grid-template-rows:24px 1fr auto;justify-items:center;align-items:end;min-width:0;height:100%;position:relative;transition:transform .2s cubic-bezier(.4,0,.2,1);cursor:default}.vertical-bar-column:hover{transform:translateY(-2px)}.vertical-bar-value{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:6px;color:#3b3246;background:#f4eff7;font-size:11.5px;font-weight:700;transition:background .18s ease,color .18s ease}.vertical-bar-column:hover .vertical-bar-value{background:var(--green);color:#fff}.vertical-bar-column.is-zero .vertical-bar-value{color:#a79fb0;background:#faf7fc}.vertical-bar-track{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;padding:0 2px 4px}.vertical-bar-fill{width:min(62%,36px);min-height:0;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--bar-color, var(--green)) 0%,#351848 130%);box-shadow:0 2px 6px #48245f1f;transition:height .3s cubic-bezier(.4,0,.2,1),box-shadow .18s ease,filter .18s ease}.vertical-bar-column:hover .vertical-bar-fill{box-shadow:0 4px 14px #48245f4d;filter:brightness(1.1)}.vertical-bar-fill.is-zero{height:3px!important;background:#ddd7e3;box-shadow:none;border-radius:2px}.vertical-bar-label{align-self:start;width:100%;min-height:44px;padding:10px 2px 4px;color:#554d60;font-size:11px;font-weight:600;line-height:1.32;text-align:center;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;display:flex;align-items:flex-start;justify-content:center;transition:color .18s ease}.vertical-bar-column:hover .vertical-bar-label{color:var(--green)}.dashboard-lower{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:20px;margin-top:20px;align-items:stretch}.distribution-card{min-width:0;display:flex;flex-direction:column;justify-content:space-between}.card-link-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:11px 14px;border-radius:8px;color:#5f576b;background:#f4f0f7;font-size:12px}.card-link-row button{border:0;color:var(--green)!important;background:none;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;padding:0;transition:opacity .16s ease}.card-link-row button:hover{opacity:.8}.dashboard-achievement-recap{min-width:0;display:flex;flex-direction:column;height:fit-content}.dashboard-achievement-recap .section-heading select{min-height:38px;padding:0 30px 0 12px;border:1px solid #dcd5e2;border-radius:8px;color:#342a42;background:#faf8fc;font-size:12.5px;font-weight:700}.achievement-recap-table-wrap{max-height:none;flex:1;overflow-x:hidden;overflow-y:visible;margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#ffffff}.achievement-recap-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left}.dashboard-achievement-table th:first-child,.dashboard-achievement-table td:first-child{width:45%}.dashboard-achievement-table th:nth-child(2),.dashboard-achievement-table td:nth-child(2){width:30%}.dashboard-achievement-table th:last-child,.dashboard-achievement-table td:last-child{width:25%}.achievement-recap-table th{position:sticky;top:0;z-index:5;height:38px;padding:0 12px;color:#4b4155;background:#f4f0f7;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid #e2dae8;box-shadow:0 1px 3px #48245f0a}.achievement-recap-table td{height:48px;padding:8px 12px;border-bottom:1px solid #f3eff6;color:#282333;font-size:12.5px;vertical-align:middle}.achievement-recap-table tr:hover td{background-color:#faf7fc}.recap-col-name{font-weight:600;color:#1f192b;white-space:normal;word-break:break-word;overflow:visible;text-overflow:clip}.recap-col-dept{color:#6a6275;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recap-col-badge{text-align:right}.achievement-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:12px;color:var(--status-info);background:var(--status-info-bg);font-size:11px;font-weight:700;white-space:nowrap}.achievement-type-eoy{color:var(--status-success);background:var(--status-success-bg)}.table-tools,.bonus-filter{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px 16px;border:1px solid var(--line);border-radius:12px 12px 0 0;background:#ffffff}.search-field{display:flex;align-items:center;gap:9px;min-width:240px;height:40px;padding:0 12px;border:1px solid #dcd5e2;border-radius:8px;color:#635a70;background:#faf8fc;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.search-field:focus-within{border-color:var(--green);background:#ffffff;box-shadow:0 0 0 3px #48245f1f}.search-field input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.search-field input::placeholder{color:#8f879b}.table-tools select,.bonus-filter select{max-width:200px;height:40px;padding:0 12px;border:1px solid #dcd5e2;border-radius:8px;background:#faf8fc;color:#2e263a;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .18s ease,background .18s ease}.table-tools select:hover,.bonus-filter select:hover{border-color:#b7a4c6;background:#ffffff}.table-tools select:focus-visible,.bonus-filter select:focus-visible{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #48245f1f}.reset-button{height:40px;padding:0 12px;border:1px dashed #dcd5e2;border-radius:8px;color:#635a70;background:transparent;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease}.reset-button:hover{background:#f4f0f7;color:var(--green)}.tool-caption{display:flex;flex-basis:100%;justify-content:space-between;align-items:center;margin-top:4px;color:var(--muted);font-size:12px;font-weight:500}.tool-caption>span:last-child{display:flex;align-items:center;gap:6px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:#ffffff}.employee-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.employee-table th{height:44px;padding:0 14px;color:#453b4e;background:#f1edf4;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--line)}.employee-table td{height:56px;padding:8px 14px;border-bottom:1px solid #f2edf4;color:#282333;font-size:13px;vertical-align:middle}.employee-table tbody tr{transition:background .15s ease}.employee-table tbody tr:hover td{background:#f9f6fb}.employee-table tbody tr:last-child td{border-bottom:0}.employee-person{display:flex;align-items:center;gap:11px;min-height:38px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;text-decoration:none}.employee-person strong{display:block;font-size:13.5px;font-weight:700;color:#171221;transition:color .15s ease}.employee-person:hover strong{color:var(--green)}.employee-person small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.gender-pill{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;color:#342a42;background:#f1ebf5;font-size:11px;font-weight:700}.department-chip{display:inline-block;padding:4px 10px;border-radius:6px;color:#342a42;background:#f1ebf5;font-size:12px;font-weight:600}.achievement-count-pill{display:inline-flex;justify-content:center;align-items:center;min-width:26px;height:24px;padding:0 8px;border-radius:12px;color:var(--status-info);background:var(--status-info-bg);font-size:12px;font-weight:700}.achievement-count-eoy{color:var(--status-success);background:var(--status-success-bg)}.table-bottom{display:flex;align-items:center;justify-content:space-between;position:sticky;right:0;float:right;z-index:10;width:100%;padding:12px 18px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:#635a70;font-size:12.5px;background:#ffffff;box-shadow:0 4px 12px #48245f14}.pagination{display:flex;align-items:center;gap:8px}.pagination #page-numbers,.pagination #bonus-page-numbers,.pagination #ph-page-numbers,.pagination .page-numbers{display:flex;align-items:center;gap:4px}.pagination button{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border:1px solid #dcd5e2;border-radius:6px;background:#ffffff;font-size:12.5px;font-weight:600;color:#342a42;transition:background .16s ease,border-color .16s ease,color .16s ease}.pagination button:hover:not(:disabled){background:#f4f0f7;border-color:#b7a4c6;color:var(--green)}.pagination button:disabled{opacity:.45;cursor:not-allowed;border-color:#eeeaf2}.pagination .page-active{color:#fff!important;background:var(--green)!important;border-color:var(--green)!important}.employee-actions{display:flex;align-items:center;gap:6px}.action-menu{position:relative}.action-trigger{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid #dcd5e2;border-radius:8px;color:#342a42;background:#ffffff;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 1px 3px #48245f0d;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.action-trigger svg{color:#8a70a2;flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1)}.action-trigger:hover{background:#f7f3fb;border-color:#c4aad8;box-shadow:0 3px 10px #48245f1f}.action-trigger[aria-expanded=true]{background:#f0e9f7;border-color:var(--green);color:var(--green);box-shadow:0 3px 12px #48245f26}.action-trigger[aria-expanded=true] svg{transform:rotate(180deg);color:var(--green)}.action-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:50;display:none;min-width:170px;padding:6px;border:1px solid #e2d8ea;border-radius:10px;background:#ffffff;box-shadow:0 10px 30px #28233329,0 2px 8px #28233314;opacity:0;transform:translateY(-6px) scale(.97);pointer-events:none;transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}.action-panel.is-open{display:block;opacity:1;transform:translateY(0) scale(1);pointer-events:all}.action-panel[hidden]{display:none!important}.action-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#342a42;font-size:12.5px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s ease,transform .1s ease}.action-item:hover{transform:translate(2px)}.action-item__icon{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:6px}.action-item--edit{color:var(--status-info)}.action-item--edit .action-item__icon{color:var(--status-info);background:var(--status-info-bg)}.action-item--edit:hover{background:#eef4fd}.action-item--resign{color:var(--status-warning)}.action-item--resign .action-item__icon{color:var(--status-warning);background:var(--status-warning-bg)}.action-item--resign:hover{background:#fef8ea}.action-item--delete{color:var(--status-danger)}.action-item--delete .action-item__icon{color:var(--status-danger);background:var(--status-danger-bg)}.action-item--delete:hover{background:#fff0f0}.action-divider{height:1px;margin:5px 6px;background:#eeeaf2}.sync-banner,.payroll-banner{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 18px;border-radius:10px;background:#f4f0f7;border:1px solid #e9e3ed}.sync-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:8px;color:var(--green);background:#e8dff0;font-size:15px}.sync-banner>span:nth-child(2),.payroll-banner>span:nth-child(2){min-width:0;flex:1}.sync-banner strong,.payroll-banner strong{display:block;font-size:13px;font-weight:700;color:#171221}.sync-banner small,.payroll-banner small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.sync-banner>b{color:var(--green)!important;font-size:11.5px;font-weight:700;white-space:nowrap}.bonus-heading{margin-bottom:20px}.bonus-panels{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:18px;margin-bottom:20px}.upload-card,.policy-card{display:flex;flex-direction:column;height:100%;min-height:450px}.bonus-upload-period{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.bonus-upload-period label{display:grid;gap:6px;color:#433952;font-size:12.5px;font-weight:700}.bonus-upload-period select{min-height:40px;padding:0 12px;border:1px solid #dcd5e2;border-radius:8px;color:#2e263a;background:#ffffff;font-size:13px;transition:border-color .18s ease}.bonus-upload-period select:hover{border-color:#baa7c8}.upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;margin-top:14px;border:2px dashed #d5c8de;border-radius:10px;background:#faf8fc;text-align:center;cursor:pointer;padding:16px;transition:border-color .18s ease,background .18s ease}.upload-drop:hover{border-color:var(--green);background:#f7f3f9}.upload-drop input{display:none}.upload-symbol{display:grid;place-items:center;width:36px;height:36px;margin-bottom:6px;border-radius:8px;color:var(--green)!important;background:#ede3f4;font-size:18px;font-weight:700}.upload-drop strong{font-size:13px;font-weight:700;color:#171221}.upload-drop small{margin-top:4px;color:var(--muted);font-size:12px}.upload-drop small:last-child{color:#8c8599;font-size:11px;letter-spacing:.4px;margin-top:6px}.upload-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.upload-help{color:var(--muted);font-size:12px;line-height:1.45}.policy-subtitle{margin:6px 0 12px;color:var(--muted);font-size:12px;font-weight:500}.policy-item{margin-top:8px;padding:10px 12px;border-radius:8px;background:#f4f0f7;border:1px solid #eae3ef}.policy-item strong{display:block;color:#2b2236;font-size:12.5px;font-weight:700}.policy-item small{display:block;margin-top:4px;color:#635a70;font-size:12px;line-height:1.45}.bonus-table-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#ffffff}.bonus-table-card .bonus-filter{border:0;border-radius:0;border-bottom:1px solid var(--line)}.bonus-period-filter{margin-bottom:16px;border-radius:12px}.eligibility{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:11.5px;font-weight:700;white-space:nowrap}.bonus-table .bonus-employee-cell,.bonus-table td:nth-child(3){min-width:190px;white-space:normal;line-height:1.35}.bonus-table .bonus-employee-cell strong,.bonus-table td:nth-child(3) strong{display:block;font-size:13.5px;font-weight:700;color:#171221}.bonus-table .bonus-employee-cell small,.bonus-table td:nth-child(3) small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.35}.bonus-table .bonus-upload-period-cell{min-width:180px;white-space:normal}.bonus-upload-period-cell strong,.bonus-upload-period-cell small{display:block}.bonus-upload-period-cell strong{font-weight:600}.bonus-upload-period-cell small{margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.4}.eligible{color:var(--status-success)!important;background-color:var(--status-success-bg)}.ineligible{color:var(--muted);background-color:#f1eff3}.accumulating{color:var(--status-warning);background-color:var(--status-warning-bg)}.bonus-amount{color:var(--green)!important;font-weight:800!important}.mini-progress{display:inline-block;width:44px;height:6px;margin-left:6px;border-radius:4px;background:#e9e3ed;vertical-align:middle;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:inherit;background:var(--green)}.resignation-reason{min-width:220px;max-width:480px;white-space:normal;line-height:1.5;font-size:12.5px;color:#4c4456}.resignation-person{margin:0 0 16px;padding:12px 14px;border-radius:8px;background:#f4f0f7;border:1px solid #eae3ef}.resignation-person strong{display:block;color:#171221;font-size:14px;font-weight:700}.resignation-person small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(23,18,33,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-backdrop.is-open{display:flex;animation:fade-in .2s cubic-bezier(.4,0,.2,1) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:min(100%,720px);max-height:min(90vh,780px);overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:#ffffff;box-shadow:0 24px 70px #2823333d}.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:14px 22px;background:#f4f0f7;border-bottom:1px solid #e9e3ed;border-radius:16px 16px 0 0}.modal-header strong{display:block;font-size:15px;font-weight:700;color:#171221}.modal-header small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.close-modal{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:6px;color:#554d60;background:transparent;font-size:22px;cursor:pointer;transition:background .15s ease,color .15s ease}.close-modal:hover{background:#e6dcfa;color:var(--green)}.modal-body{padding:20px 22px}.modal-footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;background:#f4f0f7;border-top:1px solid #e9e3ed}.employee-modal{width:min(100%,680px)}.employee-form{padding:18px 22px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-wide{grid-column:1 / -1}.form-grid label{display:grid;gap:6px;color:#2b2236;font-size:12.5px;font-weight:600}.form-grid em{color:var(--status-danger);font-style:normal}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:40px;padding:0 12px;border:1px solid #dcd5e2;border-radius:8px;background:#fdfcfe;color:#171221;font-size:13px;transition:border-color .18s ease,box-shadow .18s ease}.form-grid textarea{min-height:74px;padding-top:10px;padding-bottom:10px;line-height:1.45}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #48245f21}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#9c94a8}.office-achievements-fieldset{min-width:0;margin:0;padding:14px;border:1px solid #dcd5e2;border-radius:10px;background:#faf8fc}.office-achievements-fieldset legend{padding:0 6px;color:#2b2236;font-size:13px;font-weight:700}.office-achievements-fieldset>p{margin:0 0 12px;color:var(--muted);font-size:12px}.office-achievement-rows{display:grid;gap:10px;margin-bottom:12px}.office-achievement-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #e5dceb;border-radius:8px;background:#ffffff}.office-achievement-row label{display:grid;gap:5px;color:#4c4456;font-size:11.5px;font-weight:600}.office-achievement-row input,.office-achievement-row select{min-height:36px;font-size:12.5px}.office-achievement-remove{grid-column:1 / -1;justify-self:start;min-height:32px;padding:0 12px;border:1px solid #eac5c5;border-radius:6px;color:var(--status-danger);background:#ffffff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.office-achievement-remove:hover{background:#fdeaea}.form-footer{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:18px -22px 0;padding:14px 22px;border-top:1px solid #e9e3ed;background:#f4f0f7}.form-footer span{flex:1;color:var(--muted);font-size:12px}.employee-modal .form-footer .primary-button,.employee-modal .form-footer .secondary-button,.profile-modal .modal-footer .primary-button.close-modal{display:inline-flex;width:auto;height:auto;min-height:36px;padding:0 14px;border:1px solid transparent;border-radius:8px;color:#fff!important;background-color:var(--green);font-size:12.5px;box-shadow:0 2px 8px #48245f38}.profile-modal .modal-footer .primary-button.close-modal:hover{background-color:var(--green-dark);box-shadow:0 5px 16px #48245f4d;transform:translateY(-1px)}.profile-modal{width:min(100%,780px)}.profile-hero{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #eae3ef;border-radius:10px;background:#f4f0f7}.profile-avatar{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:12px;color:#fff;background:var(--green);font-size:18px;font-weight:800;box-shadow:0 4px 12px #48245f33}.profile-hero span:not(.avatar){min-width:0;flex:1}.profile-hero strong{display:block;font-family:Manrope,sans-serif;font-size:17px;font-weight:800;color:#171221;white-space:normal;word-break:break-word}.profile-hero small{display:block;margin-top:4px;color:#554d60;font-size:12.5px;line-height:1.6}.profile-hero small b{color:var(--green)!important;font-weight:700}.profile-status{margin-left:6px;padding:3px 8px;border-radius:12px;color:var(--status-success);background:var(--status-success-bg);font-size:11.5px;font-weight:700}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;align-items:start}.profile-column{display:grid;gap:14px;min-width:0;align-items:start}.profile-column article{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#ffffff;height:fit-content}.profile-grid h3{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #eeeaf2;color:var(--green);font-family:Manrope,sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.profile-grid dl{display:grid;gap:8px;margin:0;font-size:12.5px}.profile-field{display:grid;grid-template-columns:minmax(110px,.9fr) 1.25fr;align-items:start;gap:10px}.profile-grid dt{color:var(--muted);font-weight:500}.profile-grid dd{margin:0;color:#171221;font-weight:600;text-align:right;overflow-wrap:anywhere}.profile-grid .stacked .profile-field{grid-template-columns:1fr;gap:3px}.profile-grid .stacked dd{text-align:left;line-height:1.5}.profile-training-certificates{white-space:pre-line}.profile-office-achievements{display:grid;gap:6px;margin:0;padding-left:20px;color:#282333;font-size:12.5px;line-height:1.55}.delete-confirm-modal{width:min(100%,460px)}.delete-confirm-modal .modal-body{color:#4c4456;font-size:13.5px;line-height:1.6}.delete-confirm-modal .modal-body strong{color:#171221}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #eeeaf2;background:#fdfcfe}.delete-confirm-actions .delete-button{min-height:38px;padding:0 16px;border:1px solid var(--status-danger);border-radius:8px;color:#fff;background:var(--status-danger);font-size:13px;font-weight:600;cursor:pointer;transition:background .16s ease}.delete-confirm-actions .delete-button:hover{background:#992323}.notification-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:none;place-items:center;padding:20px;background:rgba(23,18,33,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.notification-backdrop.is-visible{display:grid;animation:fade-in .2s ease}.notification-dialog{width:min(380px,100%);padding:32px 26px 28px;border:1px solid var(--line);border-radius:18px;background:#ffffff;box-shadow:0 24px 80px #28233340;text-align:center;animation:pop-in .22s ease both}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-icon{position:relative;display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border:3px solid #eeeaf2;border-radius:50%;color:var(--status-success)}.notification-spinner{width:34px;height:34px;border:4px solid #eeeaf2;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notification-result-icon{display:none;width:48px;height:48px}.notification-backdrop.is-success .notification-icon{border-color:#bce8d3;color:var(--status-success);background:#f0fbf5}.notification-backdrop.is-success .notification-spinner{display:none}.notification-backdrop.is-success .notification-check-icon{display:block}.notification-backdrop.is-error .notification-icon{border-color:#f1c5c1;color:var(--status-danger);background:#fff6f5}.notification-backdrop.is-error .notification-spinner{display:none}.notification-backdrop.is-error .notification-error-icon{display:block}.notification-dialog strong{display:block;color:#171221;font-size:16px;font-weight:700}.notification-dialog p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.empty-state{height:100px!important;color:#8c8599!important;text-align:center;font-size:13.5px!important}.toast-success,.toast-error{display:none}.ph-search-field-group{position:relative}.ph-search-box{position:relative;display:flex;align-items:center;width:100%}.ph-search-icon{position:absolute;left:12px;font-size:13px;color:#8c8599;pointer-events:none;z-index:1}.ph-search-box input{padding-left:36px!important;padding-right:68px!important}.ph-clear-btn{position:absolute;right:34px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:#eeeaf2;color:#6a6176;border:none;border-radius:50%;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.ph-clear-btn:hover{background:#d8cde3;color:#351848}.ph-dropdown-toggle-btn{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:28px;background:transparent;color:#6b557c;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:color .15s ease}.ph-dropdown-toggle-btn:hover{color:var(--green)}.ph-search-hint{display:block;margin-top:5px;font-size:11.5px;color:#716b7d}.input-locked{background-color:#f7f4f9!important;border-color:#dfd8e5!important;color:#3d3547!important;cursor:not-allowed!important;font-weight:500;-webkit-user-select:none;user-select:none}.input-locked:focus{border-color:#dfd8e5!important;box-shadow:none!important}.ph-employee-dropdown{position:absolute;top:calc(100% - 14px);left:0;right:0;z-index:999;background:#ffffff;border:1px solid #d8cee0;border-radius:10px;box-shadow:0 14px 34px #2823332e;overflow:hidden;animation:ph-fade-in .15s cubic-bezier(.4,0,.2,1) both}@keyframes ph-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ph-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#faf8fc;border-bottom:1px solid #eee8f3;font-size:11.5px;font-weight:700;color:#5d536a}.ph-count-tag{background:#ede6f5;color:#48245f;padding:2px 8px;border-radius:12px;font-size:10.5px;font-weight:700}.ph-dropdown-list{max-height:220px;overflow-y:auto}.ph-employee-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #f6f3f9;cursor:pointer;transition:background .12s ease}.ph-employee-item:last-child{border-bottom:none}.ph-employee-item:hover,.ph-employee-item.is-selected{background:#f4eff8}.ph-emp-info{flex:1;min-width:0}.ph-emp-name{font-weight:700;font-size:13px;color:#171221;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-emp-meta{margin-top:2px;font-size:11.5px;color:#716b7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:10.5px;font-weight:800;letter-spacing:.3px;white-space:nowrap}.ph-status-badge--pkwtt{background:#eef3fb;color:#1a5fa8;border:1px solid #d4e2f5}.ph-status-badge--pkwt{background:#fdf5e8;color:#8a5c00;border:1px solid #fae6c0}.ph-dropdown-empty{padding:16px;text-align:center;color:#8c8599;font-size:12.5px;font-style:italic}@media (max-width: 1180px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analytics,.dashboard-lower,.bonus-panels{grid-template-columns:1fr}.employee-metrics,.bonus-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.resignation-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.department-chart{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(85px,1fr);overflow-x:auto;border-bottom:2px solid var(--line);padding-bottom:6px}}@media (max-width: 768px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:10px 14px;z-index:30}.brand{flex-direction:row;align-items:center;padding:0 0 10px}.brand-logo{width:110px}.nav-label,.sidebar-bottom{display:none}.side-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.nav-item{flex-shrink:0;padding:0 12px;min-height:36px;font-size:12.5px}.main-area{margin-left:0}.topbar{padding:0 16px;height:56px}.page-content{padding:18px 16px 32px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}.heading-actions{width:100%;justify-content:flex-start}.heading-actions button{flex:1}.dashboard-grid,.employee-metrics,.bonus-metrics,.resignation-metrics,.profile-grid,.form-grid{grid-template-columns:1fr}.demographic-chart{flex-direction:column}.table-tools,.bonus-filter{flex-direction:column;align-items:stretch}.table-tools select,.bonus-filter select{max-width:none}.table-bottom{flex-direction:column;gap:12px;min-width:0;align-items:flex-start}}
