:root {
    --itech-orange: #f36b21;
    --itech-orange-dark: #c94b08;
    --itech-orange-soft: #fff2ea;
    --itech-blue: #00a7d8;
    --itech-blue-dark: #006f99;
    --itech-blue-soft: #eaf9fd;
    --itech-ink: #111827;
    --itech-ink-soft: #1f2937;
    --itech-muted: #667085;
    --itech-line: #dde3ea;
    --itech-surface: #ffffff;
    --itech-background: #f5f7fa;
    --itech-danger: #c9302c;
    --itech-success: #0b75a5;
    --itech-warning: #b54708;
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --shadow-sm: 0 6px 18px rgba(17, 24, 39, 0.06);
    --shadow-md: 0 18px 45px rgba(17, 24, 39, 0.10);
    --shadow-lg: 0 28px 70px rgba(17, 24, 39, 0.16);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--itech-background); }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--itech-ink);
    background:
        radial-gradient(circle at 7% 4%, rgba(243, 107, 33, 0.10), transparent 28rem),
        radial-gradient(circle at 92% 8%, rgba(0, 167, 216, 0.10), transparent 30rem),
        var(--itech-background);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
.shell { width: min(1220px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255, 255, 255, 0.96);
    border-top: 4px solid var(--itech-orange);
    border-bottom: 1px solid rgba(17, 24, 39, 0.08);
    backdrop-filter: blur(18px);
    box-shadow: 0 6px 25px rgba(17, 24, 39, 0.04);
}
.header-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    min-width: 0;
}
.brand-logo {
    width: 142px;
    max-height: 52px;
    object-fit: contain;
    object-position: left center;
    flex: 0 0 auto;
}
.brand-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 20px;
    border-left: 1px solid var(--itech-line);
    line-height: 1.15;
}
.brand-copy strong { font-size: 15px; color: var(--itech-ink); }
.brand-copy small { color: var(--itech-muted); font-size: 12px; }

.admin-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border: 1px solid var(--itech-line);
    border-radius: 999px;
    background: #f9fafb;
}
.admin-nav a,
.admin-nav .link-button {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    border: 0;
    border-radius: 999px;
    padding: 0 16px;
    background: transparent;
    color: var(--itech-ink-soft);
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}
.admin-nav a:hover { color: var(--itech-blue-dark); background: var(--itech-blue-soft); }
.admin-nav form { margin: 0; }
.admin-nav .link-button { color: var(--itech-orange-dark); }
.admin-nav .link-button:hover { background: var(--itech-orange-soft); }

.main-content { min-height: calc(100vh - 140px); padding: 54px 0 80px; }
footer {
    border-top: 1px solid var(--itech-line);
    background: #fff;
    color: var(--itech-muted);
    font-size: 13px;
    padding: 22px 0;
}

h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(36px, 5vw, 62px); line-height: 1.02; letter-spacing: -0.045em; margin-bottom: 20px; }
h2 { font-size: 23px; line-height: 1.25; letter-spacing: -0.025em; }
h3 { line-height: 1.35; }
.lead { color: var(--itech-muted); font-size: 18px; max-width: 650px; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--itech-orange-dark);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}
.eyebrow::before {
    content: "";
    width: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--itech-orange), var(--itech-blue));
}

.hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(370px, 0.92fr);
    min-height: 640px;
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 30px;
    background: var(--itech-surface);
    box-shadow: var(--shadow-lg);
}
.branded-hero > div:first-child {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 5vw, 70px);
    color: #fff;
    background:
        linear-gradient(145deg, rgba(17, 24, 39, 0.97), rgba(31, 41, 55, 0.97)),
        var(--itech-ink);
}
.branded-hero > div:first-child::before,
.branded-hero > div:first-child::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.branded-hero > div:first-child::before {
    width: 360px;
    height: 360px;
    right: -170px;
    top: -160px;
    border: 48px solid rgba(0, 167, 216, 0.18);
}
.branded-hero > div:first-child::after {
    width: 260px;
    height: 260px;
    left: -130px;
    bottom: -150px;
    border: 42px solid rgba(243, 107, 33, 0.22);
}
.branded-hero > div:first-child > * { position: relative; z-index: 1; }
.branded-hero .eyebrow { color: #ffb487; }
.branded-hero .lead { color: #d0d5dd; }

.candidate-instructions {
    margin-top: 32px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(8px);
    overflow: hidden;
}
.candidate-instructions__header { padding: 20px 22px 14px; border-bottom: 1px solid rgba(255,255,255,.10); }
.candidate-instructions__header strong { display: block; font-size: 17px; }
.candidate-instructions__header span { display: block; margin-top: 5px; color: #cbd5e1; font-size: 13px; }
.instruction-steps { list-style: none; padding: 8px 20px 16px; margin: 0; }
.instruction-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.instruction-steps li:last-child { border-bottom: 0; }
.instruction-step-number {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--itech-orange), #ff8b4b);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}
.instruction-steps strong { display: block; margin-bottom: 3px; font-size: 14px; }
.instruction-steps span { display: block; color: #cbd5e1; font-size: 13px; }
.instruction-warning { margin: 0 20px 20px; padding: 13px 14px; border-left: 3px solid var(--itech-blue); border-radius: 8px; background: rgba(0,167,216,.10); color: #e5f7fc; font-size: 13px; }

.form-card,
.login-card,
.narrow-card,
.info-card,
.assessment-card {
    border: 1px solid var(--itech-line);
    border-radius: var(--radius-lg);
    background: var(--itech-surface);
    box-shadow: var(--shadow-md);
}
.form-card {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(30px, 4vw, 54px);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.form-card h2 { margin-bottom: 24px; font-size: 27px; }
.login-card, .narrow-card { width: min(680px, 100%); margin: 0 auto; padding: clamp(30px, 5vw, 50px); }

label { display: block; margin-bottom: 17px; color: var(--itech-ink-soft); font-size: 13px; font-weight: 780; }
input, select, textarea {
    width: 100%;
    margin-top: 7px;
    padding: 13px 14px;
    border: 1px solid #cfd7e2;
    border-radius: 11px;
    outline: none;
    background: #fff;
    color: var(--itech-ink);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
textarea { min-height: 180px; resize: vertical; }
input:focus, select:focus, textarea:focus {
    border-color: var(--itech-blue);
    box-shadow: 0 0 0 4px rgba(0, 167, 216, 0.14);
}
.check-row { display: flex; gap: 10px; align-items: flex-start; color: var(--itech-muted); font-weight: 520; }
.check-row input { width: 18px; height: 18px; margin: 3px 0 0; flex: 0 0 auto; accent-color: var(--itech-orange); }

.primary-button, .secondary-button, .row-action-button {
    appearance: none;
    border: 0;
    border-radius: 11px;
    min-height: 44px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.primary-button {
    color: #fff;
    background: linear-gradient(135deg, var(--itech-orange), #ff843c);
    box-shadow: 0 10px 24px rgba(243, 107, 33, 0.26);
}
.primary-button:hover { transform: translateY(-1px); background: linear-gradient(135deg, var(--itech-orange-dark), var(--itech-orange)); }
.secondary-button {
    color: var(--itech-blue-dark);
    background: var(--itech-blue-soft);
    border: 1px solid rgba(0, 167, 216, 0.24);
}
.secondary-button:hover { transform: translateY(-1px); background: #d9f4fb; }
.row-action-button { min-height: 36px; padding: 0 13px; color: #fff; background: var(--itech-blue-dark); }
.row-action-button:hover { background: var(--itech-ink); }
.danger-outline { color: var(--itech-danger); background: #fff5f5; border-color: #f1b8b6; }
.wide { width: 100%; }

.notice { margin-top: 26px; padding: 17px 18px; border-left: 4px solid var(--itech-orange); border-radius: 8px 14px 14px 8px; background: var(--itech-orange-soft); }
.notice strong { color: var(--itech-orange-dark); }
.notice p { margin: 4px 0 0; color: #82400e; font-size: 14px; }

.instruction-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; margin: 26px 0; }
.instruction-grid div { position: relative; overflow: hidden; padding: 18px; border: 1px solid var(--itech-line); border-radius: 14px; background: #f9fafb; }
.instruction-grid div::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(var(--itech-orange), var(--itech-blue)); }
.instruction-grid strong, .instruction-grid span { display: block; }
.instruction-grid span { margin-top: 5px; color: var(--itech-muted); font-size: 13px; }
.rules { padding-left: 22px; color: var(--itech-muted); }
.rules li { margin: 9px 0; }

.flash { margin-bottom: 20px; border-radius: 12px; padding: 14px 17px; font-weight: 760; box-shadow: var(--shadow-sm); }
.flash-error { color: #8b1e1e; background: #fff0f0; border: 1px solid #efc1c1; }
.flash-success { color: var(--itech-blue-dark); background: var(--itech-blue-soft); border: 1px solid #b7e7f4; }

/* Assessment */
.assessment-mode { background: #eef2f6; }
.assessment-mode footer { display: none; }
.assessment-card { width: min(900px, 100%); margin: 0 auto; padding: clamp(25px, 5vw, 50px); }
.assessment-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.assessment-top strong { display: block; font-size: 15px; }
.timer {
    min-width: 112px;
    padding: 10px 16px;
    border-radius: 12px;
    background: var(--itech-ink);
    color: #fff;
    text-align: center;
    font-size: 25px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}
.timer.warning { background: var(--itech-danger); }
.progress { height: 8px; margin: 22px 0 38px; overflow: hidden; border-radius: 999px; background: #e6eaf0; }
.progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--itech-orange), var(--itech-blue)); }
.question-text { margin-bottom: 28px; font-size: clamp(24px, 3.5vw, 35px); line-height: 1.25; letter-spacing: -.025em; }
.answers { display: grid; gap: 12px; margin-bottom: 28px; }
.answer-option { margin: 0; cursor: pointer; }
.answer-option input { position: absolute; opacity: 0; pointer-events: none; }
.answer-option span { min-height: 64px; padding: 14px 17px; display: flex; align-items: center; gap: 14px; border: 1px solid #cfd7e2; border-radius: 14px; background: #fff; font-weight: 650; transition: .15s ease; }
.answer-option b { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: var(--itech-background); color: var(--itech-blue-dark); }
.answer-option:hover span { border-color: var(--itech-blue); background: var(--itech-blue-soft); transform: translateY(-1px); }
.answer-option input:checked + span { border-color: var(--itech-orange); background: var(--itech-orange-soft); box-shadow: 0 0 0 3px rgba(243,107,33,.12); }
.answer-option input:checked + span b { background: var(--itech-orange); color: #fff; }
.integrity-note { margin: 18px 0 -10px; text-align: center; color: var(--itech-muted); font-size: 12px; }
.fullscreen-gate { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: rgba(17, 24, 39, .94); backdrop-filter: blur(10px); }
.fullscreen-gate > div { width: min(450px, 100%); padding: 32px; border-radius: 22px; background: #fff; box-shadow: var(--shadow-lg); text-align: center; }
.fullscreen-gate.hidden { display: none; }
.theory-response { min-height: 230px; padding: 20px; border: 1px solid var(--itech-line); border-radius: 14px; background: #f9fafb; white-space: pre-wrap; }

/* Admin */
body.admin-page { background: #f3f5f8; }
body.admin-page .main-content { padding-top: 44px; }
.admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.admin-heading h1 { margin-bottom: 5px; font-size: clamp(38px, 5vw, 54px); }
.admin-heading p, .section-note { margin: 0; color: var(--itech-muted); }
.admin-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.back-link { display: inline-flex; margin-bottom: 13px; color: var(--itech-blue-dark); font-weight: 820; text-decoration: none; }

.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 22px; }
.stats-grid > div,
.candidate-summary > div {
    position: relative;
    overflow: hidden;
    padding: 23px;
    border: 1px solid var(--itech-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.stats-grid > div::before,
.candidate-summary > div::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 4px; background: var(--itech-orange); }
.stats-grid > div:nth-child(even)::before,
.candidate-summary > div:nth-child(even)::before { background: var(--itech-blue); }
.stats-grid span, .candidate-summary span { display: block; color: var(--itech-muted); font-size: 12px; font-weight: 720; text-transform: uppercase; letter-spacing: .05em; }
.stats-grid strong, .candidate-summary strong { display: block; margin-top: 7px; font-size: 31px; line-height: 1; }
.candidate-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.candidate-summary small { display: block; margin-top: 8px; color: var(--itech-muted); }

.filter-bar { display: grid; grid-template-columns: minmax(280px, 1fr) 180px 180px auto; gap: 10px; margin-bottom: 18px; padding: 14px; border: 1px solid var(--itech-line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.filter-bar input, .filter-bar select { margin: 0; }
.filter-bar .secondary-button { min-height: 46px; color: #fff; background: var(--itech-orange); border-color: var(--itech-orange); }

.table-wrap { overflow: hidden; border: 1px solid var(--itech-line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.table-wrap table { width: 100%; border-collapse: collapse; }
th, td { padding: 17px 16px; border-bottom: 1px solid #edf0f4; text-align: left; vertical-align: middle; font-size: 13px; }
th { background: #f8fafc; color: #586174; font-size: 10px; font-weight: 850; letter-spacing: .10em; text-transform: uppercase; }
tbody tr { transition: background .15s ease, transform .15s ease; }
tbody tr:hover { background: #fbfcfe; }
tr:last-child td { border-bottom: 0; }
td small { display: block; margin-top: 4px; color: var(--itech-muted); }
.table-link { color: var(--itech-ink); font-weight: 850; text-decoration: none; }
.table-link:hover { color: var(--itech-orange-dark); }
.action-cell { width: 1%; white-space: nowrap; }
.empty { padding: 38px; color: var(--itech-muted); text-align: center; }
.muted { color: var(--itech-muted); }

.status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; font-size: 10px; font-weight: 850; text-transform: capitalize; }
.status-submitted { color: var(--itech-blue-dark); background: var(--itech-blue-soft); }
.status-in_progress, .status-theory { color: var(--itech-orange-dark); background: var(--itech-orange-soft); }
.status-registered { color: #475467; background: #eef1f5; }

.info-card { padding: 27px; margin-bottom: 18px; box-shadow: var(--shadow-sm); }
.info-card h2 { margin-bottom: 18px; }
.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0; }
.info-grid div { padding: 15px; border: 1px solid #edf0f4; border-radius: 12px; background: #f9fafb; }
.info-grid dt { margin-bottom: 4px; color: var(--itech-muted); font-size: 11px; font-weight: 720; text-transform: uppercase; letter-spacing: .05em; }
.info-grid dd { margin: 0; font-weight: 720; word-break: break-word; }
.compact-grid { grid-template-columns: repeat(2, 1fr); }

.result-list { display: grid; gap: 12px; }
.result-question { display: grid; grid-template-columns: 38px 1fr auto; gap: 14px; align-items: center; padding: 17px; border: 1px solid var(--itech-line); border-radius: 14px; background: #fff; }
.result-question-link { text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.result-question-link:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.result-question.correct { border-left: 4px solid var(--itech-blue); }
.result-question.incorrect { border-left: 4px solid var(--itech-orange); }
.result-number { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--itech-background); font-weight: 900; }
.result-question h3 { margin: 0 0 5px; font-size: 15px; }
.result-question p { margin: 0; color: var(--itech-muted); font-size: 12px; }
.open-answer { color: var(--itech-blue-dark); font-size: 12px; font-weight: 850; }

.theory-review-card { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 22px; border: 1px solid var(--itech-line); border-radius: 16px; background: linear-gradient(135deg, #fff, var(--itech-blue-soft)); text-decoration: none; }
.theory-review-card h3 { margin-bottom: 9px; }
.theory-review-card p { margin-bottom: 0; color: var(--itech-muted); }
.theory-review-card > div:last-child { min-width: 120px; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 8px; color: var(--itech-blue-dark); }
.theory-review-card > div:last-child strong { font-size: 24px; }
.theory-admin-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; align-items: start; }
.admin-users-layout { display: grid; grid-template-columns: 1.4fr .6fr; gap: 18px; align-items: start; }
.admin-question-title { max-width: 950px; font-size: clamp(27px, 4vw, 42px) !important; line-height: 1.2 !important; }
.answer-verdict { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; padding: 15px 17px; border-radius: 12px; }
.verdict-correct { color: var(--itech-blue-dark); background: var(--itech-blue-soft); }
.verdict-incorrect { color: var(--itech-orange-dark); background: var(--itech-orange-soft); }
.review-options { display: grid; gap: 11px; }
.review-option { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 13px; padding: 15px; border: 1px solid var(--itech-line); border-radius: 12px; }
.option-key { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--itech-background); font-weight: 900; }
.review-option p { margin: 0; }
.review-option small { color: var(--itech-muted); font-weight: 750; }
.correct-option { border-color: var(--itech-blue); background: var(--itech-blue-soft); }
.selected-option { box-shadow: inset 4px 0 0 var(--itech-orange); }
.question-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }

/* Print and completion */
.centered { text-align: center; }
.success-icon { width: 74px; height: 74px; margin: 0 auto 24px; display: grid; place-items: center; border-radius: 22px; background: linear-gradient(135deg, var(--itech-orange), var(--itech-blue)); color: #fff; font-size: 36px; font-weight: 900; }
.print-sheet { padding: 42px; border: 1px solid var(--itech-line); border-radius: 18px; background: #fff; }
.print-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 18px; margin-bottom: 28px; border-bottom: 2px solid var(--itech-ink); }
.print-logo { max-width: 150px; max-height: 54px; }
.print-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0; }
.print-summary div { padding: 15px; border: 1px solid var(--itech-line); }
.print-summary span, .print-summary strong { display: block; }
.print-summary span { color: var(--itech-muted); font-size: 11px; text-transform: uppercase; }
.print-summary strong { margin-top: 5px; font-size: 23px; }
.print-meta { margin-bottom: 28px; }
.print-question { padding: 14px 0; border-top: 1px solid var(--itech-line); break-inside: avoid; }
.print-question p { margin: 5px 0 0; color: var(--itech-muted); }
.print-theory { margin-top: 30px; padding: 20px; border: 1px solid var(--itech-line); }
.signature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 70px; }
.signature-row span { padding-top: 8px; border-top: 1px solid var(--itech-ink); color: var(--itech-muted); }

@media (max-width: 980px) {
    .hero-card { grid-template-columns: 1fr; }
    .branded-hero > div:first-child { min-height: auto; }
    .form-card { border-top: 1px solid var(--itech-line); }
    .stats-grid, .candidate-summary { grid-template-columns: repeat(2, 1fr); }
    .filter-bar { grid-template-columns: 1fr 1fr; }
    .filter-bar input { grid-column: 1 / -1; }
    .theory-admin-grid, .admin-users-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .shell { width: min(100% - 22px, 1220px); }
    .header-inner { min-height: 70px; }
    .brand-logo { width: 112px; }
    .brand-copy { display: none; }
    .admin-nav { gap: 3px; }
    .admin-nav a, .admin-nav .link-button { padding: 0 10px; font-size: 11px; }
    .main-content { padding-top: 27px; }
    .branded-hero > div:first-child, .form-card { padding: 27px 22px; }
    .instruction-grid, .stats-grid, .candidate-summary, .info-grid, .print-summary { grid-template-columns: 1fr; }
    .filter-bar { grid-template-columns: 1fr; }
    .filter-bar input { grid-column: auto; }
    .admin-heading { align-items: flex-start; flex-direction: column; }
    .table-wrap { overflow-x: auto; }
    table { min-width: 760px; }
    .assessment-top { align-items: flex-start; }
    .timer { min-width: 94px; font-size: 20px; }
    .result-question { grid-template-columns: 36px 1fr; }
    .open-answer { grid-column: 2; }
    .theory-review-card { grid-template-columns: 1fr; }
    .theory-review-card > div:last-child { align-items: flex-start; }
}

@media print {
    body { background: #fff; font-size: 11px; }
    .site-header, footer, .no-print { display: none !important; }
    .main-content { padding: 0; }
    .shell { width: 100%; }
    .print-sheet { padding: 0; border: 0; }
}


.integrity-attempt-list{display:grid;gap:14px}.integrity-attempt-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:16px;background:#fff}.integrity-attempt-card.integrity-clean{border-left-color:var(--blue)}.integrity-attempt-card.integrity-minor{border-left-color:var(--orange)}.integrity-attempt-card.integrity-review{border-left-color:#b42318}.integrity-attempt-heading span{display:block;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.integrity-attempt-heading small{display:block;margin-top:5px;color:var(--muted)}.integrity-attempt-heading>strong{display:inline-flex;margin-top:10px;padding:6px 10px;border-radius:999px;background:var(--soft);font-size:12px}.integrity-attempt-total{text-align:center;min-width:92px}.integrity-attempt-total b{display:block;font-size:30px;line-height:1;color:var(--ink)}.integrity-attempt-total span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.integrity-breakdown{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.integrity-breakdown span{padding:8px 10px;border-radius:10px;background:var(--soft);font-size:13px;color:var(--muted)}.integrity-clean-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px}@media(max-width:620px){.integrity-attempt-card{grid-template-columns:1fr}.integrity-attempt-total{text-align:left}}


.attempt-history-list{display:grid;gap:12px}.attempt-history-card{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(90px,auto)) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;text-decoration:none;transition:.18s ease}.attempt-history-card:hover{border-color:var(--blue);transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.07)}.attempt-history-card span,.attempt-history-card small{display:block;color:var(--muted);font-size:12px}.attempt-history-card strong,.attempt-history-card b{display:block;margin-top:3px;color:var(--ink)}.attempt-history-card em{font-style:normal;color:var(--blue);font-weight:800;font-size:13px}@media(max-width:760px){.attempt-history-card{grid-template-columns:1fr 1fr}.attempt-history-card>div:first-child,.attempt-history-card em{grid-column:1/-1}}


/* ITECH UI density, icon and motion pass */
body.candidate-page .main-content{padding:28px 0 46px;min-height:auto}
body.candidate-page footer{padding:16px 0}
body.candidate-page .hero-card{grid-template-columns:minmax(0,1.02fr) minmax(410px,.98fr);min-height:0;border-radius:26px;box-shadow:0 24px 62px rgba(17,24,39,.14)}
body.candidate-page .branded-hero>div:first-child{padding:42px 48px 38px}
body.candidate-page .branded-hero h1{max-width:510px;margin-bottom:14px;font-size:clamp(42px,4.8vw,60px)}
body.candidate-page .branded-hero .lead{max-width:525px;margin-bottom:0;font-size:16px;line-height:1.55}
body.candidate-page .candidate-instructions{margin-top:22px;border-radius:17px}
body.candidate-page .candidate-instructions__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px 12px}
body.candidate-page .candidate-instructions__header strong{font-size:16px}
body.candidate-page .candidate-instructions__header span{margin:0;text-align:right}
body.candidate-page .instruction-steps{padding:5px 18px 9px}
body.candidate-page .instruction-steps li{grid-template-columns:36px 1fr;gap:12px;padding:10px 0}
body.candidate-page .instruction-step-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--itech-orange),#ff8b4b);color:#fff;box-shadow:0 8px 20px rgba(243,107,33,.2)}
body.candidate-page .instruction-step-icon svg{width:18px;height:18px;stroke:currentColor}
body.candidate-page .instruction-steps strong{font-size:13px;margin-bottom:2px}
body.candidate-page .instruction-steps span{font-size:12px;line-height:1.45}
body.candidate-page .instruction-warning{display:flex;align-items:flex-start;gap:10px;margin:0 18px 16px;padding:11px 12px;font-size:12px;line-height:1.45}
body.candidate-page .instruction-warning svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px;stroke:var(--itech-blue)}
body.candidate-page .form-card{position:relative;overflow:hidden;justify-content:flex-start;padding:42px 46px 36px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
body.candidate-page .form-card::before{content:"";position:absolute;width:260px;height:260px;right:-150px;top:-150px;border:36px solid rgba(0,167,216,.07);border-radius:50%;pointer-events:none}
body.candidate-page .form-card>*{position:relative;z-index:1}
body.candidate-page .form-card h2{display:flex;align-items:center;gap:11px;margin-bottom:17px;font-size:26px}
body.candidate-page .form-title-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--itech-orange-soft);color:var(--itech-orange-dark)}
body.candidate-page .form-title-icon svg{width:18px;height:18px;stroke:currentColor}
body.candidate-page .form-card label{margin-bottom:12px}
body.candidate-page .field-label-heading{display:flex;align-items:center;gap:7px;margin-bottom:5px;color:var(--itech-ink-soft);font-size:12px;font-weight:820}
body.candidate-page .field-label-heading svg{width:15px;height:15px;stroke:var(--itech-blue-dark)}
body.candidate-page .form-card input:not([type=checkbox]),body.candidate-page .form-card select{height:46px;margin-top:0;padding:10px 13px;border-radius:10px;background:rgba(255,255,255,.96)}
body.candidate-page .check-row{margin:4px 0 15px;padding:11px 12px;border:1px solid #e5eaf0;border-radius:11px;background:#f8fafc;font-size:12px;line-height:1.45}
body.candidate-page .form-card .primary-button{min-height:46px;position:relative;overflow:hidden}
body.candidate-page .form-card .primary-button::after{content:"";position:absolute;top:-30%;bottom:-30%;left:-35%;width:28%;transform:skewX(-20deg);background:rgba(255,255,255,.26);transition:left .55s ease}
body.candidate-page .form-card .primary-button:hover::after{left:110%}
.ui-icon{display:inline-grid;place-items:center;flex:0 0 auto}
.ui-icon svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.metric-icon{width:36px;height:36px;margin-bottom:13px;border-radius:11px;background:var(--itech-orange-soft);color:var(--itech-orange-dark)}
.stats-grid>div:nth-child(even) .metric-icon{background:var(--itech-blue-soft);color:var(--itech-blue-dark)}
.admin-nav a .ui-icon,.admin-nav button .ui-icon{font-size:15px}
.row-action-button .ui-icon,.primary-button .ui-icon,.secondary-button .ui-icon{font-size:16px}
.ui-enter{opacity:0;transform:translateY(14px)}
.ui-ready .ui-enter{animation:itech-enter .48s cubic-bezier(.2,.75,.3,1) forwards}
.ui-ready .ui-enter:nth-child(2){animation-delay:.06s}.ui-ready .ui-enter:nth-child(3){animation-delay:.12s}.ui-ready .ui-enter:nth-child(4){animation-delay:.18s}
.ui-ready .branded-hero>div:first-child::before{animation:itech-orbit 8s ease-in-out infinite alternate}
.ui-ready .instruction-step-icon{animation:itech-icon-pop .38s cubic-bezier(.2,.8,.3,1) both}
.ui-ready .instruction-steps li:nth-child(2) .instruction-step-icon{animation-delay:.06s}.ui-ready .instruction-steps li:nth-child(3) .instruction-step-icon{animation-delay:.12s}.ui-ready .instruction-steps li:nth-child(4) .instruction-step-icon{animation-delay:.18s}
@keyframes itech-enter{to{opacity:1;transform:none}}
@keyframes itech-icon-pop{from{opacity:0;transform:scale(.72) rotate(-7deg)}to{opacity:1;transform:none}}
@keyframes itech-orbit{to{transform:translate(-16px,18px) scale(1.035)}}
@media(max-width:1080px){body.candidate-page .hero-card{grid-template-columns:minmax(0,1fr) minmax(390px,.92fr)}body.candidate-page .branded-hero>div:first-child{padding:36px 38px 34px}body.candidate-page .form-card{padding:38px 36px 32px}}
@media(max-width:980px){body.candidate-page .hero-card{grid-template-columns:1fr}body.candidate-page .form-card{border-top:1px solid var(--itech-line)}body.candidate-page .candidate-instructions__header{align-items:flex-start;flex-direction:column}body.candidate-page .candidate-instructions__header span{text-align:left}}
@media(max-width:720px){body.candidate-page .main-content{padding:16px 0 28px}body.candidate-page .branded-hero>div:first-child,body.candidate-page .form-card{padding:26px 21px}body.candidate-page .branded-hero h1{font-size:40px}body.candidate-page .candidate-instructions{margin-top:18px}body.candidate-page .instruction-steps{padding-inline:15px}body.candidate-page .instruction-warning{margin-inline:15px}.metric-icon{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* Admin access, retake history and motion */
.access-shell{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);width:min(1080px,100%);margin:4px auto 0;overflow:hidden;border:1px solid rgba(17,24,39,.09);border-radius:30px;background:#fff;box-shadow:0 32px 80px rgba(17,24,39,.15)}.access-visual{position:relative;overflow:hidden;min-height:620px;padding:58px 54px;color:#fff;background:linear-gradient(145deg,#101827,#16243b 64%,#0b637f 140%)}.access-visual::before,.access-visual::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.access-visual::before{width:360px;height:360px;right:-190px;top:-170px;border:44px solid rgba(0,167,216,.2);animation:access-orbit 14s ease-in-out infinite alternate}.access-visual::after{width:260px;height:260px;left:-155px;bottom:-150px;border:38px solid rgba(243,107,33,.25);animation:access-orbit 18s ease-in-out infinite alternate-reverse}.access-visual>*{position:relative;z-index:1}.access-brand-mark img{width:170px;max-height:62px;object-fit:contain}.access-visual .eyebrow{margin-top:54px;color:#ffb487}.access-visual h1{margin-bottom:18px;font-size:clamp(42px,5vw,62px)}.access-visual>p{color:#cbd5e1;font-size:17px}.access-feature-list{display:grid;gap:14px;margin-top:40px}.access-feature-list>div{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:15px 16px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.07);transition:.25s ease}.access-feature-list>div:hover{transform:translateX(5px);background:rgba(255,255,255,.1)}.access-feature-list strong,.access-feature-list span{display:block}.access-feature-list span{margin-top:3px;color:#cbd5e1;font-size:12px}.access-feature-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--itech-orange),var(--itech-blue));color:#fff}.access-feature-icon svg,.access-main-svg svg,.field-label-icon svg,.retake-svg svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.access-feature-icon svg{width:21px;height:21px}.access-form-panel{display:flex;flex-direction:column;justify-content:center;padding:54px 58px;background:linear-gradient(180deg,#fff,#fbfcfe)}.access-form-heading{margin-bottom:28px}.access-form-heading h2{margin:13px 0 8px;font-size:34px}.access-form-heading p{margin:0;color:var(--itech-muted)}.access-form-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--itech-orange),var(--itech-blue));box-shadow:0 16px 34px rgba(0,167,216,.2);animation:soft-float 5s ease-in-out infinite}.access-main-svg svg{width:27px;height:27px}.field-label-icon{display:inline-grid;width:20px;height:20px;margin-right:7px;vertical-align:-5px;color:var(--itech-blue-dark)}.field-label-icon svg{width:17px;height:17px}.access-form input{min-height:52px}.access-form .primary-button{min-height:50px;margin-top:6px}.access-help{margin:18px 0 0;color:var(--itech-muted);font-size:12px;text-align:center}.password-rules{margin-top:34px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07)}.password-rules ul{margin:12px 0 0;padding-left:20px;color:#dbe5ef}.password-rules li{margin:7px 0}.password-strength{height:28px;margin:-5px 0 14px;border-radius:999px;background:#eef2f6;overflow:hidden;position:relative}.password-strength span{display:block;width:0;height:4px;background:linear-gradient(90deg,var(--itech-orange),var(--itech-blue));transition:width .25s ease}.password-strength small{position:absolute;left:10px;top:7px;color:var(--itech-muted);font-size:11px}.retake-management{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:20px;align-items:center;margin-bottom:20px;padding:24px 26px;border:1px solid rgba(243,107,33,.25);border-radius:20px;background:linear-gradient(135deg,#fff,var(--itech-orange-soft));box-shadow:0 14px 36px rgba(17,24,39,.07)}.retake-management h2{margin:2px 0 6px}.retake-management p{margin:0;color:var(--itech-muted)}.retake-management .eyebrow{margin-bottom:4px}.retake-management-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--itech-orange),#ff8e4d);box-shadow:0 12px 28px rgba(243,107,33,.25);animation:soft-float 5.5s ease-in-out infinite}.retake-svg svg{width:27px;height:27px}.retake-primary{min-width:170px}.retake-approved{border-color:rgba(0,167,216,.24);background:linear-gradient(135deg,#fff,var(--itech-blue-soft))}.retake-approved .retake-management-icon{background:linear-gradient(135deg,var(--itech-blue),var(--itech-blue-dark))}.retake-state{display:inline-flex;padding:9px 13px;border-radius:999px;color:var(--itech-blue-dark);background:#fff;border:1px solid rgba(0,167,216,.24);font-size:11px;font-weight:900;text-transform:uppercase}.section-heading-row{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.attempt-count{display:inline-flex;padding:8px 12px;border-radius:999px;color:var(--itech-blue-dark);background:var(--itech-blue-soft);font-size:12px}.attempt-timeline{position:relative;display:grid;gap:12px}.attempt-timeline::before{content:"";position:absolute;left:24px;top:26px;bottom:26px;width:2px;background:linear-gradient(var(--itech-orange),var(--itech-blue));opacity:.35}.attempt-timeline-card{position:relative;display:grid;grid-template-columns:48px minmax(210px,1fr) repeat(2,minmax(95px,auto)) minmax(135px,auto);gap:15px;align-items:center;padding:16px 18px;border:1px solid var(--itech-line);border-radius:16px;background:#fff;text-decoration:none;transition:.23s ease}.attempt-timeline-card:hover{transform:translateY(-2px) translateX(2px);border-color:rgba(0,167,216,.45);box-shadow:0 15px 34px rgba(17,24,39,.08)}.attempt-marker{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--itech-orange);font-weight:900;box-shadow:0 0 0 7px #fff}.current-attempt .attempt-marker{background:var(--itech-blue-dark)}.attempt-title small,.attempt-title strong,.attempt-title em,.attempt-score small,.attempt-score b{display:block}.attempt-title small,.attempt-score small{color:var(--itech-muted);font-size:11px}.attempt-title em{color:var(--itech-muted);font-size:12px;font-style:normal}.attempt-open{color:var(--itech-blue-dark);font-size:12px;font-weight:850;text-align:right}.current-attempt{background:linear-gradient(135deg,#fff,var(--itech-blue-soft))}.archived-attempt-nav{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 20px;padding:12px;border:1px solid var(--itech-line);border-radius:15px;background:#fff}.archived-attempt-pill{padding:8px 12px;border-radius:999px;color:var(--itech-muted);background:#f4f6f8;text-decoration:none;font-size:12px;font-weight:800;transition:.2s ease}.archived-attempt-pill:hover,.archived-attempt-pill.active{color:#fff;background:var(--itech-orange);transform:translateY(-1px)}.archived-attempt-pill.current{margin-left:auto;color:var(--itech-blue-dark);background:var(--itech-blue-soft)}.motion-reveal{opacity:0;transform:translateY(14px);animation:admin-reveal .55s cubic-bezier(.2,.72,.2,1) forwards;animation-delay:calc(var(--motion-order,0)*45ms)}@keyframes admin-reveal{to{opacity:1;transform:none}}@keyframes soft-float{50%{transform:translateY(-5px)}}@keyframes access-orbit{to{transform:translate(18px,14px) scale(1.04)}}@media(max-width:920px){.access-shell{grid-template-columns:1fr}.access-visual{min-height:auto;padding:38px}.access-feature-list{grid-template-columns:repeat(3,1fr)}.access-form-panel{padding:40px}.attempt-timeline-card{grid-template-columns:48px 1fr 1fr}.attempt-title{grid-column:2/-1}.attempt-open{grid-column:2/-1;text-align:left}.retake-management{grid-template-columns:58px 1fr}.retake-management form,.retake-state{grid-column:2}}@media(max-width:620px){.access-visual,.access-form-panel{padding:27px 22px}.access-feature-list{grid-template-columns:1fr}.retake-management{grid-template-columns:1fr;padding:20px}.retake-management form,.retake-state{grid-column:auto}.retake-primary{width:100%}.section-heading-row{display:block}.attempt-timeline-card{grid-template-columns:42px 1fr}.attempt-title,.attempt-score,.attempt-open{grid-column:2}.attempt-open{text-align:left}.archived-attempt-pill.current{margin-left:0}}@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none;animation:none}.access-visual::before,.access-visual::after,.access-form-icon,.retake-management-icon{animation:none}}


/* Stability round 3: scalable admin list */
.admin-list-summary{margin:-4px 0 12px;color:var(--itech-muted);font-size:13px}.admin-list-summary strong{color:var(--itech-ink)}.admin-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:20px 0 4px}.admin-pagination a,.admin-pagination span{min-width:38px;min-height:38px;display:inline-grid;place-items:center;padding:0 12px;border:1px solid var(--itech-line);border-radius:11px;background:#fff;color:var(--itech-ink-soft);font-size:13px;font-weight:800;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-pagination a:hover{transform:translateY(-2px);border-color:var(--itech-blue);box-shadow:var(--shadow-sm)}.admin-pagination span[aria-current="page"]{border-color:var(--itech-orange);background:var(--itech-orange);color:#fff}.admin-list-loading .table-wrap,.admin-list-loading .admin-pagination{opacity:.58;pointer-events:none}@media(max-width:720px){.admin-list-summary{margin-top:0}.admin-pagination{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}
