.quotation-download-mobile[hidden] { display: none !important; }
.quotation-download-mobile { position: fixed; inset: 0; z-index: 16010; display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: #edf1f7; font-family: inherit; }
body.quotation-download-mobile-open { overflow: hidden; }
.quotation-download-mobile > header { display: grid; grid-template-columns: 70px minmax(0,1fr) 44px; align-items: center; gap: 8px; padding: max(8px,env(safe-area-inset-top)) 10px 10px; background: #fff; border-bottom: 1px solid #dce3ef; }
.quotation-download-mobile h2 { margin: 0; font-size: 17px; color: #1a3154; }
.quotation-download-mobile header p { margin: 4px 0 0; font-size: 11px; color: #748097; overflow-wrap: anywhere; }
.quotation-download-mobile button { min-height: 44px; border: 1px solid #d4e0f4; border-radius: 10px; color: #1855c6; background: #f1f6ff; font: inherit; font-weight: 700; cursor: pointer; touch-action: manipulation; }
.quotation-download-mobile #quotationDownloadBack { padding: 4px; white-space: nowrap; font-size: 13px; }
.quotation-download-pages { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 8px; }
.quotation-download-pages figure { max-width: 800px; margin: 0 auto 12px; }
.quotation-download-pages figcaption { margin: 6px 0; color: #5b6c87; font-size: 11px; text-align: center; }
.quotation-download-pages canvas { display: block; width: 100%; height: auto; background: #fff; box-shadow: 0 2px 12px #22385322; }
.quotation-download-mobile footer { padding: 10px 14px max(12px,env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #dce3ef; }
.quotation-download-mobile footer p { margin: 0 0 8px; color: #405574; font-size: 13px; }
.quotation-download-mobile footer small { display: block; margin-top: 8px; color: #748097; font-size: 11px; line-height: 1.5; }
.quotation-download-mobile #quotationDownloadSave { width: 100%; min-height: 48px; background: #155ae4; color: #fff; font-size: 15px; }
.quotation-download-mobile #quotationDownloadSave:disabled { opacity: .55; }

@media (min-width: 681px) {
  .quotation-download-mobile { display: none !important; }
}

@media (max-width: 680px) {
  #tab-quotation .quotation-v2-quick-card { display: none !important; }

  .quotation-mobile-saving[hidden] { display: none !important; }
  body.quotation-mobile-saving-open { overflow: hidden; }
  .quotation-mobile-saving { position: fixed; inset: 0; z-index: 17020; display: grid; place-items: center; padding: 24px; background: rgba(12, 24, 46, .54); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
  .quotation-mobile-saving-card { width: min(320px, 100%); padding: 24px 20px 22px; border: 1px solid #dbe8ff; border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(4, 18, 42, .32); text-align: center; }
  .quotation-mobile-saving-timer { position: relative; width: 86px; height: 86px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 50%; color: #155ae4; background: #edf4ff; }
  .quotation-mobile-saving-timer::before { content: ""; position: absolute; inset: -4px; border: 5px solid #cfe0ff; border-top-color: #155ae4; border-right-color: #155ae4; border-radius: inherit; animation: quotation-mobile-saving-spin .9s linear infinite; }
  .quotation-mobile-saving-timer i { font-size: 25px; transform: translateY(-9px); }
  .quotation-mobile-saving-timer strong { position: absolute; bottom: 15px; font-size: 12px; line-height: 1; }
  .quotation-mobile-saving-card h2 { margin: 0; color: #13294b; font-size: 20px; }
  .quotation-mobile-saving-card p { margin: 8px 0 0; color: #60708a; font-size: 13px; line-height: 1.5; }

  body.quotation-mobile-focused-flow .app-toast-success { border: 2px solid #7de2ad; background: #0f5132; box-shadow: 0 22px 55px rgba(3, 35, 20, .42); }
  body.quotation-mobile-focused-flow .app-toast-success .app-toast-icon { background: #d7f8e6; color: #0b6b3a; }
  body.quotation-mobile-focused-flow .app-toast-success .app-toast-copy strong,
  body.quotation-mobile-focused-flow .app-toast-success .app-toast-copy span { color: #fff; }
  body.quotation-mobile-focused-flow .app-toast-success .app-toast-close { background: rgba(255,255,255,.16); color: #fff; }
}

@keyframes quotation-mobile-saving-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .quotation-mobile-saving-timer::before { animation-duration: 1.8s; }
}
