.outcome-status-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;width:100%}.outcome-menu{position:relative;flex:none}.outcome-menu>summary{list-style:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:var(--panel);color:var(--text)}.outcome-menu>summary::-webkit-details-marker{display:none}.outcome-menu summary svg{width:18px;height:18px}.outcome-menu[open]>summary{border-color:var(--accent,#c29c52)}.outcome-menu-items{position:fixed;width:240px;z-index:700;padding:6px;background:var(--panel,#fff);color:var(--text,#163b40);border:1px solid var(--border,#bad9d8);border-radius:12px;box-shadow:0 16px 45px #00171f35;display:grid;gap:2px}.outcome-menu:not([open]) .outcome-menu-items{display:none}.outcome-menu-items button{border:0;background:none;text-align:left;padding:10px 12px;min-height:38px;border-radius:7px;color:inherit;font:inherit;font-size:12px;cursor:pointer}.outcome-menu-items button:hover:not(:disabled){background:var(--soft,#d9eeeb)}.outcome-menu-items button:disabled{opacity:.4;cursor:default}.outcome-menu-items .outcome-remove{color:#c95555;border-top:1px solid var(--border);border-radius:0 0 7px 7px;margin-top:3px}
.recruiter-timesheet .dossier-attendance-controls{min-width:155px;max-width:235px;gap:5px}.recruiter-timesheet .dossier-attendance-controls small{line-height:1.5}.recruiter-timesheet [data-outcome-row]{cursor:pointer}.recruiter-timesheet [data-outcome-row]:hover{background:var(--soft)}.recruiter-timesheet [data-outcome-row]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.outcome-proof{display:inline-block;color:var(--muted);font-size:12px;line-height:1.5}.outcome-proof.is-confirmed{color:#139d81}
.outcome-grid-scroll{overflow:auto;max-height:calc(100dvh - 220px);border:1px solid var(--border);border-radius:12px;background:var(--panel);scrollbar-width:thin;scrollbar-color:#1b858a55 transparent}.recruiter-timesheet .outcome-grid{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;font-size:12px}.recruiter-timesheet .outcome-grid th,.recruiter-timesheet .outcome-grid td{padding:9px 10px!important;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle!important}.outcome-grid thead th{position:sticky;top:0;z-index:3;background:var(--soft);color:var(--text);text-align:center!important}.outcome-grid .outcome-sticky{position:sticky;left:0;z-index:2;background:var(--panel);width:215px;max-width:235px;min-width:190px}.outcome-grid thead .outcome-sticky{z-index:4;background:var(--soft)}.outcome-grid th small{display:block;color:var(--muted);margin-top:4px;font-weight:400}.recruiter-timesheet .outcome-grid .outcome-day{min-width:45px;text-align:center!important;color:var(--muted);font-variant-numeric:tabular-nums}.recruiter-timesheet .outcome-grid .outcome-day.has-hours{background:#20aa8720;color:#128c73;font-weight:600}.outcome-grid .outcome-total{background:var(--soft);text-align:center!important;font-weight:700;min-width:80px}.outcome-grid td:nth-child(2){min-width:140px;max-width:200px;white-space:normal}.outcome-grid td:nth-child(3){min-width:155px;max-width:200px}.outcome-grid tbody tr:last-child td{border-bottom:0}
#candidate-outcome-drawer{position:fixed;right:0;bottom:0;width:min(490px,100vw);z-index:210;overflow:auto;background:var(--panel,#f5faf9);color:var(--text,#173b43);border-left:1px solid var(--border,#b5d4d3);box-shadow:-14px 0 60px #001b2828;animation:outcome-enter .2s ease-out;scrollbar-width:thin}#candidate-outcome-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:var(--soft,#e1efec);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3}#candidate-outcome-drawer h2{font-size:20px;margin:0 0 7px;line-height:1.4}#candidate-outcome-drawer header p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.outcome-drawer-body{padding:20px 24px;display:grid;gap:18px}.outcome-drawer-body section{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.outcome-drawer-body h3{font-size:13px;margin:0 0 14px}.outcome-drawer-body .dossier-attendance-controls{align-items:stretch;max-width:none;width:100%}.outcome-drawer-body .primary{margin-top:14px;width:100%;justify-content:center}.outcome-drawer-body p{font-size:12px;line-height:1.6}.outcome-drawer-body small{color:var(--muted);font-size:11px}.outcome-shifts table{border-collapse:collapse;width:100%;font-size:12px}.outcome-shifts td,.outcome-shifts th{text-align:left;padding:10px 6px;border-bottom:1px solid var(--border)}.outcome-shifts td:last-child{color:var(--muted)}
html[data-theme=dark] #candidate-outcome-drawer{--panel:#05262e;--soft:#0a343d;--text:#e4f5f6;--muted:#91b8bf;--border:#20535d;--accent:#edc57d;background:linear-gradient(120deg,#082b32fa,#032028fc);backdrop-filter:blur(24px)}html[data-theme=dark] .outcome-menu-items{background:#082b32f7;color:#e2f6f5;backdrop-filter:blur(20px);border-color:#245b62}html[data-theme=dark] .outcome-menu-items button:hover{background:#13515b}html[data-theme=dark] .outcome-proof.is-confirmed,html[data-theme=dark] .outcome-grid .outcome-day.has-hours{color:#40d4ac}
@keyframes outcome-enter{from{transform:translateX(100%);opacity:.5}to{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){#candidate-outcome-drawer{animation:none}}@media(max-width:760px){.outcome-drawer-body{padding:14px}.outcome-grid-scroll{max-height:65dvh}}

/* One aligned status / proof block per candidate, with a fixed action column. */
#main .timesheet-directory-table .timesheet-confirmation .dossier-attendance-controls{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:3px 12px;width:min(100%,270px);min-width:0;max-width:270px;margin-inline:auto;text-align:left}
#main .timesheet-confirmation .outcome-status-line{display:contents}
#main .timesheet-confirmation .dossier-attendance-label{grid-column:1;grid-row:1;align-self:end;font-size:12px;line-height:1.45;text-align:left}
#main .timesheet-confirmation .dossier-attendance-controls>small{grid-column:1;grid-row:2;align-self:start;display:block;margin:0;font-size:10px;font-weight:400;line-height:1.5;text-align:left;overflow-wrap:anywhere}
#main .timesheet-confirmation .outcome-menu{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0}
#main .timesheet-confirmation .outcome-menu>summary{width:30px;height:30px;padding:0}
#main .timesheet-confirmation [data-attendance-error]{grid-column:1/-1;text-align:left}
/* Solid table surfaces keep scrolled content from showing through sticky cells. */
#main .recruiter-timesheet .outcome-grid-scroll{background:var(--panel);isolation:isolate}
#main .recruiter-timesheet .outcome-grid{background:var(--panel)}
#main .recruiter-timesheet .outcome-grid tbody tr{--outcome-row-surface:var(--panel)}
#main .recruiter-timesheet .outcome-grid tbody tr[data-attendance-state=started]{--outcome-row-surface:color-mix(in srgb,#2d9e73 10%,var(--panel))}
#main .recruiter-timesheet .outcome-grid tbody tr[data-attendance-state=no_show]{--outcome-row-surface:color-mix(in srgb,#c87563 8%,var(--panel))}
#main .recruiter-timesheet .outcome-grid tbody tr:hover{--outcome-row-surface:var(--soft)}
#main .recruiter-timesheet .outcome-grid tbody td{background:var(--outcome-row-surface)}
#main .recruiter-timesheet .outcome-grid tbody .outcome-day.has-hours{background:color-mix(in srgb,#20aa87 16%,var(--panel))}
#main .recruiter-timesheet .outcome-grid tbody .outcome-total{background:var(--soft)}
#main .recruiter-timesheet .outcome-grid thead th{background:var(--soft);backdrop-filter:none;-webkit-backdrop-filter:none;z-index:3}
#main .recruiter-timesheet .outcome-grid tbody .outcome-sticky{background:var(--outcome-row-surface);box-shadow:1px 0 var(--border);z-index:2}
#main .recruiter-timesheet .outcome-grid thead .outcome-sticky{background:var(--soft);z-index:4}
