:root{--bg: #f4f6fb;--surface: #ffffff;--sub-soft: #eef3fb;--line: #d7deeb;--ink: #1c2230;--muted: #5b6478;--navy: #1f3864;--white: #ffffff;--sub: #d9e2f3;--navy-deep: #16294a;--primary: #1f3864;--primary-hover: #16294a;--on-primary: #ffffff;--focus-ring: #d9e2f3;--input-disabled-bg: #f3f5f9;--topbar-bg: #1f3864;--topbar-fg: #ffffff;--topbar-fg-muted: #d9e2f3;--topbar-hover-bg: #16294a;--topbar-active-bg: #ffffff;--topbar-active-fg: #1f3864;--ok: #1f7a4d;--ok-bg: #e3f3ea;--ok-border: #b7ddc7;--warn: #8a5a00;--warn-bg: #fbeccf;--info: #234e8a;--info-bg: #dde8f8;--info-border: #c2d4ee;--danger: #b03030;--danger-bg: #fbe4e4;--danger-border: #efbcbc;--archived-bg: #e7e9ef;--shadow: 0 1px 3px rgba(31, 56, 100, .12);--shadow-up: 0 -2px 8px rgba(31, 56, 100, .1);color-scheme:light}:root[data-theme=dark]{--bg: #0f1419;--surface: #1a2027;--sub-soft: #222a34;--line: #2a323d;--ink: #e6e9ee;--muted: #9aa4b2;--navy: #aebfdf;--white: #ffffff;--sub: #2a323d;--navy-deep: #0b1117;--primary: #2f5e9e;--primary-hover: #3a6fb5;--on-primary: #f3f6fb;--focus-ring: rgba(110, 150, 210, .45);--input-disabled-bg: #161b21;--topbar-bg: #11161c;--topbar-fg: #e6e9ee;--topbar-fg-muted: #9aa4b2;--topbar-hover-bg: #222a34;--topbar-active-bg: #2a3441;--topbar-active-fg: #e6e9ee;--ok: #5cc08a;--ok-bg: #14301f;--ok-border: #1f5236;--warn: #d9a441;--warn-bg: #3a2c10;--info: #7fa8e0;--info-bg: #16263d;--info-border: #274566;--danger: #e9817f;--danger-bg: #3a1b1b;--danger-border: #5e2a2a;--archived-bg: #2a313c;--shadow: 0 1px 3px rgba(0, 0, 0, .5);--shadow-up: 0 -2px 8px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}a{color:var(--info)}.topbar{background:var(--topbar-bg);color:var(--topbar-fg);padding:12px 24px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow)}.topbar h1{font-size:17px;margin:0;font-weight:600;letter-spacing:.2px;cursor:pointer}.topbar .spacer{flex:1}.topnav{display:flex;gap:6px;margin-left:8px}.topnav .navlink{background:transparent;color:var(--topbar-fg-muted);border:1px solid transparent;padding:6px 12px;font-size:13px;font-weight:600}.topnav .navlink:hover{background:var(--topbar-hover-bg);color:var(--topbar-fg)}.topnav .navlink.active{background:var(--topbar-active-bg);color:var(--topbar-active-fg)}.topbar .me{font-size:13px;color:var(--topbar-fg-muted);text-align:right;line-height:1.3}.topbar .me strong{color:var(--topbar-fg)}.topbar .roles{font-size:11px;color:var(--topbar-fg-muted);text-transform:uppercase;letter-spacing:.5px}.identity{display:flex;align-items:center;gap:8px}.identity label{font-size:12px;color:var(--topbar-fg-muted)}.identity select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:13px;color:var(--ink)}.container{max-width:1080px;margin:24px auto;padding:0 24px 80px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.card>.card-head{padding:14px 18px;border-bottom:1px solid var(--line);background:var(--sub-soft);display:flex;align-items:baseline;gap:10px}.card>.card-head h2{margin:0;font-size:15px;color:var(--navy)}.card>.card-head .weight{font-size:12px;color:var(--muted)}.card>.card-body{padding:16px 18px}.row{display:flex;gap:16px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}input[type=text],input[type=number],input[type=password],input[type=date],textarea,select{font:inherit;border:1px solid var(--line);border-radius:6px;padding:7px 9px;color:var(--ink);background:var(--surface)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring)}input:disabled,textarea:disabled,select:disabled{background:var(--input-disabled-bg);color:var(--muted);cursor:not-allowed}textarea{min-height:70px;resize:vertical}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--sub-soft);color:var(--navy);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--sub-soft)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.table-input{width:100%}.table-input.short{width:90px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badge.draft{background:var(--info-bg);color:var(--info)}.badge.manager_review,.badge.employee_ack{background:var(--warn-bg);color:var(--warn)}.badge.finalised{background:var(--ok-bg);color:var(--ok)}.badge.archived{background:var(--archived-bg);color:var(--muted)}button{font:inherit;font-weight:600;border-radius:7px;padding:9px 16px;border:1px solid transparent;cursor:pointer}button.primary{background:var(--primary);color:var(--on-primary)}button.primary:hover{background:var(--primary-hover)}button.secondary{background:var(--surface);color:var(--navy);border-color:var(--navy)}button.secondary:hover{background:var(--sub-soft)}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;border:none;color:var(--info);padding:0;text-decoration:underline}.banner{padding:10px 16px;border-radius:8px;margin-bottom:18px;font-size:13px;font-weight:600}.banner.readonly{background:var(--sub-soft);color:var(--navy);border:1px solid var(--line)}.banner.finalised{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.banner.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.banner.info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.actionbar{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow-up);padding:12px 24px;display:flex;align-items:center;gap:12px;margin:0 -24px}.actionbar .avg{margin-left:auto;font-size:13px;color:var(--muted)}.actionbar .avg strong{color:var(--navy);font-size:15px}.enrich-band{background:linear-gradient(135deg,var(--navy-deep),#27508a);color:#fff;border-radius:12px;overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow)}.enrich-head{padding:18px 22px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}.enrich-score{font-size:46px;font-weight:800;line-height:1}.enrich-score small{font-size:18px;font-weight:600;opacity:.7}.enrich-lbl{font-size:13px;opacity:.95;max-width:640px}.enrich-lbl b{font-size:15px}.kpigrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff29}.kpi-card{background:var(--navy-deep);padding:13px 18px}.kpi-num{font-size:22px;font-weight:800;line-height:1.1}.kpi-cap{font-size:11px;opacity:.72;text-transform:uppercase;letter-spacing:.5px;margin-top:3px}@media (max-width: 680px){.kpigrid{grid-template-columns:1fr 1fr}}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700}.pill.g{background:var(--ok-bg);color:var(--ok)}.pill.y{background:var(--warn-bg);color:var(--warn)}.pill.r{background:var(--danger-bg);color:var(--danger)}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cols2 .card{margin-bottom:0}@media (max-width: 680px){.cols2{grid-template-columns:1fr}}ul.tight{margin:0;padding-left:18px}ul.tight li{margin-bottom:6px}.narrative-block{margin-bottom:14px}.narrative-block:last-child{margin-bottom:0}.narrative-block h4{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.narrative-block p{margin:0;font-size:13px}.src-chip{display:inline-block;font-size:11px;font-weight:600;color:var(--info);background:var(--info-bg);border:1px solid var(--info-border);border-radius:5px;padding:1px 6px;margin-left:6px;white-space:nowrap}.detail-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}.detail-head .subject{flex:1}.detail-head h2{margin:0 0 2px;font-size:20px;color:var(--navy)}.detail-head .sub-meta{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.center{text-align:center;padding:40px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar .grow{flex:1}.notice{font-size:12px;color:var(--muted);font-style:italic}.naBtn{font-size:11px;padding:3px 8px;margin-left:6px}.savemsg{font-size:13px;font-weight:600}.savemsg.ok{color:var(--ok)}.savemsg.err{color:var(--danger)}.topbar{flex-wrap:wrap;row-gap:10px}.topnav{flex-wrap:wrap}.account{display:flex;align-items:center;gap:12px}.account .me{text-align:right}.account-label{font-size:12px;color:var(--topbar-fg-muted)}.btn-signout{background:var(--topbar-active-bg);color:var(--topbar-active-fg);border:1px solid var(--topbar-active-bg);font-weight:700;padding:8px 16px;border-radius:7px}.btn-signout:hover{filter:brightness(.95)}@media (max-width: 640px){.topbar{gap:12px;padding:12px 16px}.topbar h1{font-size:15px}.account{width:100%;justify-content:space-between}}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.person-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.person-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-card:hover{border-color:var(--navy)}.scorecard-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.scorecard-metrics{display:flex;gap:24px;margin-top:12px;flex-wrap:wrap}.metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.metric-value{font-size:22px;font-weight:700;color:var(--navy)}
