.gc247-ksa{--ksa-ink:#143346;--ksa-accent:#087e8b;color:var(--ksa-ink);line-height:1.55}.ksa-page{max-width:1080px;padding:32px 20px 64px}.gc247-ksa fieldset,.ksa-card,.ksa-builder{border:1px solid #cbd7df;border-radius:10px;padding:20px;margin:20px 0;background:#fff}.gc247-ksa legend{font-weight:700;font-size:1.2em;width:auto;border:0;padding:0 8px}.gc247-ksa label{display:block;font-weight:600;margin:12px 0}.gc247-ksa input:not([type=checkbox]):not([type=radio]),.gc247-ksa select,.gc247-ksa textarea{display:block;width:100%;max-width:100%;min-height:44px;padding:9px;border:1px solid #798f9e;border-radius:5px;color:#143346;background:#fff}.gc247-ksa input[type=checkbox],.gc247-ksa input[type=radio]{margin-right:8px}.gc247-ksa button,.gc247-ksa .btn{margin:6px 6px 6px 0;padding:10px 16px;min-height:44px;border:1px solid #087e8b;border-radius:6px;background:#087e8b;color:#fff;white-space:normal}.gc247-ksa button[type=button]{background:#fff;color:#145465}.gc247-ksa button:focus-visible,.gc247-ksa a:focus-visible,.gc247-ksa input:focus-visible,.gc247-ksa textarea:focus-visible,.gc247-ksa select:focus-visible{outline:3px solid #e0a126;outline-offset:3px}.ksa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ksa-error{background:#fff1ee;border-left:4px solid #a93222;padding:15px}.ksa-notice{background:#e5f5f0;padding:15px}.ksa-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f8;padding:15px;color:#143346}.ksa-timer{position:sticky;top:0;background:#143346;color:#fff;padding:10px;z-index:2}.ksa-timer:empty{display:none}.ksa-hint{font-size:.9em;color:#4c6170}.ksa-question-nav{display:flex;flex-wrap:wrap;gap:8px}.ksa-question-nav a{padding:8px 12px;background:#e9f2f5;border-radius:5px}.gc247-ksa [hidden]{display:none!important}.ksa-preview{border:2px solid #087e8b;padding:16px}.gc247-ksa summary{cursor:pointer;font-weight:700;padding:12px}.ksa-row{display:flex;gap:12px;align-items:center}.ksa-row>*{min-width:0;flex:1}@media(max-width:650px){.ksa-grid{grid-template-columns:1fr}.ksa-page{padding:20px 12px}.gc247-ksa fieldset,.ksa-card,.ksa-builder{padding:14px}.ksa-row{display:block}.gc247-ksa button{width:100%;margin:5px 0}}

/* Visual assessment workspace; candidate and results styles above remain shared. */
.ksa-page:has(.ksa-builder){max-width:1600px;width:100%}.ksa-builder{min-width:0!important;padding:0!important;border-radius:8px;overflow:visible}.ksa-builder *{box-sizing:border-box}.ksa-builder-header{padding:24px;background:#f7f9fa;border-top:4px solid #087e8b}.ksa-builder h2{font-size:24px;line-height:1.3;margin:0 0 6px}.ksa-job-title{margin:0;color:#4c6170}.ksa-summary{font-weight:600;margin:18px 0 8px}.ksa-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ksa-header-actions button{margin:0}.ksa-save-state{font-size:14px;margin-left:auto;font-weight:600}.ksa-editor>label{padding:12px 24px;margin:0;border-bottom:1px solid #cbd7df}.ksa-workspace{display:grid;grid-template-columns:minmax(175px,.7fr) minmax(360px,1.8fr) minmax(285px,1.25fr);align-items:start}.ksa-workspace>section{min-width:0;padding:18px}.ksa-workspace h3{font-size:17px;margin:0 0 12px;line-height:1.4}.ksa-workspace h4{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#435968;margin:20px 0 8px}.ksa-toolbox{background:#f4f6f7;border-right:1px solid #d5dfe5;align-self:stretch}.ksa-toolbox button{display:block;width:100%;text-align:left;font-size:13px;border-color:#cad5dc!important;padding:10px;margin:8px 0;border-radius:4px!important}.ksa-toolbox button:hover{background:#e6f2f3!important}.ksa-build{border-right:1px solid #d5dfe5}.ksa-outline{max-height:370px;overflow:auto;padding:2px 6px 6px 2px;border-bottom:1px solid #d5dfe5;margin-bottom:22px}.ksa-outline-group h4{margin-top:10px}.ksa-outline-question{display:block;width:100%;text-align:left;margin:6px 0!important;border:1px solid #d5dfe5!important;border-radius:4px!important;background:#f7f9fa!important;color:#143346!important;padding:9px 12px!important;overflow-wrap:anywhere}.ksa-outline-question span,.ksa-outline-question small{display:block}.ksa-outline-question span{font-size:14px;font-weight:600}.ksa-outline-question small{font-size:12px;margin-top:4px;color:#4c6170}.ksa-outline-question[aria-pressed=true]{border-color:#087e8b!important;box-shadow:inset 4px 0 #087e8b;background:#eef8f8!important}.ksa-selected-editor label{font-size:14px}.ksa-selected-editor .ksa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksa-question-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.ksa-question-actions button{font-size:12px;margin:0;padding:8px 10px}.ksa-live-preview{position:sticky;top:12px;background:#fafbfc}.ksa-live-preview .ksa-card{padding:16px;margin:16px 0;border-radius:4px;overflow-wrap:anywhere}.ksa-live-preview legend{font-size:12px;font-weight:600}.ksa-preview-body p{white-space:pre-wrap}.ksa-preview-body input[type=radio],.ksa-preview-body input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.ksa-preview-body label{font-size:14px}.ksa-pane-tabs{display:none}.ksa-announcement{padding:0 20px;font-size:14px}.ksa-announcement:empty{display:none}.ksa-dialog{position:fixed;inset:0;margin:auto!important;width:min(760px,calc(100% - 32px));max-height:88vh;overflow:auto;padding:24px;border:1px solid #cbd7df;border-radius:8px;background:#fff;box-shadow:0 16px 60px #14334640}.ksa-dialog::backdrop{background:#102b3db3}.ksa-dialog h2{font-size:23px}.ksa-bank-item{border-top:1px solid #d5dfe5;padding:12px 0}.ksa-builder button:disabled{opacity:.55;cursor:not-allowed}.ksa-builder .ksa-hint{font-size:13px}.ksa-builder .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1100px){.ksa-workspace{grid-template-columns:190px minmax(0,1fr)}.ksa-pane-tabs{display:flex;gap:8px;padding:8px 18px;border-bottom:1px solid #d5dfe5}.ksa-pane-tabs button{flex:1;margin:0}.ksa-pane-tabs button[aria-pressed=true]{background:#087e8b;color:white}.ksa-live-preview{display:none}.ksa-workspace[data-pane=preview] .ksa-build{display:none}.ksa-workspace[data-pane=preview] .ksa-live-preview{display:block;position:static}.ksa-save-state{margin-left:0}.ksa-build{border-right:0}}
@media(max-width:650px){.ksa-builder-header{padding:18px}.ksa-builder h2{font-size:21px}.ksa-workspace{display:block}.ksa-workspace>section{display:none}.ksa-workspace[data-pane=questions] .ksa-toolbox,.ksa-workspace[data-pane=edit] .ksa-build,.ksa-workspace[data-pane=preview] .ksa-live-preview{display:block}.ksa-header-actions{display:grid;grid-template-columns:1fr}.ksa-header-actions button{width:100%;margin:0}.ksa-workspace>section{padding:14px}.ksa-selected-editor .ksa-grid{grid-template-columns:1fr}.ksa-question-actions button{width:auto;flex:1 1 40%}.ksa-toolbox{border:0}.ksa-pane-tabs{padding:8px 12px}.ksa-pane-tabs button{width:auto}.ksa-outline{max-height:280px}.ksa-dialog{padding:16px}.ksa-dialog button{width:auto}.ksa-save-state{padding-top:4px}}
.ksa-drop-zone{border:1px dashed #91adb6;padding:12px;text-align:center;background:#f6fafb;border-radius:4px}
/* Compact structure with full assessment context and transactional question settings. */
.ksa-outline{max-height:72vh;margin-bottom:0;border-bottom:0}.ksa-live-preview .ksa-preview-body{max-height:72vh;overflow:auto;padding:4px}.ksa-preview-selected{outline:3px solid #087e8b;outline-offset:-1px;background:#eef8f8!important}.ksa-question-actions{margin:6px 0 16px}.ksa-question-actions label{width:100%;font-size:12px;margin:4px 0}.ksa-component-dialog{width:min(960px,calc(100% - 24px))}.ksa-component-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #cbd7df;margin:16px 0}.ksa-component-tabs [aria-selected=true],.gc247-ksa .ksa-apply{background:#087e8b!important;color:white!important}.ksa-option-row{padding:12px;border:1px solid #cbd7df;border-radius:6px;margin:12px 0}.ksa-option-row button{font-size:13px}.ksa-modal-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #cbd7df;padding-top:12px;margin-top:20px}.ksa-component-dialog [role=tabpanel]{min-width:0}.ksa-component-dialog h2{overflow-wrap:anywhere}.ksa-component-dialog :focus-visible{outline:3px solid #e0a126;outline-offset:2px}@media(max-width:650px){.ksa-outline{max-height:none}.ksa-component-dialog{max-height:94dvh;padding:14px}.ksa-component-tabs button,.ksa-modal-actions button{flex:1 1 40%;margin:2px}.ksa-live-preview .ksa-preview-body{max-height:70vh}}
@media(max-width:650px){.ksa-pane-tabs button{min-width:0;flex:1 1 0;padding:8px 4px;font-size:12px;overflow-wrap:anywhere}}

/* Candidate question shell only; renderers and employer previews are unchanged. */
.ksa-candidate{min-width:0;overflow-wrap:anywhere}.ksa-candidate *{box-sizing:border-box}.ksa-candidate fieldset{min-width:0}.ksa-candidate [hidden]{display:none!important}.ksa-candidate .ksa-question-nav button{width:auto;min-width:48px;margin:0;padding:8px}.ksa-candidate .ksa-question-nav [aria-current=step]{border:3px solid #143346;font-weight:700;background:#e9f2f5}.ksa-candidate-actions{display:flex;flex-wrap:wrap;gap:8px}.ksa-candidate-actions button{flex:1 1 140px;margin:0}.ksa-candidate .ksa-question-error{border-left:4px solid #a93222;padding:10px;background:#fff1ee}.ksa-review-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #cbd7df}.ksa-review-row p{flex:1 1 220px;margin:0}.ksa-candidate button:disabled{opacity:.65;cursor:not-allowed}.ksa-candidate .ksa-current-heading{scroll-margin-top:70px}.ksa-candidate .ksa-dialog{max-width:calc(100% - 24px)}.ksa-candidate .ksa-navigation-key{font-size:.9em}.ksa-candidate .ksa-progress{font-weight:700}
/* Persistent, compact candidate controls and a bounded question navigator. */
.ksa-assessment-header{position:sticky;top:0;z-index:3;background:#fff;border-top:4px solid #087e8b;border-bottom:1px solid #cbd7df;padding:10px 14px;box-shadow:0 2px 5px #14334615}.ksa-assessment-header .ksa-current-heading{font-size:21px;margin:0 0 4px}.ksa-assessment-header .ksa-progress{margin:4px 0}.ksa-assessment-header progress{display:block;width:100%;height:8px;accent-color:#087e8b}.ksa-assessment-header .ksa-timer{position:static;padding:6px 8px;font-weight:600}.ksa-assessment-header button{margin:6px 0 0}.ksa-timing-policy,.ksa-time-notice{font-size:13px;line-height:1.35;margin:5px 0 0}.ksa-time-notice:empty{display:none}.ksa-candidate .ksa-navigator{max-height:80dvh}.ksa-navigator .ksa-question-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px}.ksa-navigator .ksa-question-nav button{min-height:44px;width:100%;font-size:14px}.gc247-ksa .ksa-candidate-actions button{background:#fff;color:#143346;border:1px solid #78909e}.gc247-ksa .ksa-candidate-actions .ksa-primary{border-width:2px;font-weight:700}.gc247-ksa .ksa-candidate-actions .ksa-save-exit{border:2px dashed #526978}.ksa-candidate :focus-visible{outline:3px solid #b66b00;outline-offset:3px}.ksa-candidate .ksa-current-heading{scroll-margin-top:240px}@media(max-width:650px){.ksa-assessment-header{padding:8px}.ksa-assessment-header button{width:auto}.ksa-assessment-header .ksa-current-heading{font-size:18px}.ksa-assessment-header .ksa-timer{font-size:14px}.ksa-candidate-actions button{flex-basis:45%}}

/* Candidate action hierarchy only. Explicit foreground/background pairs prevent
   theme hover rules from leaving primary text dark on a dark background. */
.gc247-ksa :is(.ksa-candidate button,.ksa-start-form button,.ksa-primary){
    --ksa-button-bg:#e0f1f3;--ksa-button-hover:#c5e5e9;--ksa-button-active:#b1d9df;
    --ksa-button-text:#124b57;--ksa-button-border:#287786;
    background:var(--ksa-button-bg)!important;color:var(--ksa-button-text)!important;
    border-color:var(--ksa-button-border)!important;text-decoration:none!important;
    min-height:44px;cursor:pointer;
}
.gc247-ksa :is(.ksa-candidate,.ksa-start-form) .ksa-primary,
.gc247-ksa :is(button,a).ksa-primary{
    --ksa-button-bg:#087582;--ksa-button-hover:#075e68;--ksa-button-active:#064e57;
    --ksa-button-text:#fff;--ksa-button-border:#075e68;font-weight:700;
}
.gc247-ksa :is(.ksa-candidate,.ksa-start-form) .ksa-neutral{
    --ksa-button-bg:#f1f4f6;--ksa-button-hover:#e0e7ec;--ksa-button-active:#cdd8df;
    --ksa-button-text:#243f50;--ksa-button-border:#6b8291;
}
.gc247-ksa :is(.ksa-candidate button,.ksa-start-form button,.ksa-primary):hover:not(:disabled){background:var(--ksa-button-hover)!important;color:var(--ksa-button-text)!important}
.gc247-ksa :is(.ksa-candidate button,.ksa-start-form button,.ksa-primary):active:not(:disabled){background:var(--ksa-button-active)!important;color:var(--ksa-button-text)!important}
.gc247-ksa :is(.ksa-candidate button,.ksa-start-form button,.ksa-primary):focus-visible{outline:3px solid #236890!important;outline-offset:4px;box-shadow:0 0 0 2px #fff}
.gc247-ksa :is(.ksa-candidate button,.ksa-start-form button,.ksa-primary):disabled{background:#e7edf0!important;color:#526572!important;border-color:#9baab4!important;opacity:1;cursor:not-allowed;box-shadow:none}

/* Native table semantics are retained at every width; only this region scrolls. */
.ksa-attempt-history{margin-top:24px;border-top:1px solid #cbd7df;padding-top:16px;min-width:0;max-width:100%}
.ksa-history-scroll{max-width:100%;overflow-x:auto;border-radius:4px}
.ksa-history-scroll:focus-visible{outline:3px solid #087582;outline-offset:3px}
/* Override Application list table widths/mobile cards only inside KSA history. */
.gc247-ksa .ksa-history-table{display:table;width:100%;table-layout:fixed;border-collapse:collapse;margin:0;font-size:14px;line-height:1.5;color:#243746;background:#fff}
.gc247-ksa .ksa-history-table thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip-path:none}
.gc247-ksa .ksa-history-table tbody{display:table-row-group;width:auto}
.gc247-ksa .ksa-history-table tr{display:table-row;width:auto;padding:0}
.gc247-ksa .ksa-history-table th,.gc247-ksa .ksa-history-table td{display:table-cell;box-sizing:border-box;padding:9px 8px;text-align:left;vertical-align:middle;border:0;border-bottom:1px solid #dbe4e8;white-space:normal;overflow-wrap:anywhere}
.gc247-ksa .ksa-history-table :is(th,td):nth-child(1){width:13%;padding-inline:4px}
.gc247-ksa .ksa-history-table :is(th,td):nth-child(2){width:18%}
.gc247-ksa .ksa-history-table :is(th,td):nth-child(3),.gc247-ksa .ksa-history-table :is(th,td):nth-child(4){width:24%}
.gc247-ksa .ksa-history-table :is(th,td):nth-child(5){width:21%}
.gc247-ksa .ksa-history-table thead th{font-weight:600;background:#f5f8fa}
.gc247-ksa .ksa-history-table tbody th{font-weight:400;background:transparent}
.gc247-ksa .ksa-history-table time{white-space:normal;overflow-wrap:anywhere}
.ksa-history-status{display:inline-block;max-width:100%;box-sizing:border-box;white-space:normal;padding:2px 6px;border:1px solid #cbd7df;border-radius:4px;font-size:13px;font-weight:600;line-height:1.5;color:#243746;background:#eef2f5}
.ksa-history-status--ready{color:#075863;background:#e0f1f3;border-color:#97c6cb}
.ksa-history-status--in_progress{color:#174c78;background:#e8f1fa;border-color:#b2cce3}
.ksa-history-status--submitted{color:#245632;background:#eaf4ed;border-color:#aecfb7}
.ksa-history-status--expired{color:#71351b;background:#fff0e7;border-color:#dec0ac}
.ksa-history-scroll-hint{font-size:13px;color:#405361;margin:0 0 8px}
@media(min-width:481px){.ksa-history-scroll-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}

@media(max-width:480px){.gc247-ksa .ksa-history-table{min-width:560px}}

/* Compact employer summary: intrinsic wrapping respects the available card width. */
.gc247-ksa .ksa-assessment-summary{border-block:1px solid #cbd7df;margin:12px 0}
.gc247-ksa .ksa-summary-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:14px 0}
.gc247-ksa .ksa-summary-row+ .ksa-summary-row{border-top:1px solid #dce5ea}
.gc247-ksa .ksa-summary-row>div{flex:1 0 auto;min-width:0;background:transparent;padding:0}
.gc247-ksa .ksa-summary-row dt{font-size:.875rem;font-weight:600;color:#4c6170;margin:0 0 3px}
.gc247-ksa .ksa-summary-row dd{margin:0;font-size:1rem;color:#143346}
.gc247-ksa .ksa-summary-row time{white-space:nowrap}
.gc247-ksa .ksa-summary-status{color:#744800}
.gc247-ksa .ksa-summary-overall dd{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.gc247-ksa .ksa-summary-overall strong{font-size:1.5rem;line-height:1.25;color:#145465}
.gc247-ksa .ksa-summary-provisional{font-size:.875rem;font-weight:600;color:#744800}
@media(max-width:480px){.gc247-ksa .ksa-summary-row{gap:12px 20px}.gc247-ksa .ksa-summary-row>div{flex-basis:calc(50% - 20px)}.gc247-ksa .ksa-summary-timing>div:has(time),.gc247-ksa .ksa-summary-scores>.ksa-summary-overall{flex-basis:100%}}

.gc247-ksa .ksa-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gc247-ksa .ksa-review-actions button{background:#087582;color:#fff;border-color:#087582;font-weight:700;cursor:pointer}
.gc247-ksa .ksa-review-actions button:hover:not(:disabled){background:#075e68;color:#fff;border-color:#075e68}
.gc247-ksa .ksa-review-actions button:active:not(:disabled){background:#064c54;color:#fff;border-color:#064c54}
.gc247-ksa .ksa-review-actions .ksa-review-save{background:#145465;color:#fff;border-color:#145465;font-weight:600}
.gc247-ksa .ksa-review-actions .ksa-review-save:hover:not(:disabled){background:#103f4c;color:#fff;border-color:#103f4c}
.gc247-ksa .ksa-review-actions .ksa-review-save:active:not(:disabled){background:#143346;color:#fff;border-color:#143346}
.gc247-ksa .ksa-review-actions button:focus-visible{outline:3px solid #236890;outline-offset:3px}
.gc247-ksa .ksa-review-actions button:disabled{background:#d8e1e5;color:#405361;border-color:#8a9ba6;opacity:1;cursor:not-allowed}

/* Human judgments stay in the primary workspace; automatic results are secondary inspection. */
.gc247-ksa .ksa-human-review{margin-block:24px}
.gc247-ksa .ksa-human-review>h2{margin-bottom:6px}
.gc247-ksa .ksa-review-workload{margin-top:0;color:#4c6170}
.gc247-ksa .ksa-result-response pre{font:inherit;line-height:1.6}
.gc247-ksa .ksa-automatic-results{border-top:1px solid #cbd7df;margin-top:28px;padding-top:8px}
.gc247-ksa .ksa-automatic-results>summary{color:#145465;min-height:44px}
.gc247-ksa .ksa-automatic-results>summary:focus-visible{outline:3px solid #e0a126;outline-offset:3px}
