/* =============================================================================
   Make Future Model School - Official Entrance Exam Admit Card Styles
   Engineered for 100% Guaranteed Single-Page A4 Fit & Zero Text Overlap
   ============================================================================= */

#pdf-certificate-content,
.admit-card-container {
    box-sizing: border-box !important;
    width: 794px !important;
    max-width: 794px !important;
    min-width: 794px !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-family: 'Times New Roman', Times, serif !important;
    padding: 20px 28px 16px !important;
    text-align: left !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    margin: 0 auto !important;
}

#pdf-certificate-content *,
.admit-card-container * {
    box-sizing: border-box !important;
}

/* --- Header --- */
.ac-header {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 4px !important;
}

.ac-logo {
    flex-shrink: 0 !important;
    width: 62px !important;
    height: 62px !important;
}

.ac-logo img {
    width: 62px !important;
    height: 62px !important;
    object-fit: contain !important;
    display: block !important;
}

.ac-title-block {
    flex: 1 !important;
}

.ac-school-name {
    font-family: 'Times New Roman', Times, serif !important;
    font-size: 25px !important;
    font-weight: bold !important;
    color: #000000 !important;
    margin: 0 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.3px !important;
}

.ac-session {
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: 0.8px !important;
    margin: 3px 0 0 0 !important;
    color: #000000 !important;
    line-height: 1.2 !important;
}

.ac-header-line {
    height: 2px !important;
    background: linear-gradient(to right, #d4a017, #b8860b, #d4a017) !important;
    margin: 4px 0 !important;
}

/* --- Body --- */
.ac-body {
    padding: 3px 0 !important;
}

.ac-body-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin-bottom: 5px !important;
}

/* QR Codes */
.ac-qr-section {
    display: flex !important;
    gap: 20px !important;
}

.ac-qr-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.ac-qr-box canvas {
    width: 66px !important;
    height: 66px !important;
    display: block !important;
}

.ac-qr-label {
    font-size: 8.5px !important;
    color: #222222 !important;
    margin-top: 3px !important;
    font-weight: bold !important;
    font-family: 'Times New Roman', Times, serif !important;
    text-align: center !important;
}

/* Seat Number Badge */
.ac-exam-code {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    font-weight: bold !important;
    letter-spacing: 0.6px !important;
    padding: 6px 14px !important;
    border: 1px solid #000000 !important;
    background: #fbfbfb !important;
    margin-top: 10px !important;
}

/* Photo Box */
.ac-photo-box {
    width: 95px !important;
    height: 115px !important;
    border: 1.5px solid #222222 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px !important;
    box-sizing: border-box !important;
}

.ac-photo-box img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

.ac-photo-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f3f4f6 !important;
    color: #6b7280 !important;
    padding: 6px !important;
}

.ac-photo-user-icon {
    margin-bottom: 4px !important;
}

.ac-photo-text {
    font-size: 9px !important;
    font-weight: bold !important;
    text-align: center !important;
    line-height: 1.2 !important;
    color: #555555 !important;
}

/* --- Top Info Bar (Class / Reg / Aadhaar / Sex) --- */
.ac-info-row {
    display: flex !important;
    gap: 16px !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}

.ac-top-row {
    border-top: 1px solid #000000 !important;
    border-bottom: 1px solid #000000 !important;
    padding: 4px 2px !important;
    margin: 4px 0 6px 0 !important;
    background: #fcfcfc !important;
}

.ac-info-item {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    white-space: nowrap !important;
}

.ac-label {
    font-size: 11.5px !important;
    font-weight: bold !important;
}

.ac-value {
    font-size: 12px !important;
}

.ac-bold {
    font-weight: bold !important;
}

.ac-divider {
    height: 1px !important;
    background: #000000 !important;
    margin: 4px 0 !important;
}

/* --- 3-Column Details Grid --- */
.ac-details-grid-3 {
    display: grid !important;
    grid-template-columns: 1.1fr 0.95fr 1.35fr !important;
    gap: 3px 14px !important;
}

.ac-details-left,
.ac-details-middle {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.ac-details-right {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding-left: 6px !important;
}

.ac-detail-row {
    display: flex !important;
    gap: 4px !important;
    align-items: baseline !important;
}

.ac-label-bold {
    font-size: 11.5px !important;
    font-weight: bold !important;
    white-space: nowrap !important;
}

.ac-detail-value {
    font-size: 12px !important;
    font-weight: bold !important;
}

.ac-label-right {
    font-size: 11.5px !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    text-align: right !important;
    min-width: 82px !important;
}

.ac-value-right {
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.ac-center-name {
    font-size: 13px !important;
    font-weight: bold !important;
    margin-top: 1px !important;
    line-height: 1.2 !important;
}

.ac-center-addr {
    font-size: 10.5px !important;
    color: #222222 !important;
    line-height: 1.2 !important;
}

/* --- Footer Section (Declaration, Important Note, General Instructions) --- */
.ac-footer-section {
    margin-top: 6px !important;
    border: 1px solid #000000 !important;
    font-size: 11px !important;
}

/* Section Headings (UNDERLINE IMPLEMENTED VIA BORDER-BOTTOM TO PREVENT HTML2CANVAS OVERLAP) */
.ac-sec-title {
    display: block !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
}

.ac-sec-title span {
    display: inline-block !important;
    font-weight: bold !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    border-bottom: 1.5px solid #000000 !important;
    padding-bottom: 1px !important;
    text-decoration: none !important;
}

/* 1. Declaration */
.ac-declaration {
    padding: 6px 10px 8px !important;
    border-bottom: 1px solid #000000 !important;
}

.ac-decl-text {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
}

/* Signature & Phone Table */
.ac-sig-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 4px !important;
}

.ac-sig-table td {
    border: none !important;
    padding: 0 !important;
}

.ac-sig-label {
    font-weight: bold !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ac-sig-dotted-line {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    color: #444444 !important;
    line-height: 1 !important;
    margin-top: 2px !important;
}

.ac-sig-phone {
    font-weight: bold !important;
    font-size: 13.5px !important;
    color: #000000 !important;
    line-height: 1.2 !important;
    margin-top: 2px !important;
}

/* 2. Important Note */
.ac-important-note {
    padding: 6px 10px 6px !important;
    border-bottom: 1px solid #000000 !important;
}

.ac-note-line {
    display: block !important;
    font-size: 10.8px !important;
    line-height: 1.36 !important;
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
}

/* 3. General Instructions */
.ac-instructions {
    padding: 6px 10px 6px !important;
}

.ac-instr-list {
    margin: 0 !important;
    padding-left: 18px !important;
    list-style-type: decimal !important;
}

.ac-instr-list li {
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    line-height: 1.32 !important;
    font-size: 10.2px !important;
    text-align: justify !important;
    list-style-type: decimal !important;
}

/* 4. Verification / Bottom Notice */
.ac-system-notice {
    font-size: 9px !important;
    color: #444444 !important;
    text-align: center !important;
    margin-top: 4px !important;
    font-style: italic !important;
}

/* Fullscreen Generating Overlay (100% Solid Opaque - Never Bleeds Staged Content) */
.admit-card-loading-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #ffffff !important;
    opacity: 1 !important;
    z-index: 999999 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    color: #1f2937 !important;
}

.admit-card-loading-overlay .spinner {
    font-size: 3.2rem !important;
    color: #2563eb !important;
    margin-bottom: 1.25rem !important;
}

.admit-card-loading-overlay .title {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    letter-spacing: -0.02em !important;
}

.admit-card-loading-overlay .subtitle {
    font-size: 0.95rem !important;
    color: #4b5563 !important;
    margin-top: 0.5rem !important;
    font-weight: 500 !important;
}

/* Staging container hidden behind solid overlay */
#admit-card-render-stage {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 794px !important;
    z-index: 999990 !important;
    background: #ffffff !important;
    overflow: visible !important;
    pointer-events: none !important;
}

