html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer utilities {
  .animate-spin-slow {
    animation: spin 3s linear infinite;
  }
}

/* Professional Proposal Printing Styles */
.no-print {
  display: block;
  /* Default on screen */
}

@media print {

  /* Step 1: Nuclear Clean - Hide everything else */
  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  @page {
    size: A4;
    margin: 0 !important;
  }

  html,
  body {
    height: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    background: white !important;
  }

  /* Extract Preview Modal to Root Flow */
  #premium-proposal-preview {
    visibility: visible !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 210mm !important;
    height: auto !important;
    overflow: visible !important;
    display: block !important;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #premium-proposal-preview * {
    visibility: visible !important;
  }

  /* Dissolve layout containers */
  #premium-proposal-preview div,
  #premium-proposal-preview section,
  #premium-proposal-preview main {
    display: block !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  /* Avoid flexbox truncation */
  #premium-proposal-preview div[class*="flex"] {
    display: block !important;
  }

  /* Force the printable area to be the main flow */
  .printable-document-area {
    display: block !important;
    width: 210mm !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  /* Hide UI elements definitely */
  .no-print,
  .no-print *,
  header,
  footer,
  nav,
  button,
  .xl\:block,
  aside {
    display: none !important;
    height: 0 !important;
    visibility: hidden !important;
  }
}