{"version":3,"sources":["../src/components/ExamPageLayout/GabaritoCard.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nexport interface AnswerSheetCardProps {\n  studentName: string;\n  qrCodeDataUrl: string;\n  totalQuestions: number;\n  examTitle?: string;\n  schoolName?: string;\n  className?: string;\n}\n\n/**\n * Global print styles to remove browser headers/footers (URL, date, title)\n * and ensure full-page printing\n */\nexport function PrintStyles() {\n  return (\n    <style>\n      {`\n        @media print {\n          @page {\n            size: A4;\n            margin: 0;\n          }\n          html, body {\n            margin: 0 !important;\n            padding: 0 !important;\n            -webkit-print-color-adjust: exact !important;\n            print-color-adjust: exact !important;\n          }\n          .gabarito-page-container {\n            padding: 0 !important;\n            margin: 0 !important;\n            background: white !important;\n            display: block !important;\n          }\n          .gabarito-card-container {\n            box-shadow: none !important;\n            border: none !important;\n            padding: 12mm !important;\n            margin: 0 !important;\n            width: 210mm !important;\n            height: 297mm !important;\n          }\n          .gabarito-card-container:last-child {\n            page-break-after: auto !important;\n            margin-bottom: 0 !important;\n          }\n          .gabarito-qr-code {\n            bottom: 12px !important;\n            right: 12px !important;\n          }\n        }\n      `}\n    </style>\n  );\n}\n\nconst pageContainerStyle: CSSProperties = {\n  minHeight: '100vh',\n  background: '#f3f4f6',\n  display: 'flex',\n  flexDirection: 'column',\n  alignItems: 'center',\n  padding: '24px 0',\n};\n\nexport function PageContainer({ children }: Readonly<{ children: ReactNode }>) {\n  return (\n    <div className=\"gabarito-page-container\" style={pageContainerStyle}>\n      {children}\n    </div>\n  );\n}\n\nconst cardContainerStyle: CSSProperties = {\n  background: 'white',\n  width: '210mm',\n  height: '297mm',\n  boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1)',\n  border: '1px solid #d1d5db',\n  padding: '24px',\n  fontSize: '11px',\n  lineHeight: 1.3,\n  fontFamily: 'Arial, Helvetica, sans-serif',\n  color: '#000000',\n  position: 'relative',\n  boxSizing: 'border-box',\n  pageBreakAfter: 'always',\n  pageBreakInside: 'avoid',\n  marginBottom: '24px',\n};\n\nexport const CardContainer = forwardRef<\n  HTMLDivElement,\n  { children: ReactNode }\n>(({ children }, ref) => {\n  return (\n    <div\n      ref={ref}\n      className=\"gabarito-card-container\"\n      style={cardContainerStyle}\n    >\n      {children}\n    </div>\n  );\n});\n\nCardContainer.displayName = 'CardContainer';\n\n// Styles objects for inline styling\nconst styles = {\n  headerBar: {\n    background: '#000000',\n    color: 'white',\n    padding: '6px 12px',\n    display: 'flex',\n    alignItems: 'center',\n    gap: '8px',\n    fontSize: '16px',\n    fontWeight: 700,\n    marginBottom: 0,\n  } as CSSProperties,\n\n  subHeader: {\n    padding: '4px 12px',\n    fontSize: '10px',\n    color: '#374151',\n    borderLeft: '1px solid #9ca3af',\n    borderRight: '1px solid #9ca3af',\n  } as CSSProperties,\n\n  infoBox: {\n    border: '1px solid #9ca3af',\n    marginTop: '4px',\n  } as CSSProperties,\n\n  infoRow: {\n    display: 'flex',\n  } as CSSProperties,\n\n  infoRowWithBorder: {\n    display: 'flex',\n    borderTop: '1px solid #9ca3af',\n  } as CSSProperties,\n\n  infoField: {\n    flex: 1,\n    padding: '6px',\n  } as CSSProperties,\n\n  infoFieldLabel: {\n    fontWeight: 700,\n    fontSize: '9px',\n  } as CSSProperties,\n\n  infoFieldContent: {\n    height: '20px',\n    marginTop: '2px',\n  } as CSSProperties,\n\n  smallInfoField: {\n    width: '144px',\n    padding: '6px',\n    display: 'flex',\n    alignItems: 'flex-start',\n  } as CSSProperties,\n\n  foreignLanguageBox: {\n    width: '160px',\n    borderRight: '1px solid #9ca3af',\n    padding: '8px',\n  } as CSSProperties,\n\n  foreignLanguageTitle: {\n    fontWeight: 700,\n    fontSize: '9px',\n    textAlign: 'center' as const,\n    marginBottom: '4px',\n  } as CSSProperties,\n\n  foreignLanguageOption: {\n    display: 'flex',\n    alignItems: 'center',\n    gap: '6px',\n    marginLeft: '8px',\n    marginTop: '4px',\n  } as CSSProperties,\n\n  checkbox: {\n    width: '12px',\n    height: '12px',\n    borderRadius: '50%',\n    border: '1px solid #6b7280',\n    display: 'inline-block',\n  } as CSSProperties,\n\n  proctorBox: {\n    flex: 1,\n    padding: '8px',\n  } as CSSProperties,\n\n  proctorTitle: {\n    fontWeight: 700,\n    fontSize: '9px',\n    textAlign: 'center' as const,\n    marginBottom: '4px',\n  } as CSSProperties,\n\n  proctorItem: {\n    display: 'flex',\n    justifyContent: 'space-between',\n    alignItems: 'center',\n    padding: '0 8px',\n    fontSize: '10px',\n    marginTop: '4px',\n  } as CSSProperties,\n\n  checkboxGroup: {\n    display: 'flex',\n    alignItems: 'center',\n    gap: '4px',\n  } as CSSProperties,\n\n  signatureBox: {\n    border: '1px solid #9ca3af',\n    borderTop: 0,\n    padding: '8px',\n    textAlign: 'center' as const,\n  } as CSSProperties,\n\n  signatureTitle: {\n    fontWeight: 700,\n    fontSize: '9px',\n    marginBottom: '8px',\n  } as CSSProperties,\n\n  signatureLine: {\n    borderBottom: '1px solid #9ca3af',\n    margin: '16px 32px 0 32px',\n  } as CSSProperties,\n\n  instructionsBox: {\n    border: '1px solid #9ca3af',\n    borderTop: 0,\n    padding: '8px',\n  } as CSSProperties,\n\n  instructionsTitle: {\n    fontWeight: 700,\n    fontSize: '10px',\n    textAlign: 'center' as const,\n    marginBottom: '4px',\n  } as CSSProperties,\n\n  instructionsText: {\n    fontSize: '9px',\n    padding: '0 4px',\n  } as CSSProperties,\n\n  instructionsParagraph: {\n    margin: '2px 0',\n  } as CSSProperties,\n\n  transcriptionBox: {\n    border: '1px solid #9ca3af',\n    borderTop: 0,\n    padding: '8px',\n  } as CSSProperties,\n\n  transcriptionTitle: {\n    fontWeight: 700,\n    fontSize: '9px',\n    textAlign: 'center' as const,\n  } as CSSProperties,\n\n  transcriptionLine: {\n    borderBottom: '1px solid #9ca3af',\n    margin: '20px 16px 0 16px',\n  } as CSSProperties,\n\n  transcriptionLineSecond: {\n    borderBottom: '1px solid #9ca3af',\n    margin: '16px 16px 0 16px',\n  } as CSSProperties,\n\n  exampleSection: {\n    marginTop: '8px',\n    display: 'flex',\n    justifyContent: 'space-between',\n    alignItems: 'flex-start',\n    padding: '0 4px',\n    gap: '12px',\n  } as CSSProperties,\n\n  exampleText: {\n    flex: 1,\n  } as CSSProperties,\n\n  exampleTextTitle: {\n    fontWeight: 700,\n    fontSize: '10px',\n    marginBottom: '4px',\n  } as CSSProperties,\n\n  exampleTextParagraph: {\n    fontSize: '9px',\n    margin: '2px 0',\n  } as CSSProperties,\n\n  exampleBox: {\n    width: '224px',\n    border: '1px solid #9ca3af',\n    padding: '6px',\n  } as CSSProperties,\n\n  exampleBoxTitle: {\n    fontWeight: 700,\n    fontSize: '9px',\n    marginBottom: '4px',\n  } as CSSProperties,\n\n  exampleRow: {\n    display: 'flex',\n    alignItems: 'center',\n    gap: '4px',\n    fontSize: '9px',\n    marginBottom: '2px',\n  } as CSSProperties,\n\n  exampleRowNumero: {\n    fontWeight: 700,\n    marginLeft: '4px',\n  } as CSSProperties,\n\n  exampleBubble: {\n    width: '16px',\n    height: '16px',\n    borderRadius: '50%',\n    border: '1px solid #6b7280',\n    display: 'inline-flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n    fontSize: '7px',\n    fontWeight: 700,\n    background: 'white',\n    color: '#6b7280',\n  } as CSSProperties,\n\n  exampleBubbleFilled: {\n    width: '16px',\n    height: '16px',\n    borderRadius: '50%',\n    border: '1px solid #6b7280',\n    display: 'inline-flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n    fontSize: '7px',\n    fontWeight: 700,\n    background: '#000000',\n    color: 'white',\n  } as CSSProperties,\n\n  gridContainer: {\n    marginTop: '8px',\n    border: '1px solid #9ca3af',\n  } as CSSProperties,\n\n  gridHeader: {\n    display: 'flex',\n    background: '#e5e7eb',\n    borderBottom: '1px solid #9ca3af',\n  } as CSSProperties,\n\n  gridHeaderCell: {\n    flex: 1,\n    textAlign: 'center' as const,\n    fontSize: '8px',\n    fontWeight: 700,\n    padding: '4px 0',\n  } as CSSProperties,\n\n  gridHeaderCellWithBorder: {\n    flex: 1,\n    textAlign: 'center' as const,\n    fontSize: '8px',\n    fontWeight: 700,\n    padding: '4px 0',\n    borderRight: '1px solid #9ca3af',\n  } as CSSProperties,\n\n  gridRow: {\n    display: 'flex',\n  } as CSSProperties,\n\n  gridRowWithBorder: {\n    display: 'flex',\n    borderBottom: '1px solid #e5e7eb',\n  } as CSSProperties,\n\n  gridCell: {\n    flex: 1,\n    display: 'flex',\n    alignItems: 'center',\n    padding: '6px 4px',\n  } as CSSProperties,\n\n  gridCellWithBorder: {\n    flex: 1,\n    display: 'flex',\n    alignItems: 'center',\n    padding: '6px 4px',\n    borderRight: '1px solid #9ca3af',\n  } as CSSProperties,\n\n  gridCellNumero: {\n    width: '20px',\n    textAlign: 'right' as const,\n    fontSize: '9px',\n    fontWeight: 500,\n    marginRight: '8px',\n  } as CSSProperties,\n\n  gridCellBubbles: {\n    display: 'flex',\n    gap: '1px',\n  } as CSSProperties,\n\n  gridCellEmpty: {\n    color: '#d1d5db',\n    marginLeft: '24px',\n  } as CSSProperties,\n\n  answerBubble: {\n    width: '18px',\n    height: '18px',\n    borderRadius: '50%',\n    border: '1px solid #9ca3af',\n    display: 'inline-flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n    fontSize: '9px',\n    color: '#9ca3af',\n  } as CSSProperties,\n\n  qrCodeImage: {\n    width: '180px',\n    height: '180px',\n    position: 'absolute' as const,\n    bottom: '20px',\n    right: '20px',\n  } as CSSProperties,\n};\n\nconst OPTIONS = ['A', 'B', 'C', 'D', 'E'];\nconst NUM_COLUMNS = 5;\nconst ROWS_PER_COLUMN = 10;\n\n/**\n * Shared AnswerSheetCard component for rendering answer sheet content\n * Used by both AnswerSheetPreview (single) and AnswerSheetsBatchPreview (batch)\n * NOTE: This component renders just the inner content - wrap it with CardContainer\n */\nexport function AnswerSheetCard({\n  studentName,\n  qrCodeDataUrl,\n  totalQuestions,\n  examTitle,\n  schoolName,\n  className,\n}: Readonly<AnswerSheetCardProps>) {\n  const getQuestionNumber = (colIdx: number, rowIdx: number): number | null => {\n    const questionNum = colIdx * ROWS_PER_COLUMN + rowIdx + 1;\n    return questionNum <= totalQuestions ? questionNum : null;\n  };\n\n  return (\n    <>\n      {/* Header */}\n      <div style={styles.headerBar}>\n        <span>&#9632;</span>\n        <span>CARTAO-RESPOSTA</span>\n      </div>\n      <div style={styles.subHeader}>\n        {examTitle || 'Simulado Analytica 2026'}\n      </div>\n\n      {/* Nome / Info do Aluno */}\n      <div style={styles.infoBox}>\n        <div style={styles.infoRow}>\n          <div\n            style={{\n              ...styles.infoField,\n              flex: 3,\n              borderRight: '1px solid #9ca3af',\n            }}\n          >\n            <div style={styles.infoFieldLabel}>NOME COMPLETO:</div>\n            <div style={styles.infoFieldContent}>{studentName}</div>\n          </div>\n          <div style={styles.smallInfoField}>\n            <div style={styles.infoFieldLabel}>INFORMACOES DO ALUNO</div>\n          </div>\n        </div>\n        <div style={styles.infoRowWithBorder}>\n          <div style={styles.infoField}>\n            <div style={styles.infoFieldLabel}>ESCOLA E TURMA:</div>\n            <div style={styles.infoFieldContent}>\n              {schoolName && className\n                ? `${schoolName} - ${className}`\n                : schoolName || className || ''}\n            </div>\n          </div>\n        </div>\n      </div>\n\n      {/* Lingua Estrangeira / Fiscal */}\n      <div style={{ ...styles.infoBox, borderTop: 0 }}>\n        <div style={styles.infoRow}>\n          <div style={styles.foreignLanguageBox}>\n            <div style={styles.foreignLanguageTitle}>LINGUA ESTRANGEIRA</div>\n            <div style={styles.foreignLanguageOption}>\n              <span style={styles.checkbox} />\n              <span>INGLES</span>\n            </div>\n            <div style={styles.foreignLanguageOption}>\n              <span style={styles.checkbox} />\n              <span>ESPANHOL</span>\n            </div>\n          </div>\n          <div style={styles.proctorBox}>\n            <div style={styles.proctorTitle}>\n              PARA USO EXCLUSIVO DO FISCAL DE SALA\n            </div>\n            <div style={styles.proctorItem}>\n              <span>PARTICIPANTE AUSENTE</span>\n              <div style={styles.checkboxGroup}>\n                <span>SIM</span>\n                <span style={styles.checkbox} />\n              </div>\n            </div>\n            <div style={styles.proctorItem}>\n              <span>\n                PARTICIPANTE PRESENTE DEIXOU O CARTAO-RESPOSTA EM BRANCO\n              </span>\n              <div style={styles.checkboxGroup}>\n                <span>SIM</span>\n                <span style={styles.checkbox} />\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n\n      {/* Assinatura */}\n      <div style={styles.signatureBox}>\n        <div style={styles.signatureTitle}>ASSINATURA DO PARTICIPANTE</div>\n        <div style={styles.signatureLine} />\n      </div>\n\n      {/* Instrucoes */}\n      <div style={styles.instructionsBox}>\n        <div style={styles.instructionsTitle}>INSTRUCOES</div>\n        <div style={styles.instructionsText}>\n          <p style={styles.instructionsParagraph}>\n            1. Verifique se seu nome completo e os dados impressos neste\n            CARTAO-RESPOSTA estao corretos. Assine somente no local apropriado.\n          </p>\n          <p style={styles.instructionsParagraph}>\n            2. O CARTAO-RESPOSTA e o unico documento para correcao eletronica.\n            Nao o amasse, rasque, dobre ou rasure. Nao havera substituicao por\n            erro do participante.\n          </p>\n          <p style={styles.instructionsParagraph}>\n            3. Em nenhuma hipotese voce podera levar o CARTAO-RESPOSTA ao deixar\n            a sala de provas, sob pena de eliminacao no exame.\n          </p>\n          <p style={styles.instructionsParagraph}>\n            4. Preencha suas respostas nos campos apropriados conforme o EXEMPLO\n            DE PREENCHIMENTO. O preenchimento incorreto impossibilita a leitura\n            otica.\n          </p>\n          <p style={styles.instructionsParagraph}>\n            5. Entregue este CARTAO-RESPOSTA ao aplicador ao termino da\n            realizacao do exame.\n          </p>\n        </div>\n      </div>\n\n      {/* Transcreva frase */}\n      <div style={styles.transcriptionBox}>\n        <div style={styles.transcriptionTitle}>\n          TRANSCREVA AQUI A FRASE APRESENTADA NA CAPA DE SEU CADERNO DE\n          QUESTOES, CONFORME AS INSTRUCOES NELA CONTIDAS.\n        </div>\n        <div style={styles.transcriptionLine} />\n        <div style={styles.transcriptionLineSecond} />\n      </div>\n\n      {/* Exemplo de preenchimento */}\n      <div style={styles.exampleSection}>\n        <div style={styles.exampleText}>\n          <div style={styles.exampleTextTitle}>EXEMPLO DE PREENCHIMENTO</div>\n          <p style={styles.exampleTextParagraph}>\n            Preencha os circulos completamente, conforme a imagem ao lado,\n            utilizando\n          </p>\n          <p style={styles.exampleTextParagraph}>\n            <strong>\n              caneta esferografica de tinta preta, fabricada em material\n              transparente.\n            </strong>\n          </p>\n          <p style={styles.exampleTextParagraph}>\n            Nao sera permitido o uso de lapis, lapiseira (grafite) e borracha.\n          </p>\n        </div>\n        <div style={styles.exampleBox}>\n          <div style={styles.exampleBoxTitle}>Exemplo de resposta</div>\n          {[\n            { q: 1, label: 'A', answer: 'A' },\n            { q: 2, label: 'B', answer: 'B' },\n            { q: 3, label: 'C', answer: 'C' },\n          ].map(({ q, label, answer }) => (\n            <div key={q} style={styles.exampleRow}>\n              <span>Resposta da questao X = {label} -&gt;</span>\n              <span style={styles.exampleRowNumero}>\n                {String(q).padStart(2, '0')}\n              </span>\n              {OPTIONS.map((opt) => (\n                <span\n                  key={opt}\n                  style={\n                    opt === answer\n                      ? styles.exampleBubbleFilled\n                      : styles.exampleBubble\n                  }\n                >\n                  {opt}\n                </span>\n              ))}\n            </div>\n          ))}\n        </div>\n      </div>\n\n      {/* Grid de Questoes */}\n      <div style={styles.gridContainer}>\n        {/* Header */}\n        <div style={styles.gridHeader}>\n          {Array.from({ length: NUM_COLUMNS }, (_, i) => (\n            <div\n              key={i}\n              style={\n                i < NUM_COLUMNS - 1\n                  ? styles.gridHeaderCellWithBorder\n                  : styles.gridHeaderCell\n              }\n            >\n              Questao / Resposta\n            </div>\n          ))}\n        </div>\n\n        {/* Rows */}\n        {Array.from({ length: ROWS_PER_COLUMN }, (_, rowIdx) => (\n          <div\n            key={rowIdx}\n            style={\n              rowIdx < ROWS_PER_COLUMN - 1\n                ? styles.gridRowWithBorder\n                : styles.gridRow\n            }\n          >\n            {Array.from({ length: NUM_COLUMNS }, (_, colIdx) => {\n              const questionNum = getQuestionNumber(colIdx, rowIdx);\n\n              return (\n                <div\n                  key={colIdx}\n                  style={\n                    colIdx < NUM_COLUMNS - 1\n                      ? styles.gridCellWithBorder\n                      : styles.gridCell\n                  }\n                >\n                  {questionNum === null ? (\n                    <span style={styles.gridCellEmpty}>-</span>\n                  ) : (\n                    <>\n                      <span style={styles.gridCellNumero}>{questionNum}</span>\n                      <div style={styles.gridCellBubbles}>\n                        {OPTIONS.map((opt) => (\n                          <span key={opt} style={styles.answerBubble}>\n                            {opt}\n                          </span>\n                        ))}\n                      </div>\n                    </>\n                  )}\n                </div>\n              );\n            })}\n          </div>\n        ))}\n      </div>\n\n      {/* QR Code */}\n      {qrCodeDataUrl && (\n        <img\n          src={qrCodeDataUrl}\n          alt=\"QR Code\"\n          className=\"gabarito-qr-code\"\n          style={styles.qrCodeImage}\n        />\n      )}\n    </>\n  );\n}\n\nexport default AnswerSheetCard;\n"],"mappings":"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","names":["_"]}