@page {
  size: A4 portrait;
  margin: 4mm;
}

.permit-print-btn {
  width: 100%;
  margin-bottom: 0.75rem;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.7rem 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.permit-print-btn:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}

.permit-print-btn-page {
  display: block;
  width: auto;
  max-width: 820px;
  margin: 0 auto 1rem;
}

@media print {
  html,
  body {
    width: 210mm;
    height: 297mm;
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body {
    display: block !important;
  }

  .panel-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .permit-print-btn,
  .theme-toggle-btn,
  .panel-logout-btn,
  .panel-topbar,
  .panel-hero,
  .panel-grid,
  .panel-form-card,
  .panel-permit-side,
  .permit-tabs,
  .permit-edit-save-section,
  .permit-saved-section,
  .panel-permit-form,
  .panel-card-header,
  .panel-permit-card > .panel-card-header {
    display: none !important;
  }

  .panel-shell,
  .panel-permit-card,
  .panel-permit-layout,
  .panel-permit-live {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .panel-permit-layout {
    grid-template-columns: none !important;
    gap: 0 !important;
  }

  .panel-permit-live {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .route-permit-page {
    display: block !important;
    min-height: auto !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #permit-print-area.permit-live-preview,
  .permit-document {
    position: relative !important;
    box-sizing: border-box !important;
    width: 202mm !important;
    height: 289mm !important;
    min-height: 289mm !important;
    max-height: 289mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #111 !important;
    overflow: hidden !important;
    transform: none !important;
    transform-origin: top center !important;
    font-family: "Bookman Old Style", "Bookman", Georgia, "Times New Roman", serif !important;
    font-weight: 700 !important;
    page-break-inside: avoid;
    page-break-after: avoid;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .permit-frame {
    position: absolute !important;
    inset: 0 !important;
    z-index: 4 !important;
    display: block !important;
    background: url("assets/permit-border-frame.png") no-repeat center / 100% 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .permit-inner-border {
    display: none !important;
  }

  .permit-live-content,
  .permit-content {
    position: absolute !important;
    inset: 12mm 10mm 13mm 10mm !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 4mm 6mm 3mm !important;
    min-height: 0 !important;
  }

  .permit-header-band {
    display: grid !important;
    grid-template-columns: 18mm minmax(0, 1fr) 22mm !important;
    column-gap: 3mm !important;
    align-items: start !important;
    margin-bottom: 4mm !important;
  }

  .permit-header-band .permit-live-emblem,
  .permit-header-band .permit-emblem {
    position: static !important;
    width: 18mm !important;
    height: auto !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .permit-header-qr-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 2mm !important;
  }

  .permit-header-band .permit-qr-code {
    position: static !important;
    width: 22mm !important;
    height: 22mm !important;
    border-radius: 1mm !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .permit-header-text {
    text-align: center !important;
    min-width: 0 !important;
  }

  .permit-live-watermark,
  .permit-watermark {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    background: url("assets/sindh-emblem.png") center 58% / var(--permit-watermark-size) no-repeat !important;
    opacity: 0.06 !important;
    pointer-events: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .permit-live-header-top,
  .permit-header-top {
    text-align: center !important;
    margin: 0 !important;
  }

  .permit-live-header-top h3,
  .permit-header-top h1 {
    font-size: var(--permit-fs-body) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 1.5mm !important;
    text-transform: uppercase !important;
  }

  .permit-live-header-top p,
  .permit-header-top p {
    font-size: var(--permit-fs-header-sub) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
  }

  .permit-live-summary,
  .permit-summary {
    text-align: center !important;
    margin-top: 14mm !important;
    margin-bottom: 0 !important;
  }

  .permit-live-summary p,
  .permit-summary p {
    font-size: var(--permit-fs-body) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
  }

  .permit-live-summary .permit-live-auth,
  .permit-summary .permit-auth {
    margin-top: 2mm !important;
    text-transform: none !important;
    font-weight: 700 !important;
  }

  .permit-header-qr-col .permit-live-rp,
  .permit-header-qr-col .permit-rp-block {
    font-size: var(--permit-fs-small) !important;
    font-weight: 700 !important;
    text-align: right !important;
    margin: 0 !important;
    transform: translateY(var(--permit-rp-shift)) !important;
    white-space: nowrap !important;
  }

  .permit-live-vehicle,
  .permit-vehicle-type {
    text-align: center !important;
    font-size: var(--permit-fs-vehicle) !important;
    font-weight: 700 !important;
    margin: 0 0 4mm !important;
    transform: translateY(var(--permit-vehicle-shift)) !important;
    text-transform: none !important;
  }

  .permit-data-list {
    list-style: none !important;
    counter-reset: permit-row !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(var(--permit-data-list-shift)) !important;
    font-family: "Bookman Old Style", "Bookman", Georgia, "Times New Roman", serif !important;
    font-size: var(--permit-fs-data) !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  .permit-data-list li {
    display: grid !important;
    grid-template-columns: minmax(42mm, 36%) 1fr !important;
    column-gap: 8mm !important;
    align-items: start !important;
    margin-bottom: 2.5mm !important;
    counter-increment: permit-row !important;
  }

  .permit-data-label {
    font-weight: 700 !important;
    color: #111 !important;
    white-space: nowrap !important;
  }

  .permit-data-label::before {
    content: counter(permit-row) ". " !important;
  }

  .permit-data-label::after {
    content: " :" !important;
  }

  .permit-data-value {
    font-weight: 700 !important;
    text-transform: uppercase !important;
    word-break: break-word !important;
    color: #111 !important;
  }

  .permit-data-value.permit-value-as-entered {
    text-transform: none !important;
  }

  .permit-bottom-area {
    margin-top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4mm !important;
  }

  .permit-signatory {
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: 2mm !important;
    margin-bottom: var(--permit-signatory-gap) !important;
    transform: translateY(var(--permit-signatory-shift)) !important;
    text-align: center !important;
  }

  .permit-signatory p {
    font-size: var(--permit-fs-data) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 1.5mm !important;
    text-transform: uppercase !important;
    color: #111 !important;
    white-space: nowrap !important;
  }

  .permit-signatory p:last-child {
    margin-bottom: 0 !important;
  }

  .permit-urdu-box {
    border: 0.35mm solid #111 !important;
    border-radius: 2.5mm !important;
    padding: 2.5mm 4mm !important;
    font-size: var(--permit-fs-small) !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    direction: rtl !important;
    white-space: pre-line !important;
    font-family: "Jameel Noori Nastaleeq", "Urdu Typesetting", "Noto Nastaliq Urdu", serif !important;
  }
}
