:root {
  --acusa-navy: #123c69;
  --acusa-navy-2: #0b2d50;
  --acusa-blue: #1f6fb2;
  --acusa-sky: #eaf4fc;
  --acusa-gold: #c89b3c;
  --acusa-ink: #1f2937;
  --acusa-muted: #64748b;
  --acusa-line: #dbe4ee;
  --acusa-warm: #f8f6f1;
  --acusa-white: #fff;
  --acusa-green: #16794b;
  --acusa-red: #b42318;
  --acusa-orange: #9a5b00;
  --acusa-radius: 18px;
  --acusa-shadow: 0 14px 38px rgba(18, 60, 105, .09);
}
.acusa-driving-portal-page .entry-content,
.acusa-driving-portal-page .site-main { max-width: none; }
.acusa-drive-shell,
.acusa-drive-shell * { box-sizing: border-box; }
.acusa-drive-shell {
  width: min(1240px, calc(100% - 28px));
  margin: 28px auto 56px;
  color: var(--acusa-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.8;
}
.acusa-drive-shell button,
.acusa-drive-shell input { font: inherit; }
.acusa-drive-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 30px 32px;
  border: 1px solid var(--acusa-line);
  border-top: 5px solid var(--acusa-navy);
  border-radius: var(--acusa-radius);
  background: linear-gradient(120deg, #fff 0%, #f5f9fd 100%);
  box-shadow: var(--acusa-shadow);
}
.acusa-drive-page-head.is-compact { padding: 24px 28px; }
.acusa-drive-kicker {
  display: inline-block;
  color: var(--acusa-blue);
  font-size: .83rem;
  font-weight: 800;
  letter-spacing: .02em;
  margin-bottom: 4px;
}
.acusa-drive-page-head h1,
.acusa-drive-login-card h1 {
  margin: 0;
  color: var(--acusa-navy);
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  line-height: 1.35;
}
.acusa-drive-page-head p { max-width: 780px; margin: 10px 0 0; color: #42566c; }
.acusa-drive-head-actions { flex: 0 0 auto; }
.acusa-drive-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 19px;
  border: 1px solid var(--acusa-navy);
  border-radius: 12px;
  background: var(--acusa-navy);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.acusa-drive-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(18,60,105,.18); background: var(--acusa-navy-2); }
.acusa-drive-btn:disabled { opacity: .55; cursor: wait; transform: none; }
.acusa-drive-btn.is-secondary { background: #fff; color: var(--acusa-navy) !important; }
.acusa-drive-path {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 22px 0;
}
.acusa-drive-path > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--acusa-line);
  border-radius: 14px;
  background: #fff;
}
.acusa-drive-path strong {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--acusa-sky);
  color: var(--acusa-navy);
}
.acusa-drive-path span { font-weight: 700; line-height: 1.45; }
.acusa-drive-tools {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 28px 0 18px;
}
.acusa-drive-search { flex: 1 1 360px; max-width: 520px; }
.acusa-drive-search span { display: block; margin-bottom: 5px; color: var(--acusa-navy); font-weight: 800; }
.acusa-drive-search input {
  width: 100%;
  min-height: 48px;
  padding: 9px 14px;
  border: 1px solid #b9c8d8;
  border-radius: 12px;
  background: #fff;
  color: var(--acusa-ink);
}
.acusa-drive-search input:focus { outline: 3px solid rgba(31,111,178,.15); border-color: var(--acusa-blue); }
.acusa-drive-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.acusa-drive-filters button,
.acusa-drive-language-tabs button {
  border: 1px solid var(--acusa-line);
  border-radius: 999px;
  background: #fff;
  color: var(--acusa-navy);
  padding: 7px 12px;
  font-size: .88rem;
  font-weight: 800;
  cursor: pointer;
}
.acusa-drive-filters button.is-active,
.acusa-drive-language-tabs button.is-active { border-color: var(--acusa-navy); background: var(--acusa-navy); color: #fff; }
.acusa-drive-state-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.acusa-drive-state-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--acusa-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(18,60,105,.05);
}
.acusa-drive-state-card[hidden] { display: none; }
.acusa-drive-state-top { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.acusa-drive-abbr {
  display: inline-grid;
  place-items: center;
  min-width: 43px;
  height: 35px;
  padding: 0 8px;
  border-radius: 9px;
  background: var(--acusa-navy);
  color: #fff;
  font-weight: 900;
  letter-spacing: .06em;
}
.acusa-drive-status {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: .75rem;
  font-weight: 900;
  line-height: 1.45;
}
.acusa-drive-status.is-confirmed { background: #e7f6ee; color: var(--acusa-green); }
.acusa-drive-status.is-not_available { background: #fdecea; color: var(--acusa-red); }
.acusa-drive-status.is-interpreter_only { background: #e8f1fb; color: var(--acusa-blue); }
.acusa-drive-status.is-materials_only { background: #fff3d7; color: var(--acusa-orange); }
.acusa-drive-status.is-needs_verification { background: #edf1f5; color: #4b5563; }
.acusa-drive-state-card h2 { margin: 13px 0 0; color: var(--acusa-navy); font-size: 1.35rem; }
.acusa-drive-state-en { margin: -2px 0 9px !important; color: var(--acusa-muted); font-size: .88rem; direction: ltr; text-align: right; }
.acusa-drive-state-card > p:not(.acusa-drive-state-en) { min-height: 88px; margin: 0; color: #526275; font-size: .92rem; }
.acusa-drive-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; }
.acusa-drive-card-actions a { color: var(--acusa-blue); font-weight: 800; font-size: .84rem; }
.acusa-drive-empty { padding: 30px; border: 1px dashed #9fb1c4; border-radius: 14px; text-align: center; color: var(--acusa-muted); }
.acusa-drive-account-strip,
.acusa-drive-official-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding: 24px 26px;
  border-radius: 16px;
  background: var(--acusa-navy);
  color: #fff;
}
.acusa-drive-account-strip h2,
.acusa-drive-official-box h2 { margin: 0; color: #fff; }
.acusa-drive-account-strip p,
.acusa-drive-official-box p { margin: 5px 0 0; color: #d8e7f5; }
.acusa-drive-user-chip { display: inline-flex; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; font-weight: 800; white-space: nowrap; }
.acusa-drive-alert {
  margin: 20px 0;
  padding: 16px 18px;
  border: 1px solid #b9d9f2;
  border-right: 5px solid var(--acusa-blue);
  border-radius: 12px;
  background: #f0f8ff;
}
.acusa-drive-alert strong { color: var(--acusa-navy); }
.acusa-drive-alert p { margin: 4px 0 0; }
.acusa-drive-alert.is-danger { border-color: #f0b7b2; border-right-color: var(--acusa-red); background: #fff3f2; }
.acusa-drive-alert.is-warning { border-color: #e9cd8a; border-right-color: var(--acusa-orange); background: #fff9e9; }
.acusa-drive-mode-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 22px 0; }
.acusa-drive-mode-grid article { padding: 22px; border: 1px solid var(--acusa-line); border-radius: 16px; background: #fff; }
.acusa-drive-mode-grid article > span { color: var(--acusa-blue); font-weight: 900; font-size: .82rem; }
.acusa-drive-mode-grid h2 { margin: 2px 0; color: var(--acusa-navy); }
.acusa-drive-mode-grid p { min-height: 78px; margin: 4px 0 15px; color: var(--acusa-muted); }
.acusa-drive-quiz-mount { scroll-margin-top: 24px; }
.acusa-drive-quiz-card {
  max-width: 900px;
  margin: 24px auto;
  padding: 24px;
  border: 1px solid var(--acusa-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--acusa-shadow);
}
.acusa-drive-quiz-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.acusa-drive-quiz-top > div:first-child { display: flex; flex-direction: column; }
.acusa-drive-quiz-top span { color: var(--acusa-muted); font-size: .88rem; }
.acusa-drive-quiz-top strong { color: var(--acusa-navy); }
.acusa-drive-score-live { display: flex; gap: 8px; }
.acusa-drive-score-live span { padding: 4px 9px; border-radius: 999px; background: var(--acusa-warm); }
.acusa-drive-progress-bar { height: 7px; margin: 13px 0 17px; overflow: hidden; border-radius: 99px; background: #e7edf3; }
.acusa-drive-progress-bar i { display: block; height: 100%; border-radius: inherit; background: var(--acusa-blue); transition: width .25s ease; }
.acusa-drive-language-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.acusa-drive-question-copy { padding: 18px; border-radius: 14px; background: #f7fafc; }
.acusa-drive-question-copy p { margin: 0; font-weight: 800; }
.acusa-drive-question-copy .is-ar { color: var(--acusa-navy); font-size: 1.25rem; }
.acusa-drive-en-row { display: flex; align-items: start; gap: 10px; margin-top: 7px; }
.acusa-drive-en-row .is-en { flex: 1; color: #334155; font-size: 1rem; text-align: left; }
.acusa-drive-speak { flex: 0 0 auto; border: 1px solid var(--acusa-line); border-radius: 9px; background: #fff; padding: 4px 8px; cursor: pointer; }
.acusa-drive-pronunciation { display: block; margin-top: 8px; color: var(--acusa-muted); }
.language-arabic-first .is-en { display: block; opacity: .78; }
.language-english-first .is-ar { display: block; margin-top: 4px; color: #64748b; font-size: .9em; font-weight: 600; }
.language-english-first .acusa-drive-question-copy { direction: ltr; text-align: left; }
.language-english-first .acusa-drive-question-copy .is-en { font-size: 1.22rem; opacity: 1; font-weight: 800; }
.language-english-first .acusa-drive-question-copy .is-ar { font-size: .95rem; }
.language-bilingual .acusa-drive-question-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.language-bilingual .acusa-drive-en-row { margin: 0; }
.acusa-drive-options { display: grid; gap: 10px; margin-top: 16px; }
.acusa-drive-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid var(--acusa-line);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .15s;
}
.acusa-drive-option:hover { border-color: #8ab6da; transform: translateX(-2px); }
.acusa-drive-option.is-selected { border-color: var(--acusa-blue); background: #f0f8ff; }
.acusa-drive-option.is-correct { border-color: #55a87d; background: #edf9f2; }
.acusa-drive-option.is-wrong { border-color: #e58f87; background: #fff1f0; }
.acusa-drive-option input { position: absolute; opacity: 0; pointer-events: none; }
.acusa-drive-option-key { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px; background: var(--acusa-sky); color: var(--acusa-navy); font-weight: 900; }
.acusa-drive-option-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.55; }
.acusa-drive-option-copy .is-ar { color: var(--acusa-ink); }
.acusa-drive-option-copy .is-en { color: var(--acusa-muted); font-size: .87rem; text-align: left; direction: ltr; }
.language-english-first .acusa-drive-option-copy { direction: ltr; text-align: left; }
.language-english-first .acusa-drive-option-copy .is-en { order: -1; color: var(--acusa-ink); font-size: 1rem; font-weight: 800; opacity: 1; }
.language-bilingual .acusa-drive-option-copy { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 14px; width: 100%; }
.acusa-drive-feedback { margin-top: 16px; padding: 15px 16px; border-radius: 12px; }
.acusa-drive-feedback.is-correct { background: #edf9f2; border: 1px solid #a5d8bc; }
.acusa-drive-feedback.is-wrong { background: #fff2f1; border: 1px solid #efb0ab; }
.acusa-drive-feedback.is-neutral { background: #f3f6f9; border: 1px solid var(--acusa-line); }
.acusa-drive-feedback strong { color: var(--acusa-navy); }
.acusa-drive-feedback p { margin: 5px 0; }
.acusa-drive-feedback small { color: #5f6f80; }
.acusa-drive-quiz-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.acusa-drive-loading { display: grid; place-items: center; min-height: 240px; color: var(--acusa-muted); }
.acusa-drive-loading span { width: 42px; height: 42px; border: 4px solid #d9e5ef; border-top-color: var(--acusa-blue); border-radius: 50%; animation: acusaSpin .8s linear infinite; }
@keyframes acusaSpin { to { transform: rotate(360deg); } }
@keyframes acusaShake { 20%,60% { transform: translateX(-7px); } 40%,80% { transform: translateX(7px); } }
.acusa-drive-options.is-shake { animation: acusaShake .4s ease; }
.acusa-drive-result-card { max-width: 820px; margin: 24px auto; padding: 30px; border: 1px solid var(--acusa-line); border-radius: 18px; background: #fff; text-align: center; box-shadow: var(--acusa-shadow); }
.acusa-drive-result-card > strong { display: block; color: var(--acusa-navy); font-size: clamp(3rem, 8vw, 5rem); line-height: 1.1; }
.acusa-drive-result-card.is-pass { border-top: 6px solid var(--acusa-green); }
.acusa-drive-result-card.is-fail { border-top: 6px solid var(--acusa-red); }
.acusa-drive-result-label { color: var(--acusa-muted); font-weight: 800; }
.acusa-drive-result-card h2 { margin: 4px 0 16px; color: var(--acusa-navy); }
.acusa-drive-result-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.acusa-drive-result-stats div { padding: 13px; border-radius: 12px; background: var(--acusa-warm); }
.acusa-drive-result-stats b { display: block; color: var(--acusa-navy); font-size: 1.25rem; }
.acusa-drive-result-stats span { color: var(--acusa-muted); font-size: .85rem; }
.acusa-drive-result-actions { display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; margin-top: 18px; }
.acusa-drive-overlay { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 18px; background: rgba(5,24,42,.72); backdrop-filter: blur(5px); }
.acusa-drive-overlay-panel { position: relative; width: min(980px, 100%); max-height: calc(100vh - 36px); overflow: auto; border-radius: 20px; background: var(--acusa-warm); }
.acusa-drive-overlay-close { position: sticky; z-index: 4; top: 10px; margin: 10px 10px -56px 0; float: right; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--acusa-navy); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.acusa-drive-no-scroll { overflow: hidden !important; }
.acusa-drive-login-card { max-width: 680px; margin: 40px auto; padding: 34px; border: 1px solid var(--acusa-line); border-radius: 18px; background: #fff; text-align: center; box-shadow: var(--acusa-shadow); }
.acusa-drive-login-card p { color: var(--acusa-muted); }
.acusa-drive-login-card .acusa-drive-btn { margin: 5px; }
.acusa-drive-dashboard-section { margin-top: 26px; }
.acusa-drive-dashboard-section > h2 { color: var(--acusa-navy); }
.acusa-drive-progress-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.acusa-drive-progress-grid article { padding: 16px; border: 1px solid var(--acusa-line); border-radius: 14px; background: #fff; }
.acusa-drive-progress-grid article > div:first-child { display: flex; justify-content: space-between; gap: 10px; }
.acusa-drive-progress-grid article span { color: var(--acusa-muted); font-size: .84rem; }
.acusa-drive-meter { height: 8px; margin: 10px 0; overflow: hidden; border-radius: 99px; background: #e7edf3; }
.acusa-drive-meter i { display: block; height: 100%; background: var(--acusa-blue); }
.acusa-drive-progress-grid p { margin: 0; color: var(--acusa-muted); font-size: .86rem; }
.acusa-drive-attempt-list { display: grid; gap: 9px; }
.acusa-drive-attempt-list article { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 18px; padding: 14px 16px; border: 1px solid var(--acusa-line); border-radius: 12px; background: #fff; }
.acusa-drive-attempt-list article > div { display: flex; flex-direction: column; }
.acusa-drive-attempt-list span,
.acusa-drive-attempt-list small { color: var(--acusa-muted); }
.acusa-drive-attempt-list b { font-size: 1.2rem; }
.acusa-drive-attempt-list b.is-pass { color: var(--acusa-green); }
.acusa-drive-attempt-list b.is-fail { color: var(--acusa-red); }
.acusa-drive-sign-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-top: 22px; }
.acusa-drive-sign-grid article { padding: 18px; border: 1px solid var(--acusa-line); border-radius: 16px; background: #fff; text-align: center; }
.acusa-drive-sign-grid img { width: 120px; height: 120px; object-fit: contain; }
.acusa-drive-sign-grid h2 { margin: 8px 0 0; color: var(--acusa-navy); }
.acusa-drive-sign-grid > article > span { display: block; color: var(--acusa-muted); direction: ltr; }
.acusa-drive-sign-grid p { margin: 8px 0; }
.acusa-drive-sign-grid small { display: block; padding: 8px; border-radius: 9px; background: var(--acusa-warm); color: #58687a; }
@media (max-width: 980px) {
  .acusa-drive-state-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .acusa-drive-path { grid-template-columns: repeat(2,1fr); }
  .acusa-drive-sign-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  .acusa-drive-shell { width: min(100% - 18px, 1240px); margin-top: 12px; font-size: 16px; }
  .acusa-drive-page-head { align-items: flex-start; flex-direction: column; padding: 21px 18px; }
  .acusa-drive-head-actions { width: 100%; }
  .acusa-drive-head-actions .acusa-drive-btn { width: 100%; }
  .acusa-drive-tools { align-items: stretch; flex-direction: column; }
  .acusa-drive-search { flex-basis: auto; max-width: none; }
  .acusa-drive-state-grid,
  .acusa-drive-mode-grid,
  .acusa-drive-progress-grid { grid-template-columns: 1fr; }
  .acusa-drive-state-card > p:not(.acusa-drive-state-en), .acusa-drive-mode-grid p { min-height: 0; }
  .acusa-drive-account-strip, .acusa-drive-official-box { align-items: flex-start; flex-direction: column; padding: 20px; }
  .acusa-drive-quiz-card { padding: 16px; border-radius: 14px; }
  .acusa-drive-quiz-top { align-items: flex-start; flex-direction: column; }
  .language-bilingual .acusa-drive-question-copy,
  .language-bilingual .acusa-drive-option-copy { grid-template-columns: 1fr; gap: 4px; }
  .acusa-drive-result-stats { grid-template-columns: repeat(2,1fr); }
  .acusa-drive-sign-grid { grid-template-columns: repeat(2,1fr); }
  .acusa-drive-attempt-list article { grid-template-columns: 1fr auto; }
  .acusa-drive-attempt-list small { grid-column: 1 / -1; }
}
@media (max-width: 460px) {
  .acusa-drive-path { grid-template-columns: 1fr; }
  .acusa-drive-state-grid, .acusa-drive-sign-grid { grid-template-columns: 1fr; }
  .acusa-drive-card-actions { align-items: stretch; flex-direction: column; }
  .acusa-drive-card-actions .acusa-drive-btn { width: 100%; }
  .acusa-drive-score-live { width: 100%; justify-content: space-between; }
  .acusa-drive-quiz-actions { flex-direction: column; }
  .acusa-drive-quiz-actions .acusa-drive-btn { width: 100%; }
  .acusa-drive-overlay { padding: 0; }
  .acusa-drive-overlay-panel { width: 100%; max-height: 100vh; min-height: 100vh; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .acusa-drive-shell *, .acusa-drive-shell *::before, .acusa-drive-shell *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.acusa-drive-result-breakdown {
  margin: 22px 0;
  padding: 18px;
  border: 1px solid var(--acusa-line);
  border-radius: 14px;
  background: #f8fafc;
  text-align: right;
}
.acusa-drive-result-breakdown h3 { margin: 0 0 10px; color: var(--acusa-navy); font-size: 1.05rem; }
.acusa-drive-result-breakdown > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 8px 0; border-top: 1px solid #e5ebf1; }
.acusa-drive-result-breakdown > div:first-of-type { border-top: 0; }
.acusa-drive-result-breakdown b { color: var(--acusa-navy); }
.acusa-drive-review { margin: 20px 0; text-align: right; }
.acusa-drive-review summary { cursor: pointer; padding: 13px 15px; border: 1px solid var(--acusa-line); border-radius: 12px; background: #fff; color: var(--acusa-navy); font-weight: 900; }
.acusa-drive-review[open] summary { border-radius: 12px 12px 0 0; }
.acusa-drive-review > div { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--acusa-line); border-top: 0; border-radius: 0 0 12px 12px; background: #f8fafc; }
.acusa-drive-review article { padding: 14px; border-right: 4px solid var(--acusa-green); border-radius: 10px; background: #fff; }
.acusa-drive-review article.is-wrong { border-right-color: var(--acusa-red); }
.acusa-drive-review h4 { margin: 0 0 7px; color: var(--acusa-navy); }
.acusa-drive-review p { margin: 4px 0; }
.acusa-drive-review small { display: block; margin-top: 7px; color: var(--acusa-muted); }
.acusa-drive-state-card.is-preferred { border-color: #7caed7; box-shadow: 0 10px 28px rgba(18,60,105,.12); }
.acusa-drive-preferred-label { display: inline-block; margin-right: 8px; padding: 2px 7px; border-radius: 999px; background: var(--acusa-sky); color: var(--acusa-navy); font-size: .68rem; vertical-align: middle; }

/* =========================================================
 * ACUSA Driving Portal 5.0 — single-page state workspace
 * ======================================================= */
.acusa-drive-portal-v5 .acusa-drive-page-head {
  margin-bottom: 20px;
}
.acusa-drive-state-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  align-items: center;
  gap: 24px;
  margin: 20px 0;
  padding: 22px 24px;
  border: 1px solid var(--acusa-line);
  border-radius: var(--acusa-radius);
  background: var(--acusa-warm);
}
.acusa-drive-state-picker > div > span {
  color: var(--acusa-blue);
  font-size: .8rem;
  font-weight: 900;
}
.acusa-drive-state-picker h2 {
  margin: 0;
  color: var(--acusa-navy);
  font-size: 1.45rem;
}
.acusa-drive-state-picker p {
  margin: 3px 0 0;
  color: var(--acusa-muted);
  font-size: .92rem;
}
.acusa-drive-state-picker select {
  width: 100%;
  min-height: 52px;
  padding: 10px 14px;
  border: 2px solid #9db5cb;
  border-radius: 12px;
  background: #fff;
  color: var(--acusa-navy);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.acusa-drive-state-picker select:focus {
  outline: 4px solid rgba(31,111,178,.14);
  border-color: var(--acusa-blue);
}
.acusa-drive-state-workspace {
  padding: 26px;
  border: 1px solid var(--acusa-line);
  border-radius: var(--acusa-radius);
  background: #fff;
  box-shadow: var(--acusa-shadow);
}
.acusa-drive-state-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--acusa-line);
}
.acusa-drive-state-head h2 {
  margin: 0;
  color: var(--acusa-navy);
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  line-height: 1.4;
}
.acusa-drive-state-head p {
  margin: 5px 0 0;
  color: var(--acusa-muted);
}
.acusa-drive-state-head .acusa-drive-status {
  flex: 0 0 auto;
  max-width: 290px;
  padding: 7px 12px;
  text-align: center;
}
.acusa-drive-alert.is-success {
  border-color: #a8d7bd;
  border-right-color: var(--acusa-green);
  background: #eef9f3;
}
.acusa-drive-alert.is-info {
  border-color: #b9d9f2;
  border-right-color: var(--acusa-blue);
  background: #f0f8ff;
}
.acusa-drive-alert.is-neutral {
  border-color: #cbd5e1;
  border-right-color: #64748b;
  background: #f8fafc;
}
.acusa-drive-exam-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.acusa-drive-exam-facts article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--acusa-line);
  border-radius: 14px;
  background: #f8fbfe;
}
.acusa-drive-exam-facts span,
.acusa-drive-exam-facts small {
  display: block;
  color: var(--acusa-muted);
  font-size: .8rem;
}
.acusa-drive-exam-facts strong {
  display: block;
  margin-top: 2px;
  color: var(--acusa-navy);
  font-size: 1.15rem;
  line-height: 1.5;
}
.acusa-drive-mode-grid h3 {
  margin: 2px 0;
  color: var(--acusa-navy);
  font-size: 1.25rem;
}
.acusa-drive-mode-grid article.is-locked {
  border-style: dashed;
  background: #f7f8fa;
}
.acusa-drive-mode-grid article.is-locked .acusa-drive-btn:disabled {
  opacity: .7;
  cursor: not-allowed;
}
.acusa-drive-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 18px 0 4px;
}
.acusa-drive-official-box {
  display: block;
}
.acusa-drive-official-box h3 {
  margin: 0;
  color: #fff;
}
.acusa-drive-official-box p + p {
  margin-top: 9px;
}
.acusa-drive-quiz-timer {
  background: #eaf4fc !important;
  color: var(--acusa-navy) !important;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.acusa-drive-quiz-timer.is-urgent {
  background: #fff0ee !important;
  color: var(--acusa-red) !important;
  animation: acusaTimerPulse 1s ease-in-out infinite alternate;
}
@keyframes acusaTimerPulse {
  from { box-shadow: 0 0 0 0 rgba(180,35,24,.05); }
  to { box-shadow: 0 0 0 5px rgba(180,35,24,.12); }
}
.acusa-drive-btn[disabled],
.acusa-drive-btn[aria-disabled="true"] {
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 980px) {
  .acusa-drive-exam-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .acusa-drive-state-picker { grid-template-columns: 1fr; padding: 18px; }
  .acusa-drive-state-workspace { padding: 18px; }
  .acusa-drive-state-head { flex-direction: column; }
  .acusa-drive-state-head .acusa-drive-status { max-width: none; }
  .acusa-drive-secondary-actions { flex-direction: column; }
  .acusa-drive-secondary-actions .acusa-drive-btn { width: 100%; }
}
@media (max-width: 480px) {
  .acusa-drive-exam-facts { grid-template-columns: 1fr; }
}

/* Sign library search - v5 */
.acusa-drive-sign-tools{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) minmax(190px,.8fr) auto;
  gap:14px;
  align-items:end;
  margin:22px 0;
  padding:18px;
  background:#fff;
  border:1px solid #d9e5f1;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(11,36,70,.06);
}
.acusa-drive-sign-tools label{display:grid;gap:7px;color:#123c69;font-weight:800}
.acusa-drive-sign-tools input,
.acusa-drive-sign-tools select{
  width:100%;min-height:46px;padding:10px 13px;border:1px solid #c7d7e7;border-radius:12px;
  background:#fff;color:#1f2937;font:inherit;
}
.acusa-drive-sign-tools strong{padding:12px 14px;border-radius:12px;background:#eef6ff;color:#123c69;white-space:nowrap}
.acusa-drive-sign-grid [data-sign-card][hidden]{display:none!important}
.acusa-drive-sign-empty{padding:28px;text-align:center;background:#fff;border:1px dashed #b7cadf;border-radius:16px;color:#60758d}
@media(max-width:760px){
  .acusa-drive-sign-tools{grid-template-columns:1fr;align-items:stretch}
  .acusa-drive-sign-tools strong{text-align:center}
}


/* ACUSA Driving Portal 5.1 — exam variants */
.acusa-drive-exam-variant {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  align-items: center;
  gap: 22px;
  margin: 20px 0;
  padding: 18px 20px;
  border: 1px solid #c7d9e9;
  border-radius: 14px;
  background: #f4f9fd;
}
.acusa-drive-exam-variant > div > span {
  color: var(--acusa-blue);
  font-size: .8rem;
  font-weight: 900;
}
.acusa-drive-exam-variant h3 {
  margin: 0;
  color: var(--acusa-navy);
  font-size: 1.2rem;
}
.acusa-drive-exam-variant p {
  margin: 4px 0 0;
  color: var(--acusa-muted);
  font-size: .9rem;
}
.acusa-drive-exam-variant select {
  width: 100%;
  min-height: 50px;
  padding: 9px 13px;
  border: 2px solid #9db5cb;
  border-radius: 12px;
  background: #fff;
  color: var(--acusa-navy);
  font: inherit;
  font-weight: 800;
}
.acusa-drive-exam-variant select:focus {
  outline: 4px solid rgba(31,111,178,.14);
  border-color: var(--acusa-blue);
}
.acusa-drive-exam-facts {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
@media(max-width:760px) {
  .acusa-drive-exam-variant { grid-template-columns: 1fr; }
}
\n\n/* ACUSA Driving Portal 5.2 — section results */\n.acusa-drive-section-results{display:grid;gap:10px;margin:22px 0;text-align:right}\n.acusa-drive-section-results h3{margin:0 0 4px;color:var(--acusa-navy)}\n.acusa-drive-section-results>div{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:4px 14px;align-items:center;padding:13px 15px;border:1px solid #d7e3ee;border-radius:13px;background:#fff}\n.acusa-drive-section-results>div span{font-weight:900;color:var(--acusa-navy)}\n.acusa-drive-section-results>div b{font-variant-numeric:tabular-nums}\n.acusa-drive-section-results>div small{grid-column:1/-1;color:var(--acusa-muted)}\n.acusa-drive-section-results>div.is-pass{border-color:#9ed9bd;background:#f1fbf6}\n.acusa-drive-section-results>div.is-fail{border-color:#efb6ae;background:#fff6f4}\n

/* ACUSA Driving Portal 6.5 — all-jurisdiction testing and bilingual sign explanations */
.acusa-drive-mode-grid article.is-training-test{border-color:#e4c56a;background:#fffdf4}
.acusa-drive-mode-grid article.is-training-test>span{color:#9a6700}
.acusa-drive-mode-badge{display:inline-flex;margin:0 0 8px;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:900}
.acusa-drive-mode-badge.is-official{background:#e8f7ef;color:#176a43}
.acusa-drive-mode-badge.is-training{background:#fff2c7;color:#805500}
.acusa-drive-training-disclaimer{display:block;margin-top:9px;color:#805500;font-size:.85rem;line-height:1.6}
.acusa-drive-sign-meaning-ar{margin-bottom:4px!important;color:var(--acusa-navy);font-weight:700}
.acusa-drive-sign-meaning-en{margin-top:0!important;color:#526273;text-align:left;line-height:1.55;font-size:.92rem}

.acusa-drive-feedback-en{color:#526273;text-align:left;border-top:1px solid rgba(82,98,115,.18);padding-top:7px}
.acusa-drive-review small.is-en{display:block;margin-top:5px;text-align:left;color:#526273}
