@page {
    size: A4;
    margin: 8mm;
}

html {
    font-size: 11pt;
}

body,
body.print-body {
    background: #fff !important;
    color: #111 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

body.print-body,
body.print-body * {
    box-shadow: none !important;
    text-shadow: none !important;
}

.no-print,
.sidebar,
.topbar,
.flash-stack,
.btn,
.print-toolbar {
    display: none !important;
}

.app-shell,
.app-content,
.panel,
.panel * {
    box-shadow: none !important;
}

.app-content {
    padding: 0 !important;
}

.panel,
.stat-card,
.version-card,
.question-preview-card {
    border: 0 !important;
}

.exam-sheet {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    display: block !important;
}

.exam-header {
    grid-template-columns: minmax(0, 1fr) 46mm !important;
    gap: 4mm !important;
    align-items: stretch !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

.exam-header-accent {
    padding: 4mm !important;
    border: 1px solid #111 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.exam-header-content {
    gap: 3mm !important;
}

.exam-brand {
    gap: 2.5mm !important;
}

.eyebrow {
    margin: 0 !important;
    font-size: 7.5pt !important;
    letter-spacing: 0.16em !important;
    color: #666 !important;
}

.exam-title {
    font-size: 18pt !important;
    line-height: 1.12 !important;
    color: #111 !important;
    margin: 0 !important;
}

.exam-detail-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2mm !important;
}

.exam-detail-list p {
    min-height: 12mm !important;
    padding: 2.4mm 3mm !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.exam-detail-list strong,
.exam-summary-card strong,
.exam-qr-meta strong,
.exam-instructions-compact strong {
    font-size: 6.9pt !important;
    letter-spacing: 0.08em !important;
    color: #666 !important;
}

.exam-detail-list span {
    font-size: 10pt !important;
    color: #111 !important;
}

.exam-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2mm !important;
}

.exam-summary-card {
    min-height: 11mm !important;
    padding: 2.3mm 3mm !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.exam-summary-card span {
    font-size: 10pt !important;
    color: #111 !important;
}

.exam-summary-card-emphasis,
.exam-summary-card-wide {
    grid-column: span 2 !important;
}

.exam-summary-card-emphasis span {
    font-size: 11pt !important;
}

.exam-qr-box-compact {
    align-content: start !important;
    padding: 3mm !important;
    border: 1px solid #111 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.exam-qr-frame {
    padding: 2mm !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.exam-qr-box img {
    width: 32mm !important;
    height: 32mm !important;
}

.exam-qr-meta {
    gap: 1mm !important;
}

.exam-qr-meta span {
    font-size: 8.5pt !important;
    line-height: 1.25 !important;
    color: #111 !important;
}

.exam-instructions-compact,
.exam-card-note {
    width: 100% !important;
    max-width: none !important;
    margin: 2.5mm 0 3mm !important;
    padding: 2.4mm 3mm !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.exam-instructions p,
.exam-card-note p {
    margin-top: 1mm !important;
    font-size: 9.2pt !important;
    line-height: 1.38 !important;
    color: #222 !important;
}

.question-list {
    margin-top: 2mm !important;
}

.printed-question,
.question-preview-card,
.correction-block,
.omr-card,
.exam-card-note {
    break-inside: avoid;
}

.printed-question {
    padding: 3.1mm 0 !important;
    border-bottom: 1px solid #d7d7d7 !important;
}

.printed-question-card {
    padding: 0 !important;
}

.question-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 3mm !important;
    align-items: start !important;
}

.printed-question h2,
.question-title-row h2 {
    margin: 0 !important;
    font-size: 10.8pt !important;
    line-height: 1.42 !important;
    font-weight: 700 !important;
}

.question-title-row > span {
    font-size: 8.8pt !important;
    white-space: nowrap !important;
}

.answer-list,
.enumere-list {
    margin: 2mm 0 0 !important;
    gap: 1.3mm !important;
}

.answer-list li,
.enumere-list li,
.vf-row p,
.complete-text {
    font-size: 9.6pt !important;
    line-height: 1.4 !important;
}

.vf-block,
.enumere-grid {
    gap: 2mm !important;
    margin-top: 2mm !important;
}

.open-answer-space {
    min-height: 28mm !important;
    margin-top: 2.5mm !important;
}

.page-break-before {
    break-before: page;
    page-break-before: always;
}

.answer-card-sheet {
    padding-top: 0 !important;
}

.omr-card {
    padding: 4mm !important;
    border: 1px solid #111 !important;
    border-radius: 2mm !important;
    background: #fff !important;
}

.omr-sheet-header {
    grid-template-columns: minmax(0, 1fr) 30mm !important;
    gap: 3mm !important;
    align-items: start !important;
}

.omr-sheet-copy h2 {
    font-size: 15pt !important;
    line-height: 1.15 !important;
}

.omr-sheet-copy p:last-child {
    font-size: 8.8pt !important;
}

.omr-sheet-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.4mm 3mm !important;
    padding: 2mm 0 2.5mm !important;
    border-bottom: 1px solid #d0d0d0 !important;
}

.omr-sheet-meta span {
    font-size: 8.8pt !important;
}

.omr-sheet-qr {
    width: 30mm !important;
    min-width: 30mm !important;
}

.omr-sheet-qr img {
    width: 26mm !important;
    height: 26mm !important;
}

.omr-response-zone {
    padding: 4mm 6mm !important;
}

.omr-response-zone-table {
    background: #fff !important;
}

.omr-table-grid {
    gap: 6mm !important;
    align-items: flex-start !important;
}

.omr-table {
    width: calc(50% - 3mm) !important;
    max-width: none !important;
    border-spacing: 0 1.8mm !important;
}

.omr-table th {
    font-size: 8.6pt !important;
    padding-bottom: 1mm !important;
}

.omr-table-number {
    padding-right: 2mm !important;
    font-size: 9.8pt !important;
}

.omr-table-bubble {
    height: 7mm !important;
}

.omr-square-svg {
    width: 5.2mm !important;
    height: 5.2mm !important;
}

.omr-side-marker {
    width: 5mm !important;
    height: 5mm !important;
    background: #000 !important;
}
