/* V2 visual language on the live templates. Behaviour/Bootstrap structure stay intact. */
body.candidate-site {
  --fp-ink: var(--dp-color-ink);
  --fp-muted: var(--dp-color-ink-secondary);
  --fp-green-950: var(--dp-color-field);
  --fp-green-900: #053ba9;
  --fp-green-800: var(--dp-color-accent);
  --fp-green-700: var(--dp-color-accent);
  --fp-green-100: #dfe8fc;
  --fp-green-50: #edf2fd;
  --fp-surface: var(--dp-color-panel);
  --fp-canvas: var(--dp-color-ground);
  --fp-border: var(--dp-color-rule);
  --fp-radius-sm: 6px;
  --fp-radius: 12px;
  --fp-radius-lg: 12px;
  --fp-shadow-sm: 0 3px 9px rgba(22,25,31,.025);
  --fp-shadow: 0 6px 16px rgba(22,25,31,.05);
  --bs-secondary-rgb: 69,76,88;
  --bs-success-rgb: 54,95,69;
  --bs-warning-rgb: 112,84,9;
  background: var(--dp-color-ground);
}
.candidate-site :focus-visible { outline: 3px solid var(--dp-color-accent) !important; outline-offset: 3px !important; }
.candidate-site .site-header { background: white; backdrop-filter: none; border-color: var(--dp-color-rule); }
.candidate-site .navbar-brand, .candidate-site .footer-brand { font-size: 1.05rem; letter-spacing: -.035em; }
.candidate-site .nav-link { padding: .55rem .7rem !important; border-radius: 6px; font-weight: 600; }
.candidate-site .nav-link:hover { background: var(--dp-color-ground-muted); }
.candidate-site .nav-account { font-weight: 500; }
.candidate-site .avatar { background: #edf2fd; color: var(--dp-color-accent); }
.candidate-site .dropdown-menu, .candidate-site .dropdown-item { border-radius: 6px; }
.candidate-site .page-shell { padding-block: clamp(1.5rem,3vw,3rem); }
.candidate-site .section-space { padding-block: clamp(2.5rem,6vw,5rem); }
.candidate-site .display-title { font-size: clamp(1.9rem,4vw,3.1rem); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; max-width: 23ch; }
.candidate-site .lead { font-size: clamp(1rem,1.8vw,1.15rem); line-height: 1.6; }
.candidate-site .eyebrow, .candidate-site .question-number { font-size: 12px; font-weight: 600; letter-spacing: .09em; color: var(--dp-color-ink-secondary); }
.candidate-site main .mt-5 { margin-top: 2rem !important; }
.candidate-site main .mb-5 { margin-bottom: 2rem !important; }
.candidate-site .surface-card, .candidate-site .auth-card, .candidate-site .question-card, .candidate-site .summary-card, .candidate-site .pricing-card { border-radius: 12px; box-shadow: var(--fp-shadow-sm); }
.candidate-site .surface-card, .candidate-site .question-card, .candidate-site .summary-card, .candidate-site .pricing-card { padding: clamp(1rem,2vw,1.5rem); }
.candidate-site .metric-card { padding: .85rem 0 .2rem; background: transparent; border: 0; border-top: 2px solid var(--dp-color-rule); border-radius: 0; box-shadow: none; }
.candidate-site .metric-label { font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.candidate-site .metric-value { font-family: 'Host Grotesk',sans-serif; font-size: clamp(2rem,4vw,2.8rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.candidate-site .metric-card .small { font-size: 13px; }
.candidate-site .mode-card { padding: 1.1rem 1.15rem; border-radius: 8px; background: var(--dp-color-ground-muted); box-shadow: none; transition: border-color 160ms ease-out,background-color 160ms ease-out; }
.candidate-site .mode-card:hover { transform: none; border-color: var(--dp-color-accent); background: #edf2fd; box-shadow: none; }
.candidate-site .mode-card .feature-icon { width: auto; height: auto; align-self: flex-start; border-radius: 0; background: transparent; font-size: 1.25rem; }
.candidate-site .mode-card p { font-size: 14px; }
.candidate-site .mode-card h3 { margin-top: .6rem !important; }
.candidate-site .feature-icon { border-radius: 6px; background: #edf2fd; color: var(--dp-color-accent); width: 2.5rem; height: 2.5rem; }
.candidate-site .dashboard-welcome { padding: clamp(1.25rem,2.5vw,2rem); background: var(--dp-color-field); border-radius: 12px; }
.candidate-site .dashboard-welcome::after, .candidate-site .hero::after { display: none; }
.candidate-site .dashboard-welcome .text-white-50, .candidate-site .auth-aside .text-white-50 { color: var(--dp-color-on-field-secondary) !important; }
.candidate-site .dashboard-access-summary { border: 0 !important; border-left: 1px solid #464a52 !important; border-radius: 0 !important; }
.candidate-site .dashboard-welcome :focus-visible, .candidate-site .auth-aside :focus-visible, .candidate-site .site-footer :focus-visible { outline-color: white !important; }
.candidate-site .btn-coral { --bs-btn-color:white; --bs-btn-bg:#074ce0; --bs-btn-border-color:#074ce0; --bs-btn-hover-color:white; --bs-btn-hover-bg:#053ba9; --bs-btn-hover-border-color:#053ba9; --bs-btn-active-color:white; --bs-btn-active-bg:#032e89; --bs-btn-active-border-color:#032e89; }
.candidate-site .btn-soft { color: var(--dp-color-accent); background: white; border-color: #a1b4df; }
.candidate-site .btn-soft:hover { color: var(--dp-color-accent); background: #edf2fd; border-color: var(--dp-color-accent); }
.candidate-site .hero { padding-block: clamp(3rem,6vw,5rem); background: var(--dp-color-ground); color: var(--dp-color-ink); }
.candidate-site .hero h1 { max-width: 14ch; font-size: clamp(2.45rem,6vw,4.8rem); font-weight: 700; line-height: 1.02; letter-spacing: -.045em; }
.candidate-site .hero .lead { color: var(--dp-color-ink-secondary) !important; }
.candidate-site .hero .text-white-50 { color: var(--dp-color-ink-secondary) !important; }
.candidate-site .hero-accent { color: var(--dp-color-accent); }
.candidate-site .hero .btn-outline-light { --bs-btn-color:#074ce0; --bs-btn-border-color:#a1b4df; --bs-btn-hover-color:#074ce0; --bs-btn-hover-bg:#edf2fd; --bs-btn-hover-border-color:#074ce0; --bs-btn-active-color:#074ce0; --bs-btn-active-bg:#dfe8fc; --bs-btn-active-border-color:#074ce0; }
.candidate-site .hero-panel { background: white; border-color: var(--dp-color-rule); box-shadow: var(--fp-shadow); border-radius: 12px; backdrop-filter: none; }
.candidate-site .hero-panel .progress { background: var(--dp-color-ground-muted); }
.candidate-site .hero-panel .progress-bar { background: var(--dp-color-accent); }
.candidate-site .hero-panel hr { border-color: var(--dp-color-rule) !important; opacity: 1; }
.candidate-site .trust-row { color: var(--dp-color-ink-secondary); font-size: 14px; }
.candidate-site .trust-row span::before { color: var(--v2-sage); }
.candidate-site .home-feature-field { background: var(--dp-color-ground-muted); }
.candidate-site .home-feature-field .surface-card { background: transparent; box-shadow: none; border: 0; border-top: 1px solid var(--dp-color-rule); border-radius: 0; padding-inline: 0; }
.candidate-site .home-closing { background: var(--dp-color-field); color: var(--dp-color-on-field); }
.candidate-site .home-closing .eyebrow, .candidate-site .home-closing .text-secondary { color: var(--dp-color-on-field-secondary) !important; }
.candidate-site .home-closing :focus-visible { outline-color: white !important; }
.candidate-site .site-footer { background: var(--dp-color-field); color: var(--dp-color-on-field-secondary); border-top-color: #464a52; font-size: 14px; }
.candidate-site .site-footer .container-xl { padding-block: 1.25rem !important; }
.candidate-site .site-footer a, .candidate-site .site-footer .footer-heading { color: var(--dp-color-on-field); }
.candidate-site .site-footer a:hover { color: var(--dp-color-on-field); }
.candidate-site .site-footer .text-secondary { color: var(--dp-color-on-field-secondary) !important; }
.candidate-site .footer-heading { font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.candidate-site .auth-layout { min-height: calc(100vh - 4.25rem); padding-block: clamp(1.5rem,4vw,3rem); }
.candidate-site .auth-card { padding: clamp(1.2rem,2.5vw,2rem); }
.candidate-site .auth-aside { background: var(--dp-color-field); border-radius: 12px; padding: clamp(1.25rem,2.5vw,2rem); }
.candidate-site .form-label, .candidate-site .form-check-label { font-weight: 500; font-size: 14px; }
.candidate-site .form-field input:not([type='checkbox']):not([type='radio']), .candidate-site .form-field select, .candidate-site .form-field textarea, .candidate-site .form-control, .candidate-site .form-select { border-color: #9299a6; border-radius: 5px; padding: .6rem .75rem; min-height: 44px; font-size: 16px; }
.candidate-site .form-field input:focus, .candidate-site .form-field select:focus, .candidate-site .form-field textarea:focus { border-color: var(--dp-color-accent); box-shadow: none; outline: 3px solid var(--dp-color-accent); outline-offset: 2px; }
.candidate-site .form-check-input { border-color: #9299a6; }
.candidate-site .form-check-input:checked { background-color: var(--dp-color-accent); border-color: var(--dp-color-accent); }
.candidate-site .form-text, .candidate-site .helptext { font-size: 13px; }
.candidate-site .trial-banner { background: #edf2fd; color: var(--dp-color-ink); border: 1px solid #b8c9ed; border-radius: 6px; padding: .7rem 1rem; margin-bottom: 1.25rem; }
.candidate-site .trial-banner .link-light { color: var(--dp-color-accent) !important; }
.candidate-site .setup-card { padding: clamp(1rem,2vw,1.5rem); }
.candidate-site .choice-tile label { border: 1px solid #9299a6; border-radius: 6px; }
.candidate-site .choice-tile input:checked + label { border-color: var(--dp-color-accent); background: #edf2fd; }
.candidate-site .choice-tile input:focus-visible + label { outline-color: var(--dp-color-accent); }
.candidate-site .question-shell { padding-block: 1.25rem 2.5rem; }
.candidate-site .question-toolbar { background: white; backdrop-filter: none; padding-block: .6rem; }
.candidate-site h1.question-stem { font-family: 'Instrument Sans',sans-serif; font-size: clamp(1.05rem,1.6vw,1.22rem); font-weight: 500; letter-spacing: -.015em; line-height: 1.6; }
.candidate-site .answer-list { gap: .5rem; margin-block: 1rem; }
.candidate-site .answer-option label, .candidate-site .answer-review-row { min-height: 52px; grid-template-columns: 1.8rem minmax(0,1fr); gap: .7rem; padding: .65rem .8rem; border: 1px solid #9299a6; border-radius: 6px; background: white; font-size: 15px; line-height: 1.45; }
.candidate-site .answer-key { width: 1.8rem; height: 1.8rem; border-radius: 4px; font-size: 13px; font-weight: 600; background: var(--dp-color-ground-muted); color: var(--dp-color-ink-secondary); }
.candidate-site .answer-option input:checked + label { border-color: var(--dp-color-accent); background: #edf2fd; box-shadow: inset 0 0 0 1px var(--dp-color-accent); }
.candidate-site .answer-option input:checked + label .answer-key { background: var(--dp-color-accent); color: white; }
.candidate-site .answer-option input:focus-visible + label, .candidate-site .confidence-group input:focus-visible + label { outline: 3px solid var(--dp-color-accent); outline-offset: 3px; }
.candidate-site .answer-option.is-correct label, .candidate-site .answer-option.is-correct .answer-review-row { border-color: var(--v2-sage-rule); background: var(--v2-sage-bg); }
.candidate-site .answer-option.is-incorrect label, .candidate-site .answer-option.is-incorrect .answer-review-row { border-color: var(--v2-mustard-rule); background: var(--v2-mustard-bg); }
.candidate-site .answer-option.is-correct .answer-key { background: var(--v2-sage); color: white; }
.candidate-site .answer-option.is-incorrect .answer-key { background: var(--v2-mustard); color: white; }
.candidate-site .answer-option.is-correct label::after, .candidate-site .answer-option.is-correct .answer-review-row::after { color: var(--v2-sage); }
.candidate-site .answer-option.is-incorrect label::after, .candidate-site .answer-option.is-incorrect .answer-review-row::after { color: var(--v2-mustard); }
.candidate-site .confidence-group { gap: .4rem; }
.candidate-site .confidence-group label { display: flex; align-items: center; min-height: 44px; padding: .5rem .7rem; border-color: #9299a6; border-radius: 5px; font-size: 13px; font-weight: 500; }
.candidate-site .confidence-group input:checked + label { border-color: var(--dp-color-accent); background: var(--dp-color-accent); color: white; }
.candidate-site .rationale-panel { border-left: 3px solid var(--v2-sage-rule); border-radius: 0; background: transparent; padding: .3rem 0 .3rem 1.15rem; box-shadow: none; }
.candidate-site .rationale-panel .eyebrow { color: var(--v2-sage); }
.candidate-site .distractor-list { border: 0; box-shadow: none; background: transparent; border-radius: 0; padding-inline: 0; }
.candidate-site .distractor-list summary { display: flex; justify-content: space-between; align-items: baseline; gap: .7rem; list-style: none; font-size: 15px; font-weight: 500; }
.candidate-site .distractor-list summary::-webkit-details-marker { display: none; }
.candidate-site .distractor-list summary::after { content: '+'; color: var(--dp-color-accent); font-size: 1.4rem; line-height: 1; flex-shrink: 0; transition: transform 160ms ease-out; }
.candidate-site .distractor-list details[open] summary::after { transform: rotate(45deg); }
.candidate-site .private-notes { border: 0; border-top: 3px solid var(--dp-color-accent); border-radius: 0 0 8px 8px; background: var(--dp-color-ground-muted); padding: 1.15rem; }
.candidate-site .private-notes textarea { background: white; }
.candidate-site .timer { border-radius: 6px; }
.candidate-site .timer.is-warning, .candidate-site .timer.is-danger { color: var(--v2-mustard); border-color: var(--v2-mustard-rule); background: var(--v2-mustard-bg); }
.candidate-site .question-nav-grid .is-current { color: white; background: var(--dp-color-accent); border-color: var(--dp-color-accent); }
.candidate-site .question-nav-grid .is-answered { border-color: #a1b4df; background: #edf2fd; }
.candidate-site .question-nav-grid .flag-marker { color: var(--v2-mustard); }
.candidate-site .question-nav-grid .is-current .flag-marker { color: white; }
.candidate-site .score-ring { font-family: 'Host Grotesk',sans-serif; background: conic-gradient(var(--v2-sage) 0 var(--score-percent),var(--v2-sage-bg) var(--score-percent) 100%); }
.candidate-site .price { font-family: 'Host Grotesk',sans-serif; font-weight: 600; }
.candidate-site .one-off-badge { color: var(--dp-color-accent); background: #edf2fd; border-radius: 4px; font-weight: 600; }
.candidate-site .pricing-card.is-featured { border-color: var(--dp-color-accent); box-shadow: var(--fp-shadow-sm); }
.candidate-site .status-badge { border-radius: 4px; font-size: 12px; font-weight: 600; background: var(--dp-color-ground-muted); color: var(--dp-color-ink-secondary); }
.candidate-site .status-badge.is-success, .candidate-site .alert-success { color: var(--v2-sage); background: var(--v2-sage-bg); }
.candidate-site .status-badge.is-warning, .candidate-site .alert-warning { color: var(--v2-mustard); background: var(--v2-mustard-bg); }
.candidate-site .table-responsive { border-radius: 8px; }
.candidate-site .table th { font-size: 12px; letter-spacing: 0; text-transform: none; font-weight: 500; }
.candidate-site .table td { font-size: 14px; }
.candidate-site .table > :not(caption) > * > * { padding: .65rem .8rem; }
.candidate-site .empty-state { padding: clamp(1.25rem,4vw,2.5rem) 1rem; background: var(--dp-color-ground-muted); border-style: solid; border-color: var(--dp-color-rule); border-radius: 8px; }
.candidate-site .resource-frame { margin-block: 1rem; border-radius: 8px; background: var(--dp-color-ground-muted); }
.candidate-site .resource-frame img, .candidate-site .question-resource { filter: none; object-fit: contain; }
.candidate-site .resource-review-item { gap: 1.25rem; padding-block: 1rem; }
.candidate-site .zoom-hint { background: var(--dp-color-field); }
.candidate-site .identity-watermark-fixed { color: rgba(22,25,31,.3); }
.candidate-site .identity-watermark { color: rgba(22,25,31,.075); }
@media (max-width: 991.98px) { .candidate-site .dashboard-access-summary { border-left: 0 !important; border-top: 1px solid #464a52 !important; } }
@media (max-width: 575.98px) {
  .candidate-site .page-shell { padding-block: 1.25rem 1.5rem; }
  .candidate-site .question-card { border: 1px solid var(--dp-color-rule); border-radius: 12px; }
  .candidate-site .table-responsive-card td { padding: .3rem 0; }
  .candidate-site main .mt-5 { margin-top: 1.5rem !important; }
  .candidate-site .hero { padding-block: 2.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .candidate-site *, .candidate-site *::before, .candidate-site *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .candidate-site .mode-card:hover, .candidate-site .btn:hover, .candidate-site .btn:active { transform: none; }
}
.candidate-site .form-field.has-error input:not([type='checkbox']):not([type='radio']),
.candidate-site .form-field.has-error select, .candidate-site .form-field.has-error textarea { border-color: var(--fp-danger); }
.candidate-site .hero .row.g-5, .candidate-site .section-space .row.g-5 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 2rem; }
.candidate-site .auth-layout { min-height: auto; }
.candidate-site .site-footer .small { font-size: 13px; }
.candidate-site .hero-panel .one-off-badge { color: var(--v2-sage); background: var(--v2-sage-bg); }
.candidate-site .private-notes select:disabled { background: var(--dp-color-ground-muted); color: var(--dp-color-ink-secondary); border-color: #9299a6; }
