
/* Shared identity headers keep their established layout; only the surface is unified. */
:root {
    --cexam-identity-background: radial-gradient(circle at 82% 5%,rgba(87,193,230,.14),transparent 40%),linear-gradient(125deg,#f1f9ff 0%,#edf2ff 70%,#f7f4ff 100%);
}
.cexam-q-wrap { margin-top: 12px; }
.cexam-q-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin: 0 0 22px; }
.cexam-q-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cexam-q-actions form { margin:0; }
.cexam-q-card { background:#fff; border:1px solid #e5e7eb; border-radius:18px; padding:22px; box-shadow:0 10px 24px rgba(15,23,42,.06); margin-bottom:22px; }
.cexam-q-card h3 { color:#085294; font-size:22px; font-weight:800; margin:0 0 16px; }
.cexam-q-card h4 { color:#085294; font-size:18px; font-weight:800; margin:0 0 12px; }
.cexam-q-meta { color:#64748b; font-size:13px; }
.cexam-q-alert { margin: 0 0 18px; }
.cexam-q-grid { display:grid; grid-template-columns: repeat(12, 1fr); gap:16px; }
.cexam-q-field { grid-column: span 6; }
.cexam-q-field-full { grid-column: span 12; }
.cexam-q-field label { display:block; font-weight:700; color:#111827; margin-bottom:7px; }
.cexam-q-field-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:7px; }
.cexam-q-field-label-row label { margin:0; }
.cexam-q-field-label-row .cexam-q-help { display:inline; margin:0; text-align:right; white-space:nowrap; }
.cexam-q-field input, .cexam-q-field select, .cexam-q-field textarea { width:100%; border:1px solid #d1d5db; border-radius:12px; padding:11px 12px; font-size:15px; background:#fff; }
.cexam-q-field textarea { min-height:120px; resize:vertical; }
.cexam-q-help { display:block; color:#64748b; font-size:13px; margin-top:6px; }

.cexam-q-filter-help { margin: -6px 0 16px; padding: 11px 13px; border: 1px solid #dbeafe; border-radius: 14px; background: #eff6ff; color: #334155; }
.cexam-q-filter-help strong { color: #085294; }
.cexam-q-upload-field { margin: 12px 0 20px; }
.cexam-q-field input[type="file"],
.cexam-q-type-editor input[type="file"] {
    width: 100%;
    border: 1px dashed #b7c7d7;
    border-radius: 14px;
    padding: 12px;
    background: #f8fafc;
    color: #0f172a;
    cursor: pointer;
}
.cexam-q-field input[type="file"]::file-selector-button,
.cexam-q-type-editor input[type="file"]::file-selector-button {
    border: 0;
    border-radius: 999px;
    background:var(--cexam-ui-blue-background);background-size:100% 100%;
    color:var(--cexam-ui-blue-ink);
    font-weight: 800;
    padding: 9px 14px;
    margin-right: 12px;
    cursor: pointer;
}
.cexam-q-field input[type="file"]:hover,
.cexam-q-type-editor input[type="file"]:hover { background: #f1f5f9; }

.cexam-q-table { width:100%; border-collapse:separate; border-spacing:0 10px; }
.cexam-q-table th { color:#085294; font-size:13px; text-transform:uppercase; letter-spacing:.04em; padding:0 12px 6px; white-space:nowrap; }
.cexam-q-table td { background:#fff; border-top:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; padding:14px 12px; vertical-align:middle; }
.cexam-q-table td:first-child { border-left:1px solid #e5e7eb; border-radius:14px 0 0 14px; }
.cexam-q-table td:last-child { border-right:1px solid #e5e7eb; border-radius:0 14px 14px 0; }
.cexam-q-badge { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; border:1px solid transparent; }
.cexam-q-badge-blue { background:#eff6ff; color:#085294; border-color:#bfdbfe; }
.cexam-q-badge-green { background:#ecfdf5; color:#047857; border-color:#bbf7d0; }
.cexam-q-badge-gray { background:#f8fafc; color:#475569; border-color:#e2e8f0; }
.cexam-q-badge-orange { background:#fff7ed; color:#c2410c; border-color:#fed7aa; }
.cexam-q-empty { padding:32px; text-align:center; color:#64748b; border:1px dashed #cbd5e1; border-radius:16px; background:#f8fafc; }
.cexam-q-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; box-sizing:border-box; border:0; border-radius:12px; padding:14px 20px; font-family:inherit; font-size:16px; line-height:1.2; font-weight:800; text-decoration:none; text-align:center; cursor:pointer; transition:.16s ease; }
.cexam-q-button:hover { transform:translateY(-1px); text-decoration:none; }
.cexam-q-button-primary { background:var(--cexam-ui-blue-background);background-size:100% 100%; color:var(--cexam-ui-blue-ink); }
.cexam-q-button-primary:hover { background:var(--cexam-ui-blue-background);background-size:100% 100%; color:var(--cexam-ui-blue-ink); }
.cexam-q-button-light { background:#eef2f7; color:#0f172a; }
.cexam-q-button-light:hover { background:#e2e8f0; color:#0f172a; }
.cexam-q-button-danger { background:#fee2e2; color:#b91c1c; }
.cexam-q-stat-row { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.cexam-q-stat-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; margin-bottom:20px; }
.cexam-q-stat { flex:1 1 190px; border:1px solid #e5e7eb; border-radius:18px; padding:16px; background:#fff; box-shadow:0 6px 18px rgba(15,23,42,.04); min-width:0; }
.cexam-q-stat span { display:block; color:#64748b; font-size:13px; font-weight:700; }
.cexam-q-stat strong { display:block; color:#085294; font-size:28px; line-height:1.1; margin-top:6px; }
@media(max-width: 1100px){ .cexam-q-stat-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media(max-width: 700px){ .cexam-q-stat-grid { grid-template-columns:1fr; } }
@media(max-width: 900px){ .cexam-q-field { grid-column: span 12; } .cexam-q-toolbar { align-items:flex-start; } .cexam-q-field-label-row { align-items:flex-start; flex-wrap:wrap; } .cexam-q-field-label-row .cexam-q-help { white-space:normal; text-align:left; } }

.cexam-q-inline-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}
.cexam-q-inline-form select {
    min-width: 210px;
    width: auto;
}
@media(max-width: 700px) {
    .cexam-q-inline-form { align-items: stretch; flex-direction: column; }
    .cexam-q-inline-form select,
    .cexam-q-inline-form .cexam-q-button { width: 100%; }
}



.cexam-template-section-list { display:grid; gap:12px; }
.cexam-template-section-row { display:grid; grid-template-columns:minmax(220px,1fr) auto auto 130px; gap:14px; align-items:center; border:1px solid #e5e7eb; border-radius:16px; padding:14px; background:#fff; }
.cexam-template-check { display:flex; align-items:center; gap:8px; font-weight:800; color:#0f172a; margin:0; white-space:nowrap; }
.cexam-template-check input { width:auto; }
.cexam-template-order label { display:block; color:#64748b; font-size:12px; font-weight:800; margin-bottom:5px; }
.cexam-template-order input { width:100%; border:1px solid #d1d5db; border-radius:10px; padding:8px; }
@media(max-width:900px){ .cexam-template-section-row { grid-template-columns:1fr; } }



.cexam-q-quiz-builder { display:grid; gap:18px; }
.cexam-q-question-card { border:1px solid #e5e7eb; border-radius:18px; padding:18px; background:#fbfdff; box-shadow:0 6px 16px rgba(15,23,42,.04); }
.cexam-q-question-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.cexam-q-question-head strong { color:#085294; font-size:17px; }
.cexam-q-choice-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:12px; }
.cexam-q-choice-box { border:1px solid #dbe3ec; border-radius:14px; padding:12px; background:#fff; }
.cexam-q-choice-box label { display:flex; align-items:center; gap:8px; color:#0f172a; font-weight:800; margin-bottom:8px; }
.cexam-q-choice-box input[type="radio"] { width:auto; }
.cexam-q-inline-note { display:inline-flex; align-items:center; gap:7px; border-radius:999px; padding:8px 12px; background:#eff6ff; color:#085294; font-weight:800; font-size:13px; }
.cexam-q-version-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:7px 11px; font-size:12px; font-weight:900; background:#f8fafc; border:1px solid #e2e8f0; color:#475569; }
.cexam-q-version-pill.published { background:#ecfdf5; border-color:#bbf7d0; color:#047857; }
.cexam-q-version-pill.draft { background:#fff7ed; border-color:#fed7aa; color:#c2410c; }
.cexam-q-two-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
@media(max-width: 900px){ .cexam-q-choice-grid { grid-template-columns:1fr; } }



.cexam-q-passage-text { min-height: 260px !important; line-height:1.65; }
.cexam-mcq-list { display:grid; gap:18px; }
.cexam-mcq-question { border:1px solid #e5e7eb; border-radius:18px; padding:18px; background:#f8fafc; }
.cexam-mcq-question-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; color:#085294; font-weight:900; }
.cexam-mcq-question textarea { min-height:90px; }
@media(max-width: 900px){ .cexam-mcq-question-head { align-items:flex-start; flex-direction:column; } }



.cexam-q-readonly-box { width:100%; border:1px solid #e5e7eb; border-radius:12px; padding:11px 12px; background:#f8fafc; color:#334155; font-weight:700; min-height:46px; }
.cexam-q-large-textarea { min-height:260px !important; line-height:1.6; }
.cexam-q-quiz-builder { margin-top:8px; }
.cexam-q-question-card { border:1px solid #e5e7eb; border-radius:18px; padding:18px; background:#fbfdff; margin:0 0 16px; box-shadow:0 4px 14px rgba(15,23,42,.035); }
.cexam-q-question-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.cexam-q-question-card-head strong { color:#085294; font-size:18px; }



.cexam-q-preview-stack { display:grid; gap:24px; }
.cexam-q-preview-card { border:1px solid #e5e7eb; border-radius:20px; padding:22px; background:#fff; box-shadow:0 8px 22px rgba(15,23,42,.055); margin-bottom:22px; }
.cexam-q-preview-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; border-bottom:1px solid #eef2f7; padding-bottom:16px; margin-bottom:18px; }
.cexam-q-preview-head h3 { color:#085294; font-size:24px; font-weight:900; margin:0 0 5px; }
.cexam-q-preview-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:22px; align-items:start; }
.cexam-q-preview-passage, .cexam-q-preview-questions { border:1px solid #e5e7eb; border-radius:18px; padding:18px; background:#fbfdff; }
.cexam-q-preview-passage h4, .cexam-q-preview-questions h4 { color:#085294; font-size:18px; font-weight:900; margin:0 0 12px; }
.cexam-q-preview-text { color:#111827; font-size:16px; line-height:1.72; white-space:normal; }
.cexam-q-preview-question { border:1px solid #e2e8f0; border-radius:16px; padding:15px; background:#fff; margin-bottom:14px; }
.cexam-q-preview-question-title { color:#085294; font-weight:900; margin-bottom:8px; }
.cexam-q-preview-question p { color:#111827; font-size:15px; line-height:1.55; margin:0 0 12px; }
.cexam-q-preview-choice-list { display:grid; gap:8px; }
.cexam-q-preview-choice { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid #e5e7eb; border-radius:14px; padding:10px 12px; background:#f8fafc; }
.cexam-q-preview-choice strong { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:999px; background:#eef2f7; color:#085294; font-weight:900; }
.cexam-q-preview-choice span { color:#111827; }
.cexam-q-preview-choice em { font-style:normal; font-size:12px; color:#047857; font-weight:900; }
.cexam-q-preview-choice.is-correct { border-color:#86efac; background:#ecfdf5; }
.cexam-q-preview-choice.is-correct strong { background:#16a34a; color:#fff; }
@media(max-width: 992px){ .cexam-q-preview-layout { grid-template-columns:1fr; } .cexam-q-preview-head { flex-direction:column; } }



.cexam-q-preview-correct-line {
    margin-top: 10px;
    font-weight: 800;
    color: #085294;
}



.cexam-q-bank-label-grid,
.cexam-q-label-readonly-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-top: 12px;
}
.cexam-q-bank-label-field label {
    font-size: 12px;
    font-weight: 800;
    color: #085294;
    margin-bottom: 5px;
}
.cexam-q-label-pill {
    border: 1px solid #d8e4ef;
    border-radius: 12px;
    background: #fff;
    padding: 10px 12px;
    min-height: 58px;
}
.cexam-q-label-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #085294;
    color: #fff;
    margin-right: 8px;
}
.cexam-q-label-pill span {
    color: #111827;
    font-weight: 700;
}



/* v31: make bank/readonly matching labels easier to read: 4 columns on desktop. */
.cexam-q-bank-label-grid,
.cexam-q-label-readonly-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
.cexam-q-label-pill {
    min-height: 86px;
    padding: 16px 18px;
}
.cexam-q-label-pill span {
    display: inline;
    line-height: 1.45;
}
.cexam-q-bank-label-field input {
    min-height: 48px;
    font-size: 15px;
}
.cexam-q-insertion-editor { display: grid; gap: 10px; }
.cexam-q-insertion-editor-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-weight: 900;
    padding: 8px 14px;
    margin: 0 0 6px 16px;
}
.cexam-q-insertion-passage {
    font-size: 16px;
    line-height: 1.8;
    color: #111827;
    white-space: normal;
}
.cexam-q-insertion-text { white-space: pre-line; }
.cexam-q-insertion-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 34px;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-weight: 900;
    margin: 0 7px;
    padding: 0 10px;
    vertical-align: middle;
}
.cexam-q-insertion-marker.is-correct {
    background: #ecfdf5;
    border-color: #86efac;
    color: #047857;
}
.cexam-q-sentence-box {
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #f8fafc;
    padding: 16px;
    font-size: 17px;
    line-height: 1.65;
    color: #111827;
}
@media (max-width: 1200px) {
    .cexam-q-bank-label-grid,
    .cexam-q-label-readonly-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
    .cexam-q-bank-label-grid,
    .cexam-q-label-readonly-grid { grid-template-columns: 1fr !important; }
}



/* v32: Listening audio quiz admin preview/uploader. */
.cexam-q-audio-preview-box {
    border: 1px solid #dbe3ec;
    border-radius: 18px;
    background: #f8fafc;
    padding: 16px;
}
.cexam-q-audio-preview-box audio {
    width: 100%;
    display: block;
    margin-bottom: 8px;
}



/* v34: Writing image/audio response admin preview/uploader. */
.cexam-q-image-preview-box {
    border: 1px solid #dbe3ec;
    border-radius: 18px;
    background: #f8fafc;
    padding: 16px;
}
.cexam-q-image-preview-box img {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: contain;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #edf2f7;
    margin-bottom: 8px;
}



/* v34: Writing task editor/preview helpers. */
.cexam-q-writing-preview {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 22px;
    align-items: start;
}
.cexam-q-writing-prompt-card,
.cexam-q-writing-answer-card {
    border: 1px solid #dbe3ec;
    border-radius: 20px;
    background: #ffffff;
    padding: 20px;
}
.cexam-q-writing-prompt-card h4,
.cexam-q-writing-answer-card h4 {
    color: #085294;
    font-weight: 900;
    margin: 0 0 14px;
}
.cexam-q-writing-prompt-text {
    border: 1px solid #e5edf6;
    border-radius: 16px;
    background: #f8fafc;
    padding: 16px;
    font-size: 16px;
    line-height: 1.65;
    color: #111827;
    white-space: pre-line;
}
.cexam-q-writing-answer-placeholder {
    min-height: 220px;
    border: 2px dashed #cbd5e1;
    border-radius: 18px;
    background: #f8fafc;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    font-weight: 700;
}
.cexam-q-existing-asset {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #085294;
    border-radius: 14px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
}
@media (max-width: 992px) {
    .cexam-q-writing-preview { grid-template-columns: 1fr; }
}



.cexam-q-part-tabs { margin-top: 18px; }
.cexam-q-part-tab-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.cexam-q-part-tab { border: 1px solid #b9cce0; background: #fff; color: #085294; border-radius: 999px; padding: 9px 18px; font-weight: 800; cursor: pointer; transition: .18s ease; }
.cexam-q-part-tab:hover, .cexam-q-part-tab.is-active { background: #085294; color: #fff; border-color: #085294; box-shadow: 0 8px 18px rgba(8,82,148,.16); }
.cexam-q-part-pane { display: none; }
.cexam-q-part-pane.is-active { display: block; }
.cexam-q-sub-question-block { border: 1px solid #e2eaf2; background: #fbfdff; border-radius: 16px; padding: 16px; margin: 14px 0; }
.cexam-q-preview-part { border: 1px solid #e0e9f2; background: #fff; border-radius: 18px; padding: 18px; margin: 0 0 18px; }
.cexam-q-preview-part-title { color: #085294; font-weight: 900; font-size: 1.12rem; margin: 0 0 12px; }



.cexam-q-button-danger{background:#dc3545;color:#fff;border-color:#dc3545;}
.cexam-q-button-danger:hover{background:#bb2d3b;color:#fff;}
.cexam-q-card-soft{border:1px solid #dbe5ef;background:#fff;border-radius:14px;padding:16px;margin:14px 0;}
.cexam-q-tab-panel{border:1px solid #dbe5ef;background:#f9fbfd;border-radius:16px;padding:18px;margin:18px 0;}
.cexam-q-label-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 20px;}
.cexam-q-label-card{border:1px solid #dbe5ef;background:#fff;border-radius:12px;padding:12px;display:flex;gap:8px;align-items:flex-start;min-height:64px;}
.cexam-q-label-card strong{color:#085294;min-width:26px;}
.cexam-q-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;}
.cexam-q-insertion-marker{display:inline-block;color:#c18400;font-weight:900;font-size:1.2rem;margin:0 4px;}
@media(max-width:992px){.cexam-q-label-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cexam-q-options-grid{grid-template-columns:1fr;}}
@media(max-width:576px){.cexam-q-label-grid{grid-template-columns:1fr;}}



/* v43: cleaner global quiz page actions, filter helper, and upload fields. */
.cexam-q-filter-help {
    border: 1px solid #dbeafe;
    background: #eff6ff;
    color: #334155;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 16px;
}
.cexam-q-filter-help strong {
    color: #085294;
}
.cexam-q-file-field {
    margin-top: 14px;
    margin-bottom: 18px;
}
.cexam-q-file-field label {
    display: block;
    margin-bottom: 8px;
}
.cexam-q-file-input {
    display: block;
    width: 100%;
    min-height: 54px;
    border: 1px solid #d1d5db;
    border-radius: 16px;
    background: #ffffff;
    color: #334155;
    font-size: 15px;
    line-height: 54px;
    overflow: hidden;
}
.cexam-q-file-input::file-selector-button {
    min-height: 54px;
    border: 0;
    border-right: 1px solid #d1d5db;
    background:var(--cexam-ui-blue-background);background-size:100% 100%;
    color:var(--cexam-ui-blue-ink);
    font-weight: 900;
    padding: 0 20px;
    margin: 0 16px 0 0;
    cursor: pointer;
}
.cexam-q-file-input:hover::file-selector-button {
    background:var(--cexam-ui-blue-background);background-size:100% 100%;
}
.cexam-q-file-field small {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-weight: 700;
}



/* v43: quiz list bank selection, filter hints, and cleaner file inputs. */
.cexam-q-help-text {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
    margin-top: 7px;
}
.cexam-q-bank-select-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.cexam-q-bank-select-card {
    border: 1px solid #dbe3ec;
    border-radius: 18px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(15,23,42,.045);
    display: grid;
    gap: 8px;
    align-content: start;
}
.cexam-q-bank-select-card strong {
    color: #0f172a;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.35;
}
.cexam-q-bank-select-card span,
.cexam-q-bank-select-card small {
    color: #64748b;
    font-weight: 700;
    line-height: 1.45;
}
.cexam-q-bank-select-card .cexam-q-button {
    margin-top: 8px;
    width: fit-content;
}
.cexam-q-file-field {
    margin: 16px 0 22px;
}
.cexam-q-file-input {
    width: 100%;
    min-height: 54px;
    border: 1px dashed #b8c7d6;
    border-radius: 16px;
    background: #f8fafc;
    padding: 11px 14px;
    color: #0f172a;
    font-weight: 700;
}
.cexam-q-file-input::file-selector-button {
    border: 0;
    border-radius: 999px;
    background:var(--cexam-ui-blue-background);background-size:100% 100%;
    color:var(--cexam-ui-blue-ink);
    font-weight: 900;
    padding: 10px 16px;
    margin-right: 14px;
    cursor: pointer;
}
.cexam-q-file-input::-webkit-file-upload-button {
    border: 0;
    border-radius: 999px;
    background:var(--cexam-ui-blue-background);background-size:100% 100%;
    color:var(--cexam-ui-blue-ink);
    font-weight: 900;
    padding: 10px 16px;
    margin-right: 14px;
    cursor: pointer;
}
@media(max-width: 1100px){ .cexam-q-bank-select-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 700px){ .cexam-q-bank-select-grid { grid-template-columns: 1fr; } }



/* v45: final admin form polish for quiz builders after no-version migration. */
.cexam-mcq-list {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 18px !important;
}
.cexam-mcq-question,
.cexam-q-question-card,
.cexam-q-sub-question-block {
    width: 100% !important;
    box-sizing: border-box !important;
}
.cexam-mcq-question .cexam-q-field,
.cexam-q-question-card .cexam-q-field,
.cexam-q-sub-question-block .cexam-q-field {
    width: 100%;
    max-width: 100%;
}
.cexam-q-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 14px 0 12px !important;
}
.cexam-q-choice-box {
    border: 1px solid #dbe3ec !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    min-width: 0 !important;
}
.cexam-q-choice-box label {
    display: block !important;
    color: #0f172a !important;
    font-weight: 900 !important;
    margin: 0 0 9px !important;
}
.cexam-q-choice-box input[type="text"],
.cexam-q-options-grid input[type="text"],
.cexam-q-question-card input[type="text"] {
    display: block !important;
    width: 100% !important;
    min-height: 46px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
}
.cexam-q-options-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
}
.cexam-q-field select,
.cexam-q-question-card select,
.cexam-mcq-question select {
    width: 100% !important;
    min-height: 46px;
}
.cexam-q-file-field {
    margin: 16px 0 24px !important;
}
.cexam-q-file-input,
.cexam-q-field input[type="file"],
.cexam-q-type-editor input[type="file"] {
    display: block !important;
    width: 100% !important;
    min-height: 46px !important;
    border: 1px dashed #b8c7d6 !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
    padding: 8px 10px !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}
.cexam-q-file-input::file-selector-button,
.cexam-q-field input[type="file"]::file-selector-button,
.cexam-q-type-editor input[type="file"]::file-selector-button,
.cexam-q-file-input::-webkit-file-upload-button {
    border: 0 !important;
    border-radius: 10px !important;
    background:var(--cexam-ui-blue-background) !important;background-size:100% 100% !important;
    color:var(--cexam-ui-blue-ink) !important;
    font-weight: 900 !important;
    padding: 8px 14px !important;
    margin: 0 12px 0 0 !important;
    min-height: 0 !important;
    cursor: pointer !important;
}
.cexam-q-file-input:hover::file-selector-button,
.cexam-q-field input[type="file"]:hover::file-selector-button,
.cexam-q-type-editor input[type="file"]:hover::file-selector-button,
.cexam-q-file-input:hover::-webkit-file-upload-button {
    background:var(--cexam-ui-blue-background) !important;background-size:100% 100% !important;
}
.cexam-q-instruction-panel {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    border-radius: 18px;
    padding: 16px 18px;
    margin: 22px 0 18px;
    color: #334155;
}
.cexam-q-instruction-panel h4 {
    margin: 0 0 8px;
    color: #085294;
    font-weight: 900;
    font-size: 18px;
}
.cexam-q-instruction-panel p,
.cexam-q-instruction-panel li {
    font-size: 14px;
    line-height: 1.55;
}
.cexam-q-instruction-panel p { margin: 0 0 8px; }
.cexam-q-instruction-panel ol,
.cexam-q-instruction-panel ul { margin: 8px 0 0 20px; padding: 0; }
.cexam-q-instruction-panel strong { color: #085294; }
@media (max-width: 900px) {
    .cexam-q-choice-grid,
    .cexam-q-options-grid { grid-template-columns: 1fr !important; }
}



/* v48: MCQ stack layout fix. Reading/Listening MCQ questions now use the same full-width card layout as slide-based MCQ questions. */
.cexam-q-mcq-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
    max-width: 100%;
    margin: 18px 0 24px;
    clear: both;
}
.cexam-q-mcq-stack .cexam-q-question-card {
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
}
.cexam-q-form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    clear: both;
}
.cexam-q-form-actions .cexam-q-button {
    flex: 0 0 auto;
}



/* v49: isolate Reading/Listening plain MCQ fields from the generic .cexam-q-field-full grid helpers. */
.cexam-q-mcq-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 26px !important;
    clear: both !important;
}
.cexam-q-mcq-stack .cexam-q-plain-mcq-card {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
.cexam-q-plain-mcq-field {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: auto !important;
    margin: 0 0 14px !important;
    box-sizing: border-box !important;
}
.cexam-q-plain-mcq-field label {
    display: block !important;
    font-weight: 800 !important;
    color: #111827 !important;
    margin: 0 0 8px !important;
}
.cexam-q-plain-mcq-field textarea,
.cexam-q-plain-mcq-field select {
    /* Let the shared base-select flex layout keep the value and arrow on one row. */
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #d1d5db !important;
    border-radius: 12px !important;
    padding: 11px 12px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 15px !important;
}
.cexam-q-plain-mcq-question-text textarea {
    min-height: 112px !important;
    resize: vertical !important;
}
.cexam-q-plain-mcq-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    clear: both !important;
    margin: 14px 0 14px !important;
    box-sizing: border-box !important;
}
.cexam-q-plain-mcq-choice-grid .cexam-q-choice-box {
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.cexam-q-plain-mcq-choice-grid .cexam-q-choice-box input[type="text"] {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}
.cexam-q-plain-mcq-correct {
    margin-top: 4px !important;
}
.cexam-q-form-actions {
    margin-top: 26px !important;
    clear: both !important;
}
@media (max-width: 900px) {
    .cexam-q-plain-mcq-choice-grid {
        grid-template-columns: 1fr !important;
    }
}



/* v50: fix quiz builder implicit grid columns caused by direct .cexam-q-field-full children.
   Direct children with grid-column: span 12 were creating implicit 12-column tracks inside
   .cexam-q-quiz-builder, which made later MCQ stacks render as partial-width columns.
   Keep the builder as a one-column grid and force all direct builder blocks to span the full row. */
.cexam-q-quiz-builder {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.cexam-q-quiz-builder > .cexam-q-toolbar,
.cexam-q-quiz-builder > .cexam-q-field,
.cexam-q-quiz-builder > .cexam-q-field-full,
.cexam-q-quiz-builder > .cexam-q-mcq-stack,
.cexam-q-quiz-builder > .cexam-q-part-tabs,
.cexam-q-quiz-builder > .cexam-q-question-card,
.cexam-q-quiz-builder > .cexam-q-instruction-panel,
.cexam-q-quiz-builder > .cexam-q-file-field,
.cexam-q-quiz-builder > .cexam-q-options-grid,
.cexam-q-quiz-builder > .cexam-q-form-actions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.cexam-q-quiz-builder > .cexam-q-field.cexam-q-field-full {
    grid-column: 1 / -1 !important;
}
.cexam-q-quiz-builder .cexam-q-mcq-stack {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}
.cexam-q-quiz-builder .cexam-q-mcq-stack .cexam-q-plain-mcq-card,
.cexam-q-quiz-builder .cexam-q-mcq-stack .cexam-q-question-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
.cexam-q-quiz-builder .cexam-q-plain-mcq-choice-grid,
.cexam-q-quiz-builder .cexam-q-choice-grid {
    width: 100% !important;
    max-width: 100% !important;
}



/* v51: AE2 Error Identification token editor */
.cexam-q-ae2-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 16px;
}
.cexam-q-ae2-warning {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    padding: 10px 12px;
    border-radius: 12px;
    margin: 10px 0 14px;
    font-size: .95rem;
}
.cexam-q-ae2-token-surface {
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    padding: 16px;
    min-height: 82px;
    line-height: 2.45;
    color: #111827;
    white-space: pre-wrap;
    user-select: none;
}
.cexam-q-ae2-empty {
    color: #64748b;
    font-style: italic;
    line-height: 1.5;
}
.cexam-q-ae2-token {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
    border-radius: 999px;
    padding: 5px 10px;
    margin: 0 3px;
    min-height: 30px;
    cursor: pointer;
    line-height: 1.15;
    transition: transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease;
}
.cexam-q-ae2-token:hover {
    border-color: #085294;
    color: #085294;
    transform: translateY(-1px);
}
.cexam-q-ae2-token.is-selected {
    background: #dbeafe;
    border-color: #2563eb;
    color: #1e40af;
}
.cexam-q-ae2-token.is-grouped {
    border-style: dashed;
    border-color: #0f766e;
    background: #f0fdfa;
    color: #115e59;
}
.cexam-q-ae2-token.is-error {
    border-color: #dc2626;
    background: #fef2f2;
    color: #991b1b;
    font-weight: 700;
}
.cexam-q-ae2-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}
.cexam-q-ae2-list-empty {
    grid-column: 1 / -1;
    color: #64748b;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 12px;
}
.cexam-q-ae2-list-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    background: #f0fdfa;
    border: 1px solid #99f6e4;
    color: #115e59;
    border-radius: 12px;
    padding: 10px 12px;
}
.cexam-q-ae2-list-row.is-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}
.cexam-q-ae2-list-row span {
    white-space: nowrap;
    font-size: .88rem;
    font-weight: 700;
}
.cexam-q-ae2-preview-text {
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 14px;
    padding: 14px;
    line-height: 2.4;
    margin: 10px 0 12px;
    white-space: pre-wrap;
}
.cexam-q-ae2-preview-token {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    border-radius: 999px;
    padding: 4px 9px;
    margin: 0 3px;
    line-height: 1.15;
}
.cexam-q-ae2-preview-token.is-grouped {
    border-style: dashed;
    border-color: #0f766e;
    background: #f0fdfa;
    color: #115e59;
}
.cexam-q-ae2-preview-token.is-error {
    border-color: #dc2626;
    background: #fef2f2;
    color: #991b1b;
    font-weight: 700;
}
.cexam-q-ae2-preview-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 16px;
}
@media (max-width: 768px) {
    .cexam-q-ae2-list { grid-template-columns: 1fr; }
}



/* v53: AE2 Error Identification editor colors and instruction clarity.  No behavior changes. */
.cexam-q-ae2-help-panel {
    margin-top: 22px;
}
.cexam-q-ae2-help-panel p,
.cexam-q-ae2-help-panel li {
    font-size: 15px;
    line-height: 1.68;
}
.cexam-q-ae2-help-list {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: grid;
    gap: 9px;
}
.cexam-q-ae2-help-list li {
    margin: 0;
    padding: 0;
}
.cexam-q-help-token {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 3px 9px;
    margin: 0 6px 0 0;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.35;
    min-width: 64px;
    white-space: nowrap;
}
.cexam-q-help-build { background: #e0f2fe; color: #075985; border: 1px solid #bae6fd; }
.cexam-q-help-select { background: #f5f3ff; color: #7c3aed; border: 1px solid #c4b5fd; }
.cexam-q-help-group { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.cexam-q-help-ungroup,
.cexam-q-help-unmark { background: #f1f5f9; color: #334155; border: 1px solid #cbd5e1; }
.cexam-q-help-error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.cexam-q-help-clear { background: #ffedd5; color: #9a3412; border: 1px solid #fed7aa; }
.cexam-q-help-warning { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }

.cexam-q-ae2-tools,
.cexam-q-ae2-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 18px 0 14px;
}
.cexam-q-ae2-tools .cexam-q-button,
.cexam-q-ae2-toolbar .cexam-q-button {
    border: 1px solid transparent;
    box-shadow: 0 5px 13px rgba(15, 23, 42, .08);
}
.cexam-q-ae2-tools .cexam-q-button:hover,
.cexam-q-ae2-toolbar .cexam-q-button:hover {
    transform: translateY(-1px);
}
.cexam-q-ae2-action-build {
    background:var(--cexam-ui-blue-background) !important;background-size:100% 100% !important;
    color:var(--cexam-ui-blue-ink) !important;
    border-color:var(--cexam-ui-blue-border) !important;
}
.cexam-q-ae2-action-build:hover,
.cexam-q-ae2-action-build:focus { background:var(--cexam-ui-blue-background) !important;background-size:100% 100% !important; color:var(--cexam-ui-blue-ink) !important; }
.cexam-q-ae2-action-group {
    background: #16a34a !important;
    color: #ffffff !important;
    border-color: #16a34a !important;
}
.cexam-q-ae2-action-group:hover,
.cexam-q-ae2-action-group:focus { background: #15803d !important; color: #ffffff !important; }
.cexam-q-ae2-action-error {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
}
.cexam-q-ae2-action-error:hover,
.cexam-q-ae2-action-error:focus { background: #b91c1c !important; color: #ffffff !important; }
.cexam-q-ae2-action-neutral {
    background: #e2e8f0 !important;
    color: #334155 !important;
    border-color: #cbd5e1 !important;
}
.cexam-q-ae2-action-neutral:hover,
.cexam-q-ae2-action-neutral:focus { background: #cbd5e1 !important; color: #0f172a !important; }
.cexam-q-ae2-action-clear {
    background: #f97316 !important;
    color: #ffffff !important;
    border-color: #f97316 !important;
}
.cexam-q-ae2-action-clear:hover,
.cexam-q-ae2-action-clear:focus { background: #ea580c !important; color: #ffffff !important; }

/* Selection must remain visible on normal, grouped green, and error red tokens without adding a selection background. */
.cexam-q-ae2-token.is-selected,
.cexam-q-ae2-token.is-grouped.is-selected,
.cexam-q-ae2-token.is-error.is-selected,
.cexam-q-ae2-token.is-grouped.is-error.is-selected {
    border-color: #7c3aed !important;
    outline: 1px solid #7c3aed !important;
    outline-offset: 1px !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
}
.cexam-q-ae2-token.is-selected:not(.is-grouped):not(.is-error) {
    background: #ffffff !important;
    color: #334155 !important;
}



/* v49: Reading 2/3 admin preview improvements. */
.cexam-q-preview-label-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 22px;
}
.cexam-q-preview-label-pill {
    border: 1px solid #dbe5ef;
    background: #fff;
    border-radius: 14px;
    padding: 12px 14px;
    min-height: 68px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.cexam-q-preview-label-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #085294;
    color: #fff;
    font-weight: 900;
}
.cexam-q-preview-label-pill span {
    color: #111827;
    font-weight: 700;
    line-height: 1.45;
}
.cexam-q-preview-tab-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0 18px;
}
.cexam-q-preview-tab {
    border: 1px solid #b9cce0;
    background: #fff;
    color: #085294;
    border-radius: 999px;
    padding: 9px 18px;
    font-weight: 800;
    cursor: pointer;
    transition: .18s ease;
}
.cexam-q-preview-tab:hover,
.cexam-q-preview-tab.is-active {
    background: #085294;
    color: #fff;
    border-color: #085294;
    box-shadow: 0 8px 18px rgba(8,82,148,.16);
}
.cexam-q-preview-tab-pane { display: none; }
.cexam-q-preview-tab-pane.is-active { display: block; }
.cexam-q-matching-paragraph-list {
    display: grid;
    gap: 14px;
}
.cexam-q-matching-paragraph-card {
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
    gap: 16px;
    align-items: start;
}
.cexam-q-matching-paragraph-text {
    color: #111827;
    font-size: 15px;
    line-height: 1.72;
}
.cexam-q-matching-correct-pill {
    border: 1px solid #86efac;
    background: #ecfdf5;
    color: #047857;
    border-radius: 14px;
    padding: 10px 12px;
    min-width: 180px;
    font-weight: 800;
}
.cexam-q-matching-correct-pill span,
.cexam-q-insertion-correct-position {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #047857;
    font-weight: 900;
    margin-bottom: 5px;
}
.cexam-q-matching-correct-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-weight: 900;
    margin-right: 7px;
}
.cexam-q-matching-correct-pill em {
    color: #065f46;
    font-style: normal;
    line-height: 1.4;
}
.cexam-q-insertion-preview-summary {
    display: grid;
    gap: 12px;
    margin: 0 0 16px;
}
.cexam-q-insertion-correct-position {
    border: 1px solid #86efac;
    background: #ecfdf5;
    border-radius: 14px;
    padding: 10px 12px;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
}
.cexam-q-insertion-correct-position strong { color: #065f46; }
.cexam-q-insertion-passage-preview {
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #fff;
    padding: 16px;
    color: #111827;
    font-size: 16px;
    line-height: 2.05;
    margin: 12px 0 16px;
}
.cexam-q-insertion-position-marker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-weight: 900;
    margin: 0 7px;
    padding: 4px 10px;
    vertical-align: middle;
}
.cexam-q-insertion-position-marker small {
    font-size: 11px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.cexam-q-insertion-position-marker strong {
    font-size: 16px;
    line-height: 1;
}
.cexam-q-insertion-position-marker.is-correct {
    background: #ecfdf5;
    border-color: #86efac;
    color: #047857;
}
.cexam-q-insertion-correct-sentence,
.cexam-q-insertion-final-sentence {
    display: inline;
    border-radius: 10px;
    background: #dcfce7;
    color: #065f46;
    border: 1px solid #86efac;
    font-weight: 800;
    padding: 2px 7px;
    margin: 0 4px;
}
.cexam-q-insertion-final-preview-box {
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    border-radius: 16px;
    padding: 14px 16px;
    margin-top: 16px;
}
.cexam-q-insertion-form-preview { margin-top: 18px; }
.cexam-q-insertion-final-preview-title {
    color: #047857;
    font-weight: 900;
    margin-bottom: 8px;
}
.cexam-q-insertion-final-preview-text {
    color: #111827;
    font-size: 15px;
    line-height: 1.85;
}
@media (max-width: 1100px) {
    .cexam-q-preview-label-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cexam-q-matching-paragraph-card { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .cexam-q-preview-label-grid { grid-template-columns: 1fr; }
}



.cexam-q-autofill-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: #eff6ff;
    padding: 16px 18px;
    margin: 18px 0 22px;
}
.cexam-q-autofill-panel strong {
    display: block;
    color: #085294;
    font-weight: 900;
    margin-bottom: 4px;
}
.cexam-q-autofill-panel span {
    display: block;
    color: #334155;
    font-size: 14px;
    line-height: 1.45;
}
.cexam-q-autofill-status {
    flex: 1 1 100%;
    color: #047857 !important;
    font-weight: 800;
    margin-top: 8px;
}
@media (max-width: 800px) {
    .cexam-q-autofill-panel {
        align-items: flex-start;
        flex-direction: column;
    }
}



.cexam-q-ae3-builder .cexam-q-ae3-context-preview {
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #f8fbff;
    color: #1f2f46;
    font-size: 14px;
    line-height: 1.9;
    margin-top: 12px;
    padding: 14px 15px;
    white-space: normal;
}
.cexam-q-ae3-placeholder { color: #64748b; font-weight: 700; }
.cexam-q-ae3-form-highlight,
.cexam-q-ae3-preview-target {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #75c694;
    border-radius: 10px;
    background: #eaf9ef;
    color: #126b38;
    font-weight: 900;
    line-height: 1.35;
    padding: 2px 7px;
    margin: 0 2px;
}
.cexam-q-ae3-form-highlight em,
.cexam-q-ae3-preview-target em {
    align-items: center;
    background: #149447;
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    height: 19px;
    justify-content: center;
    min-width: 19px;
    padding: 0 5px;
}
.cexam-q-ae3-occurrence-box {
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #ffffff;
    margin: 10px 0 14px;
    padding: 12px;
}
.cexam-q-ae3-occurrence-box label {
    color: #085294;
    display: block;
    font-weight: 900;
    margin-bottom: 7px;
}
.cexam-q-ae3-occurrence-box select {
    width: 100%;
}
.cexam-q-ae3-occurrence-note {
    color: #475569;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    margin-top: 8px;
}
.cexam-q-ae3-occurrence-note.is-ok { color: #047857; }
.cexam-q-ae3-occurrence-note.is-warn { color: #b45309; }
.cexam-q-ae3-occurrence-note.is-error { color: #b91c1c; }
.cexam-q-ae3-preview-text {
    background: #fbfdff;
    border: 1px solid #dbe7f5;
    border-radius: 16px;
    color: #1f2f46;
    font-size: 15px;
    line-height: 1.95;
    padding: 16px;
    margin: 14px 0;
}
.cexam-q-ae3-preview-legend {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
}
.cexam-q-ae3-preview-question-target {
    color: #047857;
    font-size: 13px;
    font-weight: 900;
    margin: 8px 0;
}



/* Builder foundation form controls used inside summary tables and restricted editors. */
.cexam-q-form-control,
.cexam-q-table input[type="text"],
.cexam-q-table input[type="number"],
.cexam-q-table select,
.cexam-q-table textarea {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 15px;
    background: #fff;
    color: #0f172a;
    outline: none;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.cexam-q-form-control:focus,
.cexam-q-table input[type="text"]:focus,
.cexam-q-table input[type="number"]:focus,
.cexam-q-table select:focus,
.cexam-q-table textarea:focus {
    border-color: #085294;
    box-shadow: 0 0 0 3px rgba(8,82,148,.12);
}
.cexam-q-form-control:disabled,
.cexam-q-table input:disabled,
.cexam-q-table select:disabled,
.cexam-q-table textarea:disabled {
    background: #f8fafc;
    color: #94a3b8;
    cursor: not-allowed;
}
.cexam-q-small-control { max-width: 130px; min-width: 96px; }
.cexam-q-medium-control { max-width: 260px; min-width: 180px; }
.cexam-q-runtime-locked-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:12px; }
.cexam-q-runtime-json-box { border:1px solid #e5e7eb; border-radius:14px; background:#f8fafc; padding:14px; max-height:240px; overflow:auto; color:#334155; font-size:13px; white-space:pre-wrap; }
.cexam-q-warning-box { border:1px solid #fed7aa; border-radius:14px; background:#fff7ed; color:#9a3412; padding:13px 15px; }



/* Phase 7A: Assessment Foundation read-only review. */
.cexam-q-badge-red { background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
.cexam-q-row-selected td { background:#f0f9ff !important; }
.cexam-assessment-answer-list { display:grid; gap:18px; }
.cexam-assessment-answer-card { border:1px solid #e5e7eb; border-radius:18px; background:#fff; padding:18px; box-shadow:0 8px 20px rgba(15,23,42,.045); }
.cexam-assessment-answer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; border-bottom:1px solid #eef2f7; padding-bottom:14px; margin-bottom:14px; }
.cexam-assessment-answer-head strong { color:#085294; font-size:18px; }
.cexam-assessment-answer-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-top:14px; }
.cexam-assessment-read-box { border:1px solid #e5e7eb; border-radius:14px; background:#fbfdff; padding:14px; color:#334155; }
.cexam-assessment-read-box > strong { display:block; color:#085294; font-weight:900; margin-bottom:8px; }
.cexam-assessment-answer-text { white-space:pre-wrap; line-height:1.65; color:#111827; }
.cexam-assessment-mini-line { margin-top:9px; color:#334155; line-height:1.45; }
.cexam-assessment-mini-line strong { color:#0f172a; }
.cexam-assessment-compact-list { margin:8px 0 0 18px; padding:0; color:#334155; line-height:1.55; }
.cexam-assessment-file-list { margin-top:14px; border:1px dashed #bfdbfe; border-radius:14px; background:#eff6ff; padding:14px; }
.cexam-assessment-file-list > strong { display:block; color:#085294; font-weight:900; margin-bottom:10px; }
.cexam-assessment-file-row { display:grid; grid-template-columns:minmax(0, 1fr) minmax(260px, 380px); gap:12px; align-items:center; padding:10px 0; border-top:1px solid rgba(8,82,148,.12); }
.cexam-assessment-file-row:first-of-type { border-top:0; }
.cexam-assessment-file-row span { color:#334155; font-weight:700; overflow-wrap:anywhere; }
.cexam-assessment-file-row audio { width:100%; }
@media(max-width: 900px){
    .cexam-assessment-answer-head { flex-direction:column; }
    .cexam-assessment-answer-grid { grid-template-columns:1fr; }
    .cexam-assessment-file-row { grid-template-columns:1fr; }
}



/* Phase 7B: Manual Grading Foundation + answer-review scroll target. */
.cexam-assessment-review-card { scroll-margin-top: 90px; }
.cexam-q-button:disabled,
.cexam-q-button[disabled] {
    opacity: .55;
    cursor: not-allowed;
    transform: none !important;
}
.cexam-q-field textarea:disabled,
.cexam-q-field input:disabled {
    background: #f8fafc;
    color: #94a3b8;
    cursor: not-allowed;
}
.cexam-manual-grade-score-panel {
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #eff6ff;
    padding: 16px;
}



/* Phase 7C: manual grading whole-number input and score aggregation preview. */
.cexam-integer-score {
    letter-spacing: .03em;
    font-weight: 800;
}
.cexam-score-module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}
.cexam-score-module-card {
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #fbfdff;
    padding: 16px;
    box-shadow: 0 6px 18px rgba(15,23,42,.04);
}
.cexam-score-module-card strong {
    display: block;
    color: #085294;
    font-size: 17px;
    font-weight: 900;
    margin-bottom: 8px;
}
.cexam-score-module-card span {
    display: block;
    color: #0f172a;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
}
.cexam-score-module-card small {
    display: block;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    margin-top: 8px;
}
.cexam-score-summary-table strong {
    color: #0f172a;
}



/* Phase 7D: official score snapshot foundation. */
.cexam-score-snapshot-note {
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #eff6ff;
    color: #334155;
    padding: 14px 16px;
    line-height: 1.55;
}
.cexam-score-snapshot-note strong { color: #085294; }
.cexam-score-snapshot-lock {
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    background: #ecfdf5;
    color: #047857;
    padding: 14px 16px;
    font-weight: 800;
}



/* Phase 8C-R2 controlled exam actions. */
.cexam-action-module-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:16px 0; }
.cexam-action-choice-grid { display:grid; gap:14px; margin:16px 0; }
.cexam-action-choice-grid-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cexam-action-module-static,
.cexam-action-module-select,
.cexam-action-static-card,
.cexam-action-select-card,
.cexam-action-section-option { border:1px solid #dbe4ee; border-radius:16px; background:#fff; }
.cexam-action-module-static,
.cexam-action-module-select { padding:16px; }
.cexam-action-module-static strong,
.cexam-action-module-select h4 { display:block; color:#085294; font-size:17px; font-weight:900; margin:0 0 10px; }
.cexam-action-module-static span { display:block; color:#475569; font-size:13px; line-height:1.45; padding:5px 0; border-top:1px solid #eef2f7; }
.cexam-action-select-card,
.cexam-action-section-option { display:flex; gap:12px; align-items:flex-start; padding:14px; cursor:pointer; transition:.18s ease; }
.cexam-action-select-card:hover,
.cexam-action-section-option:hover { border-color:#60a5fa; background:#eff6ff; transform:translateY(-1px); }
.cexam-action-select-card input,
.cexam-action-section-option input { width:20px; height:20px; margin:2px 0 0; flex:0 0 auto; accent-color:#085294; }
.cexam-action-select-card span,
.cexam-action-section-option span { display:block; min-width:0; }
.cexam-action-select-card strong,
.cexam-action-section-option strong { display:block; color:#0f172a; font-weight:900; line-height:1.3; }
.cexam-action-select-card small,
.cexam-action-section-option small { display:block; color:#64748b; margin-top:5px; line-height:1.4; }
.cexam-action-section-option { margin-top:8px; }

.cexam-action-section-option.is-disabled { cursor:not-allowed; opacity:.72; background:#f8fafc; }
.cexam-action-section-option.is-disabled:hover { border-color:#dbe4ee; background:#f8fafc; transform:none; }
.cexam-action-progress { display:flex; justify-content:space-between; gap:16px; align-items:center; border:1px solid #fed7aa; border-radius:14px; padding:14px 16px; background:#fff7ed; color:#9a3412; margin-bottom:16px; }
.cexam-action-static-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.cexam-action-static-card { padding:14px; }
.cexam-action-static-card strong { display:block; color:#0f172a; font-weight:900; }
.cexam-action-static-card span { display:block; margin-top:6px; color:#64748b; }
.cexam-action-static-card.is-complete { border-color:#bbf7d0; background:#ecfdf5; }
.cexam-action-static-card.is-complete span { color:#047857; font-weight:800; }
.cexam-action-static-card.is-pending { border-color:#fed7aa; background:#fff7ed; }
.cexam-action-confirm-form { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-top:16px; }
.cexam-action-confirm-form .cexam-q-field { flex:1; min-width:240px; margin:0; }
.cexam-action-danger-card { border-color:#fecaca !important; background:#fffafa !important; }
.cexam-dev-fixture-card { border-color:#bfdbfe !important; background:#f8fbff !important; }
@media(max-width:1200px){ .cexam-action-module-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .cexam-action-choice-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:760px){ .cexam-action-module-grid,.cexam-action-choice-grid-four{grid-template-columns:1fr;} .cexam-action-progress{align-items:flex-start;flex-direction:column;} }



/* Phase 8C-R2.1 unified partial reset selector. */
.cexam-action-subtitle {
    align-items: baseline;
    color: #085294;
    display: flex;
    font-size: 18px;
    font-weight: 900;
    gap: 9px;
    margin: 24px 0 8px;
}
.cexam-action-subtitle span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.cexam-action-scope-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 14px 0 18px;
}
.cexam-action-scope-card,
.cexam-action-module-card {
    display: block;
    margin: 0;
    min-width: 0;
    position: relative;
}
.cexam-action-scope-card > input,
.cexam-action-module-card > input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    width: 1px;
}
.cexam-action-scope-card > span,
.cexam-action-module-card > span {
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 17px;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 100%;
    min-height: 104px;
    padding: 16px;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.cexam-action-scope-card > span:hover,
.cexam-action-module-card > span:hover {
    background: #f8fbff;
    border-color: #60a5fa;
    transform: translateY(-1px);
}
.cexam-action-scope-card > input:focus-visible + span,
.cexam-action-module-card > input:focus-visible + span {
    box-shadow: 0 0 0 3px rgba(8,82,148,.16);
}
.cexam-action-scope-card > input:checked + span,
.cexam-action-module-card > input:checked + span {
    background: #eff6ff;
    border-color: #085294;
    box-shadow: 0 0 0 2px rgba(8,82,148,.11);
}
.cexam-action-scope-card strong,
.cexam-action-module-card strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.3;
}
.cexam-action-scope-card small,
.cexam-action-module-card small {
    color: #64748b;
    display: block;
    font-size: 13px;
    line-height: 1.55;
    margin-top: 7px;
}
.cexam-action-module-card em {
    color: #b45309;
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    margin-top: 9px;
}
.cexam-action-module-card.is-disabled > span {
    background: #f8fafc;
    border-color: #e2e8f0;
    cursor: not-allowed;
    opacity: .72;
    transform: none;
}
.cexam-action-target-panel {
    border-top: 1px solid #edf2f7;
    margin-top: 20px;
    padding-top: 4px;
}
.cexam-action-target-panel[hidden] { display: none !important; }
@media(max-width: 1050px) {
    .cexam-action-scope-grid { grid-template-columns: 1fr; }
}



/* Phase 8C-R2.2 administrator module-retake semantics and danger-form spacing. */
.cexam-action-danger-submit {
    margin-top: 16px !important;
}
.cexam-action-scope-card.is-disabled > span {
    background: #f8fafc;
    border-color: #e2e8f0;
    cursor: not-allowed;
    opacity: .72;
    transform: none;
}
.cexam-action-scope-card.is-disabled > span:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
    transform: none;
}
.cexam-action-scope-card em {
    color: #b45309;
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    margin-top: 9px;
}



/* Phase 8D result publication, candidate countdown, and compact action layouts. */
.cexam-action-choice-grid-three {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cexam-result-window-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.cexam-result-window-grid > div {
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    min-width: 0;
    padding: 14px 15px;
}
.cexam-result-window-grid span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.cexam-result-window-grid strong {
    color: #0f172a;
    display: block;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.cexam-result-hero {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cexam-result-hero > div {
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    padding: 18px;
    text-align: center;
}
.cexam-result-hero span,
.cexam-result-hero small {
    color: #64748b;
    display: block;
    font-weight: 800;
}
.cexam-result-hero strong {
    color: #085294;
    display: block;
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 900;
    line-height: 1.2;
    margin: 8px 0;
}
.cexam-result-countdown {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 16px auto 0;
    max-width: 760px;
}
.cexam-result-countdown > div {
    background: #085294;
    border-radius: 14px;
    color: #fff;
    padding: 14px 8px;
    text-align: center;
}
.cexam-result-countdown strong {
    display: block;
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 900;
    line-height: 1;
}
.cexam-result-countdown span {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    margin-top: 7px;
    text-transform: uppercase;
}
.cexam-result-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.cexam-result-action-row form { margin: 0; }
.cexam-result-table th,
.cexam-result-table td { vertical-align: middle; }
.cexam-candidate-result-wrap .cexam-q-button[disabled] {
    cursor: not-allowed;
    opacity: .58;
}
.cexam-exam-identity-warning {
    border-width: 2px;
    font-size: 15px;
    line-height: 1.65;
    margin: 14px 0 18px;
}
.cexam-rescore-score-form,
.cexam-action-confirm-form { margin-top: 16px; }
.cexam-rescore-grade-card audio { max-width: 100%; width: 520px; }
@media(max-width: 900px) {
    .cexam-action-choice-grid-three { grid-template-columns: 1fr; }
}
@media(max-width: 700px) {
    .cexam-result-hero { grid-template-columns: 1fr; }
    .cexam-result-countdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cexam-result-action-row { align-items: stretch; flex-direction: column; }
    .cexam-result-action-row form,
    .cexam-result-action-row .cexam-q-button { width: 100%; }
}



/* Context tabs belong to one selected exam. Primary navigation is shared below. */
.cexam-workspace-context {
    margin:0 0 20px;
    border:1px solid #b8d3ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 22px rgba(15, 76, 129, .08);
    overflow:hidden;
}
.cexam-workspace-identity {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px 16px;
    background:var(--cexam-identity-background);
}
.cexam-workspace-eyebrow {
    margin-bottom:4px;
    color:#4b6f91;
    font-size:11px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.cexam-workspace-identity-main {
    flex:1 1 auto;
    min-width:0;
}
.cexam-workspace-identity h2 {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0;
    color:#084f8d;
    font-size:25px;
    font-weight:900;
}
.cexam-workspace-candidate {
    margin-top:5px;
    color:#475569;
    font-size:14px;
    font-weight:700;
}
.cexam-workspace-candidate-meta {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));
    gap:9px 12px;
    margin-top:14px;
}
.cexam-workspace-candidate-meta > div {
    min-width:0;
    padding:9px 11px;
    border:1px solid #d8e6f2;
    border-radius:10px;
    background:rgba(255,255,255,.78);
}
.cexam-workspace-candidate-meta span,
.cexam-workspace-candidate-meta strong {
    display:block;
    overflow-wrap:anywhere;
}
.cexam-workspace-candidate-meta span {
    margin-bottom:3px;
    color:#64748b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.cexam-workspace-candidate-meta strong {
    color:#1e3a56;
    font-size:13px;
    font-weight:850;
}
.cexam-workspace-db-id {
    display:inline-flex;
    align-items:center;
    color:#64748b;
    font-size:15px;
    font-weight:850;
    letter-spacing:.01em;
}
.cexam-workspace-test-badge {
    display:inline-flex;
    padding:3px 8px;
    border-radius:999px;
    background:#fff3cd;
    color:#8a4b00;
    font-size:11px;
    line-height:1.3;
    text-transform:uppercase;
}
.cexam-workspace-status-block {
    min-width:215px;
    padding:11px 13px;
    border:1px solid #cbddec;
    border-radius:12px;
    background:#fff;
}
.cexam-workspace-status-block span,
.cexam-workspace-status-block small {
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}
.cexam-workspace-status-block strong {
    display:block;
    margin:3px 0;
    color:#0f4f85;
    font-size:15px;
    font-weight:900;
}
/* A quiet visual focus for the exam state; the help link belongs to this header. */
body.cexam-site-theme .cexam-workspace-context .cexam-workspace-status-block.cexam-workspace-status-orbit {
    flex:0 0 286px;
    min-width:0;
    max-width:100%;
    padding:21px;
    border:1px solid var(--cexam-surface-border,#dfe5ed);
    border-radius:18px;
    background:radial-gradient(circle at 5% 0%,color-mix(in srgb,var(--cexam-surface-accent,#8098d2) 14%,transparent),transparent 58%),linear-gradient(140deg,var(--cexam-summary-a,#e8f4ff),var(--cexam-summary-c,#f1edfc));
    box-shadow:0 6px 22px color-mix(in srgb,var(--cexam-surface-accent,#8098d2) 9%,transparent);
}
.cexam-workspace-status-orbit .cexam-workspace-status-heading { display:flex;gap:19px;align-items:center;min-height:74px; }
.cexam-workspace-status-orbit .cexam-workspace-status-title { min-width:0; }
.cexam-workspace-status-orbit .cexam-workspace-status-title>span { font-size:10px;letter-spacing:1.5px;color:var(--cexam-surface-label,#4b6280); }
.cexam-workspace-status-orbit .cexam-workspace-status-title>strong { font-size:20px;line-height:1.35;margin:5px 0 0;color:var(--cexam-surface-value,#244f7d);overflow-wrap:anywhere; }
.cexam-workspace-status-orbit>small { margin-top:15px;font-size:12px;line-height:1.8;text-transform:none;font-weight:600;color:var(--cexam-surface-label,#4b6280);overflow-wrap:anywhere; }
.cexam-workspace-status-art { position:relative;display:grid;place-items:center;flex:0 0 64px;width:64px;height:70px; }
.cexam-workspace-status-art>.bi { font-size:29px;line-height:1;color:var(--cexam-ui-blue-a,#2c52aa); }
.cexam-workspace-status-ring { position:absolute;inset:2px;border:1px solid color-mix(in srgb,var(--cexam-surface-accent,#8098d2) 42%,transparent);border-radius:50%;transform:rotate(-20deg);animation:cexam-status-orbit 32s linear infinite;pointer-events:none; }
.cexam-workspace-status-ring::before { content:'';position:absolute;inset:6px -7px;border:1px solid color-mix(in srgb,var(--cexam-surface-lavender-accent,#a094d3) 48%,transparent);border-radius:50%;transform:rotate(50deg); }
.cexam-workspace-status-ring::after { content:'';position:absolute;top:9px;right:1px;width:7px;height:7px;border-radius:50%;background:var(--cexam-surface-lavender-accent,#a094d3);box-shadow:0 0 0 5px color-mix(in srgb,var(--cexam-surface-lavender-accent,#a094d3) 13%,transparent); }
.cexam-workspace-status-orbit .cexam-guide-context-help { margin-top:17px;padding-top:14px;border-top:1px solid var(--cexam-surface-border,#dfe5ed); }
body.cexam-site-theme .cexam-workspace-status-orbit .cexam-guide-context-help>a { display:flex;gap:9px;width:100%;min-height:36px;padding:10px 12px;font-size:12px;line-height:1.4;border-radius:10px;box-shadow:none; }
.cexam-workspace-status-orbit .cexam-guide-context-help>a>.bi:last-child { margin-left:auto; }
@keyframes cexam-status-orbit { to { transform:rotate(340deg); } }
@media(max-width:820px) {
    body.cexam-site-theme .cexam-workspace-context .cexam-workspace-status-block.cexam-workspace-status-orbit { flex:0 1 auto;width:100%; }
}
@media(prefers-reduced-motion:reduce) { .cexam-workspace-status-ring { animation:none; } }
.cexam-workspace-official-result {
    display:grid;
    grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:10px;
    padding:14px 20px;
    border-top:1px solid #d9e7f4;
    background:#f8fbff;
}
.cexam-workspace-official-result > div {
    min-width:0;
    padding:10px 12px;
    border:1px solid #d5e4f2;
    border-radius:11px;
    background:#fff;
}
.cexam-workspace-official-result > div.is-internal {
    border-style:dashed;
    background:#fffdf7;
}
.cexam-workspace-official-result span,
.cexam-workspace-official-result strong,
.cexam-workspace-official-result small {
    display:block;
    overflow-wrap:anywhere;
}
.cexam-workspace-official-result span {
    color:#64748b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.cexam-workspace-official-result strong {
    margin-top:3px;
    color:#0f4f85;
    font-size:17px;
    font-weight:900;
}
.cexam-workspace-official-result small {
    margin-top:3px;
    color:#64748b;
    font-size:11px;
    font-weight:700;
}
.cexam-admin-official-result-card .cexam-result-window-grid small {
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:11px;
}
@media (max-width: 991px) {
    .cexam-workspace-official-result { grid-template-columns:repeat(2,minmax(140px,1fr)); }
}
@media (max-width: 575px) {
    .cexam-workspace-official-result { grid-template-columns:1fr; padding:12px; }
}

.cexam-workspace-tabs {
    display:flex;
    gap:0;
    overflow-x:auto;
    border-top:1px solid #d9e7f4;
    background:#fbfdff;
}
.cexam-workspace-tab {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:50px;
    padding:14px 20px;
    border-right:1px solid #e2e8f0;
    border-bottom:3px solid transparent;
    color:#475569;
    font-size:16px;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
}
.cexam-workspace-tab:hover {
    background:#f0f7fd;
    color:#07528f;
}
.cexam-workspace-tab.is-active {
    border-bottom-color:#0b6fb8;
    background:#eaf5fd;
    color:#07528f;
}
.cexam-workspace-page-heading {
    margin-top:4px;
}
.cexam-workspace-page-heading h3 {
    margin:0 0 5px;
    color:#085294;
    font-weight:900;
}
.cexam-workspace-next-step {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:18px 20px;
    margin:0 0 18px;
    border:1px solid #bfdbfe;
    border-left-width:5px;
    border-radius:14px;
    background:#f8fbff;
}
.cexam-workspace-next-step h3 {
    margin:0 0 4px;
    color:#0f4f85;
    font-weight:900;
}
.cexam-workspace-next-step p {
    margin:0;
    color:#526577;
}
.cexam-workspace-next-step.is-green { border-color:#86d5aa; background:#f2fcf6; }
.cexam-workspace-next-step.is-orange { border-color:#f1bd72; background:#fff9ef; }
.cexam-workspace-next-step.is-purple { border-color:#c4b5fd; background:#faf8ff; }
.cexam-workspace-overview-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.cexam-workspace-overview-card {
    margin:0 !important;
}
.cexam-workspace-overview-card h3 {
    margin-bottom:13px;
}
.cexam-workspace-overview-card dl {
    margin:0 0 14px;
}
.cexam-workspace-overview-card dl > div {
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:8px 0;
    border-bottom:1px solid #edf2f7;
}
.cexam-workspace-overview-card dt {
    color:#64748b;
    font-weight:700;
}
.cexam-workspace-overview-card dd {
    margin:0;
    color:#1e293b;
    font-weight:850;
    text-align:right;
}
.cexam-workspace-card-link {
    display:inline-flex;
    color:#0865a8;
    font-weight:850;
    text-decoration:none;
}
.cexam-workspace-card-link:hover { text-decoration:underline; }
.cexam-context-page-title {
    margin:2px 0 18px;
}
.cexam-context-page-title h3 {
    margin:0 0 5px;
    color:#085294;
    font-weight:900;
}
.cexam-page-local-action {
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#526577;
    font-size:15px;
    font-weight:800;
    text-decoration:none;
}
.cexam-page-local-action:hover { color:#07528f; }
@media (max-width: 1100px) {
    .cexam-workspace-candidate-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
    .cexam-workspace-identity,
    .cexam-workspace-next-step { flex-direction:column; align-items:stretch; }
    .cexam-workspace-status-block { min-width:0; }
    .cexam-workspace-overview-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
    .cexam-workspace-candidate-meta { grid-template-columns:1fr; }
}



/* Verification media workspace. */
.cexam-media-file-meta > div {
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:9px 0;
    border-bottom:1px solid #edf2f7;
}
.cexam-media-file-meta dt { color:#64748b; font-weight:700; }
.cexam-media-file-meta dd { margin:0; color:#1e293b; font-weight:800; text-align:right; overflow-wrap:anywhere; }
.cexam-media-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin:0 0 22px;
}
.cexam-media-card {
    display:grid;
    grid-template-columns:minmax(210px,.82fr) minmax(0,1.18fr);
    min-width:0;
    overflow:hidden;
    border:1px solid #dbe4ee;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.055);
}
.cexam-media-preview {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:250px;
    padding:14px;
    background:#f3f7fb;
    border-right:1px solid #e2e8f0;
}
.cexam-media-preview img {
    display:block;
    width:100%;
    height:220px;
    object-fit:contain;
    border-radius:12px;
    background:#fff;
}
.cexam-media-preview > a { width:100%; text-decoration:none; }
.cexam-media-document,
.cexam-media-empty-icon {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:180px;
    color:#526577;
    text-align:center;
    text-decoration:none;
}
.cexam-media-document span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    border-radius:16px;
    background:#085294;
    color:#fff;
    font-size:18px;
    font-weight:900;
}
.cexam-media-card-body { min-width:0; padding:20px; }
.cexam-media-card-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.cexam-media-card-title-row h3 { margin:0; color:#085294; font-size:20px; font-weight:900; }
.cexam-media-card-body > p { margin:8px 0 14px; color:#526577; line-height:1.55; }
.cexam-media-file-meta { margin:0 0 16px; }
.cexam-media-actions { margin-top:14px; }
.cexam-media-captures-card .cexam-q-toolbar { margin-bottom:16px; }
.cexam-media-capture-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.cexam-media-capture-item {
    overflow:hidden;
    border:1px solid #dbe4ee;
    border-radius:16px;
    background:#fff;
}
.cexam-media-capture-item > a { display:block; background:#f3f7fb; }
.cexam-media-capture-item img {
    display:block;
    width:100%;
    height:190px;
    object-fit:contain;
}
.cexam-media-capture-missing {
    display:flex;
    align-items:center;
    justify-content:center;
    height:190px;
    background:#f8fafc;
    color:#64748b;
    font-weight:800;
}
.cexam-media-capture-info { display:grid; gap:3px; padding:13px; }
.cexam-media-capture-info strong { color:#0f4f85; }
.cexam-media-capture-info span { color:#334155; font-size:13px; overflow-wrap:anywhere; }
.cexam-media-capture-info small { color:#64748b; }
.cexam-media-capture-info a { margin-top:5px; color:#0865a8; font-weight:800; }
@media(max-width:1200px) {
    .cexam-media-grid { grid-template-columns:1fr; }
    .cexam-media-capture-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:820px) {
    .cexam-media-card { grid-template-columns:1fr; }
    .cexam-media-preview { border-right:0; border-bottom:1px solid #e2e8f0; }
    .cexam-media-capture-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
    .cexam-q-button { width:100%; }
    .cexam-media-capture-grid { grid-template-columns:1fr; }
}



/* Unified Builder / Question Content navigation. Global centers are visually
   separated from the tabs belonging to one version, family, bank or quiz. */
.cexam-content-context {margin:0 0 18px;border:1px solid #b8d3ee;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(15,76,129,.08);overflow:hidden;}
.cexam-content-identity {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 16px;background:var(--cexam-identity-background);}
.cexam-content-identity-main {flex:1 1 auto;min-width:0;}
.cexam-content-breadcrumbs {display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 7px;color:#64748b;font-size:13px;font-weight:750;}
.cexam-content-breadcrumbs a {color:#0865a8;font-weight:850;text-decoration:none;}
.cexam-content-breadcrumbs a:hover {text-decoration:underline;}
.cexam-content-breadcrumbs strong {color:#334155;font-weight:900;}
.cexam-content-eyebrow {margin-bottom:4px;color:#4b6f91;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.cexam-content-identity h2 {margin:0;color:#084f8d;font-size:25px;font-weight:900;overflow-wrap:anywhere;}
.cexam-content-subtitle {margin-top:5px;color:#475569;font-size:14px;font-weight:700;overflow-wrap:anywhere;}
.cexam-content-meta-grid {display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:9px 12px;margin-top:14px;}
.cexam-content-meta-grid>div {min-width:0;padding:9px 11px;border:1px solid #d8e6f2;border-radius:10px;background:rgba(255,255,255,.78);}
.cexam-content-meta-grid span,.cexam-content-meta-grid strong {display:block;overflow-wrap:anywhere;}
.cexam-content-meta-grid span {margin-bottom:3px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.cexam-content-meta-grid strong {color:#1e3a56;font-size:13px;font-weight:850;}
.cexam-content-status-block {min-width:225px;padding:11px 13px;border:1px solid #cbddec;border-radius:12px;background:#fff;}
.cexam-content-status-block>span,.cexam-content-status-block>small {display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;}
.cexam-content-status-block>strong {display:block;margin:3px 0;color:#0f4f85;font-size:15px;font-weight:900;}
.cexam-content-status-block .cexam-guide-content-help{margin-top:12px;padding-top:10px;border-top:1px solid var(--cexam-surface-border,#dfe5ed)}
body.cexam-site-theme .cexam-guide-content-help>a{display:inline-flex;gap:9px;min-height:36px;padding:9px 12px;border-radius:9px;font-size:12px;line-height:1.4;box-shadow:none}
.cexam-content-status-block .cexam-guide-content-help>a{width:100%}
.cexam-guide-content-help>a .bi:last-child{margin-left:auto}
.cexam-content-badge-row {display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.cexam-content-return-link {display:inline-flex;margin-top:10px;color:#07528f;font-weight:850;text-decoration:none;}
.cexam-content-tabs {display:flex;gap:0;overflow-x:auto;border-top:1px solid #d9e7f4;background:#fbfdff;}
.cexam-content-tabs a {display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:50px;padding:14px 20px;border-right:1px solid #e2e8f0;border-bottom:3px solid transparent;color:#475569;font-size:16px;font-weight:850;text-decoration:none;white-space:nowrap;}
.cexam-content-tabs a:hover {background:#f0f7fd;color:#07528f;}
.cexam-content-tabs a.is-active {border-bottom-color:#0b6fb8;background:#eaf5fd;color:#07528f;}
.cexam-content-subcontext {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-5px 0 18px;padding:13px 16px;border:1px solid #dbe6f0;border-radius:14px;background:#fbfdff;}
.cexam-content-subcontext>div>span,.cexam-content-subcontext>div>small {display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;}
.cexam-content-subcontext>div>strong {display:block;margin:2px 0;color:#0f4f85;font-size:18px;font-weight:900;}
.cexam-content-subcontext nav {display:flex;flex-wrap:wrap;gap:8px;}
.cexam-content-subcontext nav a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#334155;font-size:14px;font-weight:850;text-decoration:none;}
.cexam-content-subcontext nav a.is-active {border-color:#87b9df;background:#eaf5fd;color:#07528f;}
.cexam-content-page-intro {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px;padding:3px 2px 0;}
.cexam-content-page-intro h3 {margin:0 0 5px;color:#085294;font-size:24px;font-weight:900;}
.cexam-content-page-intro p {margin:0;color:#64748b;line-height:1.55;}
.cexam-content-page-intro-compact {margin-bottom:16px;}
.cexam-content-overview-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 22px;}
.cexam-content-overview-card {display:block;min-height:160px;padding:20px;border:1px solid #dbe4ee;border-radius:18px;background:#fff;color:#1e293b;box-shadow:0 8px 20px rgba(15,23,42,.05);text-decoration:none;}
.cexam-content-overview-card:hover {border-color:#9cc5e4;transform:translateY(-1px);text-decoration:none;}
.cexam-content-overview-card h3 {margin:6px 0 8px;color:#085294;font-size:20px;font-weight:900;}
.cexam-content-overview-card p {margin:0;color:#64748b;line-height:1.55;}
.cexam-content-family-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.cexam-content-family-card {padding:20px;border:1px solid #dbe4ee;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.cexam-content-family-card h3 {margin:0 0 6px;}
.cexam-content-family-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;}
.cexam-content-family-stats span {display:block;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px;text-align:center;}
.cexam-content-family-stats strong {display:block;color:#0f4f85;font-size:19px;}
.cexam-content-pagination {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin-top:18px;}
.cexam-content-pagination>a,.cexam-content-pagination>span {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #d7e0e9;border-radius:10px;background:#fff;color:#334155;font-weight:850;text-decoration:none;}
.cexam-content-pagination>a:hover,.cexam-content-pagination>a.is-active,.cexam-content-pagination>span.is-active {border-color:#0b6fb8;background:#eaf5fd;color:#07528f;}
.cexam-workspace-search-form {margin-bottom:18px;}
.cexam-workspace-filter-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.cexam-workspace-filter-wide {grid-column:span 2;}
.cexam-workspace-filter-actions {margin-top:16px;}
@media(max-width:1100px){.cexam-content-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cexam-content-overview-grid,.cexam-content-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cexam-workspace-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.cexam-content-identity,.cexam-content-subcontext{align-items:stretch;flex-direction:column;}.cexam-content-status-block{min-width:0;}.cexam-content-meta-grid,.cexam-content-overview-grid,.cexam-content-family-grid{grid-template-columns:1fr;}.cexam-content-subcontext nav a{flex:1 1 170px;}}
@media(max-width:680px){.cexam-workspace-filter-grid{grid-template-columns:1fr;}.cexam-workspace-filter-wide{grid-column:auto;}.cexam-workspace-filter-actions .cexam-q-button{width:100%;}}



/* People & Organisations workspace. */
.cexam-people-context {
    margin:0 0 20px;
    border:1px solid #b8d3ee;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 22px rgba(15,76,129,.08);
    overflow:hidden;
}
.cexam-people-identity {
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:20px;
    background:var(--cexam-identity-background);
}
.cexam-people-avatar {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 68px;
    width:68px;
    height:68px;
    border:3px solid #fff;
    border-radius:50%;
    background:linear-gradient(135deg,#0b6fb8,#63b7ec);
    color:#fff;
    font-size:30px;
    font-weight:900;
    box-shadow:0 6px 18px rgba(8,82,148,.18);
}
.cexam-people-identity-main {flex:1 1 auto;min-width:0;}
.cexam-people-eyebrow {margin-bottom:4px;color:#4b6f91;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.cexam-people-identity h2 {margin:0;color:#084f8d;font-size:26px;font-weight:900;overflow-wrap:anywhere;}
.cexam-people-subtitle {margin-top:5px;color:#475569;font-size:14px;font-weight:750;overflow-wrap:anywhere;}
.cexam-people-meta-grid {display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:9px 12px;margin-top:14px;}
.cexam-people-meta-grid>div {min-width:0;padding:9px 11px;border:1px solid #d8e6f2;border-radius:10px;background:rgba(255,255,255,.8);}
.cexam-people-meta-grid span,.cexam-people-meta-grid strong {display:block;overflow-wrap:anywhere;}
.cexam-people-meta-grid span {margin-bottom:3px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.cexam-people-meta-grid strong {color:#1e3a56;font-size:13px;font-weight:850;}
.cexam-people-status-block {flex:0 0 245px;min-width:225px;padding:12px 14px;border:1px solid #cbddec;border-radius:12px;background:#fff;}
.cexam-people-status-block>span {display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;}
.cexam-people-status-block>strong {display:block;margin:3px 0;color:#0f4f85;font-size:16px;font-weight:900;}
.cexam-people-back-link {display:inline-flex;margin-top:11px;color:#07528f;font-size:13px;font-weight:850;text-decoration:none;}
.cexam-people-back-link:hover {text-decoration:underline;}
.cexam-people-tabs {display:flex;gap:0;overflow-x:auto;border-top:1px solid #d9e7f4;background:#fbfdff;}
.cexam-people-tabs a {display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:52px;padding:14px 21px;border-right:1px solid #e2e8f0;border-bottom:3px solid transparent;color:#475569;font-size:16px;font-weight:850;text-decoration:none;white-space:nowrap;}
.cexam-people-tabs a:hover {background:#f0f7fd;color:#07528f;}
.cexam-people-tabs a.is-active {border-bottom-color:#0b6fb8;background:#eaf5fd;color:#07528f;}
.cexam-people-page-intro {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px;}
.cexam-people-page-intro h3 {margin:0 0 5px;color:#085294;font-size:24px;font-weight:900;}
.cexam-people-page-intro p {margin:0;color:#64748b;line-height:1.55;}
.cexam-people-profile-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.cexam-people-profile-card {padding:20px;border:1px solid #dbe4ee;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.05);}
.cexam-people-profile-card h3 {margin:0 0 14px;color:#085294;font-size:19px;font-weight:900;}
.cexam-people-info-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.cexam-people-info-item {min-width:0;padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fbfe;}
.cexam-people-info-item span,.cexam-people-info-item strong {display:block;overflow-wrap:anywhere;}
.cexam-people-info-item span {margin-bottom:4px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.cexam-people-info-item strong {color:#1e3a56;font-size:14px;font-weight:800;}
.cexam-people-files {display:flex;flex-wrap:wrap;gap:10px;}
.cexam-people-file {display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #b9d2e8;border-radius:11px;background:#f5faff;color:#07528f;font-weight:800;text-decoration:none;}
.cexam-people-file:hover {background:#e9f5ff;color:#064574;}
.cexam-people-filter-card {margin-bottom:18px;}
.cexam-people-list-summary {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;}
.cexam-people-list-summary strong {color:#085294;font-size:18px;}
.cexam-people-account-cell {display:flex;flex-wrap:wrap;gap:5px;}
.cexam-people-action-cell {display:flex;flex-wrap:wrap;gap:8px;}
.cexam-people-action-cell .cexam-q-button {min-height:42px;padding:10px 14px;font-size:13px;}
.cexam-people-empty {padding:28px;text-align:center;color:#64748b;}

/* Make legacy forms inside the People workspace visually compatible without
   changing their field names or submission behaviour. */
.cexam-people-shell .inputMainCol {margin-bottom:16px;}
.cexam-people-shell .form-label {color:#334155;font-weight:800;}
.cexam-people-shell .form-control,
.cexam-people-shell .form-select,
.cexam-people-shell input[type="text"],
.cexam-people-shell input[type="email"],
.cexam-people-shell input[type="number"],
.cexam-people-shell input[type="password"],
.cexam-people-shell textarea,
.cexam-people-shell select {min-height:48px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#1e293b;box-shadow:none;}
.cexam-people-shell textarea {min-height:105px;}
.cexam-people-shell .g-btn,
.cexam-license-card .g-btn {min-height:46px;padding:12px 17px;border-radius:11px;box-shadow:none;font-size:14px;font-weight:850;text-shadow:none;}
/* Row-card tables already draw their own outline; do not add a second frame. */
.cexam-license-card .cexam-license-table:not(.cexam-q-table) {border:1px solid #dbe4ee;border-radius:12px;overflow:hidden;}
.cexam-license-card .cexam-license-table th {background:#eaf5fd;color:#07528f;font-size:13px;font-weight:900;text-transform:uppercase;}
.cexam-license-card .cexam-license-table td {color:#334155;}

@media(max-width:1000px){
    .cexam-people-identity{flex-wrap:wrap;}
    .cexam-people-status-block{flex:1 1 100%;}
    .cexam-people-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
    .cexam-people-profile-grid,.cexam-people-info-grid{grid-template-columns:1fr;}
    .cexam-people-page-intro,.cexam-people-list-summary{align-items:stretch;flex-direction:column;}
}
@media(max-width:560px){
    .cexam-people-identity{align-items:center;flex-direction:column;text-align:center;}
    .cexam-people-meta-grid{grid-template-columns:1fr;width:100%;text-align:left;}
    .cexam-people-status-block{width:100%;text-align:left;}
}



/* Phase 8F-R10 refinements: People directory/profile/form presentation. */
.cexam-q-button-success{background:#15803d;color:#fff;border-color:#15803d;}
.cexam-q-button-success:hover{background:#166534;color:#fff;border-color:#166534;}
.cexam-people-badge-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.cexam-people-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;}
.cexam-people-badge.is-blue{background:#dbeafe;color:#1d4ed8;}
.cexam-people-badge.is-green{background:#dcfce7;color:#166534;}
.cexam-people-badge.is-red{background:#fee2e2;color:#b91c1c;}
.cexam-people-badge.is-orange{background:#ffedd5;color:#c2410c;}
.cexam-people-badge.is-gray{background:#e2e8f0;color:#475569;}
.cexam-people-badge.is-purple{background:#ede9fe;color:#6d28d9;}
.cexam-people-profile-hero{display:flex;align-items:center;gap:18px;margin:0 0 18px;padding:22px;border:1px solid #b8d3ee;border-radius:18px;background:var(--cexam-identity-background);box-shadow:0 7px 22px rgba(15,76,129,.08);}
.cexam-people-avatar.is-large{flex:0 0 82px;width:82px;height:82px;font-size:34px;}
.cexam-people-profile-main{flex:1 1 auto;min-width:0;}
.cexam-people-profile-main h2{margin:0;color:#084f8d;font-size:28px;font-weight:900;overflow-wrap:anywhere;}
.cexam-people-profile-contact{margin-top:6px;color:#475569;font-size:14px;font-weight:750;overflow-wrap:anywhere;}
.cexam-people-profile-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:10px;}
.cexam-people-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px;}
.cexam-people-profile-stats>div{padding:15px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.05);}
.cexam-people-profile-stats span,.cexam-people-profile-stats strong{display:block;overflow-wrap:anywhere;}
.cexam-people-profile-stats span{margin-bottom:5px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.cexam-people-profile-stats strong{color:#0f4f85;font-size:16px;font-weight:900;}
.cexam-people-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.cexam-people-detail-card{margin:0;}
.cexam-people-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;}
.cexam-people-detail-list.is-wide{grid-template-columns:repeat(4,minmax(0,1fr));}
.cexam-people-detail-list>div{min-width:0;padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fbfe;}
.cexam-people-detail-list dt{margin:0 0 4px;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;}
.cexam-people-detail-list dd{margin:0;color:#1e3a56;font-size:14px;font-weight:800;overflow-wrap:anywhere;}
.cexam-people-file-list{display:flex;flex-wrap:wrap;gap:10px;}
.cexam-people-edit-identity{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;border:1px solid #dbe4ee;border-radius:14px;background:#f8fbfe;}
.cexam-people-edit-identity strong,.cexam-people-edit-identity span{display:block;}
.cexam-people-edit-identity strong{color:#084f8d;font-size:17px;font-weight:900;}
.cexam-people-edit-identity span{margin-top:3px;color:#64748b;font-size:13px;}
.cexam-people-form-shell{padding:18px;border:0;border-radius:0;background:transparent;}
.cexam-people-form-shell .setNoteDiv{margin:22px 0 13px;padding:12px 15px;border-left:4px solid #0b6fb8;border-radius:8px;background:#eef7ff;}
.cexam-people-form-shell .setNoteDiv:first-child{margin-top:0;}
.cexam-people-form-shell .setNoteDiv h4{margin:0;color:#07528f;font-size:18px;font-weight:900;}
.cexam-people-form-shell .inputMainCol{margin-bottom:16px;}
.cexam-people-form-shell .form-label{color:#334155;font-weight:800;}
.cexam-people-form-shell .form-control,.cexam-people-form-shell .form-select,.cexam-people-form-shell input[type="text"],.cexam-people-form-shell input[type="email"],.cexam-people-form-shell input[type="number"],.cexam-people-form-shell input[type="password"],.cexam-people-form-shell textarea,.cexam-people-form-shell select{min-height:48px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#1e293b;box-shadow:none;}
.cexam-people-form-shell textarea{min-height:105px;}
.cexam-people-form-shell .cstm_btn{min-height:50px;padding:13px 22px;border:1px solid var(--cexam-ui-blue-border);border-radius:12px;background:var(--cexam-ui-blue-background);background-size:100% 100%;color:var(--cexam-ui-blue-ink);font-size:16px;font-weight:900;box-shadow:none;text-shadow:none;}
.cexam-people-form-shell .cstm_btn:hover{background:var(--cexam-ui-blue-background);background-size:100% 100%;color:var(--cexam-ui-blue-ink);}
.cexam-people-table .cexam-q-actions{align-items:center;}
.cexam-license-card .cexam-q-button{margin:3px 6px 3px 0;}
.cexam-license-table.cexam-q-table{border-collapse:separate;border-spacing:0 10px;background:transparent;}
.cexam-license-table.cexam-q-table th{padding:0 12px 6px;background:transparent;color:#085294;font-size:13px;text-transform:uppercase;}
.cexam-license-table.cexam-q-table td{padding:14px 12px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#fff;}
.cexam-license-table.cexam-q-table td:first-child{border-left:1px solid #e5e7eb;border-radius:14px 0 0 14px;}
.cexam-license-table.cexam-q-table td:last-child{border-right:1px solid #e5e7eb;border-radius:0 14px 14px 0;}
@media(max-width:1000px){.cexam-people-profile-hero{align-items:flex-start;flex-wrap:wrap;}.cexam-people-profile-actions{flex:1 1 100%;justify-content:flex-start;}.cexam-people-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.cexam-people-detail-list.is-wide{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.cexam-people-card-grid,.cexam-people-detail-list{grid-template-columns:1fr;}.cexam-people-profile-hero{flex-direction:column;align-items:center;text-align:center;}.cexam-people-profile-actions{width:100%;}.cexam-people-profile-actions .cexam-q-button{width:100%;}}
@media(max-width:560px){.cexam-people-profile-stats,.cexam-people-detail-list.is-wide{grid-template-columns:1fr;}}



/* Phase 8F-R11: unified gradient action buttons and Developer Test Lab grids. */
:root {
    --cexam-action-blue: var(--cexam-ui-blue-background);
    --cexam-action-green: linear-gradient(135deg,#16a34a 0%,#059669 52%,#0ea5e9 100%);
    --cexam-action-red: linear-gradient(135deg,#ef4444 0%,#c7111e 55%,#9f1239 100%);
    --cexam-action-light: linear-gradient(135deg,#ffffff 0%,#f3f8fd 55%,#e8f2fb 100%);
}
.cexam-q-button {
    border:1px solid transparent;
    background-size:180% 180%;
    box-shadow:0 8px 18px rgba(15,76,129,.16);
    transition:transform .18s ease,box-shadow .18s ease,background-position .25s ease;
}
.cexam-q-button:hover,.cexam-q-button:focus {
    background-position:100% 50%;
    transform:translateY(-1px);
    box-shadow:0 11px 24px rgba(15,76,129,.22);
}
.cexam-q-button-primary {background:var(--cexam-ui-blue-background);background-size:100% 100%;color:var(--cexam-ui-blue-ink);}
.cexam-q-button-primary:hover,.cexam-q-button-primary:focus {color:var(--cexam-ui-blue-ink);}
.cexam-q-button-success {background-image:var(--cexam-action-green);background-color:#059669;color:#fff;border-color:transparent;}
.cexam-q-button-success:hover,.cexam-q-button-success:focus {background-image:var(--cexam-action-green);background-color:#047857;color:#fff;border-color:transparent;}
.cexam-q-button-danger {background-image:var(--cexam-action-red);background-color:#c7111e;color:#fff;}
.cexam-q-button-danger:hover,.cexam-q-button-danger:focus {color:#fff;}
.cexam-q-button-light {background-image:var(--cexam-action-light);color:#07528f;border-color:#bfd3e5;box-shadow:0 6px 16px rgba(15,76,129,.09);}
.cexam-q-button-light:hover,.cexam-q-button-light:focus {color:#064574;border-color:#8fb7d8;}
.cexam-q-button:disabled,.cexam-q-button[disabled] {opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
.cexam-people-form-shell .cstm_btn {
    border-color:var(--cexam-ui-blue-border);
    background:var(--cexam-ui-blue-background);
    background-size:100% 100%;
    box-shadow:0 8px 18px rgba(0,94,171,.2);
}
.cexam-people-form-shell .cstm_btn:hover,.cexam-people-form-shell .cstm_btn:focus {
    background:var(--cexam-ui-blue-background);background-size:100% 100%;
    color:var(--cexam-ui-blue-ink);
}
.cexam-people-shell .g-btn,.cexam-license-card .g-btn {box-shadow:0 7px 17px rgba(15,76,129,.14);}
.cexam-result-lifecycle-summary-grid {grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px;}
.cexam-deadline-state-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.cexam-deadline-state-grid small {display:block;margin-top:7px;color:#5f7284;font-size:12px;font-weight:700;line-height:1.35;}
.cexam-deadline-form-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;}
.cexam-deadline-extension-form textarea {min-height:104px;}
.cexam-result-lifecycle-section {margin-top:4px;}
.cexam-result-lifecycle-cleanup-grid {grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0 0;}
.cexam-result-lifecycle-cleanup-grid .cexam-q-stat {padding:14px 12px;}
.cexam-result-lifecycle-cleanup-grid .cexam-q-stat strong {font-size:24px;}
@media(max-width:1300px){.cexam-result-lifecycle-cleanup-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1000px){.cexam-result-lifecycle-summary-grid,.cexam-deadline-state-grid,.cexam-deadline-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.cexam-result-lifecycle-summary-grid,.cexam-result-lifecycle-cleanup-grid,.cexam-deadline-state-grid,.cexam-deadline-form-grid{grid-template-columns:1fr;}}
/* Phase 8F-R15.1: one-field deadline extension and live date preview. */
.cexam-deadline-form-grid-simple {
    grid-template-columns: minmax(240px,.85fr) minmax(210px,.65fr) minmax(300px,1.15fr);
    align-items: stretch;
}
.cexam-deadline-live-preview {
    min-height: 116px;
    padding: 18px 20px;
    border: 1px solid #bfd7ec;
    border-radius: 12px;
    background: linear-gradient(135deg,#f5faff 0%,#eaf4fd 100%);
    box-shadow: 0 8px 20px rgba(0,94,171,.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.cexam-deadline-live-preview span {
    color: #526b80;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.cexam-deadline-live-preview strong {
    display: block;
    margin-top: 7px;
    color: #005eab;
    font-size: 20px;
    line-height: 1.25;
}
.cexam-deadline-live-preview small {
    display: block;
    margin-top: 8px;
    color: #526b80;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}
@media(max-width:1000px){
    .cexam-deadline-form-grid-simple {grid-template-columns:repeat(2,minmax(0,1fr));}
    .cexam-deadline-live-preview {grid-column:1/-1;}
}
@media(max-width:700px){
    .cexam-deadline-form-grid-simple {grid-template-columns:1fr;}
    .cexam-deadline-live-preview {grid-column:auto;}
}



/* Phase 8F-R18.5: consistent inline grader selector styling. */
.cexam-q-inline-form .cexam-q-inline-select {
    appearance: auto;
    -webkit-appearance: menulist;
    min-width: 250px;
    min-height: 50px;
    padding: 11px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background-color: #fff;
    color: #1e293b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}
.cexam-q-inline-form .cexam-q-inline-select:focus {
    border-color: #7c3aed !important;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, .14);
}
.cexam-q-inline-form .cexam-q-inline-select:disabled {
    background:#f1f5f9;
    color:#64748b;
    cursor:not-allowed;
}
@media(max-width:700px) {
    .cexam-q-inline-form .cexam-q-inline-select { width:100%; min-width:0; }
}



/* Phase 8F-R18.8: visually separate the assignment owner from its workflow context. */
.cexam-workspace-assigned-grader {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
    text-align:end;
}
.cexam-workspace-assignment-context {
    display:inline-flex;
    align-items:center;
    min-height:25px;
    margin:0;
    padding:3px 9px;
    border:1px solid #bfd7ec;
    border-radius:999px;
    background:linear-gradient(135deg,#eff8ff 0%,#dceeff 100%);
    color:#005eab;
    font-size:11px;
    font-weight:850;
    line-height:1.2;
    white-space:normal;
}
@media(max-width:700px) {
    .cexam-workspace-assigned-grader {justify-content:flex-start;text-align:start;}
}



.cexam-people-file-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    padding:12px 14px;
    border:1px solid #dbe4ee;
    border-radius:12px;
    background:#f8fbff;
}
.cexam-people-file-item>span{font-weight:800;color:#17324d;overflow-wrap:anywhere;}
.cexam-people-file-item .cexam-q-actions{margin:0;flex:0 0 auto;}
.cexam-workspace-data-error{margin:14px 0 18px;}
@media (max-width:720px){
    .cexam-people-file-item{align-items:flex-start;flex-direction:column;}
    .cexam-people-file-item .cexam-q-actions{width:100%;}
    .cexam-people-file-item .cexam-q-button{flex:1 1 auto;text-align:center;}
}



/* Phase 8F-R18.9B.7: overview countdown, deadline form balance, and spacing polish. */
.cexam-workspace-overview-card .cexam-admin-deadline-countdown,
.cexam-workspace-deadline-state {
    display:block;
    margin-top:5px;
    color:#005eab;
    font-size:12px;
    font-weight:850;
    line-height:1.35;
    white-space:normal;
}
.cexam-workspace-deadline-state {color:#64748b;}
.cexam-workspace-developer-deadline-card {margin-top:24px !important;}
.cexam-deadline-extension-layout {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
    margin-top:16px;
}
.cexam-deadline-extension-fields {
    display:flex;
    flex-direction:column;
    gap:16px;
    min-width:0;
}
.cexam-deadline-extension-fields .cexam-q-field {margin:0;}
.cexam-deadline-extension-fields textarea {min-height:132px;}
.cexam-deadline-extension-layout .cexam-deadline-live-preview {
    min-height:100%;
    margin:0;
}
.cexam-deadline-scope-actions {margin-top:20px !important;}
@media(max-width:900px) {
    .cexam-deadline-extension-layout {grid-template-columns:1fr;}
    .cexam-deadline-extension-layout .cexam-deadline-live-preview {min-height:150px;}
}



/* R21.1.3.3: native DOB arrows, scoped away from country/search controls. */
.cexam-people-form-shell select#BirthDay,
.cexam-people-form-shell select#BirthMonth,
.cexam-people-form-shell select#BirthYear {
    -webkit-appearance: menulist !important;
    -moz-appearance: auto !important;
    appearance: auto !important;
    background-image: none !important;
    padding-inline-end: 12px;
}
.cexam-people-profile-header .cexam-people-profile-actions {flex:0 1 48%;min-width:0;}
.cexam-people-profile-header .cexam-people-profile-actions .cexam-q-button {white-space:normal;text-align:center;}
@media(max-width:1000px){.cexam-people-profile-header .cexam-people-profile-actions{flex:1 1 100%;}}
@media(max-width:760px){.cexam-people-profile-header .cexam-people-avatar.is-large{flex-basis:82px;}}
/* CEXAM_R21_1_3_16_PROFILE_REASON_START
   Only the shared candidate-profile reason field; no change to other controls. */
.cexam-people-form-shell textarea#ProfileChangeReason.form-control {
    height: auto !important;
    min-height: 120px !important;
    line-height: 1.5;
    resize: vertical;
}
/* CEXAM_R21_1_3_16_PROFILE_REASON_END */


.cexam-local-time{display:block;margin-top:4px;font-size:.82rem;font-weight:400;color:#63798d}

@media(max-width:767px){.cexam-q-card{padding:18px}}

/* Keep the two independent exam access settings compact in Overview. */
.cexam-workspace-access-row {
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:20px 36px;
    margin-top:18px;
}
.cexam-workspace-access-setting {min-width:0;max-width:100%;}
.cexam-workspace-access-setting label {
    display:block;
    margin:0 0 8px;
    color:#174d74;
    font-weight:700;
}
.cexam-workspace-access-card .cexam-browser-form,
.cexam-workspace-access-card .cexam-delivery-inline {
    flex-wrap:nowrap;
    gap:10px;
    align-items:flex-end;
    margin:0;
}
.cexam-workspace-access-card .cexam-browser-form>div {
    flex:0 1 160px;
    width:160px;
}
.cexam-workspace-access-card select.form-select {
    flex:0 1 160px;
    width:160px;
    max-width:100%;
    min-width:0;
}
.cexam-workspace-access-card .cexam-q-button {
    flex:0 0 auto;
    width:auto;
    margin:0;
}
.cexam-workspace-access-card .cexam-workspace-access-help {
    margin:16px 0 0;
    font-size:.875rem;
}
