/* INFOTICS admin — exams area: question bank, exam form, question editor, attempt review */
.ab-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.ab-main{min-width:0;display:grid;gap:22px;align-content:start}
.ab-side{min-width:0;display:grid;gap:22px;align-content:start;position:sticky;top:88px}
@media(max-width:1100px){.ab-cols{grid-template-columns:minmax(0,1fr)}.ab-side{position:static}}

/* table cells */
.ab-cell-title{display:block;font-weight:600;color:var(--ink)}
a.ab-cell-title:hover{color:var(--brand-ink)}
.ab-sub{display:block;margin-top:2px;font-size:.78rem;line-height:1.35;color:var(--muted);font-weight:500}
.ab-warn{color:#8f5900;font-weight:700}
.ab-q-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink);font-weight:500}
.ab-q-text:hover{color:var(--brand-ink)}
.ab-help summary{cursor:pointer;font-weight:600;color:var(--brand-ink)}
.ab-help[open] summary{margin-bottom:10px}
.ab-help pre,.ab-help code{font-size:.8rem}

/* add-question modal is wider and scrolls inside the viewport */
.ab-modal-wide{max-width:780px}

/* answer-option builder */
.ab-fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px 8px;margin:20px 0;min-width:0;background:var(--surface-2)}
.ab-fieldset legend{padding:0 8px;font-weight:700;color:var(--ink);font-size:.92rem}
.ab-option{display:grid;grid-template-columns:34px minmax(0,1fr) auto 40px;gap:10px;align-items:center;margin:0 0 10px;padding:6px;border-radius:12px;border:1px solid transparent;transition:background .15s,border-color .15s}
.ab-option:has(.ab-correct input:checked){background:#ecfdf5;border-color:#a7f0cf}
.ab-option .input{margin:0}
.ab-opt-key{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand-100);color:var(--brand-ink);font-weight:800;font-size:.9rem}
.ab-correct{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600;color:var(--text);white-space:nowrap;cursor:pointer}
.ab-correct input{width:18px;height:18px;accent-color:var(--green-ink)}
.ab-option .icon-btn[disabled]{opacity:.35;cursor:not-allowed}
[data-add-option]{margin:2px 0 12px}
[data-add-option][disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:640px){.ab-option{grid-template-columns:34px minmax(0,1fr) 40px}.ab-correct{grid-column:2/3}.ab-option .icon-btn{grid-column:3;grid-row:1}}
.ab-checks{display:grid;gap:10px;margin-top:16px}

/* sticky action bar on long forms */
.ab-savebar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}

/* attempt review */
.ab-attempt-head{margin-bottom:22px}
.ab-attempt-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.25fr);gap:26px;align-items:center}
@media(max-width:1000px){.ab-attempt-grid{grid-template-columns:minmax(0,1fr);gap:18px}}
.ab-score{display:flex;align-items:center;gap:16px;min-width:0}
.ab-domains{display:grid;gap:16px}
.ab-domain .progress{margin-top:6px}
.ab-q-body{margin-bottom:12px;font-weight:500;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.ab-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:600px){.ab-answers{grid-template-columns:minmax(0,1fr)}}
.ab-answers ul{margin:4px 0 0;padding-left:1.1rem}
.ab-answers li{margin:2px 0;overflow-wrap:anywhere}
.ab-ans-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ab-explain{margin:12px 0 0;padding:10px 14px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2)}
.ab-danger{border-color:#fecdd3}
.ab-danger .panel-head h2{color:#b3123f}
.lab-ck{border:1px dashed #d6deea;border-radius:10px;padding:8px 12px 2px;margin:10px 0}
.lab-ck legend{padding:0 6px}
