
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* T0084 — Light/cheerful theme overhaul (2026-05-20).
   NOTE: --gold / --gold2 / --gold-dim / --gold-glow variable NAMES are retained
   for selector compatibility across ~70 references, but their VALUES have been
   re-pointed to the new teal accent (#0EA5A4). The "gold" name is a historical
   misnomer post-T0084. A future tranche may rename to --accent / --accent-2.
   Surface tiers s1->s4 are now LIGHT (sidebar/login/modal-head -> card/table -> wash -> bar-track). */
:root{--bg:#F4F8F7;--s1:#EAF1EF;--s2:#FFFFFF;--s3:#F7FAFA;--s4:#E8EFEE;--border:#E1E8E6;--border2:#CFD9D6;--gold:#0EA5A4;--gold2:#0C8C8B;--gold-dim:rgba(14,165,164,.10);--gold-glow:rgba(14,165,164,.20);--text:#1F2A2E;--text2:#5E6F73;--text3:#8A989C;--green:#22A06B;--red:#E5484D;--amber:#E89B1F;--blue:#3B82F6;--green-dim:rgba(34,160,107,.10);--red-dim:rgba(229,72,77,.10);--amber-dim:rgba(232,155,31,.12);--blue-dim:rgba(59,130,246,.10);--font-d:'Cormorant Garamond',serif;--font-b:'Outfit',sans-serif;--r:10px;--r-sm:7px}
html,body{height:100%;font-family:var(--font-b);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;overflow:hidden}
button,input,select,textarea{font-family:var(--font-b)}
::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
.shell{display:flex;height:100vh;overflow:hidden}
.sidebar{width:224px;flex-shrink:0;display:flex;flex-direction:column;background:var(--s1);border-right:1px solid var(--border)}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.logo-wrap{padding:22px 18px 18px;border-bottom:1px solid var(--border);flex-shrink:0}
.logo-brand{font-family:var(--font-d);font-size:20px;color:var(--gold);font-weight:600}
.logo-sub{font-size:10px;color:var(--text3);letter-spacing:2px;text-transform:uppercase;margin-top:2px}
.logo-badge{margin-top:10px;display:inline-flex;align-items:center;gap:5px;background:var(--gold-dim);border:1px solid rgba(14,165,164,.18);border-radius:20px;padding:4px 10px}
.logo-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:blink 2.4s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.logo-badge-text{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase}
.nav{flex:1;min-height:0;padding:14px 10px;overflow-y:auto}
.nav-label{font-size:10px;color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:10px 8px 5px;display:flex;align-items:center;gap:8px}
.nav-label::after{content:'';flex:1;height:1px;background:var(--border)}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;cursor:pointer;transition:all .15s;color:var(--text2);font-size:13px;font-weight:500;border:none;background:none;width:100%;text-align:left;position:relative;white-space:nowrap}
.nav-item:hover{background:var(--s3);color:var(--text)}
.nav-item.active{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.15);font-weight:600}
.nav-item svg{width:15px;height:15px;flex-shrink:0;opacity:.6}
.nav-item.active svg{opacity:1}
.nav-item.soon{opacity:.4;cursor:not-allowed;pointer-events:none}
.nav-chip{margin-left:auto;background:var(--gold);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}
.nav-coming{margin-left:auto;font-size:9px;color:var(--text3);background:var(--s3);padding:2px 5px;border-radius:4px}
.sidebar-foot{padding:12px;border-top:1px solid var(--border);flex-shrink:0;position:relative}
.user-btn{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .15s;width:100%;border:none;background:none;text-align:left}
.user-btn:hover{background:var(--s3)}
.user-av{width:32px;height:32px;border-radius:8px;background:var(--gold-dim);border:1px solid rgba(14,165,164,.25);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gold);flex-shrink:0}
.user-name{font-size:12px;font-weight:600;color:var(--text)}
.user-role{font-size:10px;color:var(--text3)}
.user-menu{position:absolute;bottom:100%;left:10px;right:10px;background:var(--s2);border:1px solid var(--border2);border-radius:var(--r);padding:6px;margin-bottom:6px;box-shadow:0 12px 32px rgba(15,30,35,.15);display:none;z-index:200}
.user-menu.show{display:block}
.user-mi{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text2);transition:background .12s}
.user-mi:hover{background:var(--s3);color:var(--text)}
.user-mi.danger{color:var(--red)}
.user-mi.danger:hover{background:var(--red-dim)}
.topbar{height:58px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--s1);flex-shrink:0}
.topbar-title{font-size:17px;font-weight:700;color:var(--text)}
.topbar-crumb{font-size:11px;color:var(--text3);margin-top:1px}
.topbar-actions{display:flex;gap:8px;align-items:center}
.content{flex:1;overflow-y:auto;padding:28px}
.page{display:none}.page.active{display:block}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent;font-family:var(--font-b);white-space:nowrap}
.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn-gold:hover{background:var(--gold2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text2);border-color:var(--border)}.btn-ghost:hover{background:var(--s3);color:var(--text)}
.btn-danger{background:var(--red-dim);color:var(--red);border-color:rgba(229,72,77,.25)}.btn-danger:hover{background:rgba(229,72,77,.18)}
.btn-green{background:var(--green-dim);color:var(--green);border-color:rgba(34,160,107,.25)}.btn-green:hover{background:rgba(34,160,107,.18)}
.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 8px;font-size:11px;border-radius:5px}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
.fl{font-size:11px;color:var(--text2);font-weight:500;margin-bottom:5px;display:block}
.req{color:var(--gold)}
.fi,.fs,.fta{width:100%;background:var(--s3);border:1px solid var(--border2);border-radius:var(--r-sm);color:var(--text);padding:9px 12px;font-size:13px;font-family:var(--font-b);outline:none;transition:border-color .15s;box-sizing:border-box}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim)}
.fi::placeholder,.fta::placeholder{color:var(--text3)}
.fta{resize:vertical;min-height:70px}
.fg{margin-bottom:14px}
.frow{display:grid;gap:14px;margin-bottom:14px}
.c2{grid-template-columns:1fr 1fr}.c3{grid-template-columns:1fr 1fr 1fr}
.full{grid-column:1/-1}
.form-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--border);margin-top:4px}
.card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r)}
.card-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:13px;font-weight:600}
.card-body{padding:16px 18px}
.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap}
.tag-gold{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.2)}
.tag-green{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,160,107,.2)}
.tag-red{background:var(--red-dim);color:var(--red);border:1px solid rgba(229,72,77,.2)}
.tag-amber{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(232,155,31,.2)}
.tag-blue{background:var(--blue-dim);color:var(--blue);border:1px solid rgba(59,130,246,.2)}
.tag-gray{background:var(--s3);color:var(--text3);border:1px solid var(--border2)}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{background:var(--s3);color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:rgba(14,165,164,.04)}
.empty{text-align:center;padding:60px 40px;color:var(--text3)}
.empty-icon{font-size:44px;opacity:.2;margin-bottom:14px}
.empty-title{font-size:14px;color:var(--text2);font-weight:600;margin-bottom:6px}
.empty-sub{font-size:12px;line-height:1.6}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.stat-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px}
.stat-val{font-size:28px;font-family:var(--font-d);color:var(--gold);line-height:1.1}
.stat-lbl{font-size:11px;color:var(--text3);margin-top:5px;text-transform:uppercase;letter-spacing:.5px}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,30,35,.40);backdrop-filter:blur(4px);z-index:900;display:none;align-items:center;justify-content:center;padding:20px}
.modal-backdrop.open{display:flex}
.modal{background:var(--s1);border:1px solid var(--border2);border-radius:14px;width:600px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(15,30,35,.18)}
.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--s1);z-index:1}
.modal-title{font-size:15px;font-weight:700}
.modal-close{background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}
.modal-close:hover{background:var(--s3);color:var(--text)}
.modal-body{padding:22px}
.drawer-bd{position:fixed;inset:0;background:rgba(15,30,35,.32);backdrop-filter:blur(3px);z-index:800;display:none}
.drawer-bd.open{display:block}
.drawer{position:fixed;top:0;right:0;bottom:0;width:680px;max-width:96vw;background:var(--s1);border-left:1px solid var(--border);z-index:801;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}
.drawer.open{transform:translateX(0)}
.drawer-sm{width:500px}
.drawer-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.drawer-title{font-size:15px;font-weight:700}
.drawer-body{padding:22px;flex:1;overflow-y:auto}
.drawer-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0}
.sdiv{font-size:11px;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:20px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.toast{position:fixed;bottom:24px;right:24px;background:var(--s1);border:1px solid var(--border2);border-radius:10px;padding:11px 16px;font-size:13px;color:var(--text);box-shadow:0 8px 28px rgba(15,30,35,.12);z-index:9999;transform:translateY(14px);opacity:0;transition:all .22s;pointer-events:none;max-width:320px}
.toast.show{transform:translateY(0);opacity:1}
.toast.ok{border-color:rgba(34,160,107,.4);background:var(--green-dim)}
.toast.err{border-color:rgba(229,72,77,.4);background:var(--red-dim)}
.filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.search-wrap{position:relative;flex:1;min-width:200px}
.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text3);pointer-events:none}
.search-inp{padding:8px 12px 8px 32px;background:var(--s2);border:1px solid var(--border2);border-radius:var(--r-sm);color:var(--text);font-size:13px;outline:none;width:100%;font-family:var(--font-b)}
.search-inp:focus{border-color:var(--gold)}
.search-inp::placeholder{color:var(--text3)}
.fsel{background:var(--s2);border:1px solid var(--border2);border-radius:var(--r-sm);color:var(--text2);padding:8px 12px;font-size:12px;font-family:var(--font-b);outline:none;cursor:pointer}
.fsel:focus{border-color:var(--gold);color:var(--text)}
.mrf-sec{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:12px;overflow:hidden}
.mrf-shdr{background:var(--s3);padding:12px 18px;display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;border-bottom:1px solid transparent}
.mrf-shdr:hover{background:var(--border)}
.mrf-shdr.open{border-bottom-color:var(--border)}
.mrf-shdr-num{font-size:10px;font-weight:700;color:var(--gold);background:var(--gold-dim);border:1px solid rgba(14,165,164,.2);padding:2px 8px;border-radius:4px}
.mrf-shdr-title{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;flex:1}
.mrf-shdr-chev{color:var(--text3);font-size:11px;transition:transform .2s}
.mrf-shdr.open .mrf-shdr-chev{transform:rotate(180deg)}
.mrf-sbdy{display:none;padding:18px}
.mrf-sbdy.open{display:block}
.mrf-hdr-box{background:linear-gradient(135deg,var(--gold-dim),transparent);border:1px solid rgba(14,165,164,.2);border-radius:var(--r);padding:20px 24px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:flex-start}
.appr-flow{display:flex;align-items:center;overflow-x:auto;padding:4px 0}
.appr-step{min-width:140px;flex-shrink:0}
.appr-box{background:var(--s3);border:1px solid var(--border2);border-radius:8px;padding:13px;text-align:center}
.appr-box.approved{border-color:rgba(34,160,107,.4);background:var(--green-dim)}
.appr-box.rejected{border-color:rgba(229,72,77,.4);background:var(--red-dim)}
.appr-lv{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.appr-nm{font-size:12px;font-weight:600;color:var(--text)}
.appr-st{font-size:11px;margin-top:4px}
.appr-st.pending{color:var(--amber)}.appr-st.approved{color:var(--green)}.appr-st.rejected{color:var(--red)}
.appr-arr{color:var(--border2);font-size:18px;padding:0 8px;flex-shrink:0}
.mrf-row{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;margin-bottom:8px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:border-color .15s}
.mrf-row:hover{border-color:var(--border2)}
.mrf-num{font-size:12px;font-weight:700;color:var(--gold);min-width:110px;flex-shrink:0}
.mrf-info{flex:1;min-width:0}
.mrf-title{font-size:13px;font-weight:600}
.mrf-meta{font-size:11px;color:var(--text3);margin-top:2px}
.opening-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:18px;margin-bottom:10px;transition:border-color .15s;cursor:pointer}
.opening-card:hover{border-color:var(--border2)}
.opening-num{font-size:11px;color:var(--gold);font-weight:700;margin-bottom:3px}
.opening-title{font-size:15px;font-weight:700;font-family:var(--font-d)}
.opening-dept{font-size:12px;color:var(--text3);margin-top:2px}
.opening-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.opening-stat-val{font-size:16px;font-weight:700}
.opening-stat-lbl{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.stage-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}
.stage-Applied{background:var(--blue-dim);color:var(--blue);border:1px solid rgba(59,130,246,.2)}
.stage-Screening{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(232,155,31,.2)}
.stage-Interview{background:rgba(125,80,220,.10);color:#6E3CD4;border:1px solid rgba(125,80,220,.25)}
.stage-Assessment{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.2)}
.stage-Offer{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,160,107,.2)}
.stage-Joined{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,160,107,.3)}
.stage-Rejected{background:var(--red-dim);color:var(--red);border:1px solid rgba(229,72,77,.2)}
.iv-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;margin-bottom:8px;transition:border-color .15s}
.iv-card:hover{border-color:var(--border2)}
.asmt-param-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.asmt-param-row:last-child{border:none}
.asmt-score-inp{width:56px;background:var(--s3);border:1px solid var(--border2);border-radius:6px;color:var(--gold);padding:6px 8px;font-size:14px;font-weight:700;text-align:center;outline:none;font-family:var(--font-b)}
.asmt-score-inp:focus{border-color:var(--gold)}
.score-ring{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;border:3px solid}
.sr-ex{border-color:var(--green);color:var(--green)}.sr-gd{border-color:var(--gold);color:var(--gold)}
.sr-av{border-color:var(--amber);color:var(--amber)}.sr-pr{border-color:var(--red);color:var(--red)}.sr-na{border-color:var(--border2);color:var(--text3)}
.prog-bar{height:5px;background:var(--s4);border-radius:3px;overflow:hidden;margin-top:4px}
.prog-fill{height:100%;border-radius:3px;transition:width .4s ease}
.login-overlay{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999}
.login-overlay.hidden{display:none}
.login-box{background:var(--s1);border:1px solid var(--border2);border-radius:16px;padding:40px;width:420px;max-width:95vw;box-shadow:0 40px 80px rgba(15,30,35,.18)}
.login-brand{font-family:var(--font-d);font-size:28px;color:var(--gold);text-align:center}
.login-sub{font-size:10px;color:var(--text3);letter-spacing:2.5px;text-transform:uppercase;margin-top:3px;text-align:center}
.login-badge{margin:12px auto 28px;display:flex;align-items:center;justify-content:center;gap:5px;background:var(--gold-dim);border:1px solid rgba(14,165,164,.2);border-radius:20px;padding:4px 14px;width:fit-content}
.login-badge-text{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase}
.login-h{font-size:18px;font-weight:600;margin-bottom:4px}
.login-p{font-size:12px;color:var(--text2);margin-bottom:22px}
.login-grp{margin-bottom:14px}
.login-grp label{display:block;font-size:11px;color:var(--text2);font-weight:500;margin-bottom:5px}
.login-grp input{width:100%;background:var(--s2);border:1px solid var(--border2);border-radius:8px;color:var(--text);padding:11px 14px;font-family:var(--font-b);font-size:13px;outline:none;transition:border-color .15s;box-sizing:border-box}
.login-grp input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim)}
.login-grp input::placeholder{color:var(--text3)}
.login-btn{width:100%;padding:12px;background:var(--gold);color:#fff;border:none;border-radius:8px;font-family:var(--font-b);font-size:14px;font-weight:600;cursor:pointer;transition:all .17s;margin-top:6px}
.login-btn:hover{background:var(--gold2);transform:translateY(-1px)}
.login-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.login-err{background:var(--red-dim);border:1px solid rgba(229,72,77,.3);color:var(--red);padding:10px 14px;border-radius:8px;font-size:12px;margin-top:10px;display:none}
.login-err.show{display:block}
.login-foot{text-align:center;margin-top:18px;font-size:11px;color:var(--text3)}

.dash-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.dash-kpi{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:14px}
.kpi-lbl{font-size:9px;color:var(--text3);letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.kpi-val{font-family:var(--font-d);font-size:26px;font-weight:500;color:var(--text);margin-top:6px;line-height:1}
.kpi-sub{font-size:10px;color:var(--text2);margin-top:6px}
.dash-row{display:grid;grid-template-columns:1fr 280px;gap:14px;margin-bottom:14px}
.dash-row-eq{grid-template-columns:1fr 1fr}
.dash-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r)}
.dash-card-sm{background:var(--s2);border:1px solid var(--border);border-radius:var(--r)}
.dash-period-pills{display:flex;gap:6px;flex-wrap:wrap}
.dash-period-pills .active-pill{background:var(--gold-dim);color:var(--gold);border-color:rgba(14,165,164,0.25)}
.ch-sub{font-size:11px;color:var(--text3);margin-top:2px}
.bar-chart{display:flex;flex-direction:column;gap:9px}
.bar-row{display:grid;grid-template-columns:130px 1fr 32px;align-items:center;gap:10px}
.bar-lbl{font-size:11px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{height:6px;background:var(--s3);border-radius:3px;overflow:hidden}
.bar-fill{height:100%;background:var(--gold);border-radius:3px;transition:width .3s ease}
.bar-val{font-size:11px;color:var(--text);font-weight:600;text-align:right}
.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}
.donut-legend{width:100%;font-size:11px}
.legend-row{display:grid;grid-template-columns:10px 1fr 28px;gap:8px;align-items:center;padding:3px 0}
.ldot{width:8px;height:8px;border-radius:50%}
.llabel{color:var(--text2)}
.lval{color:var(--text);font-weight:600;text-align:right}
.af-item{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:6px 0}
.af-dot-wrap{padding-top:4px}
.af-dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.af-text{font-size:12px;color:var(--text);line-height:1.5}
.af-time{font-size:10px;color:var(--text3);margin-top:1px}
.upc-row{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px 10px;background:var(--s3);border-radius:6px;margin-bottom:8px;transition:background .15s}
.upc-row:hover{background:var(--border)}
.upc-date{text-align:center}
.upc-dow{font-size:10px;color:var(--gold);letter-spacing:1.5px;font-weight:600}
.upc-day{font-family:var(--font-d);font-size:18px;color:var(--text);font-weight:600;line-height:1}
.upc-mid .upc-name{font-size:12px;color:var(--text);font-weight:600}
.upc-mid .upc-sub{font-size:10px;color:var(--text3);margin-top:2px}
.velocity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vg-cell{text-align:center;padding:8px 0}
.vg-val{font-family:var(--font-d);font-size:26px;color:var(--gold);font-weight:500;line-height:1}
.vg-lbl{font-size:10px;color:var(--text3);margin-top:4px}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;padding:10px 12px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r)}
.search-wrap{position:relative;flex:1;min-width:220px}
.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text3)}
.search-wrap input{width:100%;background:var(--s3);border:1px solid var(--border2);border-radius:var(--r-sm);color:var(--text);padding:8px 12px 8px 30px;font-size:12px;font-family:var(--font-b);outline:none;box-sizing:border-box}
.search-wrap input:focus{border-color:var(--gold)}
.fs-inline{width:auto;min-width:130px;padding:7px 10px;font-size:12px}
@media (max-width: 1200px) {
  .dash-kpi-grid{grid-template-columns:repeat(3,1fr)}
  .dash-row{grid-template-columns:1fr}
}


/* ═══════════════════════════════════════════════════════════════════════ */
/* SETUP — BAND CATEGORIES (T0080)                                          */
/* ═══════════════════════════════════════════════════════════════════════ */
.setup-bands-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:16px;flex-wrap:wrap}
.setup-bands-title{font-size:18px;font-weight:700;color:var(--text)}
.setup-bands-sub{font-size:12px;color:var(--text3);margin-top:2px}
.setup-bands-counter{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.25);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap}

.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1280px){.band-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.band-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.band-grid{grid-template-columns:1fr}}

.band-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}
.band-card.configured{border-color:rgba(14,165,164,.35)}
.band-card.configured .band-badge{background:var(--gold);color:#fff}
.band-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.band-badge{display:inline-block;background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.3);padding:3px 8px;border-radius:6px;font-weight:700;font-size:11px;letter-spacing:.5px;font-family:var(--font-b)}
.band-name{font-size:13px;font-weight:600;color:var(--text)}

.band-field-label{font-size:10px;color:var(--text3);letter-spacing:.5px;text-transform:uppercase;font-weight:600;margin-top:6px;display:flex;justify-content:space-between;align-items:baseline}
.band-field-hint{font-size:10px;color:var(--text3);letter-spacing:0;text-transform:none;font-weight:400}

.band-input{width:100%;background:var(--s1);border:1px solid var(--border2);border-radius:var(--r-sm);padding:7px 9px;color:var(--text);font-size:13px;font-family:var(--font-b);transition:border-color .12s}
.band-input:focus{outline:none;border-color:var(--gold)}
.band-input::-webkit-outer-spin-button,.band-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.band-input[type=number]{-moz-appearance:textfield}

.band-ctc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.band-ctc-box{background:var(--s1);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 6px;text-align:center}
.band-ctc-lbl{font-size:9px;color:var(--text3);letter-spacing:.5px;text-transform:uppercase;font-weight:600}
.band-ctc-val{font-size:14px;font-weight:700;margin-top:2px;color:var(--text)}
.band-ctc-val.mn{color:var(--blue)}
.band-ctc-val.md{color:var(--gold)}
.band-ctc-val.mx{color:var(--green)}

.band-roles-stub{font-size:11px;color:var(--text3);background:var(--s1);border:1px dashed var(--border2);border-radius:var(--r-sm);padding:8px 10px;font-style:italic}

.band-remarks{width:100%;background:var(--s1);border:1px solid var(--border2);border-radius:var(--r-sm);padding:7px 9px;color:var(--text);font-size:12px;font-family:var(--font-b);resize:vertical;min-height:42px;transition:border-color .12s}
.band-remarks:focus{outline:none;border-color:var(--gold)}

.band-save-btn{margin-top:10px;align-self:flex-end}

/* ═══════════════════════════════════════════════════════════════════════ */
/* SETUP — DEPARTMENTS / KRAs / KPIs (T0081)                                */
/* ═══════════════════════════════════════════════════════════════════════ */

/* ─── List screen header ──────────────────────────────────────────── */
.setup-dept-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:16px;flex-wrap:wrap}
.setup-dept-title{font-size:18px;font-weight:700;color:var(--text)}
.setup-dept-sub{font-size:12px;color:var(--text3);margin-top:2px}
.setup-dept-counter{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.25);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap}

/* ─── Departments list (rows) ─────────────────────────────────────── */
.dept-list{display:flex;flex-direction:column;gap:6px}
.dept-row{display:grid;grid-template-columns:36px 70px 1fr auto auto auto;align-items:center;gap:14px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.dept-row:hover{border-color:var(--border2);background:var(--s3)}
.dept-row-icon{font-size:20px;line-height:1;text-align:center}
.dept-row-code{font-size:12px;font-weight:700;color:var(--gold);background:var(--gold-dim);border:1px solid rgba(14,165,164,.25);padding:3px 9px;border-radius:5px;letter-spacing:.5px;text-align:center;font-family:var(--font-b)}
.dept-row-name-main{font-size:14px;font-weight:600;color:var(--text)}
.dept-row-name-sub{font-size:11px;color:var(--text3);margin-top:2px;line-height:1.4}
.dept-row-counts{display:flex;gap:6px;flex-shrink:0}
.dept-count-pill{font-size:11px;color:var(--text2);background:var(--s3);border:1px solid var(--border2);padding:3px 9px;border-radius:14px;white-space:nowrap}
.dept-count-pill strong{color:var(--text);font-weight:700}
.dept-row-status{flex-shrink:0}
.dept-row-edit{flex-shrink:0}

@media (max-width:900px){
  .dept-row{grid-template-columns:28px 60px 1fr auto;gap:10px;padding:10px 12px}
  .dept-row-counts{display:none}
}

/* ─── Department detail screen (KRA list) ─────────────────────────── */
.dept-detail-head{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:18px;background:linear-gradient(135deg,var(--gold-dim),transparent);border:1px solid rgba(14,165,164,.2);border-radius:var(--r);padding:18px 22px;margin-bottom:8px}
.dept-detail-icon{font-size:32px;line-height:1;text-align:center}
.dept-detail-info{min-width:0}
.dept-detail-code{font-size:11px;font-weight:700;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-bottom:2px}
.dept-detail-name{font-size:18px;font-weight:700;color:var(--text);font-family:var(--font-d)}
.dept-detail-desc{font-size:12px;color:var(--text2);margin-top:4px;line-height:1.5}
.dept-detail-actions{display:flex;gap:6px;flex-shrink:0}

/* ─── KRA rows ────────────────────────────────────────────────────── */
.kra-list{display:flex;flex-direction:column;gap:6px}
.kra-row{display:grid;grid-template-columns:1fr 80px 110px auto;align-items:center;gap:14px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.kra-row:hover{border-color:var(--border2);background:var(--s3)}
.kra-row-main{min-width:0}
.kra-row-name{font-size:13px;font-weight:600;color:var(--text)}
.kra-row-desc{font-size:11px;color:var(--text3);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kra-row-weight{text-align:center;flex-shrink:0}
.kra-row-weight-val{font-size:18px;font-weight:700;color:var(--gold);font-family:var(--font-d);line-height:1}
.kra-row-weight-lbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.kra-row-kpis{text-align:center;flex-shrink:0}
.kra-row-kpis-val{font-size:16px;font-weight:700;color:var(--text);line-height:1}
.kra-row-kpis-lbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.kra-row-kpis-sum{font-size:10px;font-weight:600;margin-top:4px;padding:2px 6px;border-radius:10px;display:inline-block}
.kra-row-kpis-sum.ws-ok{background:var(--green-dim);color:var(--green)}
.kra-row-kpis-sum.ws-low{background:var(--amber-dim);color:var(--amber)}
.kra-row-kpis-sum.ws-high{background:var(--red-dim);color:var(--red)}
.kra-row-edit{display:flex;gap:4px;flex-shrink:0}

@media (max-width:900px){
  .kra-row{grid-template-columns:1fr auto auto}
  .kra-row-kpis{display:none}
}

/* ─── KRA detail screen (KPI list) ────────────────────────────────── */
.kra-detail-head{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:18px 22px;margin-bottom:8px}
.kra-detail-crumb{font-size:11px;color:var(--text3);margin-bottom:8px}
.kra-crumb-link{color:var(--text2);cursor:pointer;transition:color .15s}
.kra-crumb-link:hover{color:var(--gold)}
.kra-crumb-sep{color:var(--text3);margin:0 6px}
.kra-crumb-cur{color:var(--text);font-weight:600}
.kra-detail-info{margin-bottom:6px}
.kra-detail-name{font-size:18px;font-weight:700;color:var(--text);font-family:var(--font-d)}
.kra-detail-desc{font-size:12px;color:var(--text2);margin-top:4px;line-height:1.5}
.kra-detail-weight{font-size:12px;color:var(--text3);margin-top:8px}
.kra-detail-weight strong{color:var(--gold);font-weight:700}
.kra-detail-actions{margin-top:10px;display:flex;gap:6px}

/* ─── KPI rows ────────────────────────────────────────────────────── */
.kpi-list{display:flex;flex-direction:column;gap:6px}
.kpi-row{display:grid;grid-template-columns:1fr 80px auto;align-items:center;gap:14px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;transition:border-color .15s}
.kpi-row:hover{border-color:var(--border2)}
.kpi-row-main{min-width:0}
.kpi-row-name{font-size:13px;font-weight:600;color:var(--text)}
.kpi-row-desc{font-size:11px;color:var(--text3);margin-top:2px;line-height:1.4}
.kpi-row-target{font-size:11px;color:var(--text2);margin-top:4px;line-height:1.4}
.kpi-row-target strong{color:var(--gold);font-weight:600}
.kpi-row-weight{text-align:center;flex-shrink:0}
.kpi-row-weight-val{font-size:18px;font-weight:700;color:var(--gold);font-family:var(--font-d);line-height:1}
.kpi-row-weight-lbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.kpi-row-edit{display:flex;gap:4px;flex-shrink:0}

/* ─── Weight-sum footer bar (and modal preview) ───────────────────── */
.weight-sum-bar{margin-top:12px;display:flex;align-items:center;gap:14px;padding:10px 16px;border-radius:var(--r);border:1px solid var(--border2);background:var(--s2);font-size:13px}
.weight-sum-bar-sm{margin-top:8px;padding:8px 12px;font-size:12px}
.weight-sum-label{color:var(--text2)}
.weight-sum-value{font-weight:700;font-size:15px;font-family:var(--font-d)}
.weight-sum-bar-sm .weight-sum-value{font-size:14px}
.weight-sum-note{margin-left:auto;font-size:12px;font-weight:500}
.weight-sum-bar.ws-ok{background:var(--green-dim);border-color:rgba(34,160,107,.4)}
.weight-sum-bar.ws-ok .weight-sum-value,.weight-sum-bar.ws-ok .weight-sum-note{color:var(--green)}
.weight-sum-bar.ws-low{background:var(--amber-dim);border-color:rgba(232,155,31,.4)}
.weight-sum-bar.ws-low .weight-sum-value,.weight-sum-bar.ws-low .weight-sum-note{color:var(--amber)}
.weight-sum-bar.ws-high{background:var(--red-dim);border-color:rgba(229,72,77,.4)}
.weight-sum-bar.ws-high .weight-sum-value,.weight-sum-bar.ws-high .weight-sum-note{color:var(--red)}

/* ─── Modal helper text (for dept code immutability hint) ─────────── */
.modal-field-help{font-size:11px;color:var(--text3);margin-top:4px;line-height:1.4}

/* ═══════════════════════════════════════════════════════════════════════ */
/* SETUP — TITLES (T0082)                                                   */
/* ═══════════════════════════════════════════════════════════════════════ */

/* ─── List screen header ─────────────────────────────────────────── */
.setup-titles-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:16px;flex-wrap:wrap}
.setup-titles-title{font-size:18px;font-weight:700;color:var(--text)}
.setup-titles-sub{font-size:12px;color:var(--text3);margin-top:2px}
.setup-titles-counter{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.25);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap}

/* ─── Distribution panel ─────────────────────────────────────────── */
.titles-dist-wrap{margin-bottom:14px}
.titles-dist-toggle{display:inline-flex;align-items:center;gap:8px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text2);padding:8px 14px;font-size:12px;font-family:var(--font-b);cursor:pointer;transition:all .15s}
.titles-dist-toggle:hover{border-color:var(--border2);color:var(--text)}
.titles-dist-arrow{color:var(--gold);font-size:10px;width:12px;display:inline-block}
.titles-dist-hint{color:var(--text3);font-size:11px;font-weight:400}

.titles-dist-panel{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-top:8px}
.titles-dist-empty{padding:14px 16px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);color:var(--text3);font-size:12px;margin-top:8px}

.dist-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}
.dist-row:last-child{border-bottom:none}
.dist-row-head{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}
.dist-row-icon{font-size:14px}
.dist-row-code{color:var(--gold);font-weight:700;letter-spacing:.5px}
.dist-row-name{color:var(--text3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.dist-row-cells{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.dist-cell{padding:6px 4px;text-align:center;border-radius:5px;font-size:11px;line-height:1.2}
.dist-cell-band{color:var(--text3);font-size:9px;letter-spacing:.5px;text-transform:uppercase;font-weight:600}
.dist-cell-count{font-weight:700;font-size:13px;margin-top:1px;color:var(--text)}
.dist-cell-zero{background:var(--s1);border:1px solid var(--border)}
.dist-cell-zero .dist-cell-count{color:var(--text3)}
.dist-cell-ok{background:var(--green-dim);border:1px solid rgba(34,160,107,.25)}
.dist-cell-ok .dist-cell-count{color:var(--green)}
.dist-cell-crowded{background:var(--amber-dim);border:1px solid rgba(232,155,31,.25)}
.dist-cell-crowded .dist-cell-count{color:var(--amber)}

@media (max-width:900px){
  .dist-row{grid-template-columns:1fr}
}

/* ─── Filter bar ─────────────────────────────────────────────────── */
.titles-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:12px}
.titles-filter-lbl{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-right:4px}
.titles-filter-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);cursor:pointer;padding:6px 10px;background:var(--s3);border:1px solid var(--border2);border-radius:var(--r-sm)}
.titles-filter-check input{margin:0;cursor:pointer;accent-color:var(--gold)}
.titles-filter-check:hover{border-color:var(--gold);color:var(--text)}

/* ─── Main titles table ──────────────────────────────────────────── */
.titles-table-wrap{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.titles-table{width:100%;border-collapse:collapse;font-size:12px}
.titles-table th{background:var(--s3);color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:11px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.titles-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.titles-table tr.titles-row:last-child td{border-bottom:none}
.titles-table tr.titles-row:hover td{background:rgba(14,165,164,.04)}
.title-name-cell{font-weight:600;color:var(--text)}

.band-badge-sm{display:inline-block;background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.25);padding:2px 8px;border-radius:4px;font-weight:700;font-size:11px;letter-spacing:.5px;font-family:var(--font-b)}
.dept-pill{display:inline-block;background:var(--s3);color:var(--text2);border:1px solid var(--border2);padding:2px 8px;border-radius:4px;font-weight:600;font-size:11px;letter-spacing:.5px;font-family:var(--font-b)}

.reports-cell,.dotted-cell{color:var(--text2);font-size:11px}
.rl-root{color:var(--gold);font-style:italic}
.rl-missing{color:var(--amber);font-style:italic}
.rl-empty{color:var(--text3)}

.mgmt-yes{color:var(--green);font-weight:700;font-size:14px}
.mgmt-no{color:var(--text3)}

.title-actions{text-align:right;white-space:nowrap}
.title-actions .btn{margin-left:4px}

/* ─── Modal helpers (warning variant) ────────────────────────────── */
.modal-field-help-warn{color:var(--amber)}

/* ════════════════════════════════════════════════════════════════════════ */
/* SETUP — EMPLOYMENT TERMS (T0083)                                         */
/* Shifts / Locations / Employee Handbook + top-level handbook viewer       */
/* Appended to theme.css; depends on the T0082 base classes                 */
/* (titles-table, titles-row, fg/fl/fi/fs/fta/frow/form-actions, tag-*)     */
/* ════════════════════════════════════════════════════════════════════════ */

/* ─── Shifts: day pills (table view + modal picker) ─────────────────── */
.t0083-days-pill{display:inline-block;background:var(--s3);color:var(--text2);border:1px solid var(--border2);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px;font-family:var(--font-b)}

/* Modal day-picker: a row of clickable pill-shaped checkboxes */
.t0083-daypicker{display:flex;gap:6px;flex-wrap:wrap}
.t0083-daypicker label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--s3);border:1px solid var(--border2);border-radius:14px;font-size:12px;color:var(--text2);cursor:pointer;user-select:none;transition:all .12s}
.t0083-daypicker label:hover{border-color:var(--gold);color:var(--text)}
.t0083-daypicker input{margin:0;accent-color:var(--gold);cursor:pointer}
.t0083-daypicker label:has(input:checked){background:var(--gold-dim);border-color:rgba(14,165,164,.4);color:var(--gold);font-weight:600}

/* ─── Locations: category badges ────────────────────────────────────── */
.t0083-cat-badge{display:inline-block;padding:2px 9px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px;font-family:var(--font-b);border:1px solid transparent}
.t0083-cat-office {background:var(--blue-dim); color:var(--blue);  border-color:rgba(59,130,246,.25)}
.t0083-cat-site   {background:var(--amber-dim);color:var(--amber); border-color:rgba(232,155,31,.25)}
.t0083-cat-wfh    {background:var(--green-dim);color:var(--green); border-color:rgba(34,160,107,.25)}
.t0083-cat-hybrid {background:var(--gold-dim); color:var(--gold);  border-color:rgba(14,165,164,.25)}
.t0083-cat-other  {background:var(--s3);       color:var(--text2); border-color:var(--border2)}

/* Locations modal: radio row */
.t0083-cat-radios{display:flex;gap:8px;flex-wrap:wrap}
.t0083-cat-radios label{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--s3);border:1px solid var(--border2);border-radius:var(--r-sm);font-size:12px;color:var(--text2);cursor:pointer;user-select:none;transition:all .12s}
.t0083-cat-radios label:hover{border-color:var(--gold);color:var(--text)}
.t0083-cat-radios input{margin:0;accent-color:var(--gold);cursor:pointer}
.t0083-cat-radios label:has(input:checked){background:var(--gold-dim);border-color:rgba(14,165,164,.4);color:var(--gold);font-weight:600}

/* Notes char counter — sit on the same line as the label */
.t0083-charcount{float:right;font-size:11px;color:var(--text3);font-weight:400}

/* ─── Handbook admin: current-row highlight + upload modal ──────────── */
.t0083-hb-row-current td{background:rgba(34,160,107,.05)}
.t0083-hb-row-current .title-name-cell{color:var(--green)}

.t0083-hb-warn{padding:10px 14px;background:var(--amber-dim);border:1px solid rgba(232,155,31,.3);border-radius:var(--r-sm);color:var(--text);font-size:12px;line-height:1.5;margin-bottom:14px}
.t0083-hb-warn strong{color:var(--amber);font-weight:700}

.t0083-hb-progress{height:6px;background:var(--s3);border:1px solid var(--border2);border-radius:99px;overflow:hidden;margin-bottom:14px;display:none}
.t0083-hb-progress > div{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .15s}

.t0083-hb-file-hint{font-size:11px;color:var(--text3);margin-top:4px}

/* ─── Top-level Employee Handbook viewer (all users) ────────────────── */
.t0083-hb-card-wrap{padding:30px 20px;display:flex;justify-content:center}
.t0083-hb-card{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:36px 40px;max-width:560px;width:100%;text-align:center;box-shadow:0 6px 24px rgba(15,30,35,.08)}
.t0083-hb-card-icon{font-size:48px;margin-bottom:10px;filter:drop-shadow(0 2px 6px rgba(14,165,164,.18))}
.t0083-hb-card-lbl{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-weight:600}
.t0083-hb-card-version{font-family:var(--font-d);font-size:34px;color:var(--gold);font-weight:600;margin-bottom:18px;line-height:1.1}

.t0083-hb-card-meta{display:flex;justify-content:center;gap:32px;margin-bottom:20px;flex-wrap:wrap}
.t0083-hb-meta-k{display:block;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;font-weight:600}
.t0083-hb-meta-v{display:block;font-size:13px;color:var(--text);font-weight:500}

.t0083-hb-card-notes-lbl{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;font-weight:600;margin:14px 0 6px;text-align:left;border-top:1px solid var(--border);padding-top:14px}
.t0083-hb-card-notes{font-size:13px;color:var(--text2);line-height:1.55;text-align:left;background:var(--s3);border:1px solid var(--border2);border-radius:var(--r-sm);padding:11px 14px;margin-bottom:20px;max-height:140px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}

.t0083-hb-card-dl{padding:11px 26px;font-size:14px;font-weight:600;letter-spacing:.3px;margin-top:6px}

.t0083-hb-card-foot{font-size:11px;color:var(--text3);line-height:1.5;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}

.t0083-hb-empty{margin:0;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:50px 40px;max-width:560px;width:100%}

/* ─── Admin-only nav items (toggled on by core.js onLogin) ──────────── */
.nav-admin-only{display:none}
.nav-admin-only.is-admin-visible{display:flex}

/* ═══════════════════════════════════════════════════════════════════════
   T0070b — People: Employee Master FRONTEND (2026-05-21)
   All selectors prefixed with .emp-, .emp360-, .emp-picker-, .emp-form-,
   .promote-picker-, .t0070- to keep blast radius zero. CSS variables only.
   ─────────────────────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════════
   T0070b — People: Employee Master FRONTEND (2026-05-21)
   All selectors prefixed with .emp-, .emp360-, .emp-picker-, .emp-form-,
   .promote-picker-, .t0070- to keep blast radius zero. CSS variables only.
   ─────────────────────────────────────────────────────────────────────── */
/* T0070B_BLOCK_START */

/* ─── Employee picker (people-employee-picker.js) ───────────────────── */
.emp-picker-wrap{position:relative}
.emp-picker-input{}
.emp-picker-list{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--s2);border:1px solid var(--border2);border-radius:var(--r-sm);box-shadow:0 12px 32px rgba(15,30,35,.15);max-height:280px;overflow-y:auto;z-index:600;display:none}
.emp-picker-hint{padding:10px 14px;color:var(--text3);font-size:12px}
.emp-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--border)}
.emp-picker-item:hover{background:var(--s3)}
.emp-picker-item:last-child{border-bottom:none}
.emp-picker-photo{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--s3)}
.emp-picker-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}
.emp-picker-item-body{flex:1;min-width:0}
.emp-picker-item-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emp-picker-item-sub{font-size:11px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emp-picker-chip{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 10px;background:var(--gold-dim);border:1px solid rgba(14,165,164,.2);border-radius:14px;font-size:12px;color:var(--gold);max-width:100%}
.emp-picker-chip-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.emp-picker-chip-x{background:none;border:none;color:var(--gold);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;border-radius:3px}
.emp-picker-chip-x:hover{background:var(--gold-glow)}

/* Avatar palette (8 muted HR-appropriate colors, indices 0-7) */
.emp-picker-avatar-0,.emp-row-avatar-0,.emp360-avatar-0{background:#5B8DEF}
.emp-picker-avatar-1,.emp-row-avatar-1,.emp360-avatar-1{background:#22A06B}
.emp-picker-avatar-2,.emp-row-avatar-2,.emp360-avatar-2{background:#E89B1F}
.emp-picker-avatar-3,.emp-row-avatar-3,.emp360-avatar-3{background:#7C5BB8}
.emp-picker-avatar-4,.emp-row-avatar-4,.emp360-avatar-4{background:#0EA5A4}
.emp-picker-avatar-5,.emp-row-avatar-5,.emp360-avatar-5{background:#D86B85}
.emp-picker-avatar-6,.emp-row-avatar-6,.emp360-avatar-6{background:#6CA84F}
.emp-picker-avatar-7,.emp-row-avatar-7,.emp360-avatar-7{background:#5C7785}

/* ─── List page (people-employees.js) ──────────────────────────────── */
.emp-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}
.emp-list-title{font-size:18px;font-weight:700;color:var(--text)}
.emp-list-sub{font-size:12px;color:var(--text3);margin-top:4px}
.emp-list-search{min-width:280px;max-width:420px;flex:1}

.emp-filter-panel{background:var(--s3);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;margin-bottom:20px}
.emp-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 22px}
.emp-filter-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.emp-filter-group-wide{grid-column:span 2}
.emp-filter-label{font-size:10px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.emp-filter-checks{display:flex;flex-wrap:wrap;gap:4px 12px;max-height:120px;overflow-y:auto}
.emp-filter-check{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text2);cursor:pointer;white-space:nowrap}
.emp-filter-check input{margin:0}
.emp-filter-check input[disabled] + *{opacity:.5}
.emp-filter-toggle{font-weight:600;color:var(--text)}
.emp-filter-radios{display:flex;gap:10px;align-items:center}
.emp-filter-radios label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text2);cursor:pointer}
.emp-filter-doj{display:flex;align-items:center;gap:6px}
.emp-filter-doj .fi{padding:5px 8px;font-size:12px}
.emp-filter-doj span{font-size:11px;color:var(--text3)}
.emp-filter-empty{font-size:11px;color:var(--text3);font-style:italic}
.emp-filter-foot{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border);padding-top:10px;margin-top:14px}

.emp-table-wrap{overflow-x:auto;background:var(--s2);border:1px solid var(--border);border-radius:var(--r)}
.emp-table{width:100%;border-collapse:collapse;font-size:12px}
.emp-table th{background:var(--s3);color:var(--text3);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
.emp-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.emp-table tr:last-child td{border-bottom:none}
.emp-table tr.emp-row{cursor:pointer;transition:background .12s}
.emp-table tr.emp-row:hover td{background:rgba(14,165,164,.05)}
.emp-th-sort{background:none;border:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;padding:0;display:inline-flex;gap:4px;align-items:center}
.emp-th-sort:hover{color:var(--gold)}
.emp-th-sort-arrow{color:var(--gold);font-size:9px;width:10px}

.emp-row-photo{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--s3)}
.emp-row-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.emp-row-num{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text2)}
.emp-row-name{font-weight:500;display:flex;align-items:center;gap:8px}
.emp-row-tag{display:inline-flex;font-size:10px;padding:2px 5px;border-radius:3px;font-weight:600}
.emp-row-tag-director{background:rgba(232,155,31,.15);color:var(--amber)}
.emp-row-tag-hr{background:rgba(59,130,246,.12);color:var(--blue)}
.emp-row-band{display:inline-block;background:var(--gold-dim);color:var(--gold);font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px}
.emp-row-link{color:var(--gold);text-decoration:none}
.emp-row-link:hover{text-decoration:underline}
.emp-row-dim{color:var(--text3)}
.emp-row-prob-pill{display:inline-block;margin-top:3px;background:var(--amber-dim);color:var(--amber);border:1px solid rgba(232,155,31,.2);border-radius:10px;padding:1px 7px;font-size:10px;font-weight:500}
.emp-row-actions{text-align:right;white-space:nowrap}

.emp-row-menu{position:fixed;background:var(--s2);border:1px solid var(--border2);border-radius:var(--r-sm);box-shadow:0 12px 32px rgba(15,30,35,.18);padding:4px;min-width:180px;z-index:700}
.emp-row-menu-item{display:block;width:100%;padding:7px 10px;background:none;border:none;text-align:left;font-size:12px;color:var(--text2);cursor:pointer;border-radius:4px}
.emp-row-menu-item:hover{background:var(--s3);color:var(--text)}
.emp-row-menu-danger{color:var(--red)}
.emp-row-menu-danger:hover{background:var(--red-dim)}
.emp-row-menu-sep{height:1px;background:var(--border);margin:4px 0}

.emp-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px;padding:14px 0}
.emp-pagination-info{font-size:12px;color:var(--text3)}

/* ─── Promote candidate picker modal ───────────────────────────────── */
.promote-picker-search{margin-bottom:14px}
.promote-picker-body{max-height:380px;overflow-y:auto}
.promote-picker-hint{padding:30px 16px;text-align:center;color:var(--text3);font-size:13px;line-height:1.6}
.promote-picker-item{display:block;width:100%;padding:11px 14px;background:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);text-align:left;cursor:pointer;margin-bottom:8px;transition:all .12s}
.promote-picker-item:hover{border-color:var(--gold);background:var(--gold-dim)}
.promote-picker-item-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px}
.promote-picker-item-sub{font-size:11px;color:var(--text2);margin-bottom:4px}
.promote-picker-item-meta{display:flex;gap:8px;font-size:11px;color:var(--text3);flex-wrap:wrap}
.promote-picker-item-meta span{background:var(--s4);padding:1px 7px;border-radius:3px}

/* ─── Form (people-employee-form.js) ────────────────────────────────── */
.emp-form-wrap{max-width:1100px;margin:0 auto}
.emp-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.emp-form-title{font-size:18px;font-weight:700;color:var(--text)}
.emp-form-sub{font-size:12px;color:var(--text3);margin-top:4px;max-width:560px;line-height:1.5}
.emp-form-head-actions{display:flex;gap:8px;flex-shrink:0}

.emp-form-banner{background:var(--blue-dim);border:1px solid rgba(59,130,246,.25);border-radius:var(--r);padding:14px 18px;margin-bottom:18px;display:flex;gap:14px;max-width:1100px;margin-left:auto;margin-right:auto}
.emp-form-banner-icon{font-size:24px}
.emp-form-banner-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px}
.emp-form-banner-sub{font-size:12px;color:var(--text2)}
.emp-form-banner-note{font-size:11px;color:var(--text3);margin-top:6px;line-height:1.5}

.emp-form{display:flex;flex-direction:column;gap:18px}
.emp-form-section{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:18px 22px}
.emp-form-section legend{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:1px;padding:0 8px;margin-left:-8px}
.emp-form-hint{font-size:10px;color:var(--text3);font-weight:400;text-transform:none;letter-spacing:normal;margin-left:6px}
.emp-form-field-help{font-size:10px;color:var(--text3);margin-top:3px;line-height:1.4}
.emp-form-phone-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:14px}
.emp-form-phone-row .fg{margin:0}
.emp-form-isd{width:80px;flex:0 0 80px}
.emp-form-copy-addr{float:right;background:none;border:none;color:var(--gold);font-size:10px;cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:500}
.emp-form-copy-addr:hover{text-decoration:underline}
.emp-form-auto-resolve{margin-top:6px;font-size:12px;padding:7px 10px;border-radius:var(--r-sm);background:var(--s3);border:1px dashed var(--border2)}
.emp-form-auto-ok{color:var(--green)}
.emp-form-auto-empty{color:var(--amber)}
.emp-form-auto-multi{color:var(--text2);display:block;margin-bottom:6px}
.emp-form-auto-multi-list{display:flex;gap:6px;flex-wrap:wrap}
.emp-form-auto-pick{background:var(--s2);border:1px solid var(--border2);padding:5px 10px;border-radius:14px;font-size:12px;cursor:pointer;color:var(--text);font-family:inherit}
.emp-form-auto-pick:hover{background:var(--gold-dim);border-color:var(--gold);color:var(--gold)}
.emp-form-auto-pick-meta{color:var(--text3);font-size:10px;margin-left:3px}
.emp-form-auto-spin{color:var(--text3);font-style:italic}
.emp-form-ctc-hint{font-size:12px;padding:8px 12px;border-radius:var(--r-sm);margin-top:10px}
.emp-form-ctc-hint.ctc-ok{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,160,107,.2)}
.emp-form-ctc-hint.ctc-warn{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(232,155,31,.25)}
.emp-form-footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 0;border-top:1px solid var(--border);margin-top:4px}

/* ─── Employee 360 page (people-employee-360.js) ───────────────────── */
.emp360-head{display:flex;gap:24px;align-items:flex-start;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:22px 26px;margin-bottom:18px;flex-wrap:wrap}
.emp360-photo-wrap{position:relative;width:120px;height:120px;flex-shrink:0;cursor:pointer;border-radius:50%;overflow:hidden}
.emp360-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--s3);border:2px solid var(--border)}
.emp360-avatar{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:700;color:#fff;border:2px solid var(--border)}
.emp360-photo-overlay{position:absolute;inset:0;background:rgba(15,30,35,.55);color:#fff;font-size:11px;display:none;align-items:center;justify-content:center;border-radius:50%}
.emp360-photo-wrap:hover .emp360-photo-overlay{display:flex}
.emp360-head-body{flex:1;min-width:0}
.emp360-name{font-family:var(--font-d);font-size:26px;font-weight:600;color:var(--text);line-height:1.15;margin-bottom:6px}
.emp360-meta-line{font-size:13px;color:var(--text2);margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.emp360-meta-sub{font-size:12px;color:var(--text3)}
.emp360-prob-pill{display:inline-block;background:var(--amber-dim);color:var(--amber);border:1px solid rgba(232,155,31,.25);border-radius:14px;padding:2px 9px;font-size:11px;font-weight:500}
.emp360-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}
.emp360-tag-director{background:rgba(232,155,31,.15);color:var(--amber)}
.emp360-tag-hr{background:rgba(59,130,246,.12);color:var(--blue)}
.emp360-head-actions{display:flex;flex-direction:column;gap:8px;align-self:flex-start;flex-shrink:0}

.emp360-tabs{display:flex;gap:2px;background:var(--s1);border:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;border-bottom:none;padding:6px 6px 0;overflow-x:auto;flex-wrap:wrap}
.emp360-tab{background:none;border:none;padding:9px 16px;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;border-radius:var(--r-sm) var(--r-sm) 0 0;font-family:inherit;white-space:nowrap;transition:all .12s}
.emp360-tab:hover{color:var(--text);background:var(--s3)}
.emp360-tab.active{color:var(--gold);background:var(--s2);border:1px solid var(--border);border-bottom:1px solid var(--s2);position:relative;top:1px;font-weight:600}
.emp360-tab-content{background:var(--s2);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);padding:22px 24px;min-height:300px}

.emp360-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.emp360-section-title{font-size:15px;font-weight:700;color:var(--text)}
.emp360-section-sub{font-size:11px;color:var(--text3);font-weight:400;margin-left:6px}
.emp360-section-actions{display:flex;gap:8px;align-items:center}
.emp360-section-help{font-size:11px;color:var(--text3)}

.emp360-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.emp360-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.emp360-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.emp360-card{background:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.emp360-card-wide{grid-column:1/-1}
.emp360-card-prob{border-color:var(--amber);background:var(--amber-dim)}
.emp360-card-head{padding:9px 14px;background:var(--s4);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.emp360-card-count{background:var(--gold-dim);color:var(--gold);font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px}
.emp360-card-link{font-size:11px;color:var(--gold);text-decoration:none;font-weight:500;text-transform:none;letter-spacing:normal}
.emp360-card-link:hover{text-decoration:underline}
.emp360-card-body{padding:12px 14px}
.emp360-card-foot{padding:10px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text3)}

.emp360-chain{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.emp360-chain-arrow{color:var(--text3);font-size:14px}
.emp360-chain-node{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:var(--text);padding:6px 10px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);min-width:120px;transition:all .12s}
.emp360-chain-node:hover{border-color:var(--gold)}
.emp360-chain-node.self{background:var(--gold-dim);border-color:var(--gold);color:var(--gold)}
.emp360-chain-title{font-size:10px;color:var(--text3);font-weight:500;margin-top:2px}
.emp360-chain-node.self .emp360-chain-title{color:var(--gold)}

.emp360-stat-big{font-family:var(--font-d);font-size:28px;color:var(--gold);font-weight:600;line-height:1.1}
.emp360-stat-sub{font-size:11px;color:var(--text3);margin-top:3px}

.emp360-reps-wrap{display:flex;flex-wrap:wrap;gap:6px}
.emp360-rep-pill{background:var(--s2);border:1px solid var(--border);border-radius:14px;padding:3px 10px;font-size:11px;color:var(--text2);text-decoration:none}
.emp360-rep-pill:hover{background:var(--gold-dim);color:var(--gold);border-color:var(--gold)}
.emp360-rep-more{font-size:11px;color:var(--text3);padding:3px 8px;align-self:center}

.emp360-act-list{list-style:none;margin:0;padding:0}
.emp360-act-item{display:flex;gap:10px;padding:6px 0;font-size:12px;color:var(--text2);border-bottom:1px dashed var(--border)}
.emp360-act-item:last-child{border-bottom:none}
.emp360-act-time{color:var(--text3);font-size:11px;min-width:140px;flex-shrink:0}
.emp360-act-action{color:var(--text);font-weight:500;flex:1}
.emp360-act-who{color:var(--text3);font-size:11px}

.emp360-kv{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:6px 0;align-items:center;border-bottom:1px dashed var(--border)}
.emp360-kv:last-child{border-bottom:none}
.emp360-kv-k{font-size:11px;color:var(--text3);font-weight:500;text-transform:uppercase;letter-spacing:.4px}
.emp360-kv-v{font-size:13px;color:var(--text);word-break:break-word}
.emp360-kv-v .fi,.emp360-kv-v .fs,.emp360-kv-v .fta{padding:5px 8px;font-size:12px}
.emp360-dim{color:var(--text3)}
.emp360-chk-row{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--text2)}
.emp360-phone-row{display:flex;gap:6px}
.emp360-phone-row .fi-isd{flex:0 0 60px}
.emp360-addr-body{font-size:12px;color:var(--text2);background:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 11px;min-height:60px;white-space:pre-wrap;word-break:break-word}
.emp360-addr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}

.emp360-edit-footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 0 0;margin-top:14px;border-top:1px solid var(--border)}

/* PII reveal */
.emp360-pii-note{background:var(--blue-dim);border:1px solid rgba(59,130,246,.2);border-radius:var(--r-sm);padding:9px 14px;margin-bottom:14px;font-size:11px;color:var(--text2);line-height:1.5}
.emp360-pii-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.emp360-pii-value{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;color:var(--text);letter-spacing:.5px}
.emp360-pii-value.emp360-pii-revealed{background:var(--amber-dim);color:var(--amber);padding:1px 6px;border-radius:3px;animation:emp360-pii-pulse .4s ease}
@keyframes emp360-pii-pulse{0%{background:rgba(232,155,31,.4)}100%{background:var(--amber-dim)}}
.emp360-pii-btn{flex-shrink:0}

/* Compensation hint */
.emp360-ctc-ok{color:var(--green);font-size:12px}
.emp360-ctc-warn{color:var(--amber);font-size:12px}

/* Performance Framework */
.emp360-perf-head{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);padding:11px 16px;margin-bottom:14px;flex-wrap:wrap}
.emp360-perf-sum{font-size:13px;color:var(--text2)}
.emp360-perf-sum-val{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;color:var(--text);margin:0 6px}
.emp360-perf-add{display:flex;gap:6px;align-items:center}
.emp360-perf-loading{padding:30px;text-align:center;color:var(--text3)}
.emp360-perf-load-warn{background:var(--amber-dim);border:1px solid rgba(232,155,31,.25);border-radius:var(--r-sm);padding:9px 14px;margin-bottom:12px;font-size:12px;color:var(--amber);line-height:1.4}

.emp360-perf-list{display:flex;flex-direction:column;gap:12px}
.emp360-kra-card{background:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.emp360-kra-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;background:var(--s4);border-bottom:1px solid var(--border);flex-wrap:wrap}
.emp360-kra-title{flex:1;min-width:0}
.emp360-kra-title strong{font-size:13px;color:var(--text)}
.emp360-kra-dim{font-size:11px;color:var(--text3);margin-left:6px}
.emp360-kra-controls{display:flex;gap:6px;align-items:center;flex-shrink:0}
.emp360-kra-wt-lbl{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.emp360-kra-wt{width:70px!important;padding:5px 8px;font-size:12px;text-align:right}

.emp360-kpi-list{padding:8px 14px 12px}
.emp360-kpi-empty{padding:12px 4px;font-size:12px;color:var(--text3);font-style:italic}
.emp360-kpi-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--border)}
.emp360-kpi-row:last-of-type{border-bottom:none}
.emp360-kpi-name{font-size:12px;color:var(--text)}
.emp360-kpi-controls{display:flex;gap:6px;align-items:center}
.emp360-kpi-wt{width:65px!important;padding:4px 7px;font-size:11px;text-align:right}
.emp360-kpi-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;margin-top:8px;border-top:1px solid var(--border);font-size:11px;color:var(--text3);flex-wrap:wrap}
.emp360-kpi-sum{display:flex;gap:6px;align-items:center}
.fs-xs{padding:4px 7px;font-size:11px}

/* Recruitment Trail mini table */
.emp360-mini-tbl{width:100%;border-collapse:collapse;font-size:12px}
.emp360-mini-tbl th{background:var(--s4);padding:6px 10px;text-align:left;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px}
.emp360-mini-tbl td{padding:6px 10px;border-top:1px solid var(--border);color:var(--text)}

/* Audit log */
.emp360-audit-row{display:grid;grid-template-columns:240px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--border)}
.emp360-audit-row:last-child{border-bottom:none}
.emp360-audit-meta{font-size:11px}
.emp360-audit-time{color:var(--text3)}
.emp360-audit-action{color:var(--text);margin-top:2px}
.emp360-audit-who{color:var(--text3);margin-top:2px}
.emp360-audit-pii{font-size:12px;color:var(--blue);background:var(--blue-dim);padding:4px 9px;border-radius:4px;display:inline-block}
.emp360-audit-diff-row{display:grid;grid-template-columns:160px 1fr 18px 1fr;gap:6px;align-items:center;font-size:11px;padding:2px 0}
.emp360-audit-diff-key{color:var(--text3);font-family:ui-monospace,SF Mono,Menlo,monospace}
.emp360-audit-diff-old{color:var(--text2);background:var(--red-dim);padding:1px 6px;border-radius:3px;word-break:break-word}
.emp360-audit-diff-arr{color:var(--text3);text-align:center}
.emp360-audit-diff-new{color:var(--text);background:var(--green-dim);padding:1px 6px;border-radius:3px;word-break:break-word}

/* Cropper modal (Cropper.js wraps the <img> in its own container) */
#modal-employee-cropper .modal{width:520px;max-width:96vw}
.emp360-cropper-area{width:100%;height:340px;background:var(--s4);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.emp360-cropper-area img{max-width:100%;display:block}
.emp360-cropper-hint{font-size:11px;color:var(--text3);margin-top:10px;line-height:1.5;text-align:center}

/* T0070B_BLOCK_END */


/* ═══════════════════════════════════════════════════════════════
   T0071A_BLOCK_START — Org Chart
   ═══════════════════════════════════════════════════════════════ */
.oc-grade-ribbon{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 20px;background:var(--s2);border-bottom:1px solid var(--border)}
.oc-grade-pill{display:flex;align-items:center;gap:0;border-radius:20px;overflow:hidden;border:1px solid var(--border);font-size:11px}
.oc-grade-label{padding:3px 7px;background:var(--s2);color:var(--text3);font-weight:600;border-right:1px solid var(--border)}
.oc-grade-count{padding:3px 8px;background:var(--bg);color:var(--text);font-weight:700}
.oc-grade-total .oc-grade-label{background:var(--gold-dim);color:var(--gold)}
.oc-grade-total .oc-grade-count{background:var(--gold-dim);color:var(--gold)}
.oc-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--border)}
.oc-view-btn{padding:5px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text3);font-size:12px;cursor:pointer;font-weight:500;transition:all .15s}
.oc-view-btn.is-active{background:var(--gold);color:#fff;border-color:var(--gold)}
.oc-view-btn:hover:not(.is-active){background:var(--s3);color:var(--text)}
.oc-scroll-area{overflow:auto;padding:24px 20px;min-height:300px}
.oc-chart-wrap{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start}
.oc-root-col{flex-shrink:0}
.oc-node{display:flex;flex-direction:column;align-items:center}
.oc-child-wrap{display:flex;flex-direction:column;align-items:center;position:relative}
.oc-child-wrap::before{content:'';position:absolute;top:0;left:50%;width:1px;height:20px;background:var(--border)}
.oc-children{display:flex;gap:16px;padding-top:20px;position:relative}
.oc-children::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--border)}
.oc-line-v{width:1px;height:20px;background:var(--border);margin:0 auto}
.oc-box{background:var(--s2);border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;min-width:150px;max-width:190px;text-align:center;cursor:pointer;position:relative;transition:border-color .15s,box-shadow .15s;user-select:none}
.oc-box:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(14,165,164,.12)}
.oc-box-root{border-color:var(--gold);background:var(--gold-dim)}
.oc-box-vacant{border-style:dashed;opacity:.82}
.oc-box-vacant:hover{border-color:var(--amber)}
.oc-photo{width:40px;height:40px;border-radius:50%;background:var(--s3);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;overflow:hidden;border:2px solid var(--border);color:var(--text3);flex-shrink:0}
.oc-photo-vacant{background:rgba(250,189,88,.08);border-color:rgba(250,189,88,.3)}
.oc-box-name{font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-box-name-vacant{color:var(--text3);font-weight:600}
.oc-box-title{font-size:10px;color:var(--text3);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-box-dept{font-size:10px;color:var(--text3);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-box-empnum{font-size:9px;color:var(--text3);margin-top:4px}
.oc-box-meta{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.oc-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:.02em}
.oc-badge-band{background:var(--gold-dim);color:var(--gold);border:1px solid rgba(14,165,164,.2)}
.oc-badge-vacant{background:rgba(250,189,88,.12);color:var(--amber);border:1px solid rgba(250,189,88,.25)}
.oc-badge-dotted{background:rgba(139,92,246,.08);color:#8b5cf6;border:1px solid rgba(139,92,246,.2)}
.oc-collapse-btn{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:18px;height:18px;border-radius:50%;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text3);cursor:pointer;transition:border-color .15s;z-index:2;line-height:1}
.oc-box:hover .oc-collapse-btn{border-color:var(--gold);color:var(--gold)}
.oc-legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 20px;font-size:11px;color:var(--text3);border-top:1px solid var(--border)}
.oc-legend-item{display:flex;align-items:center;gap:6px}
.oc-legend-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}
.oc-swatch-filled{background:var(--s2);border:1.5px solid var(--border)}
.oc-swatch-vacant{background:rgba(250,189,88,.08);border:1.5px dashed rgba(250,189,88,.4)}
.oc-swatch-dotted{background:rgba(139,92,246,.08);border:1.5px solid rgba(139,92,246,.3)}
@media print{.sidebar,.topbar,.oc-toolbar,.oc-legend,.oc-grade-ribbon,.btn{display:none!important}.main{margin:0!important;width:100%!important}.oc-scroll-area{overflow:visible!important;padding:8px!important}.oc-box{break-inside:avoid}.section{display:block!important}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
/* T0071A_BLOCK_END */


/* ============================================================
   T0118B_BLOCK_START — Admin Users module styles
   ============================================================ */

/* Container */
.au-container { padding: 24px; max-width: 1100px; }

.au-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 16px;
}
.au-header-left {}
.au-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 4px 0;
}
.au-subtitle {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin: 0;
}
.au-add-btn { white-space: nowrap; }

/* Filters */
.au-filters {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.au-filter-select {
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--s1);
  color: var(--text-primary);
  font-size: 0.85rem;
  cursor: pointer;
}
.au-filter-select:focus { outline: none; border-color: var(--gold); }

/* Table */
.au-table-wrap {
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
.au-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.au-table thead th {
  background: var(--s2);
  padding: 11px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
}
.au-table tbody tr { border-bottom: 1px solid var(--border); }
.au-table tbody tr:last-child { border-bottom: none; }
.au-table tbody td { padding: 12px 16px; vertical-align: middle; }
.au-row:hover { background: var(--s2); }
.au-row-inactive { opacity: 0.55; }

/* Name cell */
.au-name-cell { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.au-name { font-weight: 600; color: var(--text-primary); }
.au-self-tag {
  font-size: 0.7rem;
  background: var(--gold)20;
  color: var(--gold);
  border: 1px solid var(--gold)40;
  border-radius: 4px;
  padding: 1px 6px;
  font-weight: 600;
}
.au-must-change-badge {
  font-size: 0.7rem;
  background: #D9770620;
  color: #D97706;
  border: 1px solid #D9770640;
  border-radius: 4px;
  padding: 1px 6px;
  font-weight: 600;
}
.au-email { color: var(--text-secondary); font-size: 0.85rem; }
.au-last-login { color: var(--text-muted); font-size: 0.82rem; }
.au-never { color: var(--text-muted); font-style: italic; }

/* Role badges */
.au-role-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

/* Status badges */
.au-status-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
}
.au-status-active   { background: #05966920; color: #059669; border: 1px solid #05966940; }
.au-status-inactive { background: #6B728020; color: #6B7280; border: 1px solid #6B728040; }

/* Action buttons */
.au-actions { display: flex; gap: 6px; align-items: center; }
.au-btn-icon {
  background: none;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 4px 8px;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--text-secondary);
  transition: all 0.15s;
}
.au-btn-icon:hover { background: var(--s3); border-color: var(--gold); }
.au-btn-danger:hover  { background: #EF444420; border-color: #EF4444; }
.au-btn-success:hover { background: #05966920; border-color: #059669; }

/* Loading / empty / error states */
.au-loading, .au-empty, .au-error {
  text-align: center;
  padding: 40px;
  color: var(--text-muted);
  font-size: 0.9rem;
}
.au-error { color: #EF4444; }

/* Modal */
.au-modal-box { width: 480px; max-width: 95vw; }
.au-form-group { margin-bottom: 16px; }
.au-label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: 6px;
}
.au-req { color: #EF4444; }
.au-input {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--s1);
  color: var(--text-primary);
  font-size: 0.9rem;
  box-sizing: border-box;
  transition: border-color 0.15s;
}
.au-input:focus { outline: none; border-color: var(--gold); }
.au-hint {
  margin: 5px 0 0 0;
  font-size: 0.78rem;
  color: var(--text-muted);
}
.au-pw-wrap { position: relative; display: flex; align-items: center; }
.au-pw-wrap .au-input { padding-right: 40px; }
.au-pw-toggle {
  position: absolute;
  right: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  padding: 0;
  line-height: 1;
}
.au-form-error {
  background: #EF444415;
  border: 1px solid #EF444430;
  color: #EF4444;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 0.83rem;
  margin-top: 4px;
}
.au-reset-intro {
  font-size: 0.9rem;
  color: var(--text-secondary);
  margin: 0 0 16px 0;
  line-height: 1.5;
}

/* ============================================================
   T0118B_BLOCK_END
   ============================================================ */


/* ============================================================
   T0118C_BLOCK_START — Collapsible sidebar nav
   ============================================================ */

/* Group header — the clickable section title */
.nav-group-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 9px 11px;
  background: none;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  color: var(--text3);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-top: 6px;
  transition: background 0.15s, color 0.15s;
  text-align: left;
}
.nav-group-hdr:hover {
  background: var(--s3);
  color: var(--text2);
}
.nav-group-hdr.open {
  color: var(--gold);
}

/* Single-item group header (Org Chart — acts as direct nav button) */
.nav-group-hdr-single {
  color: var(--text2);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  margin-top: 2px;
}
.nav-group-hdr-single:hover {
  background: var(--s3);
  color: var(--text);
}
.nav-group-hdr-single.active {
  background: var(--gold-dim);
  color: var(--gold);
  border: 1px solid rgba(14,165,164,.15);
  font-weight: 600;
}

/* Chevron — rotates when open */
.nav-chevron {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  opacity: 0.6;
}
.nav-group-hdr.open .nav-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

/* Group body — collapsed by default */
.nav-group-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.25s ease;
}
.nav-group-body.open {
  max-height: 2000px;
  overflow: visible;
}

/* nav-admin-only: hidden until is-admin-visible is toggled */
/* (existing rule pair from T0083b unchanged — just adding group-level support) */
.nav-group-hdr.nav-admin-only  { display: none; }
.nav-group-body.nav-admin-only { display: none; }
.nav-group-hdr.nav-admin-only.is-admin-visible  { display: flex; }
.nav-group-body.nav-admin-only.is-admin-visible { display: block; }

/* ============================================================
   T0118C_BLOCK_END
   ============================================================ */


/* ═══════════════════════════════════════════════════════════════════════════ */
/* T0073B_BLOCK_START — Performance Reviews                                   */
/* ═══════════════════════════════════════════════════════════════════════════ */
.pr-page{padding:24px 28px;max-width:1100px}
.pr-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}
.pr-page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}
.pr-page-sub{font-size:.85rem;color:var(--text-muted);margin:0}
.pr-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:none;font-size:.84rem;font-weight:600;cursor:pointer;transition:opacity .15s,box-shadow .15s}
.pr-btn:hover{opacity:.88}
.pr-btn-primary{background:#c8972b;color:#fff}
.pr-btn-success{background:#16a34a;color:#fff}
.pr-btn-warning{background:#d97706;color:#fff}
.pr-btn-danger{background:#dc2626;color:#fff}
.pr-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}
.pr-btn-ghost:hover{background:var(--bg-hover)}
.pr-btn-sm{padding:5px 10px;font-size:.78rem}
.pr-btn-xs{padding:3px 8px;font-size:.75rem}
.pr-req{color:#dc2626}
.pr-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.pr-badge-draft{background:#f3f4f6;color:#6b7280}
.pr-badge-active{background:#d1fae5;color:#065f46}
.pr-badge-frozen{background:#dbeafe;color:#1e40af}
.pr-badge-completed{background:#ede9fe;color:#5b21b6}
.pr-badge-recalled{background:#fee2e2;color:#991b1b}
.pr-cadence-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;background:var(--bg-alt);color:var(--text-secondary);border:1px solid var(--border)}
.pr-emp-status{display:inline-block;padding:3px 9px;border-radius:12px;font-size:.75rem;font-weight:600}
.pr-emp-pending{background:#fef3c7;color:#92400e}
.pr-emp-submitted{background:#d1fae5;color:#065f46}
.pr-emp-approved{background:#ede9fe;color:#5b21b6}
.pr-emp-recalled{background:#fee2e2;color:#991b1b}
.pr-score-chip{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.78rem;font-weight:700;background:#ede9fe;color:#5b21b6}
.pr-score-na{color:var(--text-muted);font-size:.82rem}
.pr-cycles-list{display:flex;flex-direction:column;gap:12px}
.pr-cycle-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-card);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:box-shadow .2s}
.pr-cycle-card:hover{box-shadow:0 3px 10px rgba(0,0,0,.1)}
.pr-cycle-card--open{border-color:var(--accent)}
.pr-cycle-header{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;flex-wrap:wrap;user-select:none}
.pr-cycle-meta{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;flex-wrap:wrap}
.pr-cycle-label{font-size:.95rem;font-weight:600;color:var(--text-primary)}
.pr-cycle-dates{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--text-muted);min-width:160px}
.pr-date-range{font-weight:600;color:var(--text-secondary)}
.pr-freeze-info{font-size:.73rem}
.pr-cycle-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-cycle-chevron{font-size:.75rem;color:var(--text-muted);margin-left:4px}
.pr-cycle-body{border-top:1px solid var(--border);background:var(--bg-alt)}
.pr-cycle-body-inner{padding:16px 18px}
.pr-response-summary{display:flex;align-items:center;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:14px;flex-wrap:wrap;gap:4px}
.pr-summary-stat{display:flex;flex-direction:column;align-items:center;padding:4px 18px;min-width:80px}
.pr-summary-num{font-size:1.4rem;font-weight:800;color:var(--text-primary);line-height:1}
.pr-summary-lbl{font-size:.72rem;color:var(--text-muted);margin-top:2px}
.pr-summary-divider{width:1px;height:36px;background:var(--border);margin:0 4px}
.pr-num-self{color:#d97706}.pr-num-mgr{color:#2563eb}.pr-num-hr{color:#7c3aed}
.pr-response-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}
.pr-response-table{width:100%;border-collapse:collapse;font-size:.83rem}
.pr-response-table th{padding:9px 12px;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-alt);border-bottom:1px solid var(--border);white-space:nowrap}
.pr-response-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.pr-response-row{cursor:pointer;transition:background .12s}
.pr-response-row:hover{background:var(--bg-hover)}
.pr-response-row:last-child td{border-bottom:none}
.pr-emp-name-cell{display:flex;align-items:center;gap:10px}
.pr-emp-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}
.pr-emp-name{font-weight:600;color:var(--text-primary);font-size:.84rem}
.pr-emp-num{font-size:.72rem;color:var(--text-muted)}
.pr-dept-cell{color:var(--text-secondary)}
.pr-grid-empty{padding:28px;text-align:center;color:var(--text-muted)}
.pr-grid-empty-hint{font-size:.78rem;margin-top:4px}
.pr-drawer{position:fixed;inset:0;z-index:900;display:flex;justify-content:flex-end}
.pr-drawer-hidden{display:none}
.pr-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.pr-drawer-panel{position:relative;width:min(580px,95vw);height:100%;background:#ffffff;overflow-y:auto;box-shadow:-4px 0 24px rgba(0,0,0,.15);display:flex;flex-direction:column;z-index:901}
.pr-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#ffffff;z-index:10}
.pr-drawer-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0 0 2px}
.pr-drawer-sub{font-size:.78rem;color:var(--text-muted);margin:0}
.pr-drawer-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;flex-shrink:0;transition:background .12s}
.pr-drawer-close:hover{background:var(--bg-hover)}
.pr-drawer-body{padding:20px 22px;flex:1}
.pr-drawer-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.pr-eval-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.pr-eval-section:last-child{border-bottom:none;margin-bottom:0}
.pr-eval-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px;flex-wrap:wrap}
.pr-eval-section-title{font-size:.92rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}
.pr-eval-awaiting{font-size:.84rem;color:var(--text-muted);margin:0;font-style:italic}
.pr-eval-awaiting--blocked{color:#b45309}
.pr-self-intro{font-size:.84rem;color:var(--text-secondary);margin:0 0 14px}
.pr-kpi-score-list{display:flex;flex-direction:column;gap:10px}
.pr-kpi-score-card{padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-alt)}
.pr-kpi-score-card--editable{border-color:#bfdbfe}
.pr-kpi-score-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.pr-kpi-name{font-weight:600;font-size:.85rem;color:var(--text-primary);flex:1}
.pr-kpi-weight{font-size:.72rem;color:var(--text-muted);white-space:nowrap}
.pr-kra-tag{font-size:.7rem;padding:1px 7px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}
.pr-kpi-comment{font-size:.8rem;color:var(--text-secondary);margin:6px 0 0;font-style:italic}
.pr-star-row{display:flex;align-items:center;gap:3px;margin-bottom:6px}
.pr-star{font-size:1.35rem;line-height:1;transition:color .1s}
.pr-star--on{color:#f59e0b}
.pr-star--off{color:#d1d5db}
.pr-star--interactive{cursor:pointer}
.pr-star--interactive:hover{transform:scale(1.15)}
.pr-rating-label{font-size:.78rem;color:var(--text-secondary);margin-left:6px;font-weight:600}
.pr-rating-na{color:var(--text-muted);font-weight:400;font-style:italic}
.pr-overall-comment{margin-top:12px;padding:10px 12px;background:var(--bg-alt);border-radius:6px;border:1px solid var(--border)}
.pr-comment-text{font-size:.83rem;color:var(--text-secondary);margin:4px 0 0}
.pr-suggested-score{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:16px;flex-wrap:wrap}
.pr-suggested-label{font-size:.82rem;color:#166534;font-weight:600}
.pr-suggested-value{font-size:1.25rem;font-weight:800;color:#166534}
.pr-suggested-hint{font-size:.75rem;color:#4b5563;font-style:italic}
.pr-final-score-block{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;background:#faf5ff;border:1px solid #ddd6fe;border-radius:10px;margin-bottom:16px;text-align:center}
.pr-final-score-label{font-size:.78rem;color:#6d28d9;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.pr-final-score-value{font-size:2.2rem;font-weight:800;color:#5b21b6;line-height:1}
.pr-final-score-denom{font-size:1rem;font-weight:400}
.pr-score-bar-wrap{width:200px;height:8px;border-radius:4px;background:#e9d5ff;margin-top:8px;overflow:hidden}
.pr-score-bar{height:100%;border-radius:4px;transition:width .4s ease}
.pr-bar--excellent{background:#16a34a}
.pr-bar--good{background:#2563eb}
.pr-bar--average{background:#d97706}
.pr-bar--low{background:#dc2626}
.pr-hr-notes-read{margin-top:12px}
.pr-actioned-at{font-size:.75rem;color:var(--text-muted);margin-top:8px;text-align:center}
.pr-submit-warning{font-size:.78rem;color:#92400e;background:#fef3c7;padding:6px 10px;border-radius:6px;margin:0;flex:1}
.pr-modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:none}
.pr-modal-hidden{display:none}
.pr-modal{background:#fff;border-radius:12px;width:min(520px,100%);box-shadow:0 20px 60px rgba(0,0,0,.4);overflow:hidden;position:relative;z-index:1001}
.pr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 16px;border-bottom:1px solid var(--border)}
.pr-modal-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}
.pr-modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.pr-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border);background:var(--bg-alt)}
.pr-field{display:flex;flex-direction:column;gap:5px}
.pr-field-row{display:flex;gap:12px}
.pr-field-row .pr-field{flex:1}
.pr-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}
.pr-hint{display:block;font-size:.73rem;color:var(--text-muted);font-weight:400;margin-top:2px}
.pr-input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.84rem;color:var(--text-primary);background:var(--bg-card);transition:border-color .15s;font-family:inherit;width:100%;box-sizing:border-box}
.pr-input:focus{outline:none;border-color:var(--accent)}
.pr-input-sm{max-width:120px}
.pr-textarea{resize:vertical;min-height:56px}
.pr-empty{text-align:center;padding:48px 24px;color:var(--text-muted)}
.pr-empty-icon{font-size:2.5rem;margin-bottom:12px}
.pr-empty-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 6px}
.pr-empty-sub{font-size:.83rem;margin:0}
.pr-loading{padding:24px;text-align:center;color:var(--text-muted);font-size:.84rem;font-style:italic}
.pr-error{padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.84rem}
.pr-hidden{display:none!important}
/* ═══════════════════════════════════════════════════════════════════════════ */
/* T0073B_BLOCK_END                                                           */
/* ═══════════════════════════════════════════════════════════════════════════ */
