:root{--bg:#f4f7f6;--surface:#fff;--surface-2:#eef3f1;--ink:#18231f;--muted:#65736e;--line:#d8e0dc;--line-strong:#b9c7c2;--green:#25624f;--green-soft:#e3f0eb;--amber:#9d6427;--amber-soft:#f6eadb;--red:#a84236;--red-soft:#f7e5e1;--blue:#3b5d80;--blue-soft:#e7eef5;--shadow:0 22px 55px #16262129;--drawer-width:min(820px, 100vw);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px}body{color:var(--ink);background:linear-gradient(180deg, #25624f14, transparent 280px), var(--bg);margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1500px,100vw - 48px);margin:0 auto;padding:32px 0 48px}.masthead{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}h1{letter-spacing:0;margin:0;font-size:clamp(40px,6vw,72px);line-height:.92}.masthead-summary{max-width:460px;color:var(--muted);margin:0;font-size:16px;line-height:1.6}.toolbar{grid-template-columns:minmax(260px,1.2fr) repeat(2,minmax(180px,.4fr)) auto;align-items:stretch;gap:12px;margin-bottom:12px;display:grid}.search-field,.select-field{border:1px solid var(--line);background:var(--surface);width:100%;min-height:48px;color:var(--ink);border-radius:8px;outline:none}.search-field{padding:0 16px}.select-field{padding:0 40px 0 14px}.search-field:focus,.select-field:focus,.filter-toggle:focus-visible,.primary-button:focus-visible,.row-action:focus-visible,.drawer-close:focus-visible,.link-button:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #25624f2b}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:8px;min-height:48px;padding:0 18px;font-weight:700}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.filter-toggle{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;padding:0 12px;font-size:14px;font-weight:700}.filter-toggle.is-active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.employee-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.panel-title{margin:0;font-size:18px;font-weight:800}.panel-count{color:var(--muted);font-size:14px;font-weight:700}.table-wrap{overflow-x:auto}.employee-table{border-collapse:collapse;width:100%;min-width:1080px}.employee-table th{color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:0;text-align:left;text-transform:uppercase;background:#f8faf9;padding:13px 14px;font-size:12px;font-weight:800}.employee-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:15px 14px;font-size:14px}.employee-table tbody tr{transition:background .15s,box-shadow .15s}.employee-table tbody tr:hover,.employee-table tbody tr.is-selected{background:#f4f8f6}.employee-table tbody tr:last-child td{border-bottom:none}.employee-cell{align-items:center;gap:12px;min-width:235px;display:flex}.avatar{color:#fff;text-transform:uppercase;border:1px solid #ffffff94;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:14px;font-weight:800;line-height:1;display:grid}.avatar.large{width:88px;height:88px;font-size:24px}.employee-name{margin:0 0 2px;font-weight:800}.employee-sub{color:var(--muted);font-size:13px}.status-stack{flex-wrap:wrap;gap:6px;min-width:220px;display:flex}.chip,.status-pill{white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex}.chip.green,.status-pill.complete,.status-pill.active{background:var(--green-soft);color:var(--green)}.chip.amber,.status-pill.pending,.status-pill.due,.status-pill.review{background:var(--amber-soft);color:var(--amber)}.chip.red,.status-pill.missing,.status-pill.overdue,.status-pill.expired,.status-pill.inactive{background:var(--red-soft);color:var(--red)}.chip.blue,.status-pill.probation,.status-pill.scheduled{background:var(--blue-soft);color:var(--blue)}.chip.neutral,.status-pill.neutral{background:var(--surface-2);color:var(--muted)}.row-action{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:800}.empty-state{color:var(--muted);text-align:center;padding:42px 20px}.drawer-scrim{z-index:30;background:#0f181557;position:fixed;inset:0}.employee-drawer{z-index:40;width:var(--drawer-width);background:var(--surface);max-width:100vw;box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto}.drawer-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:0 22px;display:flex}.drawer-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:13px;font-weight:800}.drawer-close{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;font-size:24px;line-height:1;display:grid}.drawer-scroll{overflow-y:auto}.drawer-header{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;gap:22px;padding:28px 28px 22px;display:grid}.drawer-header h2{letter-spacing:0;margin:0 0 8px;font-size:clamp(30px,4vw,44px);line-height:1}.drawer-role{color:var(--muted);margin:0;font-size:17px}.drawer-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:20px;display:grid}.fact{min-width:0}.fact-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-bottom:3px;font-size:12px;font-weight:800;display:block}.fact-value{color:var(--ink);font-size:14px;font-weight:750}.quick-indicators{border-bottom:1px solid var(--line);background:#f8faf9;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 28px;display:grid}.indicator{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:13px}.indicator-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:800}.indicator-value{justify-content:space-between;align-items:center;gap:8px;display:flex}.indicator-value strong{font-size:18px}.drawer-nav{z-index:2;border-bottom:1px solid var(--line);background:#fffffff5;gap:8px;padding:12px 28px;display:flex;position:sticky;top:0;overflow-x:auto}.drawer-nav a{border:1px solid var(--line);color:var(--ink);border-radius:8px;flex:none;padding:8px 11px;font-size:13px;font-weight:800;text-decoration:none}.drawer-section{border-bottom:1px solid var(--line);padding:26px 28px 30px}.drawer-section:last-child{border-bottom:none}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.section-heading h3{margin:0;font-size:24px;line-height:1.15}.section-note{color:var(--muted);font-size:14px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-panel{border:1px solid var(--line);border-radius:8px;padding:15px}.detail-panel h4{margin:0 0 12px;font-size:15px}.detail-list{gap:10px;margin:0;display:grid}.detail-row{grid-template-columns:minmax(120px,.45fr) 1fr;gap:12px;display:grid}.detail-key{color:var(--muted);font-size:13px;font-weight:800}.detail-data{min-width:0;color:var(--ink);font-size:14px}.notes-placeholder,.upload-zone{border:1px dashed var(--line-strong);color:var(--muted);background:#fafcfb;border-radius:8px;padding:18px}.progress-block{gap:8px;margin-bottom:16px;display:grid}.progress-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.progress-value{font-size:20px;font-weight:850}.progress-track{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--green);height:100%}.record-table{border-collapse:collapse;border:1px solid var(--line);border-radius:8px;width:100%}.record-table th,.record-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px;font-size:13px}.record-table th{color:var(--muted);letter-spacing:0;text-transform:uppercase;background:#f8faf9;font-size:11px;font-weight:850}.record-table tr:last-child td{border-bottom:none}.document-name{color:var(--ink);align-items:center;gap:7px;font-weight:750;display:inline-flex}.doc-mark{border:1px solid var(--line-strong);background:#fff;border-radius:3px;flex:none;width:15px;height:18px;position:relative}.doc-mark:after{border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);content:"";background:#eef3f1;width:6px;height:6px;position:absolute;top:-1px;right:-1px}.doc-missing{color:var(--red);font-weight:800}.link-button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:850}.timeline{gap:12px;display:grid}.timeline-card,.review-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:15px}.timeline-card h4,.review-card h4{margin:0 0 10px;font-size:16px}.timeline-meta,.review-meta,.document-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.review-list,.document-list{gap:12px;display:grid}.document-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.document-meta{color:var(--muted);font-size:13px}.upload-zone{text-align:center;place-items:center;min-height:108px;margin-bottom:14px;display:grid}.upload-zone strong{color:var(--ink);margin-bottom:5px;display:block}.muted{color:var(--muted)}@media (max-width:1040px){.app-shell{width:min(100vw - 28px,1500px);padding-top:24px}.masthead{flex-direction:column;align-items:flex-start}.toolbar{grid-template-columns:1fr 1fr}.primary-button{grid-column:span 2}}@media (max-width:760px){.app-shell{width:min(100vw - 20px,1500px);padding-top:18px}h1{font-size:44px}.toolbar{grid-template-columns:1fr}.primary-button{grid-column:auto}.panel-header{flex-direction:column;align-items:flex-start}.employee-drawer{width:100vw}.drawer-header,.quick-indicators,.detail-grid,.timeline-meta,.review-meta,.document-grid{grid-template-columns:1fr}.drawer-header{padding:22px 18px}.drawer-facts{grid-template-columns:1fr}.quick-indicators,.drawer-nav,.drawer-section{padding-left:18px;padding-right:18px}.detail-row{grid-template-columns:1fr;gap:3px}.record-table{min-width:680px}.record-table.compact{min-width:560px}}
