.candidate-workspace,.candidate-modal { color:var(--ink,#202a30); font-size:14px; line-height:1.5; min-width:0; }
.candidate-workspace *,.candidate-modal * { box-sizing:border-box; letter-spacing:0; }
.candidate-workspace h2,.candidate-modal h2 { font-size:20px; line-height:1.4; margin:0 0 16px; overflow-wrap:anywhere; }
.candidate-workspace h3,.candidate-modal h3 { font-size:16px; line-height:1.4; margin:0 0 12px; overflow-wrap:anywhere; }
.candidate-workspace h4 { font-size:14px; margin:0; }
.candidate-workspace p,.candidate-modal p { overflow-wrap:anywhere; }
.candidate-workspace svg,.candidate-modal svg { width:18px; height:18px; flex:none; }
.candidate-workspace a,.candidate-modal a { color:#075e69; text-underline-offset:3px; overflow-wrap:anywhere; }
.candidate-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:14px; border-bottom:2px solid var(--primary,#136d78); }
.candidate-heading h2 { margin:0; }
.candidate-heading p { margin:3px 0 0; color:var(--muted,#53606a); }
.candidate-toolbar,.candidate-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.candidate-toolbar label { display:grid; gap:6px; }
.candidate-organization { display:grid; gap:6px; width:360px; max-width:100%; margin:12px 0; }
.candidate-organization select { min-width:0; width:100%; min-height:44px; }
.candidate-catalogue { min-width:0; padding:0; border:0; }
.candidate-catalogue-row { padding:12px 0; border-bottom:1px solid var(--line,#d3dce0); }
.candidate-catalogue-row small { display:block; margin-left:28px; }
.candidate-toolbar [role="group"] { display:flex; flex-wrap:wrap; }
.candidate-toolbar [role="group"] button { border-radius:0; margin-right:-1px; }
.candidate-toolbar [aria-pressed="true"] { color:#075762; background:#e4f2f2; border-color:#35757d; position:relative; }
.candidate-columns { display:grid; grid-template-columns:minmax(180px,.86fr) minmax(300px,1.8fr) minmax(200px,1fr); gap:24px; align-items:start; }
.candidate-columns > * { min-width:0; }
.candidate-left { border-right:1px solid var(--line,#d3dce0); padding-right:20px; }
.candidate-right { border-left:1px solid var(--line,#d3dce0); padding-left:20px; }
.candidate-center { padding:0 0 20px; }
.candidate-section { border-bottom:1px solid var(--line,#d3dce0); padding:0 0 20px; margin:0 0 22px; }
.candidate-section > h3 { display:flex; gap:8px; align-items:center; padding-bottom:10px; border-bottom:1px solid var(--line,#d3dce0); }
.candidate-details { margin:0 0 18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
.candidate-details > div { min-width:0; }
.candidate-details dt { font-size:12px; color:var(--muted,#53606a); margin-bottom:2px; }
.candidate-details dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.candidate-left .candidate-details { grid-template-columns:minmax(0,1fr); gap:10px; }
.candidate-provider + .candidate-provider { border-top:1px solid var(--line,#d3dce0); padding-top:18px; margin-top:18px; }
.candidate-workspace button,.candidate-modal button,.candidate-button { max-width:100%; min-height:44px; border-radius:4px; gap:8px; white-space:normal; overflow-wrap:anywhere; }
.candidate-icon-button { flex:0 0 44px; width:44px; height:44px; padding:10px; }
.candidate-workspace .candidate-primary,.candidate-modal .candidate-primary { background:#146572; border-color:#146572; color:white; }
.candidate-workspace button:disabled,.candidate-modal button:disabled { opacity:.65; cursor:not-allowed; }
.candidate-workspace :focus-visible,.candidate-modal :focus-visible { outline:3px solid #9a4908; outline-offset:3px; }
.candidate-action-list { display:grid; gap:8px; }
.candidate-action-list > * { justify-content:flex-start; text-align:left; width:100%; }
.candidate-action-list a { display:flex; min-height:44px; align-items:center; padding:8px 12px; border:1px solid var(--line,#d3dce0); text-decoration:none; }
.candidate-action-list > button:first-child { background:#146572; border-color:#146572; color:white; }
.candidate-program { margin:0 0 24px; }
.candidate-program > h3 { padding:12px; margin:0; border-left:4px solid var(--primary,#136d78); background:#eef2f3; }
.candidate-component { padding:16px 0; border-bottom:1px solid var(--line,#d3dce0); }
.candidate-component-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.candidate-component p { margin:7px 0; }
.candidate-component summary { cursor:pointer; min-height:32px; padding-top:4px; color:#075e69; }
.candidate-attempts { padding:0; list-style:none; margin:8px 0 0; }
.candidate-attempts li { display:flex; flex-wrap:wrap; gap:8px; padding:8px 0; align-items:center; }
.candidate-status { display:inline-flex; justify-self:start; align-self:start; font-size:12px; font-weight:600; padding:3px 8px; border-radius:3px; max-width:100%; overflow-wrap:anywhere; }
.candidate-status-neutral { background:#edf0f2; color:#3e4a51; }
.candidate-status-success { background:#e1f1e7; color:#205e3b; }
.candidate-status-danger { background:#fae7e5; color:#922c26; }
.candidate-status-pending { background:#fff0ca; color:#694900; }
.candidate-records { list-style:none; padding:0; margin:0; }
.candidate-records > li { display:grid; gap:7px; padding:12px 0; border-bottom:1px solid var(--line,#d3dce0); overflow-wrap:anywhere; }
.candidate-records .candidate-actions { justify-content:flex-end; }
.candidate-records time { font-size:13px; }
.candidate-records p { margin:0; }
.candidate-records summary { min-height:44px; padding:10px 0; cursor:pointer; color:#075e69; }
.candidate-empty { color:var(--muted,#53606a); padding:14px 0; }
.candidate-muted { color:var(--muted,#53606a); font-size:13px; }
.candidate-notice { color:#205e3b; margin:12px 0 18px; }
.candidate-notice:empty { margin:18px 0 0; }
.candidate-error { color:#a1241b; border-left:3px solid #a1241b; padding:10px; background:#fff2ef; }
.candidate-feedback { min-height:180px; display:grid; align-content:center; justify-items:center; gap:14px; text-align:center; }
.candidate-note { padding:12px; border-left:3px solid #947100; background:#fff6db; color:#514000; }
.candidate-form { display:grid; gap:16px; }
.candidate-form fieldset,.candidate-choices,.candidate-slots fieldset { border:0; padding:0; margin:0 0 20px; min-width:0; }
.candidate-form legend,.candidate-choices legend,.candidate-slots legend { font-weight:650; font-size:15px; margin-bottom:12px; padding:0; }
.candidate-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.candidate-form label,.candidate-field { display:grid; gap:6px; min-width:0; margin:0; }
.candidate-form input,.candidate-form select,.candidate-form textarea,.candidate-field select,.candidate-toolbar select { width:100%; min-width:0; max-width:100%; min-height:44px; border:1px solid #819199; border-radius:4px; padding:9px; color:var(--ink,#202a30); background:white; }
.candidate-form input[readonly] { background:#eff2f3; color:#4b5963; }
.candidate-form input[type="file"] { padding:6px; font-size:13px; }
.candidate-form input[type="checkbox"],.candidate-form input[type="radio"] { width:18px; height:18px; min-height:18px; margin-top:3px; }
.candidate-checkbox { display:flex !important; align-items:flex-start; gap:10px !important; min-height:44px; }
.candidate-checkbox input,.candidate-choices input,.candidate-slot input { width:18px; height:18px; margin:3px 0 0; flex:none; accent-color:#146572; }
.candidate-steps { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:0; margin:0 0 24px; }
.candidate-steps li { display:grid; align-content:start; gap:7px; border-top:3px solid #c3cdd1; padding-top:10px; font-size:12px; color:#53606a; overflow-wrap:anywhere; }
.candidate-steps li > span { width:24px; height:24px; display:grid; place-items:center; background:#e8edef; border-radius:50%; }
.candidate-steps [aria-current] { color:#075762; border-color:#146572; font-weight:650; }
.candidate-steps [aria-current] > span { background:#146572; color:white; }
.candidate-field { margin-bottom:20px; }
.candidate-choices > label { display:flex; gap:12px; border-bottom:1px solid var(--line,#d3dce0); padding:14px 0; cursor:pointer; }
.candidate-choices > label > span { display:grid; gap:3px; }
.candidate-choices small,.candidate-slot small { color:#53606a; }
.candidate-slots { margin-top:22px; }
.candidate-slot-options { display:grid; gap:8px; }
.candidate-slot { display:flex; align-items:flex-start; gap:10px; border:1px solid #98a7ad; border-radius:4px; padding:12px; cursor:pointer; }
.candidate-slot:has(input:checked) { background:#eef8f7; border-color:#146572; box-shadow:inset 0 0 0 1px #146572; }
.candidate-slot > span { display:grid; gap:4px; min-width:0; overflow-wrap:anywhere; }
.candidate-month { margin-bottom:12px; border-bottom:1px solid var(--line,#d3dce0); padding-bottom:12px; }
.candidate-month > summary { padding:12px 0; min-height:44px; cursor:pointer; font-weight:650; }
.candidate-month > summary > span { font-size:12px; color:#53606a; font-weight:400; margin-left:8px; }
.candidate-date-grid { table-layout:fixed; width:100%; min-width:0; border-collapse:collapse; margin:0 0 16px; }
.candidate-date-grid th { width:14.285%; font-size:12px; padding:8px 2px; text-align:center; }
.candidate-date-grid td { vertical-align:top; border:1px solid #c4ced3; height:70px; padding:3px; font-size:12px; }
.candidate-date-grid time { display:block; padding:2px; color:#53606a; }
.candidate-date-grid .candidate-calendar-blank { background:#f4f6f7; }
.candidate-date-grid .candidate-slot { flex-direction:column; align-items:center; padding:4px 0; gap:1px; min-height:44px; margin:3px 0; font-size:11px; }
.candidate-date-grid .candidate-slot > span { display:block; }
.candidate-date-grid .candidate-slot input { width:16px; height:16px; margin:0; }
.candidate-wizard-footer { border-top:1px solid var(--line,#d3dce0); margin-top:22px; padding-top:16px; display:flex; justify-content:space-between; gap:12px; }
.candidate-wizard-footer > button:last-child { background:#146572; color:white; border-color:#146572; }
.candidate-documents { margin:10px 0 18px; padding:0; list-style:none; }
.candidate-documents li { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; border-bottom:1px solid var(--line,#d3dce0); padding:10px 0; }
.candidate-document-requirement { border-bottom:1px solid var(--line,#d3dce0); margin-bottom:20px; padding-bottom:20px; }
.candidate-declaration { margin-top:20px; }
.candidate-staff-nav { display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--line,#d3dce0); margin-bottom:20px; }
.candidate-staff-nav button { border-radius:0; border:0; border-bottom:3px solid transparent; background:transparent; }
.candidate-staff-nav [aria-pressed="true"] { color:#075762; border-bottom-color:#146572; background:#edf6f5; }
.candidate-staff-content { min-width:0; }
.candidate-staff-content .candidate-toolbar { margin-bottom:16px; }
.candidate-staff-content .wg-views { display:none; }
.candidate-table-wrap { max-width:100%; overflow:auto; }
.candidate-table-wrap table { width:100%; border-collapse:collapse; }
.candidate-table-wrap th,.candidate-table-wrap td { padding:10px; border-bottom:1px solid var(--line,#d3dce0); text-align:left; overflow-wrap:anywhere; }
.candidate-layout-compact { grid-template-columns:minmax(180px,.75fr) minmax(300px,2fr) minmax(190px,.9fr); gap:16px; }
.candidate-layout-compact .candidate-details { gap:6px; }
.candidate-layout-compact .candidate-component,.candidate-layout-compact .candidate-records > li { padding:8px 0; }
.candidate-layout-compact .candidate-section { padding-bottom:12px; margin-bottom:14px; }
.candidate-layout-compact .candidate-left { padding-right:12px; }
.candidate-layout-compact .candidate-right { padding-left:12px; }
.candidate-component-search { display:grid; gap:6px; margin-bottom:16px; }
.candidate-component-search input { width:100%; min-width:0; min-height:44px; border:1px solid #819199; border-radius:4px; padding:9px; color:var(--ink,#202a30); background:white; }
.candidate-result-table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; }
.candidate-result-table th,.candidate-result-table td { padding:10px 8px; overflow-wrap:anywhere; border-bottom:1px solid var(--line,#d3dce0); }
.candidate-result-table th { text-transform:none; background:#eef2f3; }
.candidate-result-table th:nth-child(1) { width:28%; }
.candidate-result-table th:nth-child(2) { width:25%; }
.candidate-result-table th:nth-child(3) { width:26%; }
.candidate-result-table th:nth-child(4) { width:21%; }
.candidate-result-table th button { padding:0; width:100%; border:0; background:transparent; border-radius:0; font-size:13px; justify-content:flex-start; flex-wrap:wrap; gap:4px; text-align:left; }
.candidate-result-table th svg { width:14px; height:14px; }
.candidate-result-table .candidate-attempt-toggle { min-width:44px; padding:6px; background:transparent; border:1px solid #819199; }
.candidate-result-history td { background:#f1f6f5; }
.candidate-result-history .candidate-attempts { margin:0; }
.candidate-result-table .candidate-status { white-space:normal; }
.candidate-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1100px) {
  .candidate-columns { grid-template-columns:minmax(180px,.8fr) minmax(280px,1.8fr); gap:20px; }
  .candidate-right { grid-column:1 / -1; border-left:0; padding-left:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; border-top:1px solid var(--line,#d3dce0); padding-top:18px; }
}
@media (max-width:700px) {
  .candidate-heading { align-items:flex-start; flex-wrap:wrap; gap:12px; }
  .candidate-heading .candidate-toolbar { width:100%; justify-content:space-between; }
  .candidate-columns { display:flex; flex-direction:column; gap:20px; }
  .candidate-columns > * { width:100%; }
  .candidate-left { border:0; padding:0; }
  .candidate-right { display:block; padding:0; border:0; }
  .candidate-left .candidate-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .candidate-fields,.candidate-slots-calendar .candidate-slot-options { grid-template-columns:minmax(0,1fr); }
  .candidate-steps { gap:6px; }
  .candidate-steps li { font-size:11px; }
  .candidate-modal .candidate-details { grid-template-columns:minmax(0,1fr); }
  .candidate-form .candidate-actions > button { flex:1 1 170px; }
  .candidate-toolbar label { width:100%; min-width:0; }
  .candidate-result-table th,.candidate-result-table td { padding:8px 4px; font-size:12px; }
  .candidate-result-table th button { font-size:12px; }
  .candidate-workspace input,.candidate-workspace select,.candidate-workspace textarea,.candidate-modal input,.candidate-modal select,.candidate-modal textarea { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { .candidate-workspace *,.candidate-modal * { scroll-behavior:auto; transition:none; } }
