:root{--accent-soft:color-mix(in srgb, var(--accent) 28%, var(--paper));--accent-wash:color-mix(in srgb, var(--accent) 12%, var(--paper));--accent-line:color-mix(in srgb, var(--accent-strong) 48%, var(--paper));--focus:var(--accent-strong);--red:#a6332d;accent-color:var(--accent-strong);color:var(--ink);background:var(--paper);font-synthesis:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,select,input[type=checkbox]{cursor:pointer}input{caret-color:var(--focus)}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-underline-offset:3px}button,a,input,select,summary{outline-offset:3px}:focus-visible{outline:2px solid var(--focus)}::selection{background:var(--accent-soft);color:var(--ink)}*{scrollbar-color:var(--line-strong) var(--wash);scrollbar-width:thin}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:10;background:var(--accent);padding:12px;position:fixed;top:8px;left:12px}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:42px;height:72px;padding:0 32px;display:flex}.brand{letter-spacing:-.035em;align-items:center;gap:9px;width:fit-content;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:23px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);width:29px;height:29px;color:var(--accent-ink);border-radius:5px;flex:none;place-items:center;display:grid}.brand .brand-mark svg{width:22px;height:22px}.app-header nav{align-self:stretch;align-items:center;gap:27px;display:flex}.app-header nav a{padding:23px 0;font-size:13px;font-weight:560;text-decoration:none}.app-header nav a:hover{color:var(--accent-strong)}.account{align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.avatar{background:var(--accent-soft);border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.workspace{max-width:1920px;margin:0 auto;padding:28px 32px 34px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}h1{letter-spacing:-.035em;margin:0 0 7px;font-size:29px;font-weight:650;line-height:1.25}h2{letter-spacing:-.02em;margin:0 0 16px;font-size:18px;font-weight:620;line-height:1.4}p{line-height:1.6}.page-heading p{color:var(--muted);margin:0;font-size:13px}.heading-count{color:var(--muted);letter-spacing:0;vertical-align:3px;font-variant-numeric:tabular-nums;margin-left:8px;font-size:15px;font-weight:500}.button{border:1px solid var(--line-strong);background:var(--paper);white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-size:13px;font-weight:580;line-height:1.3;text-decoration:none;display:inline-flex}.button svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:16px;height:16px}.button:hover{background:var(--wash)}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button-secondary{background:var(--paper)}.text-button{white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:5px 7px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.text-button:hover{background:var(--wash);border-radius:3px}.muted{color:var(--muted)}.batch-tabs{border-bottom:1px solid var(--line);align-items:stretch;gap:0;min-height:47px;margin-bottom:20px;display:flex;overflow:auto}.batch-tabs>a{white-space:nowrap;align-self:stretch;padding:13px 17px;font-size:12px;font-weight:550;text-decoration:none}.batch-tabs a.active{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent-strong)}.batch-day{border-left:1px solid var(--line);flex-shrink:0;align-items:center;gap:4px;padding:0 7px 0 14px;display:flex}.batch-day>span{color:var(--muted);padding-right:4px;font-size:11px}.batch-day>a{font-variant-numeric:tabular-nums;border-radius:3px;padding:8px 11px;font-size:12px;text-decoration:none}.batch-day small{color:var(--muted);margin-left:6px;font-size:10px}.view-strip{justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px;display:flex}.status-tabs{gap:20px;display:flex;overflow-x:auto}.status-tabs a{color:var(--muted);white-space:nowrap;padding:3px 0;font-size:12px;text-decoration:none}.status-tabs a.active{color:var(--ink);font-weight:650}.status-tabs a span{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:6px;font-weight:450}.history-link{color:var(--muted);white-space:nowrap;font-size:12px;text-decoration:none}.history-link:hover{text-decoration:underline}.filters{align-items:center;gap:9px;margin-bottom:17px;display:flex}.filters input,.filters select{background:var(--paper);border:1px solid var(--line-strong);border-radius:4px;max-width:100%;height:37px;padding:0 10px;font-size:12px}.filters label:not(.search-field){flex-shrink:1;min-width:100px}.filters input::placeholder{color:var(--muted)}.filters input[name=location]{width:175px}.filters select{width:225px}.search-field{flex:1;position:relative}.search-field input{width:100%;padding-left:34px}.search-field svg{fill:none;width:15px;height:15px;stroke:var(--muted);stroke-width:1.7px;pointer-events:none;position:absolute;top:11px;left:11px}.filters .button{height:37px;padding:7px 13px;font-size:12px}.grid-toolbar{justify-content:space-between;align-items:center;gap:14px;min-height:34px;display:flex}.selection-tools{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;display:flex}.selection-tools strong{color:var(--ink);margin-right:6px;font-size:12px}.grid-scroll{border:1px solid var(--line);width:100%;max-height:65vh;overflow:auto}.editable-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;line-height:1.4}.editable-grid th{z-index:2;background:var(--wash);text-align:left;height:37px;color:var(--muted);border-right:1px solid var(--line);border-bottom:1px solid var(--line-strong);padding:0 11px;font-size:11px;font-weight:550;position:sticky;top:0}.editable-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--paper);height:40px;padding:0}.editable-grid tbody tr:last-child td{border-bottom:0}.editable-grid .select-cell{text-align:center;z-index:2;width:42px;position:sticky;left:0}.editable-grid th.select-cell{z-index:4}.editable-grid .title-cell{z-index:1;position:sticky;left:42px}.editable-grid th:nth-child(2){z-index:3;position:sticky;left:42px}.editable-grid .selected-row td{background:var(--accent-soft)}.grid-cell{position:relative;overflow:hidden}.grid-cell:not(.editing):hover{background:var(--accent-wash);cursor:text}.grid-cell[aria-haspopup=dialog]:hover{cursor:pointer}.grid-cell[aria-readonly=true]:hover{cursor:default}.grid-cell[aria-readonly=true] .cell-value{font-variant-numeric:tabular-nums}.grid-cell:focus{outline:2px solid var(--focus);outline-offset:-2px}.cell-value{white-space:nowrap;text-overflow:ellipsis;min-height:39px;padding:10px 11px;display:block;overflow:hidden}.title-cell .cell-value{font-weight:560}.grid-cell input,.grid-cell select{background:var(--paper);outline:2px solid var(--focus);outline-offset:-2px;cursor:text;border:0;border-radius:0;width:100%;height:39px;margin:0;padding:0 11px;font-size:12px}.grid-cell select{cursor:pointer}.grid-cell.cell-error{box-shadow:inset 0 -2px 0 var(--red)}.grid-cell[data-column="4"] .cell-value{color:var(--accent-strong);padding-right:35px}.open-job{background:inherit;width:31px;height:39px;color:var(--muted);place-items:center;display:grid;position:absolute;top:0;right:0}.open-job:hover{background:var(--accent-soft)}.open-job svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:15px;height:15px}.visibility-dot{vertical-align:2px;background:#438260;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}.visibility-dot.hidden{background:#8b9896}.visibility-dot.expired{background:#ac7830}.unknown-date{color:var(--muted);font-size:11px;font-style:italic}input[type=checkbox]{accent-color:var(--focus);width:13px;height:13px}.grid-feedback{min-height:32px;color:var(--muted);align-items:center;gap:12px;font-size:11px;line-height:1.6;display:flex}.grid-feedback.has-error{color:var(--red)}.saving-indicator:before{content:"";background:#9c8126;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.pagination{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:18px;margin:14px 0 0;font-size:11px;display:flex}.pagination-controls{align-items:center;gap:7px;display:flex}.pagination a{border-radius:3px;padding:6px 9px;text-decoration:none;display:inline-block}.pagination a.current{background:var(--accent-soft);color:var(--ink)}.pagination a:hover{background:var(--accent-wash)}.pagination .disabled{opacity:.4;pointer-events:none}.new-row-editor{border:1px solid var(--line-strong);background:var(--wash);margin:8px 0 16px;padding:20px}.new-row-editor h2{margin-bottom:13px;font-size:16px}.new-row-fields{grid-template-columns:1.2fr 1fr 1fr;gap:16px;display:grid}.new-row-tag{white-space:normal;text-align:left;justify-content:flex-start;min-height:40px;font-weight:400}.tag-editor{border:1px solid var(--line-strong);background:var(--paper);width:min(550px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:12px;padding:clamp(16px,5vw,26px)}.tag-editor::backdrop{background:#192a2c47}.tag-editor-heading{margin-bottom:16px}.tag-editor-heading h2{margin:0 0 4px}.tag-editor-heading p{color:var(--muted);margin:0;font-size:13px}.tag-editor-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;display:grid}.tag-editor-options label{cursor:pointer;align-items:center;gap:7px;min-height:36px;font-size:13px;display:flex}.tag-editor-options input{flex:none}.qualification-editor{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-inline-size:0;margin:0 0 12px;padding:12px;display:grid}.qualification-editor legend{padding-inline:4px;font-size:12px;font-weight:550}.qualification-editor .field:nth-of-type(2){grid-column:1/-1}.qualification-editor .text-button{place-self:end}@media (max-width:430px){.tag-editor-options,.qualification-editor{grid-template-columns:minmax(0,1fr)}}.field{flex-direction:column;gap:7px;font-size:12px;font-weight:550;display:flex}.field input,.field select{border:1px solid var(--line-strong);background:var(--paper);border-radius:4px;width:100%;height:40px;padding:0 10px;font-size:13px;font-weight:400}.field input[type=file]{height:auto;padding:12px}.field input[type=file]::file-selector-button{border:1px solid var(--line-strong);background:var(--wash);color:var(--ink);cursor:pointer;border-radius:4px;margin-right:12px;padding:7px 11px}.field-help{color:var(--muted);max-width:75ch;font-size:12px;font-weight:400;line-height:1.7}.form-actions{gap:9px;margin-top:18px;display:flex}.form-feedback,.feedback{background:#eff5e8;border:1px solid #c7d8bb;margin:15px 0;padding:12px 15px;font-size:13px;line-height:1.65}.form-feedback p{margin:2px 0}.form-feedback.error,.feedback.error,.field-error{color:var(--red);background:#fff4f1;border-color:#e9c4bb}.field-error{font-size:12px}.upload-panel{border:1px solid var(--line);max-width:840px;margin-bottom:30px;padding:24px}.upload-panel h2{margin-bottom:8px}.upload-panel>p{color:var(--muted);font-size:13px}.upload-panel .field{margin:18px 0}.upload-panel .button{margin-top:7px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:30px 0 15px;display:flex}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin:0;font-size:12px}.import-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:24px;margin:12px 0 16px;padding:17px 0;display:flex}.import-summary>div{align-items:baseline;gap:7px;display:flex}.import-summary dt{color:var(--muted);font-size:12px}.import-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.import-preview{margin:20px 0}.import-preview>p{max-width:75ch;font-size:13px}.import-links{flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0;font-size:13px;display:flex}.import-issues{margin-top:18px}.import-issues summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:550}.import-results{margin-top:30px}.table-wrap{border:1px solid var(--line);width:100%;overflow:auto}.data-table,.errors-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.data-table th,.errors-table th{background:var(--wash);color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--line);padding:12px;font-size:11px;font-weight:550}.data-table td,.errors-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:13px 12px;line-height:1.65}.data-table tr:last-child td,.errors-table tr:last-child td{border-bottom:0}.data-table td p{margin:0}.data-table td ul,.errors-table td ul{margin:0;padding-left:17px}.data-table a{color:var(--accent-strong)}.source-table{min-width:1040px}.source-table td{overflow-wrap:anywhere;min-width:150px;max-width:320px}.source-table td:first-child{min-width:45px}.source-table td:nth-child(2){min-width:230px}.status{color:#325848;background:#edf4ee;border-radius:3px;padding:2px 7px;font-size:11px;display:inline-block}.empty-state{color:var(--muted);text-align:center;padding:42px 24px}.empty-state h1,.empty-state h2{color:var(--ink)}.empty-state p{font-size:13px}.login-page{background:var(--wash);place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.login-panel{background:var(--paper);border:1px solid var(--line);width:min(100%,420px);padding:34px}.login-panel .brand{margin-bottom:36px}.login-panel h1{margin-bottom:10px;font-size:25px}.login-panel>p{color:var(--muted);margin-bottom:26px;font-size:13px}.login-panel form{gap:19px;display:grid}.login-panel .button{width:100%;margin-top:2px}.login-panel pre{background:var(--wash);padding:15px;font-size:12px;overflow:auto}.login-panel .form-feedback{margin:0}@media (max-width:900px){.app-header{gap:30px;height:65px;padding:0 21px}.workspace{padding:25px 21px}.account>span:not(.avatar){display:none}.filters{flex-wrap:wrap}.search-field{flex-basis:100%}.filters>label:not(.search-field){flex:1}.filters label input,.filters label select{width:100%}.status-tabs{gap:16px}.new-row-fields{grid-template-columns:1fr 1fr}.view-strip{flex-direction:column;align-items:flex-start;gap:11px}.data-table{min-width:800px}}@media (max-width:550px){.app-header{flex-wrap:wrap;gap:5px 16px;height:auto;min-height:72px;padding:10px 16px}.brand{gap:8px;font-size:21px}.brand-mark{width:25px;height:25px}.brand .brand-mark svg{width:19px;height:19px}.app-header nav{flex-basis:100%;order:1;gap:18px}.app-header nav a{padding:5px 0}.account{gap:4px;min-width:0}.account>span:not(.avatar){text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}.avatar{display:none}.account .text-button{padding:4px;font-size:11px}.workspace{padding:23px 14px 28px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}h1{font-size:26px}.page-heading p{max-width:220px;font-size:12px}.page-heading .button{padding:9px 11px;font-size:12px}.batch-tabs{margin-bottom:17px}.status-tabs{gap:18px;max-width:calc(100vw - 28px)}.filters select{min-width:100px}.grid-toolbar{align-items:flex-start;gap:9px;padding:4px 0 9px}.selection-tools{max-width:240px;font-size:10px;line-height:1.7}.editable-grid .title-cell,.editable-grid th:nth-child(2),.editable-grid .select-cell{position:relative;left:auto}.grid-scroll{max-height:62vh}.pagination{flex-direction:column;align-items:flex-start;gap:8px}.pagination-controls{flex-wrap:wrap;gap:3px}.new-row-fields{grid-template-columns:1fr}.upload-panel{padding:19px}.import-summary{gap:14px 20px}.login-panel{padding:28px}}@media (prefers-reduced-motion:no-preference){.grid-cell,.button{transition:background-color .12s ease-out}}
