:root{--ink:#171817;--muted:#69706d;--paper:#f5f6f4;--line:#e3e6e0;--white:#fff;--accent:#ffda24;--sidebar:#181b18;--good:#276547;--danger:#a93831;--warn:#845f14;--radius:14px;--font:'Segoe UI',system-ui,sans-serif}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--font)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #5a70cb;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.18;letter-spacing:-1.25px;font-weight:650;margin-bottom:10px}h2{font-size:20px;letter-spacing:-.45px;margin-bottom:6px}h3{font-size:16px;margin-bottom:8px}.muted{color:var(--muted)}.small,small{font-size:12px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:20px}.button{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:9px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;white-space:nowrap}.button:hover{background:#f1f2ef}.button.primary{background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:#f2cb0b}.button.dark{background:var(--sidebar);border-color:var(--sidebar);color:white}.button.small{padding:6px 12px;font-size:12px}.button.danger{color:var(--danger)}.text-button{background:none;border:0;padding:7px 2px;font-weight:600;color:var(--ink);text-align:left}.text-button:hover{text-decoration:underline}.full{width:100%}.wordmark{font-size:34px;font-weight:800;letter-spacing:-2px;color:white;line-height:1}.wordmark span{color:var(--accent)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--sidebar);color:#ced2c9;z-index:40;display:flex;flex-direction:column;padding:33px 18px 20px}.sidebar .brand{padding:0 15px 36px}.brand small{display:block;letter-spacing:2px;font-size:9px;margin-top:13px;color:#9caa98}.nav-group{font-size:9px;letter-spacing:1.8px;margin:10px 16px;color:#7c8878}.sidebar nav{display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden}.nav-link{display:flex;align-items:center;gap:12px;border:0;border-radius:8px;padding:12px 14px;background:none;color:inherit;text-align:left;font-size:13px;font-weight:500}.nav-link svg{width:19px;height:19px;opacity:.85}.nav-link.active{background:var(--accent);color:var(--ink)}.nav-link:not(.active):hover{background:#262e25}.sidebar-bottom{margin-top:auto;padding:25px 8px 0}.user-block{display:flex;gap:10px;align-items:center;overflow:hidden;border-top:1px solid #343b31;padding-top:20px}.user-block strong{color:white;display:block;max-width:134px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-block small{color:#b4bdac;font-size:10px}.logout{margin-top:14px;border:0;background:none;color:#c3cabe;display:flex;align-items:center;gap:9px;font-size:12px}.avatar{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;background:#e9eddf;color:#495541;border-radius:50%;font-size:12px;font-weight:650}.topbar{margin-left:232px;height:76px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.7)}.breadcrumb{font-size:12px;color:var(--muted)}.top-right{display:flex;align-items:center;gap:20px}.icon-button{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:9px;position:relative}.icon-button svg{width:18px;height:18px}.dot{position:absolute;top:-5px;right:-5px;background:var(--accent);border:2px solid var(--white);font-size:10px;min-width:18px;border-radius:20px}.mobile-toggle{display:none}#main{margin-left:232px;padding:40px;max-width:1900px;min-height:calc(100vh - 76px)}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:32px}.page-heading p{margin-bottom:0;color:var(--muted);font-size:14px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:32px}.stat{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:23px;text-align:left;min-width:0;position:relative}.stat .label{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.stat strong{display:block;font-size:36px;letter-spacing:-1.5px;font-weight:650;line-height:1.25;margin:16px 0 8px}.stat small{font-size:11px;color:var(--muted)}.stat.highlight{background:var(--accent);border-color:var(--accent)}.stat.highlight .label,.stat.highlight small{color:#514718}.stat svg{width:17px;height:17px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:26px;min-width:0}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.panel-header p{font-size:12px;color:var(--muted);margin:4px 0 0}.grid-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:10px 0 28px;overflow-x:auto}.tab{border:0;background:none;padding:13px 0;font-size:13px;color:var(--muted);white-space:nowrap;border-bottom:3px solid transparent}.tab.active{color:var(--ink);border-color:var(--accent);font-weight:600}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;font-weight:600;padding:13px 14px;border-bottom:1px solid var(--line);background:#fafbf9;white-space:nowrap}td{padding:17px 14px;border-bottom:1px solid #edf0e9;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600}td small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.person-cell{display:flex;align-items:center;gap:12px;min-width:160px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;border-radius:6px;padding:4px 8px;background:#f0f2ee;color:#566150;white-space:nowrap}.badge.good{background:#eaf4ec;color:var(--good)}.badge.warn{background:#fff4d8;color:var(--warn)}.badge.error{background:#fbece8;color:var(--danger)}.badge.yellow{background:#fff5c2;color:#65530d}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.empty h3{color:var(--ink);font-size:18px}.empty p{max-width:440px;margin:10px auto 22px}.empty svg{width:38px;height:38px;margin-bottom:16px;color:#9aa58f}.toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:25px}.toolbar label{margin:0;min-width:150px;flex:1;max-width:300px}.toolbar input,.toolbar select{background:white}.progress-item{margin-bottom:23px}.progress-line{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:9px;gap:12px}.progress-line span{color:var(--muted);font-size:11px}.track{height:6px;background:#edf0e8;border-radius:5px;overflow:hidden}.track i{display:block;height:100%;background:var(--sidebar);border-radius:5px}.progress-item:nth-child(2) .track i{background:var(--accent)}.deadline{display:flex;gap:17px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.deadline:last-child{border:0}.date-tile{border-radius:10px;background:#f5f6f2;width:49px;height:55px;flex-shrink:0;text-align:center;padding:5px;font-size:10px;color:var(--muted)}.date-tile strong{font-size:21px;display:block;color:var(--ink);line-height:1.1}.deadline p{font-size:12px;margin:0}.deadline small{color:var(--muted);font-size:11px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.field-grid .span-two{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600;margin-bottom:18px;color:#4f584b}label input,label select,label textarea{margin-top:8px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #dce1d6;border-radius:8px;padding:11px 13px;background:white;color:var(--ink);outline-offset:1px}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:17px;height:17px;accent-color:var(--ink);margin:0}.check{display:flex;align-items:center;gap:10px}.help{font-size:11px;color:var(--muted);font-weight:400;display:block;margin-top:6px}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}.alert{border:1px solid #e8dcad;border-radius:9px;padding:13px 16px;margin-bottom:20px;background:#fff9e4;font-size:13px;color:#6b561d}.alert.error{background:#fff0ec;border-color:#eecbc4;color:var(--danger)}.alert.good{background:#ecf5ec;border-color:#d4e5d2;color:var(--good)}.inline-error{font-size:12px;color:var(--danger);margin-top:8px}dialog{width:min(740px,calc(100vw - 30px));max-height:90vh;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 30px 110px #101a1933;color:var(--ink)}dialog::backdrop{background:#14221866;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal-head h2{margin:0}.modal-close{border:0;background:#f0f3ed;border-radius:50%;width:30px;height:30px}.modal-error:empty{display:none}.department-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.department-card .department-symbol{display:grid;place-items:center;width:42px;height:42px;background:#fff7cb;border-radius:11px;margin-bottom:25px}.department-card svg{width:21px;height:21px}.department-card h3{font-size:19px;letter-spacing:-.5px}.department-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:25px}.kpi-edit{border:1px solid var(--line);border-radius:10px;margin-bottom:14px;background:white}.kpi-edit summary{padding:16px 20px;font-weight:600;font-size:13px;cursor:pointer}.kpi-edit .kpi-body{padding:8px 20px 20px}.row-tools{display:flex;gap:8px;justify-content:flex-end;margin-bottom:15px}.row-tools button{padding:4px 10px}.sheet-header{display:flex;gap:18px;align-items:center;margin-bottom:28px}.sheet-header .avatar{width:60px;height:60px;font-size:22px}.sheet-header h1{margin-bottom:8px}.reviewer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px}.reviewer-card{border:1px solid var(--line);border-radius:11px;padding:18px;background:var(--white)}.reviewer-card.mine{border-color:#d6bc25;background:#fffef7}.reviewer-card strong{display:block;font-size:26px;margin:13px 0 7px;line-height:1}.reviewer-card small{color:var(--muted);font-size:11px}.reviewer-card p{font-size:12px;margin:0}.grading-kpi{border:1px solid var(--line);border-radius:11px;margin-bottom:12px;background:var(--white)}.grading-kpi[open]{border-color:#dfd184}.grading-kpi summary{display:flex;gap:16px;align-items:center;list-style:none;padding:19px 22px;cursor:pointer}.grading-kpi summary::after{content:'+';margin-left:8px;color:var(--muted)}.grading-kpi[open] summary::after{content:'−'}.grading-kpi summary .kpi-title{font-size:13px;font-weight:600;flex:1}.grading-kpi summary .meta{font-size:11px;color:var(--muted)}.grading-kpi summary .grade-number{font-weight:600;font-size:13px;margin-left:auto}.grading-body{padding:6px 24px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:28px}.grading-body label{margin:0}.grading-body p{font-size:12px}.grading-body .score-input{max-width:160px}.sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:11px;margin-top:25px;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:15;box-shadow:0 -4px 20px #1a27100a}.sticky-actions p{margin:0;font-size:12px}.comment{padding:20px 0;border-bottom:1px solid var(--line)}.comment-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}.comment-head strong{font-size:13px}.comment-head small{font-size:11px;color:var(--muted)}.comment p{margin:0 0 10px;white-space:pre-wrap;font-size:13px}.comment.reply{margin-left:28px;border-left:2px solid var(--line);padding-left:20px}.notice{display:flex;align-items:flex-start;gap:16px;padding:20px;border-bottom:1px solid var(--line)}.notice.unread{background:#fffdf1}.notice p{font-size:13px;margin-bottom:5px}.notice small{color:var(--muted)}.notice .notice-body{flex:1}.history-item{border-left:2px solid var(--line);padding:0 0 24px 20px;margin-left:8px}.history-item strong{font-size:13px}.history-item small{display:block;color:var(--muted)}.snapshot{white-space:pre-wrap;overflow:auto;font-size:12px;background:#f4f6f1;padding:15px;border-radius:8px}.score-trend{display:flex;align-items:end;gap:20px;min-height:150px;padding:20px 10px}.trend-bar{flex:1;max-width:90px;text-align:center;font-size:11px}.trend-bar i{display:block;background:var(--accent);border-radius:6px 6px 0 0;margin:8px auto;width:80%}.loading{padding:100px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;right:25px;max-width:420px;padding:14px 20px;background:var(--sidebar);color:white;border-radius:10px;z-index:100;display:none}#toast.visible{display:block}.skip-link{position:fixed;top:-80px;left:20px;background:var(--accent);padding:12px;z-index:101}.skip-link:focus{top:10px}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-brand{padding:60px 75px;background:var(--sidebar);color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand:after{content:'';position:absolute;width:330px;height:330px;border:1px solid #ffffff13;right:-185px;bottom:120px;transform:rotate(35deg);border-radius:40px}.login-brand h1{font-size:64px;line-height:1.05;letter-spacing:-3px;margin:35px 0 27px}.login-brand h1 em{font-style:normal;color:var(--accent)}.login-brand p{color:#aeb9a7;font-size:15px}.login-brand small{color:#93a28a;letter-spacing:1px}.login-brand .eyebrow{color:#bbc6b3}.login-form{display:grid;place-items:center;padding:60px}.login-card{width:100%;max-width:375px}.login-card h2{font-size:34px;letter-spacing:-1.2px;margin:0 0 12px}.login-card>p{margin-bottom:38px}.login-card .subtle{display:block;text-align:center;font-size:12px;margin-top:22px;text-decoration:underline}.login-help{border-top:1px solid var(--line);padding-top:25px;font-size:12px;text-align:center;color:var(--muted);margin-top:30px}.print-only{display:none}.count-pill{font-size:10px;border-radius:9px;background:var(--accent);padding:2px 6px}.layout-hr{border-top:4px solid var(--accent)}
@media(min-width:1700px){#main{padding:48px 64px}.topbar{padding:0 64px}.stats{gap:26px}}
@media(max-width:1180px){#main{padding:28px}.topbar{padding:0 28px}.stats{gap:12px}.stat{padding:17px}.stat strong{font-size:30px}.grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:start}.page-heading h1{font-size:28px}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 60px #0003}.topbar,#main{margin-left:0}.topbar{height:65px;padding:0 20px}.mobile-toggle{display:grid}.topbar .breadcrumb{display:none}#main{padding:25px 20px}.grid-two{grid-template-columns:1fr}.login-brand{padding:40px}.login-brand h1{font-size:48px}.login-form{padding:30px}}
@media(max-width:600px){h1{font-size:27px}.page-heading{display:block}.page-heading .actions{margin-top:20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{padding:17px}.stat strong{font-size:29px}.panel{padding:20px}.grid-equal,.grid-three,.field-grid{grid-template-columns:1fr}.field-grid .span-two{grid-column:auto}.reviewer-grid{gap:10px}.reviewer-card{padding:13px}.reviewer-card strong{font-size:23px}.tabs{gap:22px}.grading-kpi summary{padding:15px 13px;flex-wrap:wrap;gap:8px}.grading-kpi summary .kpi-title{flex-basis:100%}.grading-kpi summary .meta{font-size:10px}.grading-kpi summary::after{display:none}.grading-body{grid-template-columns:1fr;padding:12px 16px 20px;gap:20px}.sticky-actions{padding:14px;flex-wrap:wrap}.sticky-actions .actions{width:100%}.sticky-actions .actions .button{flex:1}.sheet-header{align-items:start}.sheet-header .avatar{width:42px;height:42px;font-size:15px}.sheet-header h1{font-size:26px}.login-shell{grid-template-columns:1fr}.login-brand{padding:28px;min-height:180px}.login-brand>div,.login-brand>small{display:none}.login-brand .wordmark{font-size:42px}.login-form{padding:35px 25px;align-items:start}.login-card{max-width:420px}.top-right{gap:12px}.top-right .role-label{display:none}.toolbar label{max-width:none}.comment.reply{margin-left:10px}.notice{padding:15px 0}.panel-header{align-items:start}.button{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white;font-size:11px}.sidebar,.topbar,.page-heading .actions,.tabs,.toolbar,.sticky-actions,.no-print,#toast,dialog{display:none!important}#main{margin:0;padding:0}.panel{border:0;padding:10px 0;break-inside:avoid}.print-only{display:block}.table-wrap{overflow:visible}td,th{padding:8px;font-size:10px}h1{font-size:24px}.reviewer-grid{grid-template-columns:repeat(4,1fr)}.grading-kpi{break-inside:avoid}a[href]:after{content:none}@page{size:A4 landscape;margin:12mm}}

.logout{width:100%;white-space:nowrap;text-align:left}.logout svg{width:20px;height:20px;flex-shrink:0}

/* v1.1.0 — premium login, profile photos and account management */
.avatar-photo{overflow:hidden;background:#dfe4d8}.avatar-photo img{width:100%;height:100%;object-fit:cover;display:block}
.profile-photo-editor{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;margin-bottom:20px}.profile-photo-editor>div{display:flex;align-items:center;gap:12px}.profile-photo-editor .avatar{width:52px;height:52px;font-size:17px}.profile-photo-editor strong,.profile-photo-editor small{display:block}.profile-photo-editor small{color:var(--muted);font-size:11px}.profile-photo-editor input[type=file]{max-width:270px}.temp-password{font:700 15px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px;background:white;border:1px solid #cfe1cf;border-radius:8px;padding:10px 12px;margin:10px 0;word-break:break-all}.profile-panel{max-width:900px}.profile-hero{display:flex;align-items:center;gap:16px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--line)}.profile-hero .avatar{width:68px;height:68px;font-size:22px}.profile-hero h2{font-size:24px;margin-bottom:4px}.profile-hero p{margin:0;color:var(--muted);font-size:13px}.profile-upload{padding:16px;border:1px dashed #cfd5ca;border-radius:10px;background:#fafbf8}.profile-upload label{margin:0}.profile-upload input[type=file]{margin-top:10px}.profile-section-title{padding-top:8px;border-top:1px solid var(--line);margin-top:4px}.profile-section-title h3{margin:14px 0 2px}

.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.08fr) minmax(500px,.92fr);background:#f6f7f4}.login-brand{min-height:100vh;background:#111411;color:white;padding:52px 64px 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}.login-brand:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,rgba(255,218,36,.08),transparent 35%),radial-gradient(circle at 78% 23%,rgba(255,218,36,.15),transparent 0 23%,transparent 24%)}.login-brand:after{content:'';position:absolute;z-index:-1;right:-130px;bottom:-150px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:86px;transform:rotate(27deg);box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012)}.login-brand-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.login-brand .wordmark{font-size:32px}.login-pill{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;font-size:9px;font-weight:700;letter-spacing:1.6px;color:#c6cec1;background:rgba(255,255,255,.03)}.login-brand-copy{max-width:670px;margin:48px 0}.login-brand-copy .eyebrow{color:#a8b2a3;margin-bottom:24px}.login-brand h1{font-size:clamp(54px,5vw,78px);line-height:.98;letter-spacing:-4px;font-weight:650;margin:0 0 28px}.login-brand h1 em{font-style:normal;color:var(--accent)}.login-brand-copy>p{font-size:16px;line-height:1.7;color:#aeb7a8;max-width:510px;margin-bottom:34px}.login-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:610px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;gap:12px}.login-feature{display:flex;flex-direction:column;gap:6px}.login-feature strong{color:var(--accent);font-size:10px;letter-spacing:1.5px}.login-feature span{font-size:12px;color:#d9ded5}.login-brand-footer{display:flex;align-items:center;gap:9px;color:#8f9a8b;font-size:11px;letter-spacing:.3px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(255,218,36,.1)}
.login-form{display:grid;place-items:center;padding:54px 70px;background:#f6f7f4}.login-form-shell{width:min(100%,470px)}.login-card{width:100%;max-width:none;background:white;border:1px solid #e3e6e0;border-radius:20px;padding:44px 44px 38px;box-shadow:0 26px 70px rgba(24,34,22,.08)}.login-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#111411;font-weight:850;font-size:19px;margin-bottom:28px}.login-card .eyebrow{color:#667064;margin-bottom:11px;letter-spacing:1.7px}.login-card h2{font-size:38px;line-height:1.08;letter-spacing:-1.5px;margin:0 0 9px}.login-card>p{font-size:13px;line-height:1.6;margin-bottom:30px}.login-fields label{font-size:11px;letter-spacing:.1px;margin-bottom:17px;color:#454d43}.login-input-wrap{position:relative;margin-top:8px}.login-input-wrap input:not([type=checkbox]){margin:0;height:50px;padding:12px 14px;border-color:#d8ded3;border-radius:10px;background:#fbfcfa;font-size:14px}.login-input-wrap input:focus{background:white;border-color:#9da997;box-shadow:0 0 0 3px rgba(123,140,114,.12)}.password-wrap input{padding-right:66px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:8px 9px;font-size:11px;font-weight:700;color:#596456;border-radius:7px}.password-toggle:hover{background:#eef1eb}.login-options{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 22px}.login-options .check{margin:0;color:#616a5f;font-size:11px;font-weight:500}.login-options .subtle{font-size:11px;text-decoration:none;font-weight:650;color:#222722}.login-options .subtle:hover{text-decoration:underline}.login-submit{height:50px;border-radius:10px;font-size:13px;justify-content:space-between;padding-inline:18px}.login-help{display:flex;align-items:flex-start;gap:6px;flex-direction:column;border-top:1px solid var(--line);padding-top:22px;margin-top:25px;text-align:left;font-size:11px;color:var(--muted)}.login-help strong{color:#343b33}.login-legal{text-align:center;color:#899087;font-size:10px;margin:18px 0 0;letter-spacing:.2px}

@media(max-width:1080px){.login-shell{grid-template-columns:minmax(390px,.9fr) minmax(450px,1.1fr)}.login-brand{padding:44px 40px}.login-brand h1{font-size:54px;letter-spacing:-3px}.login-feature-grid{grid-template-columns:1fr}.login-feature{flex-direction:row;gap:12px}.login-form{padding:40px}}
@media(max-width:760px){.login-shell{display:block;min-height:100vh}.login-brand{min-height:auto;padding:24px 24px 28px}.login-brand-top{margin-bottom:34px}.login-brand-copy{margin:0}.login-brand-copy .eyebrow,.login-brand-copy>p,.login-feature-grid,.login-brand-footer{display:none}.login-brand h1{font-size:36px;letter-spacing:-2px;line-height:1.02;margin:0}.login-pill{display:none}.login-form{padding:26px 18px 40px;display:block}.login-form-shell{margin:auto}.login-card{padding:30px 24px;border-radius:16px}.login-mark{margin-bottom:21px}.login-card h2{font-size:32px}.login-options{align-items:flex-start}.profile-photo-editor{align-items:flex-start;flex-direction:column}.profile-photo-editor input[type=file]{max-width:100%}}

/* 1.3.0 dashboard polish */
.panel-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;flex:0 0 34px;color:var(--muted);background:#fafbf9}.panel-icon svg{width:18px!important;height:18px!important;display:block}.deadlines-panel .empty{padding:34px 20px}.deadlines-panel .empty svg{width:28px;height:28px}.notification-button{overflow:visible}.notification-button .dot{top:-6px;right:-7px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;line-height:1;border-radius:999px;font-size:9px;font-weight:800;color:#171817;box-shadow:0 0 0 2px rgba(255,255,255,.95)}.nav-link .count-pill{margin-left:auto;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;line-height:1;border-radius:999px;color:#171817;font-weight:800}.nav-link.active .count-pill{background:#171817;color:#fff}.button.danger{border-color:#e4b7b2;background:#fff8f7;color:#992f28}.button.danger:hover{background:#fff0ed}.button.warning{border-color:#ead9a1;background:#fffaf0;color:#775814}.management-actions{align-items:center;flex-wrap:wrap}.management-actions .button.primary{margin-left:auto}

.contextual-discussion{padding:0;overflow:hidden}.context-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.context-title h2{display:flex;align-items:center;gap:9px;margin:0;font-size:17px}.context-title h2 svg{width:18px;height:18px}.context-title h2 span{font-size:10px;letter-spacing:.2px;background:#f1f3ef;color:#677063;border-radius:999px;padding:3px 8px;font-weight:650}.context-title>small{text-transform:uppercase;letter-spacing:1px;font-size:9px;color:var(--muted);font-weight:650}.context-thread{padding:18px 20px 4px}.context-comment{background:#f7f8f6;border-radius:9px;padding:16px 18px;margin-bottom:13px}.context-comment-head{display:flex;align-items:center;gap:10px}.context-comment-head .avatar{width:30px;height:30px;font-size:9px}.context-author{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.context-author strong{font-size:12px}.context-author>span{font-size:9px;color:var(--muted);letter-spacing:.4px}.context-author mark{font-size:9px;background:#fff0a8;border-radius:4px;padding:3px 6px;color:#4c4217}.context-comment time{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.context-comment>p{margin:10px 0 5px;padding-left:40px;font-size:12px;white-space:pre-wrap}.context-comment>.button{margin-left:40px}.context-reply{margin-left:30px;background:#fff;border-radius:0;border-left:2px solid var(--accent);padding-left:16px}.context-compose{margin:8px 20px 20px;background:#f4f5f3;border-radius:9px;padding:13px}.context-compose-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-bottom:8px}.context-compose-meta>span strong{color:var(--ink)}.context-compose-meta label{display:flex;align-items:center;gap:7px;margin:0;font-size:10px}.context-compose-meta select{margin:0;width:auto;min-width:185px;padding:6px 28px 6px 9px;font-size:10px;background:#fff}.context-compose-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.context-compose-row label{margin:0}.context-compose-row label::first-line{font-size:0}.context-compose-row textarea{min-height:54px;height:54px;margin:0;background:#fff;padding:10px 12px;font-size:11px}.context-compose-row .button{height:42px;align-self:end;margin-bottom:0}.context-compose-row label{font-size:0}.context-compose-row label textarea{font-size:11px}

@media(max-width:700px){.context-title{align-items:flex-start;flex-direction:column}.context-comment>p,.context-comment>.button{margin-left:0;padding-left:0}.context-reply{margin-left:12px}.context-compose-row{grid-template-columns:1fr}.context-compose-row .button{width:100%}.context-compose-meta label{width:100%;justify-content:space-between}.context-compose-meta select{flex:1}.management-actions .button.primary{margin-left:0}}

/* 1.4.0 WordPress administrator login */
.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 15%,rgba(255,218,36,.12),transparent 26%),#111411}.admin-login-card{width:min(100%,470px);background:#fff;border:1px solid #2b302a;border-radius:20px;padding:42px;box-shadow:0 32px 100px rgba(0,0,0,.35)}.admin-wordmark{display:inline-block;color:#111411;margin-bottom:34px}.admin-login-card .eyebrow{color:#6e776a;margin-bottom:10px}.admin-login-card h1{font-size:36px;margin-bottom:10px}.admin-login-card>p{font-size:13px;line-height:1.6;margin-bottom:26px}.admin-login-note{border-top:1px solid var(--line);padding-top:20px!important;margin:24px 0 0!important;color:var(--muted);font-size:11px!important}.admin-login-card .login-fields{margin-top:22px}
@media(max-width:560px){.admin-login-shell{padding:18px}.admin-login-card{padding:28px 22px;border-radius:16px}.admin-login-card h1{font-size:31px}}

/* v1.5 filter and template-lock refinements */
.filter-bar{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;gap:14px;align-items:end;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:26px}.filter-bar label{margin:0;min-width:0}.filter-bar .filter-search{min-width:210px}.filter-bar input,.filter-bar select{background:#fff}.filter-clear{align-self:end;margin-bottom:1px}.people-filters{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(150px,.8fr) minmax(220px,1.2fr) auto}.modal-intro{color:var(--muted);font-size:13px;margin:-4px 0 22px}.template-snapshot .panel-header{margin-bottom:16px}.template-kpi-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.template-kpi-item{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px}.template-kpi-item:last-child{border-bottom:0}.template-kpi-item strong{display:block}.template-kpi-item small{display:block;color:var(--muted);margin-top:3px}.template-kpi-item>span{text-align:right;color:var(--muted);font-weight:600}.settings-card{max-width:980px}
@media(max-width:1400px){.filter-bar{grid-template-columns:repeat(3,minmax(160px,1fr))}.filter-clear{justify-self:start}.people-filters{grid-template-columns:repeat(2,minmax(180px,1fr)) auto}}
@media(max-width:800px){.filter-bar,.people-filters{grid-template-columns:1fr}.filter-bar .filter-search{min-width:0}.filter-clear{width:100%}.template-kpi-item{grid-template-columns:1fr auto}.template-kpi-item>span:last-child{grid-column:1/-1;text-align:left}}

/* v1.6 score visibility, score revision and discussion spacing */
.contextual-discussion{margin-top:32px}
.submitted-score-strip{margin-top:18px;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:#f8f9f6}
.submitted-score-strip>span{display:block;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.submitted-score-strip>div{display:flex;gap:8px;flex-wrap:wrap}
.submitted-score-chip{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:center;background:white;border:1px solid #dfe3dc;border-radius:8px;padding:8px 10px;min-width:150px}
.submitted-score-chip b{font-size:10px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.submitted-score-chip strong{font-size:12px;text-align:right}
.submitted-score-chip small{grid-column:1/-1;font-size:9px;color:var(--muted)}
.empty-strip em{font-size:11px;color:var(--muted);font-style:normal}
.current-score-editor{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fafbf9}
.current-score-copy{display:flex;flex-direction:column;gap:3px}
.current-score-copy>span{font-size:11px;color:var(--muted)}
.current-score-copy>strong{font-size:24px;line-height:1.15}
.current-score-copy>small{font-size:10px;color:var(--muted);max-width:360px;white-space:pre-wrap}
.score-change-panel{margin-top:12px;padding:14px;border:1px solid #dfd184;border-radius:9px;background:#fffdf3}
.score-change-panel[hidden]{display:none!important}
.score-change-panel label{margin-bottom:12px}
.readonly-kpi-body{padding:6px 24px 24px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.9fr);gap:28px}
@media(max-width:900px){.readonly-kpi-body{grid-template-columns:1fr}.current-score-editor{align-items:flex-start;flex-direction:column}.submitted-score-chip{min-width:0;flex:1 1 150px}}

/* v1.7.2 — cleaner acknowledgement and authorization layout */
.authorization-panel{padding:28px}
.authorization-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.authorization-heading h2{margin:0 0 6px}
.authorization-heading p{margin:0;color:var(--muted);font-size:13px}
.authorization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.auth-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px;min-width:0}
.auth-card.complete{border-color:#cfe1cf;background:#fbfefb}
.auth-card.pending{background:#fffdfa}
.auth-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.auth-card-head h3{margin:4px 0 0;font-size:17px;line-height:1.25}
.auth-kicker{display:block;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:700}
.auth-copy{font-size:12px;color:var(--muted);min-height:42px;margin:0 0 18px}
.auth-fields{display:grid;gap:11px;border-top:1px solid var(--line);padding-top:15px}
.auth-fields>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.auth-fields span{font-size:11px;color:var(--muted)}
.auth-fields strong{font-size:12px;text-align:right;overflow-wrap:anywhere}
.auth-action{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.legacy-auth{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.legacy-auth summary{cursor:pointer;font-weight:600;font-size:13px}
.legacy-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin-top:14px}
.legacy-auth-grid>div{padding:10px 12px;background:#f7f8f5;border-radius:8px}
.legacy-auth-grid span{display:block;font-size:10px;color:var(--muted);text-transform:capitalize;margin-bottom:4px}
.legacy-auth-grid strong{font-size:12px}
@media(max-width:1050px){.authorization-grid{grid-template-columns:1fr}.auth-copy{min-height:0}}
@media(max-width:600px){.authorization-panel{padding:20px}.authorization-heading{display:block}.authorization-heading>span{display:block;margin-top:8px}.auth-fields>div{display:block}.auth-fields strong{display:block;text-align:left;margin-top:3px}.legacy-auth-grid{grid-template-columns:1fr}}

/* v1.7.3 — four-role acknowledgement cards and final-result summary */
.final-authorization-summary{margin-top:18px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff}
.final-authorization-summary.complete{border-color:#cfe1cf;background:#fbfefb}
.final-authorization-summary.pending{background:#fffdfa}
.final-authorization-summary>div{display:grid;gap:4px}
.final-authorization-summary>div>strong{font-size:20px;line-height:1.2}
.final-authorization-summary>div>small{font-size:11px;color:var(--muted)}
.department-card footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media(max-width:1050px){.authorization-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.authorization-grid{grid-template-columns:1fr}.final-authorization-summary{align-items:flex-start}}

/* v1.7.4 — cleaner HR template actions */
.template-card{display:flex;flex-direction:column;min-height:315px}
.template-card>.badge{align-self:flex-start}
.template-card .template-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;align-items:stretch;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.template-card .template-actions .button{width:100%;min-width:0;margin:0}
@media(max-width:600px){.template-card{min-height:0}.template-card .template-actions{grid-template-columns:1fr}}
.submitted-score-chip .button{grid-column:1/-1;margin-top:5px;justify-self:start}
.settings-toggle{padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.settings-toggle .check{margin:0 0 4px}

/* v1.8.1 interaction fixes */
[hidden]{display:none!important}
.comment-actions{display:flex;gap:7px;align-items:center;margin:8px 0 0 40px;flex-wrap:wrap}
.context-reply .comment-actions{margin-left:40px}
.edited-stamp{display:block;margin-top:2px;font-size:9px;color:var(--muted);font-style:italic;text-transform:none;letter-spacing:0}
.sheet-details-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin-bottom:18px}
.sheet-detail-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.6fr);gap:20px;padding:13px 16px;border-bottom:1px solid #edf0e9;align-items:start}
.sheet-detail-row:last-child{border-bottom:0}
.sheet-detail-row span,.sheet-detail-note>span{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:650}
.sheet-detail-row strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.sheet-detail-note{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:18px;background:#fafbf9}
.sheet-detail-note p{white-space:pre-wrap;font-size:12px;margin:8px 0 0}
.sheet-detail-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0 20px;color:var(--muted);font-size:10px;flex-wrap:wrap}
.sheet-detail-footer strong{color:var(--ink);font-size:11px}
@media(max-width:700px){.sheet-detail-row{grid-template-columns:1fr;gap:4px}.comment-actions{margin-left:0}.context-reply .comment-actions{margin-left:0}}


/* v1.8.2 — explicit approval state map and review-period validation UX */
.approval-state-map{margin:16px 0 20px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fafaf8}
.approval-state-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.approval-state-head strong{font-size:14px}
.approval-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.approval-step{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted)}
.approval-step>span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#f1f2ee;font-weight:700;color:#555}
.approval-step.done{border-color:#cfe5d3;background:#f6fbf7;color:#164e2c}
.approval-step.done>span{background:#e5f4e8;color:#176333}
.approval-step.current{border-color:#f1cf43;background:#fff9dc;color:#302800}
.approval-step.current>span{background:#ffd91c;color:#111}
@media(max-width:760px){.approval-steps{grid-template-columns:1fr 1fr}.approval-state-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* v1.9.0 — performance analytics, department cards, CSV-matched printing and PDF controls */
.performance-panel{overflow:hidden}
.performance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}
.performance-summary>div{border:1px solid var(--line);border-radius:12px;padding:17px 18px;background:#fafbf9;display:grid;gap:5px}
.performance-summary span{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:700}
.performance-summary strong{font-size:28px;line-height:1.1;letter-spacing:-.8px}
.performance-summary strong small{font-size:11px;letter-spacing:0;color:var(--muted);margin-left:3px}
.performance-summary em{font-size:10px;color:var(--muted);font-style:normal}
.performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.performance-chart,.performance-kpis{min-width:0}
.performance-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.performance-chart-head h3{font-size:15px;margin:0 0 3px}
.performance-chart-head p{font-size:10px;color:var(--muted);margin:0}
.performance-columns{height:190px;display:flex;align-items:flex-end;gap:8px;padding:18px 10px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.performance-column{height:100%;min-width:56px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;color:var(--muted);font-size:9px;text-align:center}
.performance-column>span{font-size:10px;color:var(--ink);font-weight:700}
.performance-column>div{height:138px;width:34px;display:flex;align-items:flex-end;justify-content:center}
.performance-column i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:#d9ddd5}
.performance-column i.excellent,.performance-track i.excellent{background:#1f6846}
.performance-column i.good,.performance-track i.good{background:#7ba35e}
.performance-column i.fair,.performance-track i.fair{background:var(--accent)}
.performance-column i.low,.performance-track i.low{background:#c75a4d}
.performance-column small{font-size:8px;line-height:1.2;max-width:65px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.performance-bar{padding:10px 0;border-bottom:1px solid #edf0e9}
.performance-bar:last-child{border-bottom:0}
.performance-bar-head{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;margin-bottom:7px}
.performance-bar-head strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.performance-bar-head span{font-weight:700}
.performance-track{height:8px;background:#eef0eb;border-radius:999px;overflow:hidden}
.performance-track i{display:block;height:100%;border-radius:999px;background:var(--accent)}
.performance-bar small{display:block;color:var(--muted);font-size:9px;margin-top:5px}
.performance-departments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:28px}
.performance-department-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;text-align:left;display:grid;gap:8px}
.performance-department-card:hover{border-color:#d0bd4a;background:#fffdf1}
.performance-department-card>span{font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.performance-department-card>strong{font-size:24px;line-height:1}
.performance-department-card>strong small{font-size:9px;color:var(--muted)}
.performance-department-card>em{font-size:9px;color:var(--muted);font-style:normal}
.performance-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.performance-title-row h2{font-size:24px;margin-bottom:4px}
.performance-title-row p{color:var(--muted);font-size:11px;margin:0}
.performance-eyebrow{margin-bottom:8px;color:var(--muted)}
.department-card-v2{display:flex;flex-direction:column;min-height:330px;padding:24px}
.department-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.department-card-v2 .department-symbol{margin-bottom:0}
.department-card-body{padding:24px 0 20px;display:flex;flex-direction:column;gap:13px;flex:1}
.department-card-v2 h3{font-size:20px;margin:0;line-height:1.2}
.department-subteams{display:flex;gap:6px;flex-wrap:wrap;min-height:26px}
.department-subteams span{font-size:9px;padding:5px 8px;border-radius:999px;background:#f2f4ef;color:#5d6658}
.department-meta{border:1px solid #edf0e9;border-radius:10px;background:#fafbf9;padding:11px 12px;display:grid;gap:3px}
.department-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:700}
.department-meta strong{font-size:11px;font-weight:600}
.department-card-v2 footer{border-top:1px solid var(--line);padding-top:15px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px!important;flex-wrap:nowrap!important}
.department-count{display:flex;align-items:baseline;gap:5px;min-width:90px}
.department-count strong{font-size:20px;line-height:1}
.department-count span{font-size:9px;color:var(--muted)}
.department-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.sheet-print-layout{display:none}
.sheet-print-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid #ffda24;background:#171817;color:white;padding:18px 20px;margin-bottom:16px}
.print-wordmark{font-size:25px;font-weight:800;letter-spacing:-1.5px}.print-wordmark span{color:#ffda24}
.sheet-print-brand>div:last-child{text-align:right}.sheet-print-brand strong{display:block;font-size:12px;letter-spacing:1px}.sheet-print-brand small{display:block;font-size:9px;color:#cfd3cb;margin-top:3px}
.sheet-print-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.sheet-print-meta>div{border:1px solid #dedfdc;padding:8px 10px}.sheet-print-meta span{display:block;font-size:7px;text-transform:uppercase;color:#6b6e68;letter-spacing:.6px}.sheet-print-meta strong{display:block;font-size:9px;margin-top:2px}
.sheet-export-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7px}.sheet-export-table th,.sheet-export-table td{border:1px solid #dfe1dc;padding:6px;vertical-align:top;word-break:break-word}.sheet-export-table th{background:#f1f2ef;color:#20211f;font-size:6.5px;white-space:normal}.sheet-export-table .kpi-cell{font-weight:700}.sheet-print-footer{display:flex;justify-content:space-between;border-top:1px solid #dfe1dc;margin-top:12px;padding-top:7px;font-size:7px;color:#666}
@media(max-width:1150px){.performance-departments{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-grid{grid-template-columns:1fr}.department-card-v2{min-height:300px}}
@media(max-width:700px){.performance-summary,.performance-departments{grid-template-columns:1fr}.performance-title-row{display:block}.performance-title-row .button{margin-top:12px}.department-card-v2{min-height:0}.department-card-v2 footer{align-items:flex-start;flex-direction:column}.department-actions{width:100%;justify-content:flex-start}}
@media print{
 body.sheet-printing{background:#fff!important}
 body.sheet-printing .sidebar,body.sheet-printing .topbar,body.sheet-printing #toast,body.sheet-printing dialog{display:none!important}
 body.sheet-printing #main{margin:0!important;padding:0!important;max-width:none!important}
 body.sheet-printing #main>*{display:none!important}
 body.sheet-printing #main>.sheet-print-layout{display:none!important}body.sheet-printing.print-management #main>.print-version-management{display:block!important}body.sheet-printing.print-employee #main>.print-version-employee{display:block!important}
 body.sheet-printing .sheet-print-layout{font-family:Arial,sans-serif;color:#171817}
 body.sheet-printing .sheet-export-table{page-break-inside:auto}
 body.sheet-printing .sheet-export-table tr{page-break-inside:avoid;page-break-after:auto}
 body.sheet-printing .sheet-export-table thead{display:table-header-group}
 body.sheet-printing .sheet-print-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 @page{size:A4 landscape;margin:8mm}
}

/* v1.9.3 Employees department progress */
.people-progress-panel{margin-top:22px}
.people-progress-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.people-progress-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:20px;align-items:stretch}
.people-progress-coverage,.people-progress-kpis{border:1px solid var(--line);border-radius:12px;background:#fafbf9;padding:18px}
.people-progress-line{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}
.people-progress-line>div{display:grid;gap:4px}.people-progress-line small{color:var(--muted)}.people-progress-line b{font-size:24px;line-height:1}
.people-progress-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.people-progress-kpis>div{display:grid;gap:5px;align-content:start}.people-progress-kpis span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:700}.people-progress-kpis strong{font-size:15px}.people-progress-kpis small{color:var(--muted)}
.sheet-print-logo{display:block;width:116px;max-height:42px;object-fit:contain;object-position:left center}
.sheet-print-meta-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.people-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.people-progress-detail{grid-template-columns:1fr}}
@media(max-width:600px){.people-progress-summary,.people-progress-kpis{grid-template-columns:1fr}.people-progress-line{align-items:center}}

.export-version-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0;background:#fff;cursor:pointer}.export-version-option:hover{border-color:#c9cdbf;background:#fafbf8}.export-version-option input{margin-top:4px}.export-version-option span{display:flex;flex-direction:column;gap:4px}.export-version-option strong{font-size:14px}.export-version-option small{font-size:12px;color:var(--muted)}


/* v1.9.5 official branding + export version picker */
.brand-logo-link{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.brand-logo{display:block;max-width:100%;height:auto;object-fit:contain;object-position:left center}
.sidebar-logo-link{width:128px;min-height:38px}.sidebar-logo{width:128px;max-height:42px}
.login-logo{width:154px;max-height:50px}.login-card-logo{display:flex;align-items:center;min-height:42px;margin-bottom:24px}.login-card-logo img{width:128px;max-height:42px;object-fit:contain;object-position:left center}
.admin-logo-link{margin-bottom:30px}.admin-logo{width:138px;max-height:46px;object-position:left center}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
dialog.export-version-modal{width:min(680px,calc(100vw - 30px));padding:0;overflow:hidden;border-radius:20px;background:#fff}
dialog.export-version-modal .modal-head{margin:0;padding:25px 28px 17px;border-bottom:1px solid var(--line)}
dialog.export-version-modal .modal-head h2{font-size:22px;letter-spacing:-.5px}
dialog.export-version-modal #modal-form{padding:0 28px 26px}
dialog.export-version-modal .modal-error:not(:empty){margin-top:18px}
.export-version-intro{display:flex;align-items:center;gap:18px;padding:22px 0 18px}
.export-version-intro img{width:104px;max-height:36px;object-fit:contain;object-position:left center;flex:0 0 auto}
.export-version-intro>div{min-width:0}.export-version-intro .eyebrow{font-size:9px;letter-spacing:1.6px;color:#747c70;margin:0 0 4px}.export-version-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.export-version-grid{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.export-version-option{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:13px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:18px;margin:0;background:#fff;cursor:pointer;min-height:126px;transition:border-color .16s,box-shadow .16s,background .16s}
.export-version-option:hover{border-color:#c6bc72;background:#fffdf4}
.export-version-option:has(input:checked){border-color:#d2b70f;background:#fffdf2;box-shadow:0 0 0 2px rgba(255,218,36,.18)}
.export-version-option input{position:absolute;opacity:0;pointer-events:none}
.export-radio{width:20px;height:20px;border:1.5px solid #aeb5aa;border-radius:50%;display:grid;place-items:center;margin-top:1px;background:#fff}
.export-radio:after{content:'';width:9px;height:9px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .14s}
.export-version-option:has(input:checked) .export-radio{border-color:#b99e00}.export-version-option:has(input:checked) .export-radio:after{transform:scale(1)}
.export-version-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.export-version-title{display:flex;align-items:center;gap:8px;justify-content:space-between}.export-version-title strong{font-size:14px;color:var(--ink)}.export-version-title em{font-style:normal;font-size:8px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;background:#f0f2ed;color:#697165;border-radius:999px;padding:4px 7px;white-space:nowrap}.export-version-option:has(input:checked) .export-version-title em{background:#fff0a8;color:#665500}.export-version-copy small{font-size:11px;line-height:1.55;color:var(--muted)}
dialog.export-version-modal .form-actions{margin-top:22px;padding-top:20px;justify-content:flex-end}
@media(max-width:650px){.export-version-grid{grid-template-columns:1fr}.export-version-option{min-height:0}.export-version-intro img{width:92px}dialog.export-version-modal .modal-head{padding:21px 20px 15px}dialog.export-version-modal #modal-form{padding:0 20px 22px}.sidebar-logo-link,.sidebar-logo{width:120px}.login-logo{width:132px}}
/* Keep the transparent white/yellow official mark readable on light surfaces. */
.login-card-logo{width:max-content;background:var(--sidebar);border-radius:10px;padding:9px 13px}
.login-card-logo img{width:116px;max-height:34px}
.admin-logo-link{background:var(--sidebar);border-radius:10px;padding:9px 13px;width:max-content}
.export-version-intro img{background:var(--sidebar);border-radius:9px;padding:8px 10px;width:116px;max-height:42px}


/* v1.9.10 — simplified export chooser and branded report headers */
dialog.export-version-modal{width:min(660px,calc(100vw - 28px));border:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 28px 80px rgba(17,24,17,.28)}
dialog.export-version-modal::backdrop{background:rgba(14,18,14,.48);backdrop-filter:blur(3px)}
dialog.export-version-modal .modal-head{display:flex;align-items:center;justify-content:space-between;background:#171b17;color:#fff;padding:20px 24px;border:0;margin:0}
dialog.export-version-modal .modal-head h2{margin:0;color:#fff;font-size:20px;letter-spacing:-.35px}
dialog.export-version-modal .modal-close{background:#2a302a;color:#fff;border-color:#343b34;width:34px;height:34px}
dialog.export-version-modal #modal-form{padding:0 24px 24px}
.export-picker{padding-top:20px}.export-picker-brand{display:flex;align-items:center;gap:16px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.export-picker-brand img{width:112px;height:42px;object-fit:contain;object-position:left center;background:#171b17;border-radius:9px;padding:7px 9px;box-sizing:border-box;flex:0 0 auto}
.export-picker-brand>div{min-width:0}.export-picker-brand span{display:block;font-size:9px;letter-spacing:1.6px;font-weight:800;color:#7e867a;margin-bottom:3px}.export-picker-brand strong{display:block;font-size:16px;color:var(--ink);line-height:1.25}.export-picker-brand p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.export-version-grid{border:0;padding:18px 0 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.export-version-option{position:relative;display:flex;align-items:flex-start;border:1px solid #dfe3dc;border-radius:14px;padding:18px 48px 18px 18px;background:#fff;cursor:pointer;min-height:142px;transition:.16s ease;box-shadow:none}
.export-version-option:hover{border-color:#c9b226;background:#fffef7;transform:translateY(-1px)}
.export-version-option:has(input:checked){border-color:#d9b900;background:#fffbed;box-shadow:0 0 0 2px rgba(255,216,24,.12)}
.export-version-option input{position:absolute;opacity:0;pointer-events:none}
.export-card-check{position:absolute;right:16px;top:16px;width:25px;height:25px;border:1px solid #d7dbd4;border-radius:50%;display:grid;place-items:center;color:transparent;background:#fff;font-size:13px;font-weight:900}
.export-version-option:has(input:checked) .export-card-check{background:#ffd818;color:#181b18;border-color:#ffd818}
.export-version-copy{display:flex;flex-direction:column;gap:9px;width:100%}.export-version-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.export-version-title strong{font-size:14px;color:var(--ink)}.export-version-title em{font-style:normal;font-size:8px;font-weight:800;letter-spacing:.75px;text-transform:uppercase;border-radius:999px;padding:4px 7px;background:#eef1ec;color:#667062}.export-version-option:has(input:checked) .export-version-title em{background:#ffed9b;color:#635300}.export-version-copy small{font-size:11px;line-height:1.55;color:var(--muted)}.export-includes{font-size:10px;font-weight:700;color:#4b5548;margin-top:auto;padding-top:4px}
dialog.export-version-modal .form-actions{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);justify-content:flex-end;gap:10px}
@media(max-width:650px){.export-version-grid{grid-template-columns:1fr}.export-version-option{min-height:0}.export-picker-brand{align-items:flex-start}.export-picker-brand img{width:100px;height:38px}dialog.export-version-modal .modal-head{padding:18px}dialog.export-version-modal #modal-form{padding:0 18px 20px}}
.print-ack-section{margin-top:16px;break-inside:avoid}.print-ack-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid #171817;padding-bottom:6px;margin-bottom:7px}.print-ack-heading h3{margin:0;font-size:10px}.print-ack-heading span{font-size:7px;color:#666}.print-ack-table{width:100%;border-collapse:collapse;font-size:7px}.print-ack-table th,.print-ack-table td{border:1px solid #dfe1dc;padding:6px;vertical-align:top}.print-ack-table th{background:#f1f2ef;text-align:left;font-size:6.5px}.print-final-result{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:8px;border:1px solid #dfe1dc;background:#f7f8f5;padding:8px 10px}.print-final-result span{font-size:7px;text-transform:uppercase;letter-spacing:.5px;color:#666}.print-final-result strong{font-size:11px}.print-final-result small{text-align:right;font-size:7px;color:#555}
@media(max-width:650px){.export-version-grid{grid-template-columns:1fr}.export-version-option{min-height:0}.export-picker-brand{align-items:flex-start}.export-picker-brand img{width:102px;height:40px}dialog.export-version-modal .modal-head{padding:18px 18px}dialog.export-version-modal #modal-form{padding:0 18px 20px}}

/* v1.10.0 — private KPI bonus workflow (HR -> Employee acknowledgement, POC read-only) */
.bonus-overview{padding:22px 24px}.bonus-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0}.bonus-summary>div{min-height:118px}.bonus-table td strong{display:block}.bonus-table td small{display:block;margin-top:4px;color:var(--muted)}
.bonus-form-intro{padding:4px 2px 18px;border-bottom:1px solid var(--line);margin-bottom:20px}.bonus-form-intro>span,.bonus-linked-sheet>span,.bonus-decision-card>span,.bonus-ack-card>span{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--muted)}.bonus-form-intro h3{margin:5px 0 6px;font-size:20px}.bonus-form-intro p{margin:0;color:var(--muted)}
.bonus-linked-sheet{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#f8f9f6;display:flex;flex-direction:column;gap:5px}.bonus-linked-sheet strong{font-size:15px}.bonus-linked-sheet small{color:var(--muted)}
.bonus-detail{padding:26px}.bonus-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafbf8;margin-bottom:22px}.bonus-hero>div{padding:18px 20px;border-right:1px solid var(--line);min-height:94px;display:flex;flex-direction:column;gap:7px;justify-content:center}.bonus-hero>div:last-child{border-right:0}.bonus-hero span{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--muted)}.bonus-hero strong{font-size:24px;line-height:1}.bonus-hero strong small{font-size:12px;color:var(--muted);margin-left:3px}
.bonus-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:20px}.bonus-decision-card,.bonus-ack-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}.bonus-decision-card h2{margin:5px 0 18px;font-size:24px}.bonus-decision-card dl{margin:0;display:grid;gap:0}.bonus-decision-card dl>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.bonus-decision-card dt{color:var(--muted)}.bonus-decision-card dd{margin:0;font-weight:700}.bonus-decision-card a{color:inherit;text-decoration:none;border-bottom:1px solid #d5b400}.bonus-note{margin-top:18px;background:#fff9dc;border:1px solid #eed15c;border-radius:10px;padding:14px}.bonus-note span{font-size:10px;letter-spacing:.12em;font-weight:800}.bonus-note p{margin:7px 0 0;white-space:pre-wrap}
.bonus-ack-card{background:#fbfcfa}.bonus-ack-card.good{border-color:#c9dfce;background:#f7fbf7}.bonus-ack-card strong{display:block;font-size:21px;margin:7px 0 10px}.bonus-ack-card p{color:var(--muted);line-height:1.55;margin:0 0 18px}.bonus-ack-card small{display:block;border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}.bonus-visibility-note{margin-top:18px;padding:13px 16px;border-radius:10px;background:#f5f6f3;display:flex;gap:12px;align-items:center}.bonus-visibility-note strong{white-space:nowrap}.bonus-visibility-note span{color:var(--muted)}
#modal.bonus-editor-modal{width:min(720px,calc(100vw - 30px))}
@media(max-width:900px){.bonus-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-hero>div:nth-child(2){border-right:0}.bonus-hero>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.bonus-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.bonus-summary,.bonus-hero{grid-template-columns:1fr}.bonus-hero>div{border-right:0;border-bottom:1px solid var(--line)}.bonus-hero>div:last-child{border-bottom:0}.bonus-decision-card dl>div{grid-template-columns:1fr;gap:4px}.bonus-visibility-note{align-items:flex-start;flex-direction:column}.bonus-detail{padding:16px}}

/* v1.11.0 — employment eligibility and employee bonus plans */
.employment-card{border:1px solid var(--line);border-radius:14px;background:#fafbf8;padding:18px 20px;margin-top:4px}.employment-card h3{margin:5px 0 5px;font-size:18px}.employment-card p{margin:0 0 16px;color:var(--muted);line-height:1.55}.employment-card .field-grid{margin-top:14px}.employment-card.compact{display:flex;align-items:center;justify-content:space-between;gap:18px}.employment-readout{display:flex;align-items:flex-end;flex-direction:column;gap:4px}.employment-readout strong{font-size:18px}.employment-readout span{font-size:11px;color:var(--muted)}
.bonus-plan-fields{border-top:1px solid var(--line);padding-top:16px;margin-top:2px}.bonus-plan-summary .grid-three p{margin:5px 0 0}.profile-bonus-plan{margin-left:auto;min-width:210px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;padding:12px 14px;display:flex;flex-direction:column;gap:3px}.profile-bonus-plan span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.profile-bonus-plan strong{font-size:15px}.profile-bonus-plan small{color:var(--muted)}
.bonus-eligibility-alert{margin-bottom:18px}.bonus-source-panel{border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:20px;background:#fafbf8}.bonus-source-panel .panel-header{margin-bottom:12px}.bonus-source-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bonus-source-list>a,.bonus-source-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.bonus-source-list span{font-size:11px;color:var(--muted)}.bonus-source-list strong{font-size:14px}
@media(max-width:720px){.employment-card.compact{align-items:flex-start;flex-direction:column}.employment-readout{align-items:flex-start}.profile-bonus-plan{margin-left:0;width:100%}.bonus-source-list{grid-template-columns:1fr}}


/* v1.11.1 — staff employment visibility + cleaner employee modal footer */
.employment-role-note{display:block;margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.03em}
.employee-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.employee-risk-actions,.employee-save-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.employee-risk-actions{flex:1 1 auto}
.employee-save-actions{flex:0 0 auto;justify-content:flex-end}
.employee-modal-footer .button{min-height:42px}
.employee-modal-footer .employee-save-actions .button.primary{min-width:112px}
.employee-modal-footer .employee-risk-actions .button.danger,.employee-modal-footer .employee-risk-actions .button.warning{white-space:nowrap}
@media(max-width:820px){.employee-modal-footer{align-items:stretch;flex-direction:column}.employee-risk-actions,.employee-save-actions{width:100%}.employee-save-actions{justify-content:flex-end}.employee-risk-actions .button{flex:1 1 180px}}
@media(max-width:560px){.employee-risk-actions,.employee-save-actions{display:grid;grid-template-columns:1fr}.employee-modal-footer .button{width:100%}.employee-save-actions{order:-1}}

/* v1.11.3 bonus plan placement + manual bonus UI */
.employee-bonus-plan-panel{padding:22px 24px;margin-top:18px}.employee-bonus-plan-panel .panel-header{margin-bottom:16px}.employee-bonus-plan-panel h3{margin:4px 0 0;font-size:20px}.bonus-plan-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafbf8}.bonus-plan-readout>div{padding:16px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.bonus-plan-readout>div:last-child{border-right:0}.bonus-plan-readout span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}.bonus-plan-readout strong{font-size:17px}.bonus-form-intro{margin-bottom:18px}.bonus-form-intro>span{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--muted)}.bonus-form-intro h3{font-size:22px;margin:5px 0 7px}.bonus-form-intro p{margin:0;color:var(--muted);line-height:1.55}.bonus-linked-sheet{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbf8;display:flex;flex-direction:column;gap:5px}.bonus-linked-sheet>span{font-size:9px;letter-spacing:.12em;font-weight:800;color:var(--muted)}.bonus-linked-sheet small{color:var(--muted)}
@media(max-width:720px){.bonus-plan-readout{grid-template-columns:1fr}.bonus-plan-readout>div{border-right:0;border-bottom:1px solid var(--line)}.bonus-plan-readout>div:last-child{border-bottom:0}}


/* v1.13.0 — versioned bonus policy builder */
.bonus-policy-panel{margin-top:22px;padding:24px}.bonus-policy-panel .panel-header{align-items:flex-start}.bonus-policy-panel td small{display:block;margin-top:4px;color:var(--muted);max-width:320px}.policy-cycle-picker{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 0}.policy-cycle-picker>span{width:100%;font-weight:700}.policy-thresholds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.policy-threshold-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbf8}.policy-threshold-row label{margin:0}#modal.bonus-policy-modal{width:min(760px,calc(100vw - 30px))}
@media(max-width:680px){.policy-thresholds{grid-template-columns:1fr}.policy-threshold-row{grid-template-columns:1fr 1fr}}

/* Phase 4: audit clarity */
.inherited-note{display:block;margin-top:4px;color:#7a6411;font-size:11px;font-weight:700;line-height:1.35}
.context-comment.is-deleted{background:#f7f7f5;border-style:dashed;opacity:.9}
.deleted-comment{margin:12px 0;color:#777;font-style:italic;font-size:13px}
.audit-comment-body{white-space:pre-wrap;padding:14px;border:1px solid #e7e7e2;border-radius:10px;background:#fafaf8;color:#222;line-height:1.55}
.inherited-note.inline{display:inline;margin-left:6px}

/* Phase 6: paginated server-side reports */
.report-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 24px}.report-pager span{font-size:13px;color:#687068;font-weight:650}.report-stats{margin-top:14px}@media(max-width:720px){.report-pager{justify-content:space-between;gap:8px}.report-pager span{font-size:12px;text-align:center}.report-pager .button{padding:8px 10px}}

/* Phase 7 — bonus payment lifecycle */
.bonus-lifecycle-cards{display:grid;gap:14px;align-content:start}.bonus-payment-note{margin-top:12px!important;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:900px){.bonus-lifecycle-cards{grid-template-columns:1fr}}

/* Phase 8: notification preferences and reminder controls */
.notification-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:14px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:#fafafa}
.notification-category{min-height:42px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;align-items:center}
.notification-category input{margin-right:8px}
@media(max-width:720px){.notification-category-grid{grid-template-columns:1fr}}


/* Bonus print uses the same in-page browser print flow as KPI sheet printing. */
body.bonus-printing{background:#fff!important}
body.bonus-printing .sidebar,body.bonus-printing .topbar,body.bonus-printing #toast,body.bonus-printing dialog{display:none!important}
body.bonus-printing #main{margin:0!important;padding:0!important;max-width:none!important}
body.bonus-printing #main>*{display:none!important}
body.bonus-printing #main>.bonus-print-layout{display:block!important}
body.bonus-printing .bonus-print-layout{font-family:Arial,sans-serif;color:#171917;background:#fff}
body.bonus-printing .bonus-print-brand{display:flex;align-items:center;justify-content:space-between;background:#151a15;color:#fff;padding:22px 28px;border-bottom:4px solid #ffd51f;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.bonus-printing .bonus-print-brand img{height:42px;max-width:180px;object-fit:contain}
body.bonus-printing .bonus-print-brand strong{display:block;font-size:18px}
body.bonus-printing .bonus-print-brand small{display:block;margin-top:5px;color:#d8ddd5;font-size:10px}
body.bonus-printing .bonus-print-wrap{padding:26px 28px}
body.bonus-printing .bonus-print-title h1{margin:0 0 6px;font-size:28px}
body.bonus-printing .bonus-print-title p{margin:0;color:#5e655b}
body.bonus-printing .bonus-print-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e0e4de;border-radius:10px;overflow:hidden;margin:22px 0}
body.bonus-printing .bonus-print-summary>div{padding:16px;border-right:1px solid #e0e4de}
body.bonus-printing .bonus-print-summary>div:last-child{border-right:0}
body.bonus-printing .bonus-print-summary span{display:block;font-size:9px;letter-spacing:.1em;font-weight:700;color:#70766d}
body.bonus-printing .bonus-print-summary strong{display:block;margin-top:6px;font-size:19px}
body.bonus-printing .bonus-print-section{border-top:1px solid #dfe3dc;padding-top:16px;margin-top:18px;break-inside:avoid}
body.bonus-printing .bonus-print-section h3{margin:0 0 12px;font-size:15px}
body.bonus-printing .bonus-print-section dl{margin:0}
body.bonus-printing .bonus-print-section dl>div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:7px 0}
body.bonus-printing .bonus-print-section dt{font-weight:700}
body.bonus-printing .bonus-print-section dd{margin:0}
body.bonus-printing .bonus-print-note{margin-top:12px;padding:12px;background:#fff8d8;border:1px solid #efd35e;border-radius:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.bonus-printing .bonus-print-note p{margin:5px 0 0}
body.bonus-printing .bonus-print-table{width:100%;border-collapse:collapse}
body.bonus-printing .bonus-print-table th,body.bonus-printing .bonus-print-table td{border-bottom:1px solid #e0e4de;padding:8px;text-align:left;font-size:10px}
body.bonus-printing .bonus-print-footer{display:flex;justify-content:space-between;margin-top:26px;padding-top:10px;border-top:1px solid #ddd;color:#737872;font-size:9px}
@media print{body.bonus-printing .bonus-print-layout{display:block!important}@page{size:A4 portrait;margin:12mm}}
/* Overtime workflow */
.overtime-detail .detail-grid,.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.overtime-detail .detail-grid>div,.detail-grid>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fafbf8;display:flex;flex-direction:column;gap:5px}.overtime-detail .detail-grid span,.detail-grid span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}.overtime-detail .detail-grid strong,.detail-grid strong{font-size:15px}.overtime-reason{margin-top:20px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}.overtime-reason>span{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:800}.overtime-reason p{margin:8px 0 0;white-space:pre-wrap}.overtime-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:20px}.overtime-step{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;gap:10px;align-items:flex-start;background:#fff}.overtime-step>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#f1f2ef;font-weight:800;font-size:11px;flex:0 0 auto}.overtime-step.done{border-color:#cfe0d1;background:#f6fbf6}.overtime-step.done>span{background:#e2f1e5;color:var(--good)}.overtime-step strong{display:block;font-size:11px;line-height:1.3}.overtime-step small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.overtime-editor-modal,.overtime-amount-modal,.overtime-payment-modal{width:min(780px,calc(100vw - 30px))}
@media(max-width:1100px){.overtime-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.overtime-detail .detail-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.overtime-flow{grid-template-columns:1fr}.overtime-detail .detail-grid,.detail-grid{grid-template-columns:1fr}}
/* Overtime workflow hardening */
.stat.active{border-color:#b99f00;box-shadow:0 0 0 2px #ffda2438;background:#fffdf2}.stat.active .label{color:#4e481d}
.overtime-flow{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.overtime-step>div{min-width:0}.overtime-step-comment{margin:7px 0 0;font-size:10px;line-height:1.45;color:#4f584b;white-space:pre-wrap;border-top:1px dashed #dce2d7;padding-top:6px}
.overtime-approval-modal{width:min(700px,calc(100vw - 30px))}.approval-work-summary{border:1px solid var(--line);border-radius:10px;background:#fafbf8;padding:14px 16px;margin-bottom:18px}.approval-work-summary>span{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--muted)}.approval-work-summary p{margin:7px 0 0;white-space:pre-wrap;font-size:13px}
.overtime-filter-note{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #eadb75;background:#fffbea;border-radius:9px;padding:10px 12px;margin:-6px 0 18px;font-size:12px}.submitted-meta{opacity:.82}
@media(max-width:600px){.overtime-filter-note{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.overtime-flow{grid-template-columns:1fr}}

/* v1.22.8 — annual KPI rollup */
.annual-rollup-row{background:#fbfcf8}
.annual-rollup-row td:first-child{box-shadow:inset 3px 0 0 #d7bb20}
.annual-report-heading .eyebrow{display:block;margin-bottom:7px}
.annual-report-summary .performance-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.annual-month-table td strong{font-size:13px}
.annual-method-note{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;padding:14px 16px}
.annual-method-note strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.annual-method-note p{margin:7px 0 0;color:var(--muted);line-height:1.55}
.annual-ack-panel .actions{margin-top:16px}
@media(max-width:900px){.annual-report-summary .performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.annual-report-summary .performance-summary{grid-template-columns:1fr}}

/* v1.22.10: report summary metrics are display-only, never navigation controls. */
.stat-static{cursor:default}.report-stats .stat-static{cursor:default;pointer-events:auto;user-select:text}.report-stats .stat-static:hover{background:var(--white);border-color:var(--line);box-shadow:none;transform:none}

/* v1.22.15 — interactive bonus summary filters */
.bonus-summary>.bonus-summary-card{appearance:none;-webkit-appearance:none;width:100%;min-height:118px;border:1px solid var(--line);border-radius:12px;padding:17px 18px;background:#fafbf9;display:grid;gap:5px;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}
.bonus-summary>.bonus-summary-card:hover{border-color:#c9b22b;background:#fffdf2;transform:translateY(-1px)}
.bonus-summary>.bonus-summary-card.active{border-color:#b99f00;box-shadow:0 0 0 2px #ffda2438;background:#fffdf2}
.bonus-summary>.bonus-summary-card span{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:700}
.bonus-summary>.bonus-summary-card strong{font-size:28px;line-height:1.1;letter-spacing:-.8px}
.bonus-summary>.bonus-summary-card em{font-size:10px;color:var(--muted);font-style:normal}

/* v1.22.15 — overtime printable/downloadable report */
body.overtime-printing{background:#fff!important}
body.overtime-printing .sidebar,body.overtime-printing .topbar,body.overtime-printing #toast,body.overtime-printing dialog{display:none!important}
body.overtime-printing #main{margin:0!important;padding:0!important;max-width:none!important}
body.overtime-printing #main>*{display:none!important}
body.overtime-printing #main>.overtime-print-layout{display:block!important}
body.overtime-printing .overtime-print-layout{font-family:Arial,sans-serif;color:#171917;background:#fff}
body.overtime-printing .overtime-print-brand{display:flex;align-items:center;justify-content:space-between;background:#151a15;color:#fff;padding:22px 28px;border-bottom:4px solid #ffd51f;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.overtime-printing .overtime-print-brand img{height:42px;max-width:180px;object-fit:contain}
body.overtime-printing .overtime-print-brand strong{display:block;font-size:18px}
body.overtime-printing .overtime-print-brand small{display:block;margin-top:5px;color:#d8ddd5;font-size:10px;text-align:right}
body.overtime-printing .overtime-print-wrap{padding:26px 28px}
body.overtime-printing .overtime-print-title h1{margin:0 0 6px;font-size:28px}
body.overtime-printing .overtime-print-title p{margin:0 0 22px;color:#5e655b}
body.overtime-printing .overtime-print-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e0e4de;border-radius:10px;overflow:hidden}
body.overtime-printing .overtime-print-grid>div{padding:14px 16px;border-right:1px solid #e0e4de;min-height:74px}
body.overtime-printing .overtime-print-grid>div:last-child{border-right:0}
body.overtime-printing .overtime-print-grid span{display:block;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#70766d;font-weight:700}
body.overtime-printing .overtime-print-grid strong{display:block;margin-top:6px;font-size:12px;line-height:1.35}
body.overtime-printing .overtime-print-grid small{display:block;margin-top:3px;font-size:9px;color:#656b62}
body.overtime-printing .overtime-print-section{border-top:1px solid #dfe3dc;padding-top:16px;margin-top:20px;break-inside:avoid}
body.overtime-printing .overtime-print-section h3{margin:0 0 12px;font-size:14px}
body.overtime-printing .overtime-print-reason{margin:0;white-space:pre-wrap;line-height:1.55;font-size:11px}
body.overtime-printing .overtime-print-table{width:100%;border-collapse:collapse;font-size:9px}
body.overtime-printing .overtime-print-table th,body.overtime-printing .overtime-print-table td{border:1px solid #e0e4de;padding:7px 8px;text-align:left;vertical-align:top}
body.overtime-printing .overtime-print-table th{background:#f1f2ef;font-size:8px;text-transform:uppercase;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.overtime-printing .overtime-print-section .overtime-print-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
body.overtime-printing .overtime-print-footer{display:flex;justify-content:space-between;margin-top:26px;padding-top:10px;border-top:1px solid #ddd;color:#737872;font-size:9px}
@media print{body.overtime-printing .overtime-print-layout{display:block!important}@page{size:A4 portrait;margin:12mm}}

/* v1.22.16 — dashboard/report layout refinement. Export/PDF/print styles intentionally unchanged. */
.executive-performance{padding:28px}
.executive-header{align-items:flex-start;margin-bottom:20px}
.executive-header h2{font-size:24px;margin-bottom:4px}
.executive-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}
.executive-summary>div{background:#fbfcfa;padding:16px 17px}
.executive-summary strong{font-size:26px}
.executive-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start}
.executive-side-stack{display:grid;gap:18px}
.executive-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:18px;min-width:0}
.executive-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.executive-card-head h3{font-size:15px;margin:0 0 3px}
.executive-card-head p{font-size:10px;color:var(--muted);margin:0}
.executive-department-list{display:grid;gap:0}
.executive-department-row{display:grid;grid-template-columns:28px minmax(0,1fr) 64px 92px;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #edf0e9;background:transparent;padding:12px 2px;text-align:left;color:var(--ink)}
.executive-department-row:last-child{border-bottom:0}
.executive-department-row:hover{background:#fffdf2}
.executive-rank{width:24px;height:24px;border-radius:999px;background:#f1f3ee;display:grid;place-items:center;font-size:10px;font-weight:700;color:#667063}
.executive-dept-name{min-width:0}.executive-dept-name strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-dept-name small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.executive-score{font-size:14px;font-weight:750;text-align:right}.executive-score small{font-size:8px;color:var(--muted);margin-left:2px}
.executive-mini-track{height:6px;border-radius:99px;background:#edf0ea;overflow:hidden}.executive-mini-track i{display:block;height:100%;border-radius:99px}.executive-mini-track i.excellent,.report-department-track i.excellent{background:#1f6846}.executive-mini-track i.good,.report-department-track i.good{background:#7ba35e}.executive-mini-track i.fair,.report-department-track i.fair{background:var(--accent)}.executive-mini-track i.low,.report-department-track i.low{background:#c75a4d}
.insight-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.insight-columns>div+div{border-left:1px solid var(--line);padding-left:16px}.insight-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;color:var(--muted);margin-bottom:7px}.insight-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f0f1ed}.insight-row:last-child{border-bottom:0}.insight-row strong{font-size:10px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-row span{font-size:10px;font-weight:700;white-space:nowrap}
.recent-result-list{display:grid}.recent-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0e9}.recent-result-row:last-child{border-bottom:0}.recent-result-row:hover strong{text-decoration:underline}.recent-result-row span{min-width:0}.recent-result-row strong{display:block;font-size:11px}.recent-result-row small{display:block;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.recent-result-row b{font-size:11px;white-space:nowrap}
.executive-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.department-progress-panel{padding:24px}.department-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.department-progress-card{border:1px solid var(--line);border-radius:12px;background:#fbfcfa;padding:15px}.department-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.department-progress-head strong{display:block;font-size:11px}.department-progress-head small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.department-progress-percent{font-size:11px;font-weight:750;border-radius:7px;padding:4px 7px;background:#f0f2ee;color:#667063}.department-progress-percent.complete{background:#eaf4ec;color:var(--good)}.department-progress-track{height:7px;border-radius:99px;background:#edf0ea;overflow:hidden;margin:13px 0 8px}.department-progress-track i{display:block;height:100%;border-radius:99px;background:var(--accent)}.department-progress-percent.complete+.department-progress-track i{background:var(--good)}.department-progress-foot{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted)}

#report-reviewer-scores{scroll-margin-top:96px}
.report-department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-department-card{border:1px solid var(--line);border-radius:12px;background:#fbfcfa;padding:15px}.report-department-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.report-department-card-head>div{min-width:0}.report-department-card-head strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-department-card-head small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.report-department-card-head>span{font-size:16px;font-weight:750;white-space:nowrap}.report-department-card-head>span small{font-size:8px;color:var(--muted);margin-left:2px}.report-department-track{height:7px;background:#edf0ea;border-radius:99px;overflow:hidden;margin:13px 0 8px}.report-department-track i{display:block;height:100%;border-radius:99px}.report-department-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted)}.report-department-meta b{color:var(--ink)}
.quarterly-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quarterly-snapshot-card{border:1px solid var(--line);border-radius:12px;background:#fbfcfa;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start}.quarterly-snapshot-card>div:first-child span{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quarterly-snapshot-card>div:first-child strong{display:block;font-size:12px;margin-top:2px}.quarterly-snapshot-card>b{font-size:16px}.quarterly-snapshot-card>b small{font-size:8px;color:var(--muted);margin-left:2px}.quarterly-snapshot-card>small{grid-column:1/-1;color:var(--muted);font-size:9px}.quarterly-months{grid-column:1/-1;height:6px;border-radius:99px;background:#edf0ea;overflow:hidden}.quarterly-months i{display:block;height:100%;background:var(--accent);border-radius:99px}.quarterly-note{text-align:right;margin:12px 0 0}

@media(max-width:1180px){.executive-layout{grid-template-columns:1fr}.executive-side-stack{grid-template-columns:1fr 1fr}.executive-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.department-progress-grid,.report-department-grid,.quarterly-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.executive-side-stack,.executive-detail-grid,.insight-columns{grid-template-columns:1fr}.insight-columns>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:12px}.executive-summary,.department-progress-grid,.report-department-grid,.quarterly-snapshot-grid{grid-template-columns:1fr}.executive-department-row{grid-template-columns:26px minmax(0,1fr) 58px}.executive-mini-track{display:none}}

/* v1.22.18 — employee performance redesign + separate annual reports */
.performance-summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.performance-grid-redesign{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;margin-bottom:20px}
.performance-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px 18px 16px;min-width:0}
.performance-kpis-card{height:100%}
.performance-card-footer{padding-top:10px;border-top:1px solid #edf0e9;margin-top:10px}
.trend-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trend-card{display:grid;gap:8px;padding:12px;border:1px solid #edf0e9;border-radius:12px;background:#fafbf9;text-decoration:none;color:inherit}
.trend-card:hover{border-color:#d0bd4a;background:#fffdf1}
.trend-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.trend-card-top strong{font-size:18px;line-height:1.1}
.trend-card-top span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}
.trend-card small{font-size:10px;color:var(--muted);line-height:1.35}
.performance-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.insight-list{display:grid;gap:10px}
.insight-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf0e9}
.insight-row:last-child{border-bottom:0;padding-bottom:0}
.insight-row strong{font-size:13px;line-height:1.3}
.insight-row span{font-size:12px;font-weight:700;white-space:nowrap}
.annual-report-list-panel .empty{margin-top:0}
@media(max-width:1150px){.performance-summary-four{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-grid-redesign,.performance-insight-grid{grid-template-columns:1fr}.trend-card-grid{grid-template-columns:1fr}}
@media(max-width:700px){.performance-summary-four{grid-template-columns:1fr}}

/* v1.22.19 — reviewer comparison redesign */
.reviewer-comparison-panel{overflow:visible}
.reviewer-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.reviewer-comparison-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px;display:grid;gap:16px;min-width:0}
.reviewer-comparison-card:hover{border-color:#d9c85f;box-shadow:0 5px 18px rgba(31,42,26,.05)}
.reviewer-comparison-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.reviewer-employee{display:flex;align-items:center;gap:11px;min-width:0}
.reviewer-employee>div{min-width:0}
.reviewer-employee strong{display:block;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reviewer-employee small,.reviewer-employee span{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reviewer-final{border:1px solid #e1eadf;background:#f6faf5;border-radius:11px;padding:10px 12px;min-width:96px;text-align:right}
.reviewer-final>span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:700}
.reviewer-final>strong{display:block;font-size:20px;line-height:1.1;margin-top:4px}
.reviewer-final small{font-size:10px;color:var(--muted);margin-left:2px}
.reviewer-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.reviewer-score-chip{border:1px solid #edf0e9;background:#fafbf9;border-radius:11px;padding:11px;min-width:0;display:grid;gap:5px;align-content:start}
.reviewer-score-chip.annual,.reviewer-score-chip.employee-result{grid-column:1/-1}
.reviewer-score-role{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.reviewer-score-role>span,.reviewer-score-chip>span{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reviewer-score-chip>strong{font-size:18px;line-height:1.1}
.reviewer-score-chip>strong small{font-size:9px;color:var(--muted);margin-left:2px}
.reviewer-score-chip>small{font-size:9px;line-height:1.35;color:var(--muted);white-space:normal}
.reviewer-score-empty{grid-column:1/-1;padding:13px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:11px}
.reviewer-comparison-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:13px;border-top:1px solid #edf0e9}
.reviewer-variance{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.reviewer-variance>span{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.reviewer-variance>strong{font-size:11px;font-weight:650}
@media(max-width:1180px){.reviewer-comparison-grid{grid-template-columns:1fr}.reviewer-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.reviewer-comparison-card{padding:15px}.reviewer-comparison-head{align-items:stretch;flex-direction:column}.reviewer-final{text-align:left}.reviewer-score-grid{grid-template-columns:1fr}.reviewer-score-chip.annual,.reviewer-score-chip.employee-result{grid-column:auto}.reviewer-comparison-foot{align-items:flex-start;flex-direction:column}.reviewer-comparison-foot .button{width:100%}}

/* v1.22.22 — KPI sheet/annual report separation + 20-row pagination */
.list-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}
.list-pagination strong{font-size:12px}
.list-pagination span{font-size:11px;color:var(--muted)}
.list-pagination .button[disabled]{opacity:.45;cursor:not-allowed}
.annual-report-list-panel{margin-top:24px}
@media(max-width:700px){.list-pagination{justify-content:space-between}.list-pagination span{width:100%;text-align:center;order:3}}

/* v1.22.23 — current year employee ratings */
.employee-ratings-panel .panel-header p{max-width:760px}
.employee-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.employee-rating-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;display:grid;gap:18px;min-width:0}
.employee-rating-card:hover{border-color:#d9c85f;box-shadow:0 6px 18px rgba(31,42,26,.05)}
.employee-rating-head{display:flex;align-items:center;gap:14px;min-width:0}
.employee-rating-meta{min-width:0;display:grid;gap:3px}
.employee-rating-meta strong{font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee-rating-meta small,.employee-rating-meta span{color:var(--muted);font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee-rating-body{display:flex;align-items:center;gap:18px;min-width:0}
.rating-ring{--ring-color:#7f9f60;position:relative;inline-size:112px;block-size:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ring-color) calc(var(--rating) * 1%), #edf1ea 0)}
.rating-ring::before{content:'';position:absolute;inset:9px;border-radius:50%;background:#fff;border:1px solid #eef1eb}
.rating-ring.excellent{--ring-color:#2d6b4c}
.rating-ring.good{--ring-color:#7f9f60}
.rating-ring.fair{--ring-color:#d7be32}
.rating-ring.low{--ring-color:#c8685a}
.rating-ring>div{position:relative;z-index:1;display:grid;place-items:center;text-align:center;line-height:1}
.rating-ring strong{font-size:28px;line-height:1}
.rating-ring small{font-size:11px;color:var(--muted);margin-top:4px}
.employee-rating-side{flex:1;display:grid;gap:12px;min-width:0}
.employee-rating-stat{border:1px solid #edf0e9;background:#fafbf9;border-radius:12px;padding:12px 14px;display:grid;gap:5px}
.employee-rating-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.employee-rating-stat strong{font-size:14px;line-height:1.35}
@media(max-width:1100px){.employee-rating-grid{grid-template-columns:1fr}}
@media(max-width:640px){.employee-rating-body{align-items:flex-start;flex-direction:column}.rating-ring{inline-size:100px;block-size:100px}.rating-ring strong{font-size:24px}}

/* v1.22.24 — four-year employee rating history */
.employee-rating-card-four-year{gap:16px}
.employee-year-ratings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:4px}
.year-rating-item{display:grid;justify-items:center;gap:8px;min-width:0}
.rating-ring-year{inline-size:94px;block-size:94px}
.rating-ring-year::before{inset:8px}
.rating-ring-year strong{font-size:22px}
.rating-ring-year small{font-size:9px}
.rating-ring-year.no-data{--ring-color:#dfe4dc;background:conic-gradient(#dfe4dc 100%,#dfe4dc 0)}
.rating-ring-year.no-data>div strong{color:var(--muted)}
.rating-year-label{font-size:12px;line-height:1;text-align:center}
@media(max-width:1280px){.employee-year-ratings{grid-template-columns:repeat(4,minmax(76px,1fr));gap:10px}.rating-ring-year{inline-size:84px;block-size:84px}.rating-ring-year strong{font-size:20px}}
@media(max-width:700px){.employee-year-ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rating-ring-year{inline-size:96px;block-size:96px}}

/* v1.22.25 — modern screen UI polish. Export/print layouts intentionally untouched. */
@media screen{
 :root{
  --paper:#f4f5f2;
  --line:#dfe3dc;
  --line-strong:#cfd5cc;
  --surface-soft:#f8faf7;
  --surface-hover:#fbfcfa;
  --shadow-sm:0 1px 2px rgba(19,30,20,.03),0 8px 24px rgba(19,30,20,.035);
  --shadow-md:0 12px 34px rgba(19,30,20,.08);
  --radius:16px;
 }
 body{background:linear-gradient(180deg,#f7f8f5 0,#f3f5f1 100%);font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;text-rendering:optimizeLegibility}
 h1{font-size:clamp(30px,2.25vw,38px);letter-spacing:-1.35px;font-weight:700}
 h2{font-weight:700;letter-spacing:-.5px}
 h3{font-weight:680}
 .sidebar{background:#151915;border-right:1px solid rgba(255,255,255,.035);box-shadow:12px 0 36px rgba(11,18,12,.04)}
 .sidebar .brand{padding-bottom:30px}
 .nav-link{border-radius:11px;padding:12px 13px;transition:background .18s ease,color .18s ease,transform .18s ease}
 .nav-link:not(.active):hover{background:#222a22;color:#fff;transform:translateX(2px)}
 .nav-link.active{box-shadow:inset 0 0 0 1px rgba(0,0,0,.04),0 4px 18px rgba(255,218,36,.12);font-weight:650}
 .sidebar-bottom{padding-top:20px}
 .user-block{border-top-color:#303730}
 .topbar{position:sticky;top:0;z-index:32;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(23,24,23,.02)}
 #main{padding-top:36px}
 .page-heading{margin-bottom:28px}
 .page-heading>div:first-child{max-width:900px}
 .page-heading p{font-size:13px;line-height:1.6}
 .panel,.department-card,.stat,.sheet-details-card,.auth-card,.executive-card,.performance-card,.bonus-decision-card,.overtime-card{box-shadow:var(--shadow-sm)}
 .panel{border-color:rgba(207,213,204,.85);padding:28px;border-radius:18px}
 .panel-header{margin-bottom:20px}
 .panel-header h2{margin-bottom:4px}
 .button{min-height:40px;border-color:var(--line-strong);border-radius:11px;padding:9px 16px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
 .button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px rgba(24,34,24,.07);border-color:#c5cbc2}
 .button.primary{box-shadow:0 7px 18px rgba(221,185,0,.14)}
 .button.primary:hover:not(:disabled){background:#ffd313;border-color:#ffd313;box-shadow:0 9px 22px rgba(221,185,0,.2)}
 .button.dark:hover:not(:disabled){background:#202720;border-color:#202720}
 .button.small{min-height:34px;border-radius:9px}
 .text-button{border-radius:8px;padding:7px 6px;text-decoration:none;transition:background .16s ease}
 .text-button:hover{background:#f4f6f2;text-decoration:none}
 .stats{gap:16px;margin-bottom:28px}
 .stat{border-color:rgba(207,213,204,.9);border-radius:16px;padding:21px;background:rgba(255,255,255,.92);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
 .stat-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#c8cec5}
 .stat strong{font-size:34px;margin:13px 0 6px}
 .stat.highlight{background:linear-gradient(145deg,#ffdd2e,#ffd51a);box-shadow:0 10px 28px rgba(214,176,0,.13)}
 .tabs{gap:8px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f0f3ee;margin:8px 0 26px;overflow-x:auto}
 .tab{border-radius:9px;padding:9px 13px;border-bottom:0;color:#657065;font-weight:560;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
 .tab:hover{background:rgba(255,255,255,.6);color:var(--ink)}
 .tab.active{background:#fff;color:var(--ink);border:1px solid #e5e9e2;box-shadow:0 2px 7px rgba(20,30,20,.05);font-weight:680}
 .table-wrap{border:1px solid #e7eae4;border-radius:14px;background:#fff}
 table{font-size:12.5px}
 th{background:#f8faf7;padding:13px 15px;color:#667066;border-bottom-color:#e4e8e1}
 td{padding:16px 15px}
 tbody tr{transition:background .14s ease}
 tbody tr:hover{background:#fbfcfa}
 .person-cell{gap:11px}
 .avatar{width:38px;height:38px;box-shadow:inset 0 0 0 1px rgba(23,24,23,.04)}
 .avatar-photo{overflow:hidden;background:#e9eddf}
 .avatar-photo img{width:100%;height:100%;object-fit:cover;display:block}
 .badge{border-radius:999px;padding:5px 9px;font-weight:650;letter-spacing:.01em}
 .toolbar,.filter-bar{border:1px solid #e1e5de;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:var(--shadow-sm)}
 .toolbar{padding:16px}
 .filter-bar{padding:16px 18px}
 label{font-weight:620;color:#4b554b}
 input:not([type=checkbox]),select,textarea{border-color:#d6ddd2;border-radius:11px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
 input:not([type=checkbox]),select{min-height:44px}
 input:not([type=checkbox]):hover,select:hover,textarea:hover{border-color:#c8d0c4}
 input:not([type=checkbox]):focus,select:focus,textarea:focus{border-color:#b7a72c;box-shadow:0 0 0 4px rgba(255,218,36,.16);outline:0}
 dialog{border-color:#dfe4dc;border-radius:20px;padding:30px;box-shadow:0 30px 90px rgba(13,22,14,.22)}
 dialog::backdrop{background:rgba(17,28,19,.46);backdrop-filter:blur(5px)}
 .modal-close{width:34px;height:34px;background:#eef2ec;transition:background .15s ease,transform .15s ease}
 .modal-close:hover{background:#e4e9e2;transform:rotate(4deg)}
 .empty{border-radius:14px;background:linear-gradient(180deg,#fbfcfa,#f8faf7);padding:42px 20px}
 .alert{border-radius:12px}
 .department-card{border-radius:18px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
 .department-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cdd3ca}
 .performance-summary>div{border-radius:14px;background:linear-gradient(180deg,#fbfcfa,#f7f9f6);border-color:#e2e6df}
 .performance-track{height:7px;background:#e9eee7}
 .executive-card,.performance-card{border-color:#e1e6de;border-radius:15px;background:#fff}
 .recent-result-row,.executive-department-row{border-radius:10px;transition:background .15s ease,transform .15s ease}
 .recent-result-row:hover,.executive-department-row:hover{background:#f7f9f5;transform:translateX(2px)}
 .approval-step,.auth-card,.sheet-details-card{border-radius:14px}
 .notice{border-radius:13px}
 .list-pagination,.report-pager{gap:10px}
 .count-pill,.dot{font-weight:700}
 .settings-toggle{border-radius:13px;background:#f8faf7}
 .overtime-filter-note,.bonus-filter-note{border-radius:12px}
 .bonus-summary-card{border-radius:14px;transition:transform .16s ease,box-shadow .16s ease}
 .bonus-summary-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
 .overtime-card{border-radius:16px}
 .year-rating-item{position:relative;isolation:isolate;padding:8px 6px 0;border-radius:14px;transition:background .16s ease,transform .16s ease}
 .year-rating-item:hover{background:#f7f9f6;transform:translateY(-1px)}
 .year-rating-item[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);width:220px;max-width:calc(100vw - 40px);padding:10px 12px;border-radius:12px;background:#1a1f1a;color:#fff;font-size:10px;line-height:1.45;font-weight:500;box-shadow:0 12px 30px rgba(10,18,11,.22);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:20;text-align:center;white-space:normal}
 .year-rating-item[data-tooltip]::before{content:'';position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#1a1f1a;opacity:0;transition:opacity .15s ease;z-index:21}
 .year-rating-item[data-tooltip]:hover::after,.year-rating-item[data-tooltip]:focus-within::after{opacity:1;transform:translate(-50%,0)}
 .year-rating-item[data-tooltip]:hover::before,.year-rating-item[data-tooltip]:focus-within::before{opacity:1}
 .employee-ratings-panel{background:linear-gradient(180deg,#fff,#fbfcfa)}
 .employee-ratings-header{align-items:flex-end}
 .employee-ratings-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
 .rating-year-control{margin:0;min-width:170px;font-size:10px;text-transform:uppercase;letter-spacing:.65px;color:var(--muted)}
 .rating-year-control select{margin-top:5px;min-height:38px;padding:8px 34px 8px 11px;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink)}
 .employee-rating-grid{gap:20px}
 .employee-rating-card{border-color:#e0e5dd;background:linear-gradient(180deg,#fff,#fbfcfa);box-shadow:var(--shadow-sm);padding:20px 22px}
 .employee-rating-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
 .employee-rating-head-modern{padding-bottom:4px;border-bottom:1px solid #eef1eb}
 .employee-rating-meta strong{font-size:18px}
 .employee-rating-meta small,.employee-rating-meta span{font-size:11px}
 .employee-year-ratings-wrap{padding:16px;border:1px solid #edf1ea;border-radius:16px;background:linear-gradient(180deg,#fcfdfb,#f7faf5)}
 .employee-rating-card-single-year .employee-year-ratings{justify-content:center}
 .employee-year-ratings.single-year{grid-template-columns:minmax(120px,170px);justify-content:start}
 .employee-year-ratings.single-year .rating-ring-year{inline-size:116px;block-size:116px}
 .employee-year-ratings.single-year .rating-ring-year strong{font-size:28px}
 .rating-ring{filter:drop-shadow(0 6px 12px rgba(31,42,26,.05))}
 .rating-year-label{font-size:11px;letter-spacing:.03em}
 .report-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .report-insight-card{border:1px solid #e4e8e1;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcfa);padding:18px;box-shadow:var(--shadow-sm);display:grid;gap:16px;min-width:0}
 .report-insight-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
 .report-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
 .report-card-copy{min-width:0;display:grid;gap:4px}
 .report-card-copy strong{font-size:15px;line-height:1.25}
 .report-card-copy small{font-size:11px;color:var(--muted);line-height:1.45}
 .report-card-body{display:flex;align-items:center;gap:18px;min-width:0}
 .report-card-stats{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .report-card-stats>div{border:1px solid #eef1eb;background:#fff;border-radius:12px;padding:11px 12px;display:grid;gap:4px;min-width:0}
 .report-card-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
 .report-card-stats strong{font-size:14px;line-height:1.25}
 .report-score-ring{inline-size:96px;block-size:96px;flex-shrink:0}
 .report-score-ring::before{inset:8px}
 .report-score-ring strong{font-size:24px}
 .report-score-ring small{font-size:10px}
 .quarterly-note{margin:12px 2px 0}
}
@media screen and (max-width:900px){
 .employee-ratings-header{align-items:flex-start;flex-direction:column}
 .employee-ratings-tools{width:100%;justify-content:flex-start}
 .rating-year-control{min-width:190px}
}


@media screen and (max-width:1180px){
 .report-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-card-body{align-items:flex-start;flex-direction:column}
 .report-card-stats{width:100%}
}
@media screen and (max-width:760px){
 .report-insight-grid{grid-template-columns:1fr}
 .report-card-stats{grid-template-columns:1fr}
 .report-score-ring{inline-size:88px;block-size:88px}
 .report-score-ring strong{font-size:22px}
}


/* v1.22.32 — reports list + quarterly snapshot redesign */
.report-records-panel .panel-header p{max-width:720px}
.report-records-table td{vertical-align:middle}
.report-records-table td:nth-child(2){min-width:250px}
.report-records-table td:nth-child(3){min-width:150px}
.report-records-table td:nth-child(4){white-space:nowrap}
.report-records-table .person-cell .avatar{width:36px;height:36px}
.quarterly-modern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.quarterly-modern-card{border:1px solid #e1e6de;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcfa);padding:18px;box-shadow:var(--shadow-sm);display:grid;gap:16px;min-width:0;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.quarterly-modern-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:#d0d7cd}
.quarterly-modern-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #edf1ea}
.quarterly-modern-head>div{min-width:0;display:grid;gap:4px}
.quarterly-modern-head strong{font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quarterly-modern-head small{font-size:11px;color:var(--muted);font-weight:650}
.quarterly-modern-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
.quarterly-modern-info{display:grid;gap:8px;min-width:0}
.quarterly-modern-info>strong{font-size:13px;line-height:1.35}
.quarterly-modern-info>span{font-size:11px;line-height:1.45;color:var(--muted)}
.quarterly-modern-info>small{font-size:10px;color:#7a847a}
.quarterly-month-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.quarterly-month-blocks i{display:block;height:8px;border-radius:999px;background:#e8ede5}
.quarterly-month-blocks i.filled{background:linear-gradient(90deg,#e6c419,#ffd928)}
.quarterly-modern-card .report-score-ring{inline-size:92px;block-size:92px}
.quarterly-modern-card .report-score-ring strong{font-size:23px}
@media(max-width:1180px){.quarterly-modern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.quarterly-modern-grid{grid-template-columns:1fr}.quarterly-modern-body{grid-template-columns:auto minmax(0,1fr)}.report-records-table{overflow-x:auto}}

/* v1.22.34 — Create / Adjust Bonus two-step selector */
#modal.bonus-flow-modal{width:min(900px,calc(100vw - 30px))}
.bonus-flow-steps{display:flex;align-items:center;gap:12px;margin:4px 0 22px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fafbf8}
.bonus-flow-step{display:flex;align-items:center;gap:10px;min-width:0;color:var(--muted)}
.bonus-flow-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf0eb;font-size:12px;font-weight:800;flex:0 0 auto}
.bonus-flow-step>div{display:grid;gap:1px}.bonus-flow-step strong{font-size:12px;color:inherit}.bonus-flow-step small{font-size:10px;color:var(--muted)}
.bonus-flow-step.active{color:var(--ink)}.bonus-flow-step.active>span{background:var(--yellow);color:#111;box-shadow:0 0 0 4px rgba(255,217,28,.16)}
.bonus-flow-line{height:1px;background:var(--line);flex:1;min-width:24px}
.bonus-flow-panel[hidden]{display:none!important}
.bonus-search-label{display:grid;gap:7px;font-size:11px;color:var(--muted)}
.bonus-search-label input{width:100%}
.bonus-employee-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;max-height:430px;overflow:auto;padding-right:3px}
.bonus-employee-option{appearance:none;width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}
.bonus-employee-option:hover{border-color:#c8cfbf;background:#fbfcfa;box-shadow:0 7px 18px rgba(24,34,24,.06);transform:translateY(-1px)}
.bonus-employee-option>span{display:grid;gap:2px;min-width:0}.bonus-employee-option strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bonus-employee-option small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bonus-employee-option em{font-size:10px;color:#677266;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bonus-employee-option>i{font-style:normal;font-size:22px;color:#8a9287}
.bonus-empty-search{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}
.bonus-selected-employee{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #dfe5da;border-radius:14px;background:linear-gradient(180deg,#fff,#f8faf6)}
.bonus-selected-employee>div{display:grid;gap:2px;min-width:0}.bonus-selected-employee strong{font-size:15px}.bonus-selected-employee small,.bonus-selected-employee span{font-size:10px;color:var(--muted)}
.bonus-back-button{margin:8px 0 14px}
.bonus-period-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}
.bonus-section-label{display:grid;gap:2px;margin-bottom:8px}.bonus-section-label>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.bonus-section-label small{font-size:10px;color:var(--muted)}
.bonus-period-list,.bonus-sheet-list{display:grid;gap:8px;max-height:340px;overflow:auto;padding-right:3px}
.bonus-period-option,.bonus-sheet-option{appearance:none;width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.bonus-period-option:hover,.bonus-sheet-option:hover{background:#fafcf9;border-color:#cbd2c6}.bonus-period-option.active,.bonus-sheet-option.active{border-color:#d5b91d;background:#fffbea;box-shadow:0 0 0 3px rgba(255,217,28,.12)}
.bonus-period-option>span,.bonus-sheet-option>span{display:grid;gap:3px;min-width:0}.bonus-period-option strong,.bonus-sheet-option strong{font-size:12px;line-height:1.3}.bonus-period-option small,.bonus-sheet-option small{font-size:10px;color:var(--muted);line-height:1.35}.bonus-period-option>i{font-style:normal;font-size:20px;color:#8a9287}
.bonus-sheet-option>b{font-size:16px;white-space:nowrap}.bonus-sheet-option>b small{font-size:9px;margin-left:2px}
.bonus-placeholder{padding:24px 16px;border:1px dashed var(--line);border-radius:12px;background:#fafbf8;color:var(--muted);font-size:11px;text-align:center}
.bonus-entry-fields{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.bonus-entry-fields[hidden]{display:none!important}
.bonus-selected-source{border:1px solid #dfe5da;border-radius:12px;background:#f8faf6;padding:13px 14px;display:grid;gap:4px;margin-bottom:16px}.bonus-selected-source>span{font-size:9px;letter-spacing:.12em;font-weight:800;color:var(--muted)}.bonus-selected-source>strong{font-size:13px}.bonus-selected-source>small{font-size:10px;color:var(--muted)}
@media(max-width:760px){.bonus-employee-list{grid-template-columns:1fr}.bonus-period-layout{grid-template-columns:1fr}.bonus-period-list,.bonus-sheet-list{max-height:280px}.bonus-flow-steps{padding:12px}.bonus-flow-step small{display:none}}

/* v1.22.37 — refined Create / Adjust Bonus modal layout */
#modal.bonus-flow-modal{width:min(980px,calc(100vw - 28px));padding:0;overflow:hidden;border:1px solid #dce2d8;border-radius:22px;background:#fff;box-shadow:0 34px 100px rgba(15,24,16,.24)}
#modal.bonus-flow-modal .modal-head{margin:0;padding:22px 26px 18px;border-bottom:1px solid #edf0ea;background:#fff}
#modal.bonus-flow-modal .modal-head h2{font-size:22px;letter-spacing:-.55px}
#modal.bonus-flow-modal #modal-form{padding:22px 26px 26px;max-height:calc(90vh - 78px);overflow:auto;background:linear-gradient(180deg,#fff 0,#fbfcfa 100%)}
#modal.bonus-flow-modal .modal-error:not(:empty){margin-bottom:18px}
#modal.bonus-flow-modal .bonus-form-intro{padding:0 2px 18px;margin:0 0 18px;border-bottom:1px solid #edf0ea}
#modal.bonus-flow-modal .bonus-form-intro>span{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#fff4b8;color:#63520b;font-size:9px;font-weight:800;letter-spacing:.12em}
#modal.bonus-flow-modal .bonus-form-intro h3{font-size:21px;line-height:1.25;letter-spacing:-.4px;margin:11px 0 6px}
#modal.bonus-flow-modal .bonus-form-intro p{max-width:720px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}
#modal.bonus-flow-modal .bonus-flow-steps{margin:0 0 20px;padding:8px;border:0;border-radius:14px;background:#f2f4f0;gap:8px}
#modal.bonus-flow-modal .bonus-flow-step{flex:1;padding:9px 11px;border-radius:10px}
#modal.bonus-flow-modal .bonus-flow-step.active{background:#fff;box-shadow:0 2px 10px rgba(20,30,20,.06)}
#modal.bonus-flow-modal .bonus-flow-step>span{width:32px;height:32px;background:#e4e9e1;font-size:12px}
#modal.bonus-flow-modal .bonus-flow-step.active>span{box-shadow:none;background:var(--yellow)}
#modal.bonus-flow-modal .bonus-flow-step strong{font-size:12px}
#modal.bonus-flow-modal .bonus-flow-step small{font-size:9px}
#modal.bonus-flow-modal .bonus-flow-line{display:none}
.bonus-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:2px 0 14px}
.bonus-list-toolbar>div{display:grid;gap:3px}
.bonus-list-toolbar strong{font-size:15px;letter-spacing:-.15px}
.bonus-list-toolbar small{font-size:10px;color:var(--muted);font-weight:400}
.bonus-list-toolbar>span{flex:0 0 auto;padding:5px 9px;border:1px solid #e1e6de;border-radius:999px;background:#fff;font-size:10px;font-weight:700;color:#5f695e}
#modal.bonus-flow-modal .bonus-search-label{gap:6px;margin-bottom:0;font-size:10px;font-weight:700;color:#5a6357}
.bonus-search-box{position:relative}
.bonus-search-box>span{position:absolute;left:13px;top:50%;transform:translateY(-52%);font-size:20px;line-height:1;color:#8a9287;pointer-events:none}
#modal.bonus-flow-modal .bonus-search-box input{height:46px;margin:0;padding:11px 14px 11px 41px;border-radius:12px;border-color:#d9dfd5;background:#fff;box-shadow:0 1px 0 rgba(20,30,20,.02)}
#modal.bonus-flow-modal .bonus-search-box input:focus{border-color:#cfb51c;box-shadow:0 0 0 3px rgba(255,217,36,.14)}
#modal.bonus-flow-modal .bonus-employee-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px;max-height:390px;padding:1px 6px 3px 1px;scrollbar-gutter:stable}
#modal.bonus-flow-modal .bonus-employee-option{min-height:94px;padding:14px 15px;border-radius:15px;border-color:#e0e5dd;background:#fff;box-shadow:0 1px 0 rgba(20,30,20,.015)}
#modal.bonus-flow-modal .bonus-employee-option:hover{transform:translateY(-1px);border-color:#c9d1c5;background:#fff;box-shadow:0 10px 24px rgba(24,34,24,.07)}
#modal.bonus-flow-modal .bonus-employee-option .avatar{width:42px;height:42px;font-size:11px;box-shadow:inset 0 0 0 1px rgba(45,65,42,.05)}
#modal.bonus-flow-modal .bonus-employee-option>span{gap:4px}
.bonus-employee-name-row{display:flex!important;align-items:center;justify-content:space-between;gap:10px;min-width:0}
#modal.bonus-flow-modal .bonus-employee-name-row strong{font-size:13px;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modal.bonus-flow-modal .bonus-employee-name-row b{flex:0 0 auto;max-width:112px;padding:3px 7px;border-radius:999px;background:#eef5ea;color:#356143;font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#modal.bonus-flow-modal .bonus-employee-option.plan-pending .bonus-employee-name-row b{background:#fff3d8;color:#7a5a18}
#modal.bonus-flow-modal .bonus-employee-option small{font-size:10px;color:#737c71}
#modal.bonus-flow-modal .bonus-employee-option em{font-size:9px;color:#8a9287}
#modal.bonus-flow-modal .bonus-employee-option>i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f3f5f1;color:#687166;font-size:18px;transition:background .15s ease,transform .15s ease}
#modal.bonus-flow-modal .bonus-employee-option:hover>i{background:var(--yellow);color:#181818;transform:translateX(1px)}
#modal.bonus-flow-modal .bonus-empty-search{margin-top:14px;padding:34px 18px;background:#fff}
#modal.bonus-flow-modal .bonus-selected-employee{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:16px;border-color:#dce3d8;background:linear-gradient(135deg,#fff 0,#f7faf5 100%);box-shadow:0 5px 18px rgba(25,37,24,.035)}
.bonus-selected-person{display:flex;align-items:center;gap:12px;min-width:0}
.bonus-selected-person .avatar{width:44px;height:44px}
.bonus-selected-person>div{display:grid;gap:2px;min-width:0}
.bonus-selected-person strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bonus-selected-person small,.bonus-selected-person span{font-size:10px;color:var(--muted)}
.bonus-selected-plan{flex:0 0 auto;min-width:150px;padding:9px 12px;border-radius:11px;background:#eef5ea;text-align:right;display:grid;gap:1px}
.bonus-selected-plan.pending{background:#fff4dc}
.bonus-selected-plan small{font-size:8px!important;text-transform:uppercase;letter-spacing:.08em;color:#657062!important}
.bonus-selected-plan strong{font-size:13px!important}
.bonus-selected-plan span{font-size:9px!important;color:#677265!important}
#modal.bonus-flow-modal .bonus-back-button{display:inline-flex;align-items:center;margin:8px 0 13px;padding:5px 0;font-size:11px;color:#596258}
#modal.bonus-flow-modal .bonus-period-layout{grid-template-columns:minmax(280px,.88fr) minmax(0,1.25fr);gap:18px}
#modal.bonus-flow-modal .bonus-section-label{margin-bottom:9px;padding:0 2px}
#modal.bonus-flow-modal .bonus-section-label>span{font-size:10px}
#modal.bonus-flow-modal .bonus-period-list,#modal.bonus-flow-modal .bonus-sheet-list{max-height:325px;gap:9px;padding-right:5px;scrollbar-gutter:stable}
#modal.bonus-flow-modal .bonus-period-option{min-height:68px;padding:12px 13px;border-radius:13px}
#modal.bonus-flow-modal .bonus-period-option.active{border-color:#d2b817;background:linear-gradient(135deg,#fffdf0,#fff9d9);box-shadow:0 0 0 3px rgba(255,217,36,.10)}
#modal.bonus-flow-modal .bonus-period-option strong{font-size:12px}
#modal.bonus-flow-modal .bonus-period-option small{font-size:9px;line-height:1.45}
#modal.bonus-flow-modal .bonus-period-option .badge{font-size:8px;padding:4px 7px;border-radius:999px}
#modal.bonus-flow-modal .bonus-sheet-list{padding:12px;border:1px solid #e2e7df;border-radius:15px;background:#f7f9f5}
#modal.bonus-flow-modal .bonus-sheet-list>.bonus-linked-sheet{margin:0 0 9px;background:#fff;border-radius:11px}
#modal.bonus-flow-modal .bonus-sheet-list>.bonus-linked-sheet:last-of-type{margin-bottom:10px}
#modal.bonus-flow-modal .bonus-sheet-list>.bonus-source-list{background:#fff;border:1px solid #e3e8e0;border-radius:11px;padding:4px 12px;margin-top:1px}
#modal.bonus-flow-modal .bonus-sheet-list>.bonus-source-list>div{padding:8px 0}
#modal.bonus-flow-modal .bonus-entry-fields{margin-top:20px;padding:18px;border:1px solid #e1e6de;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(25,37,24,.035)}
#modal.bonus-flow-modal .bonus-selected-source{margin-bottom:16px;border-radius:12px;background:#f7faf5}
#modal.bonus-flow-modal .form-actions{margin-top:18px}
@media(max-width:760px){#modal.bonus-flow-modal{width:min(96vw,980px)}#modal.bonus-flow-modal .modal-head{padding:18px 18px 15px}#modal.bonus-flow-modal #modal-form{padding:18px}.bonus-list-toolbar{align-items:flex-start}.bonus-list-toolbar>span{margin-top:1px}#modal.bonus-flow-modal .bonus-employee-list{grid-template-columns:1fr;max-height:360px}#modal.bonus-flow-modal .bonus-selected-employee{align-items:flex-start;flex-direction:column}.bonus-selected-plan{width:100%;text-align:left}#modal.bonus-flow-modal .bonus-period-layout{grid-template-columns:1fr}#modal.bonus-flow-modal .bonus-period-list,#modal.bonus-flow-modal .bonus-sheet-list{max-height:280px}#modal.bonus-flow-modal .bonus-flow-step{padding:8px}#modal.bonus-flow-modal .bonus-flow-step small{display:none}}

/* v1.22.38 — cleaner KPI source cards inside Create / Adjust Bonus */
#modal.bonus-flow-modal .bonus-period-source-block{margin-top:10px;border:1px solid #e2e7df;border-radius:13px;background:#fff;overflow:hidden}
#modal.bonus-flow-modal .bonus-period-source-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #edf0eb;background:#fafbf8}
#modal.bonus-flow-modal .bonus-period-source-head>span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f685d}
#modal.bonus-flow-modal .bonus-period-source-head>small{font-size:9px;color:var(--muted);white-space:nowrap}
#modal.bonus-flow-modal .bonus-period-source-block>.bonus-source-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;margin:0;border:0;border-radius:0;background:#fff}
#modal.bonus-flow-modal .bonus-period-source-block>.bonus-source-list>.bonus-period-source-row{min-height:58px;padding:10px 11px;border:1px solid #e2e7df;border-radius:11px;background:#fbfcfa;display:flex;align-items:center;justify-content:space-between;gap:12px}
#modal.bonus-flow-modal .bonus-period-source-meta{display:grid;gap:3px;min-width:0}
#modal.bonus-flow-modal .bonus-period-source-meta>b{font-size:9px;line-height:1.1;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#717a6f}
#modal.bonus-flow-modal .bonus-period-source-meta>span{font-size:11px;line-height:1.25;color:#2e342e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#modal.bonus-flow-modal .bonus-period-source-row>strong{flex:0 0 auto;font-size:15px;line-height:1;color:#171917;white-space:nowrap}
#modal.bonus-flow-modal .bonus-period-source-row>strong>small{font-size:9px;color:#7a8278;margin-left:1px}
#modal.bonus-flow-modal .bonus-aggregation-note{display:block;margin:9px 2px 0;font-size:9px;line-height:1.45;color:var(--muted)}
@media(max-width:760px){#modal.bonus-flow-modal .bonus-period-source-block>.bonus-source-list{grid-template-columns:1fr}}

/* v1.22.39 — Employee 360 consolidated employee history */
.employee360-search-panel{padding:22px}
.employee360-search-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.6fr);gap:14px;margin-bottom:22px}
.employee360-search-grid label{margin:0;font-weight:600;color:#30362f}
.employee360-search-grid select,.employee360-search-grid input{margin-top:8px;height:48px;background:#fff}
.employee360-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:2px 2px 14px}
.employee360-result-head h2{margin:0 0 4px;font-size:18px}
.employee360-result-head p{margin:0;color:#6d756d}
.employee360-person-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:560px;overflow:auto;padding:2px 6px 2px 2px}
.employee360-person-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid #dfe4dc;border-radius:16px;padding:16px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.employee360-person-card:hover{border-color:#b9c2b3;box-shadow:0 9px 24px rgba(19,28,18,.07);transform:translateY(-1px)}
.employee360-person-card .avatar{width:44px;height:44px;flex:0 0 44px}
.employee360-person-card>span{display:flex;min-width:0;flex-direction:column;gap:3px}
.employee360-person-card strong{font-size:14px;color:#131713;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-person-card small{font-size:12px;color:#505950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-person-card em{font-size:11px;font-style:normal;color:#818981;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-person-card>i{font-style:normal;font-size:12px;font-weight:650;color:#576257;white-space:nowrap}
.employee360-no-results{padding-top:8px}
.employee360-top-actions{margin-bottom:12px}
.employee360-profile{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(360px,1fr);gap:24px;align-items:center}
.employee360-profile-main{display:flex;align-items:center;gap:18px;min-width:0}
.employee360-profile-main>.avatar{width:72px;height:72px;flex:0 0 72px;font-size:20px}
.employee360-profile-main h2{font-size:25px;margin:3px 0 5px}
.employee360-profile-main p{margin:0;color:#687068}
.employee360-profile-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.employee360-profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.employee360-profile-details>div{border:1px solid #e3e7e0;border-radius:13px;background:#fafbf9;padding:12px 14px;min-width:0}
.employee360-profile-details span{display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#7b837b;margin-bottom:5px}
.employee360-profile-details strong{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.employee360-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.employee360-summary-grid article{border:1px solid #dfe4dc;border-radius:16px;background:#fff;padding:16px;min-width:0}
.employee360-summary-grid article>span{display:block;font-size:11px;color:#697269;margin-bottom:9px}
.employee360-summary-grid article>strong{display:block;font-size:23px;line-height:1.1;color:#131713;margin-bottom:7px;letter-spacing:-.02em}
.employee360-summary-grid article>small{display:block;color:#788078;line-height:1.45}
.employee360-summary-grid .employee360-paid-card{background:linear-gradient(180deg,#f8fbf5 0%,#fff 100%);border-color:#ccd9c5}
.employee360-performance .panel-header{margin-bottom:16px}
.employee360-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.employee360-mini-stats>div{background:#fafbf9;border:1px solid #e1e6df;border-radius:14px;padding:15px}
.employee360-mini-stats span{display:block;color:#747c74;font-size:11px;margin-bottom:8px}
.employee360-mini-stats strong{display:block;font-size:21px;margin-bottom:5px}
.employee360-mini-stats small{display:block;color:#848c84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#employee360-kpi,#employee360-bonus,#employee360-overtime{scroll-margin-top:84px}
#employee360-kpi table td,#employee360-bonus table td,#employee360-overtime table td{vertical-align:middle}
#employee360-overtime td:nth-child(3){max-width:340px}
#employee360-overtime td:nth-child(3){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1180px){.employee360-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee360-profile{grid-template-columns:1fr}.employee360-profile-details{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:880px){.employee360-person-list{grid-template-columns:1fr}.employee360-search-grid{grid-template-columns:1fr}.employee360-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee360-profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.employee360-mini-stats{grid-template-columns:1fr}}
@media (max-width:620px){.employee360-summary-grid{grid-template-columns:1fr}.employee360-profile-main{align-items:flex-start}.employee360-profile-details{grid-template-columns:1fr}.employee360-person-card{grid-template-columns:auto minmax(0,1fr)}.employee360-person-card>i{grid-column:2}.employee360-result-head{align-items:flex-start;flex-direction:column}}

/* v1.22.41 — Employee 360 PDF / print record + payment slips */
body.employee360-printing{background:#fff!important}
body.employee360-printing .sidebar,body.employee360-printing .topbar,body.employee360-printing #toast,body.employee360-printing dialog{display:none!important}
body.employee360-printing #main{margin:0!important;padding:0!important;max-width:none!important}
body.employee360-printing #main>*{display:none!important}
body.employee360-printing #main>.employee360-print-layout{display:block!important}
body.employee360-printing .employee360-print-layout{font-family:Arial,sans-serif;color:#171917;background:#fff}
body.employee360-printing .employee360-print-brand{display:flex;align-items:center;justify-content:space-between;background:#151a15;color:#fff;padding:22px 28px;border-bottom:4px solid #ffd51f;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.employee360-printing .employee360-print-brand img{height:42px;max-width:180px;object-fit:contain}
body.employee360-printing .employee360-print-brand strong{display:block;font-size:18px}
body.employee360-printing .employee360-print-brand small{display:block;margin-top:4px;color:#d7ddd4;font-size:9px;text-align:right}
body.employee360-printing .employee360-print-wrap{padding:25px 28px}
body.employee360-printing .employee360-print-profile{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
body.employee360-printing .employee360-print-profile>div:first-child>span{display:block;font-size:9px;font-weight:800;letter-spacing:.13em;color:#70776e;margin-bottom:4px}
body.employee360-printing .employee360-print-profile h1{margin:0 0 5px;font-size:27px}
body.employee360-printing .employee360-print-profile p{margin:0;color:#626961;font-size:11px}
body.employee360-printing .employee360-print-profile>div:last-child{border:1px solid #e0e4de;border-radius:9px;padding:10px 13px;text-align:right}
body.employee360-printing .employee360-print-profile>div:last-child strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
body.employee360-printing .employee360-print-profile>div:last-child small{display:block;color:#727970;font-size:9px;margin-top:3px}
body.employee360-printing .employee360-print-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e0e4de;border-radius:10px;overflow:hidden;margin-bottom:16px}
body.employee360-printing .employee360-print-details>div{padding:10px 12px;border-right:1px solid #e0e4de;border-bottom:1px solid #e0e4de;min-height:54px}
body.employee360-printing .employee360-print-details>div:nth-child(4n){border-right:0}
body.employee360-printing .employee360-print-details>div:nth-last-child(-n+4){border-bottom:0}
body.employee360-printing .employee360-print-details span,body.employee360-printing .employee360-print-summary span,body.employee360-printing .employee360-slip-grid span,body.employee360-printing .employee360-slip-detail span,body.employee360-printing .employee360-slip-note span{display:block;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:#737a71;font-weight:700}
body.employee360-printing .employee360-print-details strong{display:block;font-size:9.5px;margin-top:4px;line-height:1.35;overflow-wrap:anywhere}
body.employee360-printing .employee360-print-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #dfe4dc;border-radius:10px;overflow:hidden;margin-bottom:22px}
body.employee360-printing .employee360-print-summary>div{padding:12px;border-right:1px solid #dfe4dc;min-height:68px}
body.employee360-printing .employee360-print-summary>div:last-child{border-right:0;background:#f8fbf5;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.employee360-printing .employee360-print-summary strong{display:block;font-size:15px;margin-top:5px;line-height:1.2}
body.employee360-printing .employee360-print-summary small{display:block;color:#747b73;font-size:8px;line-height:1.35;margin-top:4px}
body.employee360-printing .employee360-print-section{margin-top:22px;break-before:auto}
body.employee360-printing .employee360-print-section h2{font-size:15px;margin:0 0 10px}
body.employee360-printing .employee360-print-section table{width:100%;border-collapse:collapse;font-size:8.5px}
body.employee360-printing .employee360-print-section th{background:#f1f3ef;color:#596159;font-size:7.5px;letter-spacing:.05em;text-transform:uppercase;padding:7px;border:1px solid #dfe4dc;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.employee360-printing .employee360-print-section td{padding:7px;border:1px solid #e2e6df;vertical-align:top}
body.employee360-printing .employee360-print-section td small{display:block;color:#747b73;font-size:7.5px;margin-top:2px}
body.employee360-printing .employee360-payment-slip-section{break-before:page;margin-top:0}
body.employee360-printing .employee360-payment-slip-title{margin-bottom:16px}
body.employee360-printing .employee360-payment-slip-title>span{font-size:8px;font-weight:800;letter-spacing:.12em;color:#747b73}
body.employee360-printing .employee360-payment-slip-title h2{font-size:21px;margin:3px 0}
body.employee360-printing .employee360-payment-slip-title p{margin:0;color:#6b726a;font-size:9px}
body.employee360-printing .employee360-payment-slip{border:1px solid #dce1da;border-radius:11px;padding:18px 20px;margin:0 0 18px;break-inside:avoid;background:#fff}
body.employee360-printing .employee360-slip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:11px;border-bottom:2px solid #ffd51f}
body.employee360-printing .employee360-slip-head span{font-size:7px;font-weight:800;letter-spacing:.12em;color:#747b73}
body.employee360-printing .employee360-slip-head h3{font-size:16px;margin:3px 0 0}
body.employee360-printing .employee360-slip-head>strong{font-size:9px;color:#5f675f}
body.employee360-printing .employee360-slip-employee{display:flex;justify-content:space-between;gap:16px;padding:12px 0 10px}
body.employee360-printing .employee360-slip-employee strong{font-size:13px}
body.employee360-printing .employee360-slip-employee span{font-size:8.5px;color:#6d746c;text-align:right}
body.employee360-printing .employee360-slip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e1e5df;border-radius:8px;overflow:hidden}
body.employee360-printing .employee360-slip-grid>div{padding:10px 11px;border-right:1px solid #e1e5df;border-bottom:1px solid #e1e5df;min-height:52px}
body.employee360-printing .employee360-slip-grid>div:nth-child(3n){border-right:0}
body.employee360-printing .employee360-slip-grid>div:nth-last-child(-n+3){border-bottom:0}
body.employee360-printing .employee360-slip-grid strong{display:block;font-size:10px;margin-top:4px;overflow-wrap:anywhere}
body.employee360-printing .employee360-slip-detail,body.employee360-printing .employee360-slip-note{margin-top:10px;padding:10px 11px;background:#fafbf9;border:1px solid #e2e6df;border-radius:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.employee360-printing .employee360-slip-detail strong{display:block;font-size:9px;margin-top:4px}
body.employee360-printing .employee360-slip-note p{font-size:8.5px;line-height:1.45;margin:4px 0 0}
body.employee360-printing .employee360-slip-receipt{margin-top:10px;font-size:8.5px;font-weight:700;color:#276547}
body.employee360-printing .employee360-slip-foot{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:8px;border-top:1px solid #e0e4de;color:#747b73;font-size:7.5px}
body.employee360-printing .employee360-print-footer{display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding-top:10px;border-top:1px solid #ddd;color:#747b73;font-size:8px}
@media print{body.employee360-printing .employee360-print-layout{display:block!important}@page{size:A4 portrait;margin:10mm}}

/* v1.22.42 — Employee 360 financial PDF/print summary */
body.employee360-printing .employee360-finance-section{break-before:page;margin-top:0}
body.employee360-printing .employee360-print-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
body.employee360-printing .employee360-print-section-title>div>span{display:block;font-size:7.5px;font-weight:800;letter-spacing:.12em;color:#7a8179;margin-bottom:3px}
body.employee360-printing .employee360-print-section-title h2{font-size:22px;margin:0 0 3px}
body.employee360-printing .employee360-print-section-title p{margin:0;color:#70776f;font-size:8.5px}
body.employee360-printing .employee360-financial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 15px}
body.employee360-printing .employee360-financial-summary>div{border:1px solid #dce2d9;border-radius:9px;background:#fafbf8;padding:11px 12px;min-height:62px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.employee360-printing .employee360-financial-summary span{display:block;font-size:7px;letter-spacing:.07em;text-transform:uppercase;color:#727970;font-weight:800}
body.employee360-printing .employee360-financial-summary strong{display:block;font-size:14px;line-height:1.15;margin-top:6px}
body.employee360-printing .employee360-financial-summary small{display:block;font-size:7.5px;line-height:1.35;color:#777f76;margin-top:5px}
body.employee360-printing .employee360-financial-summary>div:nth-child(3){background:#f4faf3;border-color:#cfddca}
body.employee360-printing .employee360-financial-summary>div:nth-child(4){background:#fffaf0;border-color:#ece0bf}
body.employee360-printing .employee360-finance-table{table-layout:fixed}
body.employee360-printing .employee360-finance-table th:first-child{width:29%}
body.employee360-printing .employee360-finance-table th:nth-child(2),body.employee360-printing .employee360-finance-table th:nth-child(3),body.employee360-printing .employee360-finance-table th:nth-child(4){width:12%}
body.employee360-printing .employee360-finance-table th:nth-child(5){width:13%}
body.employee360-printing .employee360-finance-table th:nth-child(6){width:22%}
body.employee360-printing .employee360-finance-table td{overflow-wrap:anywhere;line-height:1.35}
body.employee360-printing .employee360-finance-table td strong{font-size:8.5px}
body.employee360-printing .employee360-finance-table td small{margin-top:3px;line-height:1.35}

/* v1.22.43 — Employee 360 directory card cleanup */
.employee360-search-panel{padding:22px 24px 26px}
.employee360-result-head{padding:4px 0 16px;border-bottom:1px solid #edf0eb;margin-bottom:14px}
.employee360-person-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:none;overflow:visible;padding:0}
.employee360-person-card{min-height:82px;width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid #e0e5dd;border-radius:14px;padding:13px 14px;cursor:pointer;box-shadow:0 1px 1px rgba(18,28,18,.02);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.employee360-person-card:hover{border-color:#c4cdbf;background:#fcfdfb;box-shadow:0 8px 20px rgba(19,28,18,.065);transform:translateY(-1px)}
.employee360-person-card:focus-visible{outline:3px solid rgba(255,213,31,.35);outline-offset:2px;border-color:#d7b800}
.employee360-person-card .avatar{width:44px;height:44px;flex:0 0 44px;font-size:12px}
.employee360-person-copy{display:flex;min-width:0;flex-direction:column;gap:5px}
.employee360-person-card .employee360-person-copy>strong{font-size:14px;line-height:1.2;color:#111611;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-person-meta{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.employee360-person-meta small,.employee360-person-meta em{font-size:11px;line-height:1.2;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-person-meta small{color:#4e584e;max-width:100%}
.employee360-person-meta em{color:#7d867d;max-width:100%}
.employee360-person-meta em:before{content:'•';margin-right:7px;color:#c0c8bc}
.employee360-view-link{display:inline-flex;align-items:center;gap:6px;justify-content:center;min-height:32px;padding:0 10px;border:1px solid #e1e6de;border-radius:9px;background:#fafbf9;color:#394239;font-size:11px;font-weight:650;white-space:nowrap;transition:background .18s ease,border-color .18s ease}
.employee360-person-card:hover .employee360-view-link{background:#fff8ce;border-color:#ead45f;color:#171a13}
.employee360-view-link b{font-size:13px;font-weight:500}
@media (max-width:1280px){.employee360-person-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.employee360-person-list{grid-template-columns:1fr}.employee360-person-card{grid-template-columns:42px minmax(0,1fr) auto;min-height:78px}.employee360-person-card .avatar{width:42px;height:42px}.employee360-view-link{padding:0 8px}}
@media (max-width:520px){.employee360-person-card{grid-template-columns:42px minmax(0,1fr);align-items:start}.employee360-view-link{grid-column:2;justify-self:start}.employee360-person-meta{display:block}.employee360-person-meta em{display:block;margin-top:4px}.employee360-person-meta em:before{display:none}}

/* v1.22.44 — topbar notification dropdown */
.notification-menu-wrap{position:relative;display:flex;align-items:center}
.notification-popover{position:absolute;top:48px;right:0;width:min(390px,calc(100vw - 28px));background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 60px rgba(20,28,22,.18);overflow:hidden;z-index:90}
.notification-popover[hidden]{display:none!important}
.notification-popover-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 13px;border-bottom:1px solid var(--line);background:#fbfcfa}
.notification-popover-head strong{display:block;font-size:15px;line-height:1.2}
.notification-popover-head small{display:block;color:var(--muted);margin-top:4px;font-size:11px}
.notification-popover-list{max-height:410px;overflow-y:auto;overscroll-behavior:contain}
.notification-preview{appearance:none;width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 8px;gap:11px;align-items:start;border:0;border-bottom:1px solid #edf0e9;background:var(--white);padding:14px 16px;text-align:left;color:var(--ink)}
.notification-preview:hover{background:#f8f9f6}
.notification-preview.unread{background:#fffdf2}
.notification-preview.unread:hover{background:#fff9dd}
.notification-preview:last-child{border-bottom:0}
.notification-preview-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f0f3eb;color:#53604d}
.notification-preview-icon svg{width:17px;height:17px}
.notification-preview-copy{min-width:0;display:block}
.notification-preview-copy strong{display:block;font-size:12px;line-height:1.35;margin-bottom:4px;white-space:normal}
.notification-preview-copy small{display:block;color:var(--muted);font-size:10.5px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-preview-copy em{display:block;color:#929a8f;font-style:normal;font-size:10px;margin-top:4px}
.notification-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:5px}
.notification-view-all{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;border-top:1px solid var(--line);background:#fbfcfa;font-size:12px;font-weight:700}
.notification-view-all:hover{background:#f3f5f0}
.notification-popover-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px;color:var(--muted)}
.notification-popover-empty svg{width:24px;height:24px;margin-bottom:10px}
.notification-popover-empty strong{color:var(--ink);font-size:13px}
.notification-popover-empty small{font-size:11px;margin-top:4px}
@media(max-width:600px){.notification-popover{position:fixed;top:58px;right:10px;left:10px;width:auto}.notification-popover-list{max-height:min(410px,calc(100vh - 145px))}}

/* v1.22.45 — move profile/sign-out from sidebar into topbar avatar menu */
.sidebar nav{padding-bottom:18px}
.profile-menu-wrap{position:relative;display:flex;align-items:center}
.profile-menu-button{appearance:none;border:0;background:transparent;padding:0;border-radius:50%;display:grid;place-items:center;line-height:0}
.profile-menu-button .avatar{width:40px;height:40px;transition:box-shadow .18s ease,transform .18s ease}
.profile-menu-button:hover .avatar,.profile-menu-button[aria-expanded="true"] .avatar{box-shadow:0 0 0 3px #fff,0 0 0 5px #e2d166;transform:translateY(-1px)}
.profile-menu-button:focus-visible{outline:3px solid #5a70cb;outline-offset:4px}
.profile-popover{position:absolute;top:50px;right:0;width:min(300px,calc(100vw - 28px));background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 60px rgba(20,28,22,.18);overflow:hidden;z-index:92}
.profile-popover[hidden]{display:none!important}
.profile-popover-user{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;padding:18px;background:#fbfcfa;border-bottom:1px solid var(--line)}
.profile-popover-user .avatar{width:46px;height:46px;font-size:13px}
.profile-popover-user>div{min-width:0}
.profile-popover-user strong{display:block;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.profile-popover-user small{display:block;color:#687267;font-size:10.5px;margin-top:3px}
.profile-popover-user em{display:block;color:#939b91;font-style:normal;font-size:10px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-popover-actions{padding:7px}
.profile-menu-item{appearance:none;width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;border:0;background:transparent;color:var(--ink);padding:10px;border-radius:10px;text-align:left}
.profile-menu-item:hover{background:#f5f7f2}
.profile-menu-item svg{width:18px;height:18px;color:#65705f}
.profile-menu-item span{min-width:0}
.profile-menu-item strong{display:block;font-size:12px;font-weight:650}
.profile-menu-item small{display:block;color:var(--muted);font-size:10px;margin-top:2px;font-weight:400}
.profile-signout{margin-top:3px;border-top:1px solid #edf0e9;border-radius:0 0 10px 10px;padding-top:12px}
.profile-signout strong{color:#8d332d}
.profile-signout svg{color:#8d332d}
@media(max-width:600px){.profile-popover{position:fixed;top:58px;right:10px;left:10px;width:auto}.profile-menu-button .avatar{width:38px;height:38px}}


/* v1.22.46 — Employee 360 directory visual hierarchy rebuild */
.employee360-search-panel{padding:24px 26px 28px}
.employee360-result-head{align-items:center;padding:4px 0 15px;margin-bottom:16px;border-bottom:1px solid #ecefe9}
.employee360-result-head h2{font-size:19px;letter-spacing:-.015em}
.employee360-result-head p{font-size:12px;line-height:1.45}
.employee360-person-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;max-height:none;overflow:visible;padding:0}
.employee360-person-card{position:relative;min-height:102px;width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 18px;background:#fff;border:1px solid #e0e5dc;border-radius:16px;text-align:left;cursor:pointer;box-shadow:0 1px 2px rgba(20,28,20,.025);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}
.employee360-person-card:hover{border-color:#d7ca78;background:#fffef8;box-shadow:0 10px 28px rgba(24,32,23,.075);transform:translateY(-2px)}
.employee360-person-card:focus-visible{outline:3px solid rgba(255,213,31,.34);outline-offset:3px;border-color:#d6b800}
.employee360-person-card .avatar{width:54px;height:54px;flex:0 0 54px;font-size:13px;border:1px solid #dfe5d8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.employee360-person-copy{display:grid;gap:4px;min-width:0;align-content:center}
.employee360-person-card .employee360-person-copy>strong{font-size:15px;line-height:1.25;font-weight:750;color:#121612;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
.employee360-person-role{display:block;min-width:0;font-size:11.5px;line-height:1.35;color:#475147;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-person-department{display:inline-flex;align-items:center;justify-self:start;max-width:100%;margin-top:2px;padding:3px 8px;border-radius:999px;background:#f3f5f0;color:#747d72;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.employee360-view-link{display:flex;align-items:center;gap:9px;justify-content:flex-end;min-width:88px;border:0;background:transparent;padding:0;color:#4e584e;font-size:10.5px;font-weight:700;white-space:nowrap}
.employee360-view-text{opacity:.88;transition:color .18s ease,opacity .18s ease}
.employee360-view-link b{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dde3d9;border-radius:50%;background:#fafbf8;color:#4b5549;font-size:16px;font-weight:500;line-height:1;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.employee360-person-card:hover .employee360-view-text{color:#1b201b;opacity:1}
.employee360-person-card:hover .employee360-view-link b{background:#ffd51f;border-color:#e2bf13;color:#171917;transform:translateX(2px)}
@media(max-width:1080px){.employee360-person-list{grid-template-columns:1fr}.employee360-person-card{min-height:96px}}
@media(max-width:640px){.employee360-search-panel{padding:18px}.employee360-person-card{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:14px;min-height:92px}.employee360-person-card .avatar{width:48px;height:48px}.employee360-view-text{display:none}.employee360-view-link{min-width:auto}.employee360-view-link b{width:32px;height:32px}.employee360-person-department{max-width:210px}}
@media(max-width:420px){.employee360-person-card{grid-template-columns:44px minmax(0,1fr) auto}.employee360-person-card .avatar{width:44px;height:44px}.employee360-person-department{max-width:165px}}

/* v1.22.48 — simplified premium Employee 360 directory card */
.employee360-person-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.employee360-person-card.employee360-premium-card{
  position:relative;
  width:100%;
  min-height:116px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:22px 24px 22px 26px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e6dc;
  border-radius:20px;
  box-shadow:0 10px 34px rgba(20,24,18,.05);
  color:#11130f;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.employee360-person-card.employee360-premium-card:hover{
  transform:translateY(-3px);
  border-color:#d2d7ca;
  background:#fff;
  box-shadow:0 18px 40px rgba(20,24,18,.09);
}
.employee360-person-card.employee360-premium-card:focus-visible{
  outline:3px solid rgba(255,217,26,.36);
  outline-offset:3px;
  border-color:#d5b800;
}
.employee360-card-avatar{position:relative;display:block;line-height:0}
.employee360-person-card.employee360-premium-card .employee360-card-avatar>.avatar{
  width:64px;
  height:64px;
  flex:0 0 64px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(145deg,#eef1e5,#e4ead9);
  border:1px solid #dbe2d1;
  box-shadow:none;
  color:#33412b;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  overflow:hidden;
}
.employee360-person-card.employee360-premium-card .employee360-card-avatar>.avatar.avatar-photo img{width:100%;height:100%;object-fit:cover}
.employee360-person-card.employee360-premium-card .employee360-person-copy{
  display:block;
  min-width:0;
}
.employee360-name-row{display:flex;align-items:center;gap:10px;min-width:0}
.employee360-person-card.employee360-premium-card .employee360-name-row>strong{
  min-width:0;
  margin:0;
  color:#11130f;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.employee360-status-badge{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#edf4e9;
  color:#5c6558;
  font-size:10px;
  line-height:1;
  font-weight:800;
  font-style:normal;
  letter-spacing:.03em;
}
.employee360-person-card.employee360-premium-card .employee360-person-role{
  display:block;
  margin-top:5px;
  color:#232821;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.employee360-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.employee360-card-meta>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:27px;
  max-width:100%;
  padding:0 9px;
  border-radius:9px;
  background:#f1f4ec;
  color:#596255;
  font-size:11px;
  line-height:1;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.employee360-card-meta>span>i{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#9aa391}
.employee360-card-right{display:flex;align-items:center;gap:14px;justify-self:end}
.employee360-card-score{
  min-width:74px;
  padding-right:0;
  border-right:0;
  text-align:right;
  white-space:nowrap;
}
.employee360-card-score small{
  display:block;
  margin-bottom:3px;
  color:#667060;
  font-size:9px;
  line-height:1;
  font-weight:750;
  letter-spacing:.08em;
}
.employee360-card-score strong{color:#0f140f;font-size:18px;line-height:1;font-weight:850}
.employee360-card-score em{color:#667060;font-size:10px;line-height:1;font-weight:700;font-style:normal}
.employee360-open-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:44px;
  padding:0 12px 0 16px;
  border:1px solid #1c1f1a;
  border-radius:12px;
  background:#151713;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  transition:background .18s ease,transform .18s ease;
}
.employee360-open-button b{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:8px;
  background:#ffd91a;
  color:#111;
  font-size:15px;
  line-height:1;
  font-weight:600;
}
.employee360-person-card.employee360-premium-card:hover .employee360-open-button{background:#252922;transform:translateX(2px)}
@media(max-width:1220px){
  .employee360-person-list{grid-template-columns:1fr}
}
@media(max-width:720px){
  .employee360-person-card.employee360-premium-card{grid-template-columns:auto minmax(0,1fr);gap:16px;padding:20px 18px 20px 22px}
  .employee360-card-right{grid-column:1/-1;width:100%;justify-content:space-between;padding-left:80px}
  .employee360-card-score{padding-right:0;border-right:0;text-align:left}
}
@media(max-width:520px){
  .employee360-person-card.employee360-premium-card .employee360-card-avatar>.avatar{width:56px;height:56px;flex-basis:56px;border-radius:16px}
  .employee360-card-right{padding-left:0;margin-top:4px}
  .employee360-open-button{flex:1;justify-content:space-between}
  .employee360-status-badge{display:none}
}


/* KPI Sheets employee cards - scoped to the KPI sheets page only */
#kpi-sheet-list .kpi-employee-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:4px;}
#kpi-sheet-list .kpi-employee-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e2e7df;border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(18,24,18,.045);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
#kpi-sheet-list .kpi-employee-card:hover{transform:translateY(-2px);border-color:#d8ded6;box-shadow:0 16px 40px rgba(18,24,18,.06);}
#kpi-sheet-list .kpi-employee-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 22px 20px;}
#kpi-sheet-list .kpi-employee-card-avatar .avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#eef2e9 0%,#e4eadf 100%);border:1px solid #d9dfd5;font-weight:900;font-size:15px;letter-spacing:.01em;color:#405040;overflow:hidden;}
#kpi-sheet-list .kpi-employee-card-avatar .avatar img{width:100%;height:100%;object-fit:cover;display:block;}
#kpi-sheet-list .kpi-employee-card-person{min-width:0;}
#kpi-sheet-list .kpi-employee-card-person h3{margin:0 0 4px;font-size:19px;line-height:1.15;letter-spacing:-.03em;font-weight:800;color:#101510;}
#kpi-sheet-list .kpi-employee-card-person p{margin:0 0 12px;color:#6f786f;font-size:11px;line-height:1.45;}
#kpi-sheet-list .kpi-employee-card-tags{display:flex;flex-wrap:wrap;gap:8px;}
#kpi-sheet-list .kpi-employee-card-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2e7df;background:#fafbf9;color:#566056;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;letter-spacing:.01em;}
#kpi-sheet-list .kpi-employee-score-ring{--pct:0%;width:108px;height:108px;border-radius:50%;background:conic-gradient(#2f7d57 0 var(--pct),#e9eee7 var(--pct) 100%);padding:7px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02);}
#kpi-sheet-list .kpi-employee-score-inner{width:94px;height:94px;border-radius:50%;background:#fff;border:1px solid #edf1eb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 1px 0 rgba(0,0,0,.02);}
#kpi-sheet-list .kpi-employee-score-inner span{display:block;margin-bottom:5px;font-size:7.5px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:#8a938a;line-height:1.2;}
#kpi-sheet-list .kpi-employee-score-inner strong{display:block;font-size:22px;line-height:1;letter-spacing:-.05em;font-weight:800;color:#101510;}
#kpi-sheet-list .kpi-employee-score-inner small{display:block;margin-top:5px;font-size:8.5px;color:#8a938a;line-height:1.2;}
#kpi-sheet-list .kpi-employee-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:linear-gradient(180deg,#fcfdfa 0%,#f9fbf8 100%);border-top:1px solid #edf1eb;border-bottom:1px solid #edf1eb;}
#kpi-sheet-list .kpi-employee-card-stat{padding:14px 18px;min-width:0;}
#kpi-sheet-list .kpi-employee-card-stat + .kpi-employee-card-stat{border-left:1px solid #edf1eb;}
#kpi-sheet-list .kpi-employee-card-stat span{display:block;margin-bottom:6px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.10em;color:#8a938a;}
#kpi-sheet-list .kpi-employee-card-stat strong{display:block;font-size:13px;line-height:1.35;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#101510;}
#kpi-sheet-list .kpi-employee-pending{flex:1;display:flex;flex-direction:column;padding:20px 18px 18px;background:linear-gradient(180deg,#fbfcfa 0%,#ffffff 52%);border-top:1px solid #edf1eb;}
#kpi-sheet-list .kpi-employee-pending-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;padding:0 2px;}
#kpi-sheet-list .kpi-employee-pending-head strong{position:relative;padding-left:11px;font-size:11.5px;font-weight:850;letter-spacing:-.005em;color:#171c17;}
#kpi-sheet-list .kpi-employee-pending-head strong:before{content:'';position:absolute;left:0;top:50%;width:4px;height:16px;border-radius:999px;background:#ffd51f;transform:translateY(-50%);}
#kpi-sheet-list .kpi-employee-pending-head span{padding:5px 8px;border:1px solid #e7ebe5;border-radius:999px;background:#fff;font-size:8.5px;color:#7f887f;font-weight:700;white-space:nowrap;}
#kpi-sheet-list .kpi-employee-pending-list{display:flex;flex-direction:column;gap:9px;}
#kpi-sheet-list .kpi-employee-review-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e1e6df;border-radius:14px;padding:12px 12px 12px 15px;background:#fff;box-shadow:0 4px 14px rgba(18,24,18,.025);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
#kpi-sheet-list .kpi-employee-review-row:before{content:'';position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 999px 999px 0;background:#ffd51f;}
#kpi-sheet-list .kpi-employee-review-row:hover{border-color:#d6ddd3;box-shadow:0 8px 20px rgba(18,24,18,.045);transform:translateY(-1px);}
#kpi-sheet-list .kpi-employee-review-copy{min-width:0;}
#kpi-sheet-list .kpi-employee-review-copy strong{display:block;margin-bottom:4px;font-size:10.8px;line-height:1.35;font-weight:850;letter-spacing:-.012em;color:#151a15;}
#kpi-sheet-list .kpi-employee-review-copy small{display:block;color:#8a928a;font-size:8.8px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#kpi-sheet-list .kpi-employee-review-status{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 9px;min-width:66px;border:1px solid #f0df9a;border-radius:999px;background:#fff8dc;color:#8a5a00;font-size:8.5px;font-weight:900;letter-spacing:.005em;}
#kpi-sheet-list .kpi-employee-review-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#e1aa00;flex:0 0 auto;}
#kpi-sheet-list .kpi-employee-review-link{display:inline-flex;align-items:center;justify-content:center;min-width:88px;border:1px solid #d5dbd1;background:#fff;color:#141914;border-radius:10px;padding:8px 12px;font-size:9px;font-weight:900;line-height:1;text-decoration:none;transition:all .16s ease;}
#kpi-sheet-list .kpi-employee-review-link:hover{background:#151a15;color:#fff;border-color:#151a15;}
#kpi-sheet-list .kpi-employee-empty{border:1px dashed #d7ddd4;border-radius:14px;background:#fbfcfa;padding:13px 14px;color:#6f786f;font-size:10px;line-height:1.45;}
#kpi-sheet-list .kpi-employee-card-footer{display:flex;margin-top:auto;padding:0 18px 18px;}
#kpi-sheet-list .kpi-employee-footer-link{width:100%;min-height:42px;border:1px solid #dfe4dc;background:#f8faf7;color:#171c17;border-radius:12px;padding:7px 8px 7px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;font-weight:850;line-height:1;text-decoration:none;letter-spacing:.005em;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;}
#kpi-sheet-list .kpi-employee-footer-link b{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:grid;place-items:center;background:#151a15;color:#fff;font-size:13px;line-height:1;transition:transform .16s ease;font-weight:800;}
#kpi-sheet-list .kpi-employee-footer-link:hover{background:#fff;border-color:#cfd6cc;transform:translateY(-1px);box-shadow:0 7px 18px rgba(18,24,18,.055);}
#kpi-sheet-list .kpi-employee-footer-link:hover b{transform:translateX(2px);}
@media (max-width: 1100px){#kpi-sheet-list .kpi-employee-card-grid{grid-template-columns:1fr;}}
@media (max-width: 640px){#kpi-sheet-list .kpi-employee-card-top{grid-template-columns:auto minmax(0,1fr);}#kpi-sheet-list .kpi-employee-score-ring{grid-column:1/-1;justify-self:start;}#kpi-sheet-list .kpi-employee-card-stats{grid-template-columns:1fr;}#kpi-sheet-list .kpi-employee-card-stat + .kpi-employee-card-stat{border-left:0;border-top:1px solid #edf1eb;}#kpi-sheet-list .kpi-employee-review-row{grid-template-columns:1fr auto;}#kpi-sheet-list .kpi-employee-review-link{grid-column:1/-1;width:100%;}}


/* v1.22.49 — KPI Sheets employee card visual polish only */
#kpi-sheet-list .kpi-employee-card-grid{
  gap:20px;
  align-items:stretch;
}
#kpi-sheet-list .kpi-employee-card{
  border-color:#e1e6de;
  border-radius:22px;
  box-shadow:0 10px 30px rgba(18,24,18,.04);
}
#kpi-sheet-list .kpi-employee-card:hover{
  transform:translateY(-1px);
  border-color:#d5dcd2;
  box-shadow:0 14px 34px rgba(18,24,18,.055);
}
#kpi-sheet-list .kpi-employee-card-top{
  gap:17px;
  padding:21px 22px 19px;
}
#kpi-sheet-list .kpi-employee-card-avatar .avatar{
  width:58px;
  height:58px;
  font-size:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
#kpi-sheet-list .kpi-employee-card-person h3{
  margin-bottom:5px;
  font-size:18px;
  line-height:1.18;
  letter-spacing:-.028em;
}
#kpi-sheet-list .kpi-employee-card-person p{
  margin-bottom:11px;
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#kpi-sheet-list .kpi-employee-card-tag{
  padding:5px 9px;
  background:#fbfcfa;
  font-size:8.75px;
}
#kpi-sheet-list .kpi-employee-score-ring{
  width:98px;
  height:98px;
  padding:6px;
  background:conic-gradient(#2f7d57 0 var(--pct),#e8ede6 var(--pct) 100%);
}
#kpi-sheet-list .kpi-employee-score-inner{
  width:86px;
  height:86px;
  border-color:#eef1ec;
}
#kpi-sheet-list .kpi-employee-score-inner span{
  margin-bottom:4px;
  font-size:7px;
  letter-spacing:.11em;
}
#kpi-sheet-list .kpi-employee-score-inner strong{
  font-size:21px;
  letter-spacing:-.045em;
}
#kpi-sheet-list .kpi-employee-score-inner small{
  margin-top:4px;
  font-size:8px;
}
#kpi-sheet-list .kpi-employee-card-stat{
  padding:13px 17px;
}
#kpi-sheet-list .kpi-employee-card-stat span{
  margin-bottom:5px;
  font-size:7.6px;
}
#kpi-sheet-list .kpi-employee-card-stat strong{
  font-size:12.5px;
}
#kpi-sheet-list .kpi-employee-pending{
  padding:18px 18px 17px;
  background:linear-gradient(180deg,#fbfcfa 0%,#fff 58%);
}
#kpi-sheet-list .kpi-employee-pending-head{
  margin-bottom:12px;
}
#kpi-sheet-list .kpi-employee-pending-head strong{
  font-size:11.25px;
}
#kpi-sheet-list .kpi-employee-pending-head strong:before{
  width:3px;
  height:15px;
}
#kpi-sheet-list .kpi-employee-pending-head span{
  padding:4px 8px;
  font-size:8.25px;
}
#kpi-sheet-list .kpi-employee-pending-list{
  gap:9px;
}
#kpi-sheet-list .kpi-employee-review-row{
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:11px;
  min-height:58px;
  padding:11px 11px 11px 15px;
  border-radius:13px;
  box-shadow:none;
}
#kpi-sheet-list .kpi-employee-review-row:hover{
  transform:none;
  border-color:#d5dcd2;
  background:#fdfefd;
  box-shadow:0 5px 14px rgba(18,24,18,.035);
}
#kpi-sheet-list .kpi-employee-review-row:before{
  top:12px;
  bottom:12px;
  width:3px;
}
#kpi-sheet-list .kpi-employee-review-copy strong{
  margin-bottom:3px;
  font-size:10.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#kpi-sheet-list .kpi-employee-review-copy small{
  max-width:100%;
  font-size:8.6px;
}
#kpi-sheet-list .kpi-employee-review-status{
  min-width:64px;
  padding:5px 8px;
  font-size:8.25px;
}
#kpi-sheet-list .kpi-employee-review-link{
  min-width:90px;
  padding:8px 11px;
  border-radius:9px;
  font-size:8.8px;
}
#kpi-sheet-list .kpi-employee-card-footer{
  padding:0 18px 18px;
}
#kpi-sheet-list .kpi-employee-footer-link{
  min-height:40px;
  border-color:#dde3da;
  border-radius:11px;
  background:#fafbf9;
  padding:6px 7px 6px 13px;
  font-size:9.6px;
}
#kpi-sheet-list .kpi-employee-footer-link b{
  width:27px;
  height:27px;
  flex-basis:27px;
  border-radius:8px;
  font-size:12px;
}
#kpi-sheet-list .kpi-employee-footer-link:hover{
  border-color:#cfd7cc;
  background:#fff;
  box-shadow:0 6px 16px rgba(18,24,18,.045);
}
@media (max-width: 1280px) and (min-width: 1101px){
  #kpi-sheet-list .kpi-employee-card-top{gap:14px;padding-left:18px;padding-right:18px;}
  #kpi-sheet-list .kpi-employee-score-ring{width:92px;height:92px;padding:6px;}
  #kpi-sheet-list .kpi-employee-score-inner{width:80px;height:80px;}
  #kpi-sheet-list .kpi-employee-card-person h3{font-size:17px;}
}
@media (max-width: 640px){
  #kpi-sheet-list .kpi-employee-card-top{padding:18px;}
  #kpi-sheet-list .kpi-employee-score-ring{width:92px;height:92px;}
  #kpi-sheet-list .kpi-employee-score-inner{width:80px;height:80px;}
  #kpi-sheet-list .kpi-employee-review-row{gap:8px;}
}

/* v1.22.50 — analytics graphs (on-screen only; print/PDF layouts untouched) */
.kpi-analytics-card,.kpi-analytics-panel{margin:18px 0;border:1px solid #e2e7df;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,24,18,.035);overflow:hidden}
.kpi-analytics-card{padding:18px}
.kpi-graph-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.kpi-graph-head h3,.kpi-bonus-graph-grid h3{margin:0 0 5px;font-size:15px;letter-spacing:-.02em;color:#141914}
.kpi-graph-head p{margin:0;color:#788078;font-size:11px;line-height:1.45}
.kpi-bell-wrap,.kpi-line-wrap{width:100%;overflow:hidden}
.kpi-bell-svg,.kpi-line-svg{display:block;width:100%;height:auto;min-height:190px}
.kpi-bell-area{fill:#eef6f1}
.kpi-bell-line{fill:none;stroke:#2f7d57;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.kpi-bell-mean{stroke:#aab5aa;stroke-width:1.5;stroke-dasharray:4 5}
.kpi-bell-axis line{stroke:#cfd6cc;stroke-width:1}
.kpi-bell-axis text,.kpi-line-grid text,.kpi-line-labels text{fill:#7e877e;font-size:10px;font-family:inherit}
.kpi-bell-dots circle{fill:#151a15;opacity:.7}
.kpi-graph-marker{stroke:#ffd51f;stroke-width:3;stroke-dasharray:5 4}
.kpi-graph-marker-dot{fill:#ffd51f;stroke:#151a15;stroke-width:2}
.kpi-graph-marker-label{fill:#151a15;font-size:10px;font-weight:800;font-family:inherit}
.kpi-graph-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.kpi-graph-stats>div{border:1px solid #edf1eb;border-radius:12px;background:#fafbf9;padding:10px 12px;min-width:0}
.kpi-graph-stats span{display:block;color:#858d85;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.kpi-graph-stats strong{display:block;color:#151a15;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-distribution-card.compact{padding:16px;margin:14px 0 18px}
.kpi-distribution-card.compact .kpi-bell-svg{min-height:150px;max-height:180px}
.kpi-distribution-card.compact .kpi-graph-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpi-graph-empty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #d8ded5;border-radius:14px;background:#fafbf9;padding:18px}
.kpi-graph-empty strong{font-size:13px;margin-bottom:6px}.kpi-graph-empty span{font-size:10px;color:#7d857d;max-width:420px;line-height:1.5}
.kpi-line-grid line{stroke:#edf0eb;stroke-width:1}.kpi-line-path{fill:none;stroke:#2f7d57;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.kpi-line-points circle{fill:#fff;stroke:#2f7d57;stroke-width:3}.kpi-line-labels text{font-size:9px}.kpi-line-svg{min-height:220px}
.kpi-month-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:end;padding:8px 20px 22px;min-height:230px}
.kpi-month-bar{display:grid;grid-template-rows:34px 132px 24px;gap:8px;text-align:center;min-width:0}.kpi-month-bar>strong{font-size:10px;align-self:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-month-bar>div{height:132px;border-radius:12px 12px 6px 6px;background:#f1f4ef;display:flex;align-items:flex-end;overflow:hidden;padding:4px}.kpi-month-bar i{display:block;width:100%;background:linear-gradient(180deg,#2f7d57,#215f42);border-radius:8px 8px 4px 4px;min-height:2px}.kpi-month-bar>span{font-size:9px;color:#7d857d;font-weight:700}
.kpi-bonus-graph-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:22px;padding:0 20px 22px}.kpi-money-bars{padding:4px 0 0;min-height:210px}.kpi-money-bars .kpi-month-bar{grid-template-rows:38px 118px 24px}.kpi-money-bars .kpi-month-bar>div{height:118px}
.kpi-status-bars{border-left:1px solid #edf0eb;padding-left:22px}.kpi-status-row{margin:14px 0}.kpi-status-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.kpi-status-row strong{font-size:10px}.kpi-status-row span{font-size:10px;color:#747d74;font-weight:800}.kpi-status-row>div:last-child{height:8px;border-radius:999px;background:#edf1eb;overflow:hidden}.kpi-status-row i{display:block;height:100%;border-radius:999px;background:#2f7d57}
.employee360-performance .kpi-analytics-card{margin-bottom:0}
@media(max-width:900px){.kpi-graph-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-bonus-graph-grid{grid-template-columns:1fr}.kpi-status-bars{border-left:0;border-top:1px solid #edf0eb;padding-left:0;padding-top:16px}.kpi-month-bars{gap:8px;padding-left:12px;padding-right:12px}.kpi-month-bar{grid-template-rows:30px 110px 24px}.kpi-month-bar>div{height:110px}}
@media(max-width:620px){.kpi-analytics-card{padding:14px}.kpi-graph-head{flex-direction:column}.kpi-graph-stats{grid-template-columns:1fr 1fr}.kpi-month-bars{overflow-x:auto;grid-template-columns:repeat(6,minmax(72px,1fr));justify-content:start}.kpi-bell-svg,.kpi-line-svg{min-width:560px}.kpi-bell-wrap,.kpi-line-wrap{overflow-x:auto}}

/* v1.22.51 — interactive premium bell distribution UI (screen only) */
.kpi-modern-bell{position:relative;padding:20px 20px 18px;border-radius:22px;border-color:#dfe5dc;background:linear-gradient(180deg,#fff 0%,#fcfdfb 100%);box-shadow:0 12px 34px rgba(20,28,20,.045)}
.kpi-modern-bell .kpi-graph-head-modern{margin-bottom:14px;align-items:center}
.kpi-chart-kicker{display:block;margin-bottom:6px;color:#7c857c;font-size:10px;line-height:1.2;font-weight:900;letter-spacing:.12em}
.kpi-modern-bell .kpi-graph-head h3{font-size:17px;line-height:1.15;letter-spacing:-.035em;margin-bottom:5px}
.kpi-modern-bell .kpi-graph-head p{max-width:680px;font-size:13px}
.kpi-chart-head-meta{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e2e7df;border-radius:999px;background:#fafbf9;color:#667066;font-size:11px;font-weight:800;white-space:nowrap}
.kpi-live-dot{width:6px;height:6px;border-radius:50%;background:#2f7d57;box-shadow:0 0 0 4px rgba(47,125,87,.10)}
.kpi-bell-stage{position:relative;border:1px solid #e8ece6;border-radius:18px;background:radial-gradient(circle at 78% 22%,rgba(47,125,87,.055),transparent 30%),linear-gradient(180deg,#fbfcfa 0%,#fff 100%);overflow:hidden;outline:none;cursor:crosshair}
.kpi-bell-stage:focus-visible{box-shadow:0 0 0 3px rgba(255,213,31,.25);border-color:#d7dccc}
.kpi-modern-bell .kpi-bell-svg{display:block;width:100%;height:320px;min-height:0;overflow:visible}
.kpi-modern-bell.compact .kpi-bell-svg{height:250px;min-height:0;max-height:none}
.kpi-bell-grid line{stroke:#e9ede7;stroke-width:1;stroke-dasharray:2 7}
.kpi-bell-grid text{fill:#818981;font-size:11px;font-family:inherit;font-weight:700}
.kpi-modern-bell .kpi-bell-line{fill:none;stroke:#2f7d57;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.kpi-modern-bell .kpi-bell-mean{stroke:#97a397;stroke-width:1.25;stroke-dasharray:5 7;opacity:.85}
.kpi-bell-point{fill:#fff;stroke:#2f7d57;stroke-width:2.4;cursor:pointer;transition:opacity .15s ease,stroke-width .15s ease,fill .15s ease}
.kpi-bell-point:hover,.kpi-bell-point:focus{fill:#ffd51f;stroke:#151a15;stroke-width:3.2;outline:none}
.kpi-bell-point.dimmed{opacity:.12}
.kpi-graph-marker{stroke:#ffd51f;stroke-width:3;stroke-dasharray:7 6}
.kpi-graph-marker-dot{fill:#ffd51f;stroke:#151a15;stroke-width:3}
.kpi-marker-pill rect{fill:#151a15;stroke:#2a302a;stroke-width:1}
.kpi-marker-pill text{fill:#fff;font-size:9px;font-weight:850;font-family:inherit;letter-spacing:-.01em}
.kpi-bell-hover-guide{stroke:#151a15;stroke-width:1.2;stroke-dasharray:3 5;opacity:0;pointer-events:none}
.kpi-bell-hover-dot{fill:#ffd51f;stroke:#151a15;stroke-width:2.5;opacity:0;pointer-events:none}
.kpi-bell-stage.exploring .kpi-bell-hover-guide,.kpi-bell-stage.exploring .kpi-bell-hover-dot{opacity:1}
.kpi-bell-tooltip{position:absolute;top:16px;left:50%;z-index:5;min-width:176px;max-width:250px;transform:translate(-50%,-5px);padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#151a15;color:#fff;box-shadow:0 12px 28px rgba(15,20,15,.18);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;text-align:left}
.kpi-bell-tooltip.visible{opacity:1;transform:translate(-50%,0)}
.kpi-bell-tooltip span{display:block;margin-bottom:4px;color:#bfc7bf;font-size:7.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.kpi-bell-tooltip strong{display:block;font-size:17px;line-height:1.05;letter-spacing:-.035em}
.kpi-bell-tooltip small{display:block;margin-top:5px;color:#d8ded8;font-size:8.5px;line-height:1.35}
.kpi-bell-bands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}
.kpi-bell-bands button{min-width:0;border:1px solid #e3e8e0;border-radius:11px;background:#fafbf9;color:#596359;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.kpi-bell-bands button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}
.kpi-bell-bands button strong{font-size:10px;line-height:1}
.kpi-bell-bands button:hover{background:#fff;border-color:#cfd6cc;transform:translateY(-1px)}
.kpi-bell-bands button.active{background:#151a15;border-color:#151a15;color:#fff;box-shadow:0 6px 15px rgba(17,22,17,.10)}
.kpi-graph-stats-modern{gap:9px;margin-top:12px}
.kpi-graph-stats-modern>div{border:1px solid #e7ebe5;border-radius:14px;background:linear-gradient(180deg,#fff,#fafbf9);padding:11px 13px}
.kpi-graph-stats-modern>div small{display:block;margin-top:4px;color:#8a928a;font-size:10px;line-height:1.35}
.kpi-graph-stats-modern .kpi-graph-marker-stat{border-color:#ead46f;background:#fffbea}
.kpi-modern-bell.compact{padding:18px;margin:14px 0 18px}
.kpi-modern-bell.compact .kpi-graph-head h3{font-size:16px}
.kpi-modern-bell.compact .kpi-graph-stats-modern{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi-modern-bell.compact .kpi-bell-bands button{padding:7px 9px}
@media(max-width:900px){.kpi-modern-bell .kpi-bell-svg{height:280px}.kpi-modern-bell.compact .kpi-bell-svg{height:230px}.kpi-bell-bands{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-modern-bell.compact .kpi-graph-stats-modern{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.kpi-modern-bell{padding:14px}.kpi-modern-bell .kpi-graph-head-modern{align-items:flex-start}.kpi-modern-bell .kpi-bell-svg{min-width:0;height:240px}.kpi-modern-bell.compact .kpi-bell-svg{height:220px}.kpi-bell-bands{grid-template-columns:1fr 1fr}.kpi-bell-tooltip{min-width:155px;max-width:190px}.kpi-graph-stats-modern,.kpi-modern-bell.compact .kpi-graph-stats-modern{grid-template-columns:1fr 1fr}}


/* v1.22.52 — approved analytics architecture, screen only */
.analytics-two-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;margin:16px 0}.analytics-v52-card{min-width:0;border:1px solid #e1e6df;border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 26px rgba(19,27,19,.035)}.analytics-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.analytics-card-head h3{margin:3px 0 5px;font-size:17px;line-height:1.2;letter-spacing:-.025em}.analytics-card-head p{margin:0;color:#737b73;font-size:11px;line-height:1.5}.analytics-kicker{display:block;color:#899189;font-size:8px;font-weight:900;letter-spacing:.12em}.analytics-head-pill{flex:0 0 auto;border:1px solid #e3e8df;background:#f8faf7;border-radius:999px;padding:6px 9px;color:#606860;font-size:9px;font-weight:800}.analytics-metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.analytics-metric-strip>div{border:1px solid #e8ece6;border-radius:12px;background:linear-gradient(180deg,#fbfcfa,#f5f8f4);padding:10px 11px;min-width:0}.analytics-metric-strip span,.analytics-metric-strip small{display:block;color:#858e85;font-size:10px}.analytics-metric-strip strong{display:block;margin:5px 0;font-size:16px;line-height:1.25}.analytics-metric-strip small{line-height:1.45}.analytics-empty{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #dde2da;border-radius:14px;background:#fafbf9;padding:22px}.analytics-empty strong{font-size:12px}.analytics-empty span{margin-top:5px;color:#7d857d;font-size:10px}.analytics-line-card-v52{margin:16px 0}.analytics-line-legend{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 10px}.analytics-line-legend span{display:inline-flex;align-items:center;gap:6px;color:#667066;font-size:12px;font-weight:700}.analytics-line-legend i{width:9px;height:9px;border-radius:3px}.analytics-series-bg-0{background:#2f7d57}.analytics-series-bg-1{background:#5d75d8}.analytics-series-bg-2{background:#d69a35}.analytics-series-bg-3{background:#9a72d5}.analytics-line-stage{position:relative;min-width:0}.analytics-line-svg{display:block;width:100%;height:auto;overflow:visible}.analytics-line-grid line{stroke:#edf0eb;stroke-width:1;stroke-dasharray:3 4}.analytics-line-grid text,.analytics-line-labels text{fill:#889188;font-size:12px}.analytics-line-series{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.analytics-line-series.analytics-series-0{stroke:#2f7d57}.analytics-line-series.analytics-series-1{stroke:#5d75d8}.analytics-line-series.analytics-series-2{stroke:#d69a35}.analytics-line-series.analytics-series-3{stroke:#9a72d5}.analytics-line-point{stroke:#fff;stroke-width:3;cursor:pointer;outline:none;transition:r .15s ease}.analytics-line-point.analytics-series-0{fill:#2f7d57}.analytics-line-point.analytics-series-1{fill:#5d75d8}.analytics-line-point.analytics-series-2{fill:#d69a35}.analytics-line-point.analytics-series-3{fill:#9a72d5}.analytics-line-point:hover,.analytics-line-point:focus{r:7}.analytics-line-tooltip{position:absolute;z-index:4;transform:translate(-50%,-100%);min-width:118px;background:#151a15;color:#fff;border-radius:11px;padding:9px 11px;pointer-events:none;box-shadow:0 10px 24px rgba(12,18,12,.18)}.analytics-line-tooltip span,.analytics-line-tooltip small{display:block;color:#cfd6cf;font-size:8px}.analytics-line-tooltip strong{display:block;margin:3px 0;font-size:15px}.analytics-line-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.analytics-line-stats>div{border:1px solid #e8ece6;border-radius:12px;background:#fafbf9;padding:10px 11px}.analytics-line-stats span,.analytics-line-stats small{display:block;color:#858e85;font-size:8px}.analytics-line-stats strong{display:block;margin:5px 0;font-size:16px}.analytics-segment-list{display:flex;flex-direction:column;gap:12px}.analytics-segment-row{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(180px,1.5fr) 42px;gap:12px;align-items:center}.analytics-segment-copy{min-width:0}.analytics-segment-copy strong,.analytics-segment-copy small{display:block}.analytics-segment-copy strong{font-size:13px}.analytics-segment-copy small{margin-top:3px;color:#8a928a;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-segment-blocks{display:grid;grid-template-columns:repeat(10,minmax(8px,1fr));gap:4px}.analytics-segment-blocks i{height:18px;border-radius:5px;background:#edf0eb;overflow:hidden}.analytics-segment-blocks i.filled{background:linear-gradient(180deg,#5b8f70,#2f7d57)}.analytics-segment-blocks i.partial{background:linear-gradient(90deg,#2f7d57 0 var(--segment-fill),#edf0eb var(--segment-fill) 100%)}.analytics-segment-row>b{font-size:11px;text-align:right}.analytics-horizontal-list{display:flex;flex-direction:column;gap:8px}.analytics-horizontal-row{width:100%;display:grid;grid-template-columns:minmax(150px,.9fr) minmax(180px,1.5fr) 46px;gap:12px;align-items:center;border:0;background:transparent;padding:8px 0;text-align:left;text-decoration:none;color:#151a15;cursor:default}.analytics-horizontal-row:is(button,a){cursor:pointer}.analytics-horizontal-row:is(button,a):hover .analytics-horizontal-track i{filter:brightness(.92)}.analytics-horizontal-label{min-width:0}.analytics-horizontal-label strong,.analytics-horizontal-label small{display:block}.analytics-horizontal-label strong{font-size:13px}.analytics-horizontal-label small{margin-top:3px;color:#8b938b;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-horizontal-track{height:12px;border-radius:999px;background:#eef1ec;overflow:hidden}.analytics-horizontal-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8cb59b,#2f7d57);transition:width .3s ease}.analytics-horizontal-row>b{text-align:right;font-size:11px}.analytics-donut-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.analytics-donut{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;position:relative}.analytics-donut:before{content:'';position:absolute;inset:30px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #edf0eb}.analytics-donut>div{position:relative;z-index:1;text-align:center}.analytics-donut strong,.analytics-donut span{display:block}.analytics-donut strong{font-size:25px;letter-spacing:-.04em}.analytics-donut span{margin-top:3px;color:#7b847b;font-size:9px}.analytics-donut-legend{display:flex;flex-direction:column;gap:10px}.analytics-donut-legend>div{display:flex;align-items:center;gap:9px}.analytics-donut-legend i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.analytics-donut-legend strong,.analytics-donut-legend small{display:block}.analytics-donut-legend strong{font-size:10px}.analytics-donut-legend small{margin-top:2px;color:#858d85;font-size:8px}.analytics-columns-card{min-width:0}.analytics-column-chart{height:245px;display:grid;grid-template-columns:repeat(8,minmax(38px,1fr));gap:10px;align-items:end;padding:8px 2px 0}.analytics-column-item{height:100%;display:grid;grid-template-rows:30px 1fr 22px;align-items:end;text-align:center;min-width:0}.analytics-column-item>strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-column-item>span{font-size:8px;color:#858d85}.analytics-column-track{height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:12px 12px 8px 8px;background:linear-gradient(180deg,#f4f6f2,#fafbf9);overflow:hidden}.analytics-column-track i{display:block;width:72%;min-height:3px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#a5c9b2,#3f8b61);transition:height .3s ease}.analytics-column-track i.current{background:linear-gradient(180deg,#ffe66a,#e5b82f)}.analytics-flow-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.analytics-flow-legend span{display:inline-flex;align-items:center;gap:6px;color:#6f786f;font-size:9px}.analytics-flow-legend i{width:9px;height:9px;border-radius:3px}.analytics-flow-wrap svg{display:block;width:100%;height:auto;min-height:240px}.analytics-flow-links path{fill:none;opacity:.16;stroke-linecap:round}.analytics-flow-year{font-size:11px;font-weight:800;fill:#1a201a}.analytics-flow-total{font-size:8px;fill:#818a81}.employee360-analytics-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;margin-top:16px}.analytics-position-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.analytics-position-metrics>div{border:1px solid #e8ece6;border-radius:12px;background:#fafbf9;padding:12px}.analytics-position-metrics span,.analytics-position-metrics strong{display:block}.analytics-position-metrics span{color:#858d85;font-size:8px}.analytics-position-metrics strong{margin-top:5px;font-size:16px}.analytics-position-track{position:relative;height:12px;margin:28px 8px 0;border-radius:999px;background:linear-gradient(90deg,#eef1ed,#dfe9e2,#b9d1c2);box-shadow:inset 0 0 0 1px #e0e5de}.analytics-position-track .department-marker{position:absolute;top:-7px;width:2px;height:26px;background:#7d867d;transform:translateX(-1px)}.analytics-position-track .employee-marker{position:absolute;top:-5px;width:22px;height:22px;border-radius:50%;background:#ffd51f;border:4px solid #151a15;transform:translate(-50%,0);box-shadow:0 3px 10px rgba(17,23,17,.15)}.analytics-position-scale{display:flex;justify-content:space-between;margin:7px 7px 0;color:#919991;font-size:8px}.recent-results-card{margin:16px 0}.kpi-analytics-panel>.analytics-v52-card{border:0;box-shadow:none;padding:0}.bonus-analytics-panel .analytics-two-grid{margin-bottom:0}
@media (max-width:1100px){.analytics-two-grid,.employee360-analytics-grid{grid-template-columns:1fr}.analytics-donut-layout{grid-template-columns:160px 1fr}.analytics-column-chart{overflow-x:auto;grid-template-columns:repeat(8,minmax(52px,1fr))}.analytics-line-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.analytics-card-head{flex-direction:column}.analytics-head-pill{align-self:flex-start}.analytics-line-stats{grid-template-columns:1fr}.analytics-metric-strip{grid-template-columns:1fr}.analytics-segment-row{grid-template-columns:1fr 44px}.analytics-segment-blocks{grid-column:1/-1;grid-row:2}.analytics-horizontal-row{grid-template-columns:minmax(115px,.8fr) minmax(100px,1fr) 40px}.analytics-donut-layout{grid-template-columns:1fr}.analytics-donut{margin:auto}.analytics-column-chart{grid-template-columns:repeat(8,58px)}.analytics-position-metrics{grid-template-columns:1fr}.analytics-flow-wrap{overflow-x:auto}.analytics-flow-wrap svg{min-width:720px}}
@media print{.analytics-v52-card,.analytics-two-grid,.employee360-analytics-grid,.kpi-analytics-panel{display:none!important}}


/* v1.22.53 — year comparison month labels + clickable year focus */
.analytics-show-all-labels .analytics-line-labels text{font-size:9.5px}
.analytics-line-stat{border:1px solid #e8ece6;border-radius:12px;background:#fafbf9;padding:10px 11px;text-align:left;color:inherit;font:inherit;min-width:0}
button.analytics-line-stat{width:100%;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
button.analytics-line-stat:hover{border-color:#cfd8ce;background:#fff;box-shadow:0 6px 16px rgba(18,24,18,.05);transform:translateY(-1px)}
button.analytics-line-stat[aria-pressed="true"]{border-color:#bfcdbf;background:#fff;box-shadow:inset 0 0 0 1px rgba(47,125,87,.08)}
.analytics-line-stat span,.analytics-line-stat small{display:block;color:#858e85;font-size:8px}
.analytics-line-stat strong{display:block;margin:4px 0;font-size:13px}
.analytics-series-selectable .analytics-line-series,.analytics-series-selectable .analytics-line-point,.analytics-series-selectable .analytics-line-legend span{transition:opacity .18s ease,filter .18s ease}
.analytics-series-selectable[data-focus-series="0"] .analytics-line-series:not(.analytics-series-0),.analytics-series-selectable[data-focus-series="0"] .analytics-line-point:not(.analytics-series-0),.analytics-series-selectable[data-focus-series="0"] .analytics-line-legend span:not([data-line-series="0"]){opacity:.13}
.analytics-series-selectable[data-focus-series="1"] .analytics-line-series:not(.analytics-series-1),.analytics-series-selectable[data-focus-series="1"] .analytics-line-point:not(.analytics-series-1),.analytics-series-selectable[data-focus-series="1"] .analytics-line-legend span:not([data-line-series="1"]){opacity:.13}
.analytics-series-selectable[data-focus-series="2"] .analytics-line-series:not(.analytics-series-2),.analytics-series-selectable[data-focus-series="2"] .analytics-line-point:not(.analytics-series-2),.analytics-series-selectable[data-focus-series="2"] .analytics-line-legend span:not([data-line-series="2"]){opacity:.13}
.analytics-series-selectable[data-focus-series="3"] .analytics-line-series:not(.analytics-series-3),.analytics-series-selectable[data-focus-series="3"] .analytics-line-point:not(.analytics-series-3),.analytics-series-selectable[data-focus-series="3"] .analytics-line-legend span:not([data-line-series="3"]){opacity:.13}
.analytics-series-selectable[data-focus-series] .analytics-line-series-toggle[aria-pressed="false"]{opacity:.55;background:#f7f8f6;box-shadow:none}
@media(max-width:700px){.analytics-show-all-labels .analytics-line-labels text{font-size:8px}}


/* v1.22.54 — departments overview second widget + section spacing */
.department-overview-grid{align-items:start;margin-top:8px}
.department-grid-gap{margin-top:26px}
.analytics-department-spread .analytics-donut-layout{grid-template-columns:220px minmax(0,1fr);align-items:center}
.analytics-department-spread .analytics-donut-figure{min-height:220px}
.analytics-department-spread .analytics-donut-center strong{font-size:28px}
.analytics-department-spread .analytics-donut-center small{text-transform:none;letter-spacing:0;color:var(--muted)}
.analytics-department-spread-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.analytics-department-spread-foot>div{border:1px solid var(--line);border-radius:12px;background:#fafbf9;padding:12px 14px}
.analytics-department-spread-foot span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.analytics-department-spread-foot strong{font-size:20px;line-height:1.1}
@media (max-width: 920px){.analytics-department-spread .analytics-donut-layout{grid-template-columns:1fr}.department-grid-gap{margin-top:22px}}


/* v1.22.55 — employees top composition chart refreshed */
.analytics-employment-card{margin-bottom:16px}
.analytics-employment-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.analytics-employment-meta>div{border:1px solid #e8ece6;border-radius:12px;background:#fafbf9;padding:12px 14px}
.analytics-employment-meta span{display:block;color:#858d85;font-size:8px}
.analytics-employment-meta strong{display:block;margin-top:4px;font-size:15px}
.analytics-employment-chart{display:grid;grid-template-columns:repeat(4,minmax(88px,1fr));gap:16px;align-items:end;min-height:255px;padding:6px 4px 0}
.analytics-employment-item{display:grid;grid-template-rows:28px 1fr auto auto;align-items:end;text-align:center;min-width:0}
.analytics-employment-item>strong{font-size:16px;line-height:1.1;letter-spacing:-.03em}
.analytics-employment-item>span{display:block;margin-top:10px;font-size:12px;font-weight:700;color:#2a302a}
.analytics-employment-item>small{display:block;margin-top:4px;font-size:9px;color:#858d85}
.analytics-employment-track{height:170px;display:flex;align-items:flex-end;justify-content:center;border-radius:18px 18px 12px 12px;background:linear-gradient(180deg,#f7f9f6,#fbfcfb);padding:10px 12px 0;box-shadow:inset 0 0 0 1px #edf0eb}
.analytics-employment-track i{display:block;width:100%;min-height:14px;border-radius:14px 14px 10px 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--employment-color) 68%, white),var(--employment-color));box-shadow:0 10px 18px color-mix(in srgb,var(--employment-color) 16%, transparent);transition:height .25s ease,transform .2s ease}
.analytics-employment-item.is-dominant .analytics-employment-track{background:linear-gradient(180deg,#f4eefc,#faf7ff);box-shadow:inset 0 0 0 1px #ebe2fb}
.analytics-employment-item.is-dominant .analytics-employment-track i{transform:translateY(-2px);background:linear-gradient(180deg,#b178ff,#7b3ff0);box-shadow:0 16px 28px rgba(123,63,240,.22)}
.analytics-employment-item.is-dominant>strong{color:#6f35de}
@media (max-width:900px){.analytics-employment-chart{grid-template-columns:repeat(2,minmax(120px,1fr));min-height:auto}.analytics-employment-track{height:150px}}
@media (max-width:640px){.analytics-employment-meta{grid-template-columns:1fr}.analytics-employment-chart{grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px}.analytics-employment-item>strong{font-size:14px}.analytics-employment-item>span{font-size:11px}}


/* v1.22.56 — departments top area rebuilt as single premium graph */
.analytics-department-premium{margin-top:16px}
.analytics-department-premium-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.analytics-department-premium-stats>div{border:1px solid #e8ece6;border-radius:14px;background:linear-gradient(180deg,#fbfcfa,#ffffff);padding:12px 14px}
.analytics-department-premium-stats span{display:block;color:#848d84;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.analytics-department-premium-stats strong{display:block;margin-top:5px;font-size:19px;line-height:1.15;letter-spacing:-.03em;color:#141914;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analytics-department-premium-plot{position:relative;padding:12px 0 0 44px}
.analytics-department-grid{position:absolute;left:0;right:0;top:0;bottom:54px;pointer-events:none}
.analytics-department-grid span{position:absolute;left:0;right:0;display:block}
.analytics-department-grid i{position:absolute;left:44px;right:0;top:50%;height:1px;background:#edf0eb;transform:translateY(-50%)}
.analytics-department-grid b{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:9px;color:#8d958d;font-weight:800}
.analytics-department-bars{position:relative;display:grid;grid-template-columns:repeat(9,minmax(74px,1fr));gap:14px;align-items:end;min-height:310px;padding-top:8px}
.analytics-department-bar{display:grid;grid-template-rows:26px 1fr auto auto;align-items:end;text-align:center;min-width:0;border:0;background:transparent;padding:0;color:#141914;cursor:pointer}
.analytics-department-bar strong{font-size:12px;line-height:1;font-weight:900;color:#151a15}
.analytics-department-bar span{display:block;margin-top:10px;font-size:10px;font-weight:800;line-height:1.25;min-height:26px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.analytics-department-bar small{display:block;margin-top:4px;font-size:8px;color:#868e86;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analytics-department-bar-track{position:relative;height:228px;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px 0;border-radius:20px 20px 14px 14px;background:linear-gradient(180deg,#f6f8f5 0%,#fcfdfc 100%);box-shadow:inset 0 0 0 1px #edf0eb;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.analytics-department-bar-track i{display:block;width:100%;min-height:8px;border-radius:18px 18px 12px 12px;background:linear-gradient(180deg,#97bea6 0%,#2f7d57 100%);box-shadow:0 10px 22px rgba(47,125,87,.18);transition:height .28s ease,transform .18s ease,filter .18s ease}
.analytics-department-bar.is-top strong{color:#815800}
.analytics-department-bar.is-top .analytics-department-bar-track{background:linear-gradient(180deg,#fff9df 0%,#fffef6 100%);box-shadow:inset 0 0 0 1px #f3e6a7}
.analytics-department-bar.is-top .analytics-department-bar-track i{background:linear-gradient(180deg,#ffd75b 0%,#e5b82f 100%);box-shadow:0 12px 24px rgba(229,184,47,.28)}
.analytics-department-bar:hover .analytics-department-bar-track,.analytics-department-bar:focus-visible .analytics-department-bar-track{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #e6ece7,0 10px 20px rgba(19,27,19,.06)}
.analytics-department-bar:hover .analytics-department-bar-track i,.analytics-department-bar:focus-visible .analytics-department-bar-track i{filter:brightness(.97);transform:translateY(-2px)}
.analytics-department-bar:focus-visible{outline:none}
.analytics-department-premium-note{margin-top:12px;color:#7a837a;font-size:10px}
.department-grid-gap{margin-top:26px}
@media (max-width:1150px){.analytics-department-bars{overflow-x:auto;grid-template-columns:repeat(9, minmax(90px,1fr));padding-bottom:6px}.analytics-department-premium-plot{padding-left:36px}}
@media (max-width:760px){.analytics-department-premium-stats{grid-template-columns:1fr}.analytics-department-grid{bottom:50px}.analytics-department-bars{grid-template-columns:repeat(9, minmax(98px,1fr));min-height:280px;gap:12px}.analytics-department-bar-track{height:208px}}


/* v1.22.57 — departments graph tooltip layering fix */
.analytics-department-premium{position:relative;overflow:visible}
.analytics-department-premium-plot{overflow:visible;z-index:2}
.analytics-department-bars{z-index:2}
.analytics-department-bar{position:relative;z-index:1}
.analytics-department-bar:hover,.analytics-department-bar:focus-visible{z-index:4}
.analytics-department-tooltip{position:absolute;z-index:50;min-width:190px;max-width:260px;transform:translate(-50%,-100%);pointer-events:none;background:#151a15;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;box-shadow:0 14px 34px rgba(12,18,12,.24);opacity:0;transition:opacity .12s ease,transform .12s ease;white-space:nowrap}
.analytics-department-tooltip.visible{opacity:1;transform:translate(-50%,calc(-100% - 4px))}
.analytics-department-tooltip strong,.analytics-department-tooltip span,.analytics-department-tooltip small{display:block}
.analytics-department-tooltip strong{font-size:11px;font-weight:850;overflow:hidden;text-overflow:ellipsis}
.analytics-department-tooltip span{margin-top:4px;font-size:16px;font-weight:900}
.analytics-department-tooltip small{margin-top:3px;color:#cdd5cd;font-size:8.5px}
@media (max-width:1150px){.analytics-department-bars{overflow-x:auto;overflow-y:visible}.analytics-department-tooltip{display:none}}


/* v1.22.58 — departments top area converted to trend graph with dropdown controls */
.analytics-trend-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}
.analytics-inline-field{display:flex;flex-direction:column;gap:5px;min-width:160px}
.analytics-inline-field span{color:#869086;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.analytics-inline-field select{height:38px;border:1px solid #dbe2d8;border-radius:12px;background:#fbfcfa;padding:0 12px;color:#182018;font-size:12px;font-weight:700;outline:none}
.analytics-inline-field select:focus{border-color:#2f7d57;box-shadow:0 0 0 3px rgba(47,125,87,.12)}
@media (max-width:700px){.analytics-trend-controls{width:100%}.analytics-inline-field{min-width:0;flex:1 1 100%}}


/* v1.22.60 — departments trend exact behavior + bottom controls */
.analytics-series-bg-4{background:#d96b76}.analytics-series-bg-5{background:#28a6a6}.analytics-series-bg-6{background:#7e8c3b}.analytics-series-bg-7{background:#bf6fc7}.analytics-series-bg-8{background:#d27b35}.analytics-series-bg-9{background:#4b8fcf}
.analytics-line-series.analytics-series-4{stroke:#d96b76}.analytics-line-series.analytics-series-5{stroke:#28a6a6}.analytics-line-series.analytics-series-6{stroke:#7e8c3b}.analytics-line-series.analytics-series-7{stroke:#bf6fc7}.analytics-line-series.analytics-series-8{stroke:#d27b35}.analytics-line-series.analytics-series-9{stroke:#4b8fcf}
.analytics-line-point.analytics-series-4{fill:#d96b76}.analytics-line-point.analytics-series-5{fill:#28a6a6}.analytics-line-point.analytics-series-6{fill:#7e8c3b}.analytics-line-point.analytics-series-7{fill:#bf6fc7}.analytics-line-point.analytics-series-8{fill:#d27b35}.analytics-line-point.analytics-series-9{fill:#4b8fcf}
.analytics-line-footer{margin-top:12px;padding-top:14px;border-top:1px solid #edf0eb}
.analytics-trend-controls-bottom{display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,220px);gap:14px;align-items:end;width:100%;margin:0}
.analytics-trend-controls-bottom .analytics-inline-field{min-width:0}
.analytics-trend-controls-bottom .analytics-inline-field select{width:100%;background:#fff}
@media (max-width:700px){.analytics-trend-controls-bottom{grid-template-columns:1fr}}


/* v1.22.61 — cleaner multi-series department trend */
.analytics-line-compact .analytics-line-series{stroke-width:2.35;transition:opacity .18s ease,stroke-width .18s ease,filter .18s ease}
.analytics-line-compact .analytics-line-point{stroke-width:2;opacity:.58;transition:opacity .16s ease}
.analytics-line-compact .analytics-line-point:hover,.analytics-line-compact .analytics-line-point:focus{opacity:1}
.analytics-legend-selectable .analytics-line-legend{gap:7px 8px;margin:2px 0 14px}
.analytics-line-legend-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;border:1px solid #e4e9e2;background:#fafbf9;border-radius:999px;padding:6px 9px;color:#596359;font:inherit;font-size:9px;font-weight:750;line-height:1;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.analytics-line-legend-chip i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.analytics-line-legend-chip:hover,.analytics-line-legend-chip.is-series-focused{background:#fff;border-color:#cfd8cd;box-shadow:0 3px 10px rgba(20,28,20,.055)}
.analytics-line-card-v52 .is-series-dimmed{opacity:.32!important}
.analytics-line-card-v52 .analytics-line-series.is-series-focused{opacity:1!important;stroke-width:3.8;filter:drop-shadow(0 2px 3px rgba(20,28,20,.08))}
.analytics-line-card-v52 .analytics-line-point.is-series-focused{opacity:1!important}
.analytics-line-compact .analytics-line-stage{margin-top:2px}
.analytics-line-compact .analytics-line-grid line{stroke:#eef1ec;stroke-dasharray:2 5}
.analytics-line-compact .analytics-line-labels text,.analytics-line-compact .analytics-line-grid text{fill:#7f887f}
@media (max-width:760px){.analytics-line-legend-chip{max-width:170px}.analytics-legend-selectable .analytics-line-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}}


/* v1.22.62 — department trend points always visible; focused series dims rather than hides siblings */
.analytics-legend-selectable .analytics-line-point{opacity:.78}
.analytics-legend-selectable .analytics-line-point.is-series-dimmed{opacity:.24!important}
.analytics-legend-selectable .analytics-line-series.is-series-dimmed{opacity:.30!important}
.analytics-legend-selectable .analytics-line-legend-chip.is-series-dimmed{opacity:.46!important}
.analytics-legend-selectable .analytics-line-series.is-series-focused{opacity:1!important;stroke-width:3.65}
.analytics-legend-selectable .analytics-line-point.is-series-focused{opacity:1!important}


/* v1.22.64 — premium analytics summary strips unified across graph cards */
.analytics-horizontal-list.analytics-department-horizontal-bars{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:0;
  padding:0;
  overflow:visible;
  position:static;
  z-index:auto;
}
.analytics-department-horizontal-bars .analytics-horizontal-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(150px,.9fr) minmax(180px,1.5fr) 46px;
  gap:12px;
  align-items:center;
  padding:8px 0;
}
.analytics-department-horizontal-bars .analytics-horizontal-track{
  display:block;
  height:12px;
  border-radius:999px;
  background:#eef1ec;
  overflow:hidden;
}
.analytics-department-horizontal-bars .analytics-horizontal-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#8cb59b,#2f7d57);
}
@media (max-width:700px){
  .analytics-department-horizontal-bars .analytics-horizontal-row{
    grid-template-columns:minmax(115px,.8fr) minmax(100px,1fr) 40px;
  }
}

/* v1.22.66 — global typography foundation */
:root{
 --ui-title-size:20px;
 --ui-card-title-size:17px;
 --ui-body-size:14px;
 --ui-muted-size:12px;
 --ui-label-size:11px;
}

/* Shared readable hierarchy */
.panel-header h2,
.analytics-card-head h3,
.analytics-v52-card h3{
 font-size:18px;
 line-height:1.3;
 font-weight:700;
 letter-spacing:-.35px;
}

.panel-header p,
.analytics-card-head p{
 font-size:13px;
 line-height:1.5;
}

.analytics-kicker{
 font-size:10px;
 letter-spacing:.14em;
}

.analytics-head-pill{
 font-size:11px;
 padding:7px 11px;
}

.analytics-line-legend span{
 font-size:13px;
}

.analytics-line-legend i{
 width:10px;
 height:10px;
}

.analytics-line-grid text,
.analytics-line-labels text{
 font-size:13px;
}

.analytics-line-stats span,
.analytics-line-stats small,
.analytics-metric-strip span,
.analytics-metric-strip small{
 font-size:11px;
}

.analytics-line-stats strong,
.analytics-metric-strip strong{
 font-size:18px;
}

.analytics-segment-copy strong,
.analytics-horizontal-label strong{
 font-size:14px;
}

.analytics-segment-copy small,
.analytics-horizontal-label small{
 font-size:11px;
}

.analytics-horizontal-row>b,
.analytics-segment-row>b{
 font-size:13px;
}

.analytics-donut-legend strong{
 font-size:12px;
}

.analytics-donut-legend small{
 font-size:10px;
}

.analytics-column-item>strong{
 font-size:11px;
}

.analytics-column-item>span{
 font-size:11px;
}

.analytics-empty strong{
 font-size:14px;
}

.analytics-empty span{
 font-size:12px;
}

/* Common cards */
.card h3,
.employee-card h3,
.department-card h3{
 font-size:17px;
}

.badge{
 font-size:11px;
}

.small,
small{
 font-size:13px;
}

/* Filters */
.toolbar label,
.analytics-inline-field span{
 font-size:11px;
}

.toolbar input,
.toolbar select,
.analytics-inline-field select{
 font-size:14px;
}

/* v1.22.67 shared UI consistency pass */
.analytics-v52-card,.kpi-card,.panel,.card{border-radius:16px;}
.analytics-card-head h3,.panel h2,.panel h3{letter-spacing:-.01em;}
.analytics-card-head p,.panel p{line-height:1.5;}
.analytics-head-pill,.badge,.tag{font-size:11px!important;}
.analytics-kicker{font-size:10px!important;letter-spacing:.08em;}
.analytics-metric-strip strong{font-size:15px;}
.analytics-metric-strip span{font-size:10px;}
.analytics-metric-strip small{font-size:10px;}

/* v1.22.69 Step 3 UI consistency pass */
.panel,.card,.analytics-v52-card,.kpi-card,.department-card,.employee360-summary-grid article{border-radius:16px;}
.panel-header h2,.panel-header h3,.department-card h3{letter-spacing:-.02em;}
.panel-header p,.department-card p{line-height:1.55;}
.chart-container,.analytics-line-card{padding:18px;}
.analytics-line-legend span,.analytics-line-legend-chip{font-size:12px;}
.employee360-performance .panel-header p{font-size:13px;}
.department-actions,.toolbar{gap:12px;}
.kpi-employee-card,.employee360-summary-grid article,.report-insight-card{box-shadow:0 8px 24px rgba(0,0,0,.04);}


/* v1.22.70 Step 1 + Step 2 global UI system */
:root{
 --heading-1:34px;
 --heading-2:20px;
 --heading-3:16px;
 --text-body:15px;
 --text-small:12px;
 --space-card:26px;
 --card-radius:14px;
}
.page-heading h1,.panel h2,.panel h3,.department-card h3{font-family:var(--font);font-weight:650;}
.page-heading p,.panel-header p,.muted{font-size:14px;}
.panel,.stat,.department-card,.auth-card{border-radius:var(--card-radius);}
.panel,.department-card{padding:var(--space-card);}
.panel-header{margin-bottom:24px;}
.chart-container,.chart-card,.graph-card{border-radius:var(--card-radius);}
.chart-container .legend,.chart-card .legend,.graph-card .legend{font-size:12px;line-height:1.4;}
.chart-container text,.chart-card text,.graph-card text{font-family:var(--font)!important;}
.filter-bar,.toolbar{gap:16px;}
.filter-bar input,.filter-bar select,.toolbar input,.toolbar select{border-radius:10px;}
.button,.badge{font-family:var(--font);}
.badge{padding:5px 9px;}
/* End v1.22.70 */

/* v1.22.71 REAL UI SYSTEM PATCH - Step 1/2/3 */
:root{
 --kk-radius-card:18px;
 --kk-card-padding:22px;
 --kk-gap:16px;
 --kk-title-size:20px;
 --kk-subtitle-size:14px;
 --kk-body-size:14px;
}
.app-card,.panel,.card,.kpi-card,.analytics-v52-card,.department-card,.employee-card,.report-card,.bonus-card,.overtime-card{
 border-radius:var(--kk-radius-card)!important;
 padding:var(--kk-card-padding);
}
.panel h1,.panel h2,.panel h3,.card h1,.card h2,.card h3{
 font-size:var(--kk-title-size);
 letter-spacing:-.025em;
}
.panel p,.card p,.muted,.subtitle{
 font-size:var(--kk-subtitle-size);
 line-height:1.55;
}
.toolbar,.filters,.filter-bar{
 gap:var(--kk-gap)!important;
}
.toolbar input,.toolbar select,.filters input,.filters select{
 min-height:42px;
 border-radius:12px;
}
.badge,.status-badge,.tag{
 border-radius:999px;
 padding:5px 10px;
 font-weight:600;
}
/* Employee Profile / 360 */
.employee-profile,.employee360,.employee360-performance,.employee-trend{
 max-width:100%;
}
.employee-trend .comparison-line,.employee360 .organization-line,.employee360 .department-line{display:none!important;}
/* Charts */
.chart-container,.chart-card,.analytics-line-card{
 border-radius:var(--kk-radius-card);
 padding:20px!important;
}
.chart-legend,.legend,.analytics-line-legend{
 font-size:12px!important;
}
/* Reports / Bonus / Overtime hierarchy */
.report-card,.bonus-card,.overtime-card{
 margin-bottom:16px;
}
.report-card table,.bonus-card table,.overtime-card table{
 font-size:14px;
}
/* End v1.22.71 */

/* v1.22.76 — unified screen typography and text-color system
   Screen UI only. Print, PDF and spreadsheet/export output styles are intentionally untouched. */
@media screen {
  :root{
    --font:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    --ink:#171817;
    --muted:#687068;
    --kk-text-primary:#171817;
    --kk-text-secondary:#596159;
    --kk-text-muted:#687068;
    --kk-text-inverse:#ffffff;
    --kk-fs-kicker:10px;
    --kk-fs-meta:11px;
    --kk-fs-small:12px;
    --kk-fs-control:13px;
    --kk-fs-body:14px;
    --kk-fs-card-title:17px;
    --kk-fs-section-title:20px;
    --kk-fs-page-title:32px;
    --kk-fs-metric-sm:18px;
    --kk-fs-metric-md:22px;
    --kk-fs-metric-lg:28px;
    --kk-fs-metric-xl:32px;
  }

  /* Base type */
  html,body,button,input,select,textarea{font-family:var(--font);}
  body{color:var(--kk-text-primary);font-size:var(--kk-fs-body);line-height:1.55;}
  p,li,dd,dt{font-size:var(--kk-fs-body);line-height:1.55;}
  h1,.page-heading h1{color:var(--kk-text-primary);font-size:var(--kk-fs-page-title)!important;line-height:1.18;font-weight:700;letter-spacing:-.035em;}
  h2,.panel h2,.card h2{color:var(--kk-text-primary);font-size:var(--kk-fs-section-title)!important;line-height:1.25;font-weight:700;letter-spacing:-.025em;}
  h3,.panel h3,.card h3,.department-card h3,.employee-card h3{color:var(--kk-text-primary);font-size:var(--kk-fs-card-title)!important;line-height:1.3;font-weight:700;letter-spacing:-.018em;}
  strong,b{color:inherit;}
  small{font-size:var(--kk-fs-meta)!important;line-height:1.45;color:var(--kk-text-muted);}
  .small{font-size:var(--kk-fs-small)!important;line-height:1.5;}

  /* Secondary copy and helper text */
  .muted,.help,.breadcrumb,.subtitle,
  .page-heading p,.panel-header p,.card p,.panel p,
  .analytics-card-head p,.kpi-graph-head p,.department-card p,
  .performance-chart-head p,.executive-card-head p,.employee360-result-head p{
    color:var(--kk-text-muted)!important;
  }
  .page-heading p,.panel-header p,.analytics-card-head p,.kpi-graph-head p,
  .performance-chart-head p,.executive-card-head p,.employee360-result-head p{
    font-size:var(--kk-fs-control)!important;line-height:1.55;
  }
  .help{font-size:var(--kk-fs-meta)!important;font-weight:400;}

  /* Kicker / eyebrow */
  .eyebrow,.analytics-kicker,.kpi-chart-kicker,.nav-group,.insight-label{
    color:var(--kk-text-muted)!important;
    font-size:var(--kk-fs-kicker)!important;
    line-height:1.3;
  }

  /* Shell and navigation */
  .brand small{font-size:var(--kk-fs-kicker)!important;color:#a7b0a4!important;}
  .nav-group{color:#909a90!important;}
  .nav-link{font-size:var(--kk-fs-control)!important;line-height:1.35;color:#cdd3cc;}
  .nav-link.active{color:var(--kk-text-primary)!important;font-weight:650;}
  .user-block strong{font-size:var(--kk-fs-small)!important;color:#fff!important;}
  .user-block small,.logout{font-size:var(--kk-fs-meta)!important;color:#b9c2b6!important;}
  .breadcrumb{font-size:var(--kk-fs-small)!important;}
  .notification-button .dot,.dot{font-size:var(--kk-fs-kicker)!important;}

  /* Form controls and actions */
  label{color:var(--kk-text-primary)!important;font-size:var(--kk-fs-small)!important;line-height:1.35;font-weight:650;}
  input:not([type=checkbox]),select,textarea{font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary)!important;}
  input::placeholder,textarea::placeholder{color:var(--kk-text-muted)!important;}
  .button,.text-button{font-size:var(--kk-fs-control)!important;line-height:1.25;}
  .button.small{font-size:var(--kk-fs-small)!important;}
  .tab{font-size:var(--kk-fs-control)!important;}
  .inline-error,.alert{font-size:var(--kk-fs-control)!important;}

  /* Pills / badges / tags */
  .badge,.status-badge,.tag,.count-pill,.analytics-head-pill,
  .kpi-employee-card-tag,.employee360-status-badge,.reviewer-score-role>span{
    font-size:var(--kk-fs-meta)!important;line-height:1.25;
  }

  /* Main summary / metric hierarchy */
  .stat .label,.detail-grid>div>span,.bonus-hero>div>span,.overtime-reason>span,
  .bonus-decision-card>span,.bonus-note>span,.performance-summary span,
  .people-progress-kpis span,.profile-bonus-plan span{
    color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;line-height:1.35;
  }
  .stat strong{color:var(--kk-text-primary)!important;font-size:var(--kk-fs-metric-xl)!important;line-height:1.15;}
  .stat small{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;}
  .performance-summary strong,.bonus-summary>.bonus-summary-card strong,.executive-summary strong,.rating-ring strong{
    color:var(--kk-text-primary)!important;font-size:var(--kk-fs-metric-lg)!important;line-height:1.1;
  }
  .performance-summary em,.people-progress-line small,.people-progress-kpis small{
    color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;line-height:1.4;
  }
  .people-progress-line b{font-size:var(--kk-fs-metric-md)!important;color:var(--kk-text-primary)!important;}

  /* Tables */
  table{font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary);}
  th{font-size:var(--kk-fs-meta)!important;line-height:1.3;color:var(--kk-text-muted)!important;}
  td{font-size:var(--kk-fs-control)!important;line-height:1.45;color:var(--kk-text-primary);}
  td small{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;}

  /* Generic component headings normalized to the same scale */
  .empty h3,.performance-chart-head h3,.executive-card-head h3,.kpi-graph-head h3,
  .kpi-bonus-graph-grid h3,.employment-card h3,.bonus-form-intro h3,
  #modal.bonus-flow-modal .bonus-form-intro h3{
    font-size:var(--kk-fs-card-title)!important;color:var(--kk-text-primary)!important;
  }
  .profile-hero h2,.performance-title-row h2,.bonus-decision-card h2,.executive-header h2,
  .employee360-profile-main h2,.employee360-result-head h2,#modal.bonus-flow-modal .modal-head h2,
  dialog.export-version-modal .modal-head h2{
    font-size:var(--kk-fs-section-title)!important;color:var(--kk-text-primary)!important;
  }

  /* Departments and report cards */
  .department-progress-head strong,.report-department-card-head strong,.quarterly-snapshot-card>div:first-child strong,
  .reviewer-employee strong,.employee-rating-meta strong,.recent-result-row strong,.department-meta strong,
  .executive-dept-name strong,.report-card-copy strong{
    color:var(--kk-text-primary)!important;font-size:var(--kk-fs-control)!important;
  }
  .department-progress-head small,.department-progress-foot,.report-department-card-head small,.report-department-meta,
  .quarterly-snapshot-card>small,.reviewer-employee small,.reviewer-employee span,.employee-rating-meta small,
  .employee-rating-meta span,.recent-result-row small,.department-meta span,.department-count span,.department-subteams span,
  .executive-dept-name small,.executive-score small{
    color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;line-height:1.4;
  }
  .department-progress-percent,.report-department-card-head>span,.quarterly-snapshot-card>b,.executive-score strong{
    color:var(--kk-text-primary)!important;font-size:var(--kk-fs-control)!important;
  }
  .department-count strong{color:var(--kk-text-primary)!important;font-size:var(--kk-fs-metric-sm)!important;}

  /* Employee 360 directory */
  .employee360-person-card.employee360-premium-card{color:var(--kk-text-primary);}
  .employee360-person-card.employee360-premium-card .employee360-name-row>strong{
    color:var(--kk-text-primary)!important;font-size:var(--kk-fs-card-title)!important;
  }
  .employee360-person-card.employee360-premium-card .employee360-person-role{
    color:var(--kk-text-secondary)!important;font-size:var(--kk-fs-control)!important;
  }
  .employee360-card-meta>span{color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;}
  .employee360-status-badge{font-size:var(--kk-fs-meta)!important;color:var(--good)!important;}
  .employee360-card-score small{color:var(--kk-text-muted)!important;font-size:var(--kk-fs-kicker)!important;}
  .employee360-card-score strong{color:var(--kk-text-primary)!important;font-size:var(--kk-fs-metric-sm)!important;}
  .employee360-card-score em{color:var(--kk-text-muted)!important;font-size:var(--kk-fs-kicker)!important;}
  .employee360-open-button{font-size:var(--kk-fs-small)!important;color:var(--kk-text-inverse)!important;}
  .employee360-open-button b{font-size:15px!important;color:#111!important;}
  .employee360-summary-grid article>strong,.employee360-mini-stats strong{font-size:var(--kk-fs-metric-md)!important;color:var(--kk-text-primary)!important;}

  /* KPI sheet employee cards */
  #kpi-sheet-list .kpi-employee-card-person h3{font-size:var(--kk-fs-card-title)!important;color:var(--kk-text-primary)!important;}
  #kpi-sheet-list .kpi-employee-card-person p{font-size:var(--kk-fs-small)!important;color:var(--kk-text-muted)!important;}
  #kpi-sheet-list .kpi-employee-card-tag,
  #kpi-sheet-list .kpi-employee-score-inner span,
  #kpi-sheet-list .kpi-employee-score-inner small,
  #kpi-sheet-list .kpi-employee-card-stat span,
  #kpi-sheet-list .kpi-employee-pending-head span,
  #kpi-sheet-list .kpi-employee-review-copy small,
  #kpi-sheet-list .kpi-employee-review-status,
  #kpi-sheet-list .kpi-employee-review-link,
  #kpi-sheet-list .kpi-employee-footer-link{
    font-size:var(--kk-fs-kicker)!important;color:var(--kk-text-muted)!important;
  }
  #kpi-sheet-list .kpi-employee-card-stat strong,
  #kpi-sheet-list .kpi-employee-pending-head strong,
  #kpi-sheet-list .kpi-employee-review-copy strong{
    font-size:var(--kk-fs-small)!important;color:var(--kk-text-primary)!important;
  }
  #kpi-sheet-list .kpi-employee-score-inner strong{font-size:var(--kk-fs-metric-md)!important;color:var(--kk-text-primary)!important;}

  /* Review / score components */
  .reviewer-final>span,.reviewer-score-chip>span,.reviewer-score-chip>small,
  .reviewer-score-chip>strong small,.reviewer-variance>span,.rating-ring-year small,
  .submitted-score-chip small,.edited-stamp,.rating-year-label{
    font-size:var(--kk-fs-kicker)!important;color:var(--kk-text-muted)!important;
  }
  .reviewer-final>strong{font-size:var(--kk-fs-section-title)!important;color:var(--kk-text-primary)!important;}
  .reviewer-score-chip>strong{font-size:var(--kk-fs-metric-sm)!important;color:var(--kk-text-primary)!important;}
  .reviewer-variance>strong{font-size:var(--kk-fs-small)!important;color:var(--kk-text-primary)!important;}
  .rating-ring-year strong{font-size:var(--kk-fs-metric-md)!important;color:var(--kk-text-primary)!important;}

  /* Performance / activity details */
  .performance-column,.performance-column small,.performance-bar small,
  .performance-department-card>strong small,.performance-department-card>em,
  .trend-card small,.recent-result-row small{
    color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;
  }
  .performance-column>strong,.performance-department-card>strong,.trend-card-top strong{
    color:var(--kk-text-primary)!important;
  }
  .trend-card-top strong{font-size:var(--kk-fs-metric-sm)!important;}

  /* Comments / notification metadata */
  .context-title>small,.context-author>span,.context-author mark,.context-comment-head .avatar,
  .notification-popover-head small,.comment-head small,.history-item small{
    font-size:var(--kk-fs-kicker)!important;color:var(--kk-text-muted)!important;
  }
  .context-author strong,.comment-head strong,.history-item strong,.notification-popover-head strong{
    font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary)!important;
  }

  /* Bonus / overtime details */
  .bonus-hero strong,.detail-grid strong,.overtime-detail .detail-grid strong{color:var(--kk-text-primary)!important;font-size:var(--kk-fs-card-title)!important;}
  .bonus-hero strong small{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;}
  .bonus-decision-card dt,.bonus-visibility-note span,.bonus-linked-sheet>span{
    font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;
  }
  .bonus-decision-card dd,.bonus-visibility-note strong,.bonus-linked-sheet strong{
    font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary)!important;
  }
  .bonus-ack-card strong,.employment-readout strong{font-size:var(--kk-fs-metric-sm)!important;color:var(--kk-text-primary)!important;}
  .profile-bonus-plan strong{font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary)!important;}

  /* Bonus modal tiny metadata: minimum readable screen size */
  .bonus-sheet-option>b small,.bonus-selected-source>span,
  #modal.bonus-flow-modal .bonus-form-intro>span,#modal.bonus-flow-modal .bonus-flow-step small,
  #modal.bonus-flow-modal .bonus-employee-name-row b,#modal.bonus-flow-modal .bonus-employee-option em,
  .bonus-selected-plan small,.bonus-selected-plan span,#modal.bonus-flow-modal .bonus-period-option small,
  #modal.bonus-flow-modal .bonus-period-option .badge,#modal.bonus-flow-modal .bonus-period-source-head>small,
  #modal.bonus-flow-modal .bonus-period-source-meta>b,#modal.bonus-flow-modal .bonus-period-source-row>strong>small,
  #modal.bonus-flow-modal .bonus-aggregation-note{
    font-size:var(--kk-fs-kicker)!important;color:var(--kk-text-muted)!important;
  }
  .bonus-selected-employee strong,.bonus-list-toolbar strong,#modal.bonus-flow-modal .bonus-period-source-row>strong,
  .bonus-sheet-option>b{color:var(--kk-text-primary)!important;}

  /* Analytics / charts */
  .analytics-card-head h3,.kpi-graph-head h3,.kpi-bonus-graph-grid h3{
    color:var(--kk-text-primary)!important;font-size:var(--kk-fs-card-title)!important;line-height:1.25;
  }
  .analytics-kicker,.kpi-chart-kicker{font-size:var(--kk-fs-kicker)!important;letter-spacing:.1em;}
  .analytics-head-pill,.kpi-chart-head-meta{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;}
  .analytics-metric-strip span,.analytics-metric-strip small,.analytics-line-stats span,.analytics-line-stats small,
  .kpi-graph-stats span,.kpi-graph-stats small,.analytics-position-metrics span,.analytics-line-stat span,
  .analytics-line-stat small,.analytics-employment-meta span,.analytics-employment-item>small,
  .analytics-department-grid b,.analytics-department-bar small,.analytics-department-tooltip small,
  .analytics-inline-field span,.analytics-flow-total,.analytics-position-scale{
    color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;line-height:1.4;
  }
  .analytics-metric-strip strong,.analytics-line-stats strong,.kpi-graph-stats strong,.analytics-position-metrics strong,
  .analytics-employment-meta strong{
    color:var(--kk-text-primary)!important;font-size:16px!important;line-height:1.25;
  }
  .analytics-line-legend span,.analytics-line-legend-chip,.analytics-flow-legend span{
    color:var(--kk-text-muted)!important;font-size:var(--kk-fs-meta)!important;
  }
  .analytics-line-grid text,.analytics-line-labels text,.analytics-show-all-labels .analytics-line-labels text,
  .kpi-bell-axis text,.kpi-line-grid text,.kpi-line-labels text,.kpi-marker-pill text{
    font-family:var(--font)!important;font-size:var(--kk-fs-kicker)!important;fill:var(--kk-text-muted)!important;
  }
  .analytics-line-tooltip span,.analytics-line-tooltip small,.kpi-bell-tooltip span,.kpi-bell-tooltip small,
  .analytics-segment-copy small,.analytics-horizontal-label small,.analytics-donut-legend small,
  .analytics-column-item>strong,.analytics-column-item>span{
    font-size:var(--kk-fs-kicker)!important;color:var(--kk-text-muted)!important;
  }
  .analytics-line-tooltip strong,.kpi-bell-tooltip strong{font-size:15px!important;color:var(--kk-text-primary)!important;}
  .analytics-segment-copy strong,.analytics-horizontal-label strong{font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary)!important;}
  .analytics-segment-row>b,.analytics-horizontal-row>b{font-size:var(--kk-fs-small)!important;color:var(--kk-text-primary)!important;}
  .analytics-donut strong{font-size:25px!important;color:var(--kk-text-primary)!important;}
  .analytics-donut span{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;}
  .analytics-donut-legend strong{font-size:var(--kk-fs-small)!important;color:var(--kk-text-primary)!important;}
  .analytics-column-item>strong{color:var(--kk-text-primary)!important;}
  .analytics-empty strong,.kpi-graph-empty strong{font-size:var(--kk-fs-control)!important;color:var(--kk-text-primary)!important;}
  .analytics-empty span,.kpi-graph-empty span{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-muted)!important;}
  .analytics-employment-item>strong{font-size:16px!important;color:var(--kk-text-primary)!important;}
  .kpi-month-bar>span{font-size:var(--kk-fs-kicker)!important;color:var(--kk-text-muted)!important;}
  .kpi-month-bar>strong{font-size:var(--kk-fs-meta)!important;color:var(--kk-text-primary)!important;}

  /* Modal base */
  dialog{font-size:var(--kk-fs-body);color:var(--kk-text-primary);}
  .modal-head h2{font-size:var(--kk-fs-section-title)!important;color:var(--kk-text-primary)!important;}

  /* Login uses the same scale, with one intentional display-size hero */
  .login-brand h1{font-size:clamp(48px,5vw,64px)!important;line-height:1.05;}
  .login-brand p{font-size:var(--kk-fs-body)!important;}
  .login-card h2,.admin-login-card h1{font-size:var(--kk-fs-page-title)!important;color:var(--kk-text-primary)!important;}
  .login-help,.login-card .subtle{font-size:var(--kk-fs-small)!important;color:var(--kk-text-muted)!important;}
  .login-pill{font-size:var(--kk-fs-kicker)!important;}

  /* Preserve the approved Bonus Activity screen layout */
  .bonus-analytics-panel .analytics-two-grid{grid-template-columns:minmax(0,1.55fr) minmax(360px,.85fr);gap:18px;align-items:stretch;}
  .bonus-analytics-panel .analytics-v52-card{height:100%;}
  .bonus-analytics-panel .analytics-donut-layout{grid-template-columns:minmax(160px,190px) minmax(150px,1fr);gap:22px;align-items:center;justify-content:center;}
  .bonus-analytics-panel .analytics-donut{width:180px;height:180px;}
  .bonus-analytics-panel .analytics-column-chart{min-height:250px;}
  .bonus-analytics-panel .analytics-columns-strip{grid-template-columns:repeat(4,minmax(0,1fr));}

  /* Explicit minimum for legacy screen-only microcopy. Export/print tables are excluded. */
  .context-title>small,.context-author>span,.context-author mark,.submitted-score-chip small,.edited-stamp,
  .export-version-intro .eyebrow,.export-version-title em,.export-picker-brand span,
  .performance-column,.performance-column small,.performance-bar small,.performance-department-card>strong small,
  .performance-department-card>em,.department-subteams span,.department-meta span,.department-count span,
  .profile-bonus-plan span,.bonus-linked-sheet>span,.executive-dept-name small,.executive-score small,.insight-label,
  .analytics-flow-total,.analytics-position-scale,.analytics-line-stat span,.analytics-line-stat small,
  .analytics-employment-meta span,.analytics-employment-item>small,.analytics-department-grid b,
  .analytics-department-bar small,.analytics-department-tooltip small,.analytics-inline-field span,
  .recent-result-row small,.department-progress-head small,.department-progress-foot,.report-department-card-head small,
  .report-department-card-head>span small,.report-department-meta,.quarterly-snapshot-card>b small,
  .quarterly-snapshot-card>small,.reviewer-final>span,.reviewer-score-role>span,.reviewer-score-chip>span,
  .reviewer-score-chip>strong small,.reviewer-score-chip>small,.reviewer-variance>span,.rating-ring-year small,
  .employee360-card-score small,#kpi-sheet-list .kpi-employee-card-tag,#kpi-sheet-list .kpi-employee-score-inner span,
  #kpi-sheet-list .kpi-employee-score-inner small,#kpi-sheet-list .kpi-employee-card-stat span,
  #kpi-sheet-list .kpi-employee-pending-head span,#kpi-sheet-list .kpi-employee-review-copy small,
  #kpi-sheet-list .kpi-employee-review-status,#kpi-sheet-list .kpi-employee-review-link,
  #kpi-sheet-list .kpi-employee-footer-link,.kpi-graph-stats span,.kpi-line-labels text,.kpi-month-bar>span,
  .kpi-marker-pill text,.kpi-bell-tooltip span,.kpi-bell-tooltip small,.analytics-kicker,.analytics-head-pill,
  .analytics-line-tooltip span,.analytics-line-tooltip small,.analytics-line-stats span,.analytics-line-stats small,
  .analytics-segment-copy small,.analytics-horizontal-label small,.analytics-donut span,.analytics-donut-legend small,
  .analytics-column-item>strong,.analytics-column-item>span,.analytics-flow-legend span,.analytics-line-legend-chip,
  .bonus-sheet-option>b small,.bonus-selected-source>span,#modal.bonus-flow-modal .bonus-form-intro>span,
  #modal.bonus-flow-modal .bonus-flow-step small,#modal.bonus-flow-modal .bonus-employee-name-row b,
  #modal.bonus-flow-modal .bonus-employee-option em,.bonus-selected-plan small,.bonus-selected-plan span,
  #modal.bonus-flow-modal .bonus-period-option small,#modal.bonus-flow-modal .bonus-period-option .badge,
  #modal.bonus-flow-modal .bonus-period-source-head>small,#modal.bonus-flow-modal .bonus-period-source-meta>b,
  #modal.bonus-flow-modal .bonus-period-source-row>strong>small,#modal.bonus-flow-modal .bonus-aggregation-note{
    font-size:var(--kk-fs-kicker)!important;
  }

}
@media screen and (max-width:1100px){
  .bonus-analytics-panel .analytics-two-grid{grid-template-columns:1fr;}
  .bonus-analytics-panel .analytics-donut-layout{grid-template-columns:180px minmax(0,1fr);}
}
@media screen and (max-width:700px){
  :root{--kk-fs-page-title:28px;}
  .bonus-analytics-panel .analytics-columns-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bonus-analytics-panel .analytics-donut-layout{grid-template-columns:1fr;justify-items:center;}
}
/* End v1.22.76 screen typography system */

