/* Passport Photo Maker — mobile editor (max-width 1199px). Upload stays in passport-photo-maker-seo.css */

@media (max-width: 1199px) {
  main[data-tool="passport-photo-maker"].passport-photo-maker-seo-page {
    --pp-font: Inter, "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --pp-text: #172033;
    --pp-label: #334155;
    --pp-accent: #2563eb;
    --pp-border: #dbe3ef;
    --pp-surface: #ffffff;
    --pp-radius: 14px;
  }

  /* Light workspace text — passport-editor-active removes flux light body color; children inherit --ink (#f8fafc) */
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile[data-c100kb-portaled="true"],
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile[data-c100kb-portaled="true"] * {
    -webkit-text-fill-color: currentColor !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile[data-c100kb-portaled="true"] {
    color: #172033 !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-section-label,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-toggle-text,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-quick-btn,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-field input,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-field select,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-preset-btn,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-copy-btn,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-reset-btn,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-sheet-download-btn,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-format-btn,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-export-summary,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-sheet-preview-head,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-preview-meta span,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-quality-item,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-mobile-zoom-bar button,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-sheet-body label:not(.check-row) {
    color: #334155 !important;
    opacity: 1 !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-sheet-body select,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-sheet-body input[type="search"],
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-sheet-body input[type="number"],
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-sheet-body input[type="color"] {
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    background-color: #ffffff !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-field select option,
  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-sheet-body select option {
    color: #172033 !important;
    background: #ffffff !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-quality-item.status-neutral {
    color: #475569 !important;
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-preview-meta strong {
    color: #2563eb !important;
  }

  body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-passport-range-badge {
    color: #1d4ed8 !important;
  }

  /* Fullscreen editor shell (901–1199 + passport-specific overrides) */
  html body.flux-tool-body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active main[data-tool="passport-photo-maker"],
  html body.flux-tool-body.compress-100kb-pro.compress-100kb-ready.mobile-editor-layout main[data-tool="passport-photo-maker"] {
    overflow-x: hidden !important;
  }

  body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active .site-header,
  body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active .site-footer,
  body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active .tool-breadcrumb,
  body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active .tool-content-stack,
  body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active .sticky-mobile-action {
    display: none !important;
  }

  html:has(body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active),
  body.compress-100kb-pro.compress-100kb-ready.passport-photo-mobile-editor-active {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  body.compress-100kb-pro.compress-100kb-ready .c100kb-passport-photo-mobile[data-c100kb-portaled="true"] {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #eceef2 !important;
    box-sizing: border-box !important;
    font-family: var(--pp-font) !important;
    color: var(--pp-text) !important;
  }

  /* Header */
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-editor-header {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 0 0 50px !important;
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 10px !important;
    background: #0d47a1 !important;
    border-bottom: 0 !important;
    z-index: 30 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-editor-back {
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.compress-100kb-pro.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile .c100kb-editor-header .c100kb-passport-mobile-session-title,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-editor-header .c100kb-passport-mobile-session-title {
    margin: 0 !important;
    padding: 0 4px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45) !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-header-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0d47a1 !important;
    -webkit-text-fill-color: #0d47a1 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.1) !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-header-action:disabled {
    opacity: 0.55 !important;
    pointer-events: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-header-action i,
  body.compress-100kb-pro .c100kb-passport-mobile-header-action svg {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
  }

  /* Main preview area */
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-editor-main.c100kb-passport-photo-main {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 4px 8px 2px !important;
    gap: 2px !important;
    background: #eceef2 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-photo-preview {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-stage {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto auto !important;
    align-items: stretch !important;
    gap: 2px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-frame-shell {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-row: 1 !important;
    flex: 1 1 auto !important;
    min-height: min(58dvh, 420px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    transform-origin: center center !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-canvas {
    display: block !important;
    max-width: 100% !important;
    max-height: min(64dvh, calc(100dvh - 50px - 64px - 32px - 86px)) !important;
    width: auto !important;
    height: auto !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14) !important;
    background: #fff !important;
    cursor: grab !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-canvas.is-dragging {
    cursor: grabbing !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-guide-overlay {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-guide-overlay[hidden] {
    display: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-guide {
    position: absolute !important;
    border: 1px solid rgba(37, 99, 235, 0.28) !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-status {
    margin: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    opacity: 1 !important;
    line-height: 1.3 !important;
    padding: 4px 8px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 1px solid #dbe3ef !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-status.success {
    color: #047857 !important;
    -webkit-text-fill-color: #047857 !important;
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-status.warning {
    color: #b45309 !important;
    -webkit-text-fill-color: #b45309 !important;
    background: #fffbeb !important;
    border-color: #fde68a !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    padding: 1px 0 2px !important;
    scrollbar-width: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    flex: 0 0 auto !important;
    scroll-snap-align: start !important;
    padding: 3px 6px !important;
    min-height: 26px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #334155 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-item i,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-item svg {
    width: 12px !important;
    height: 12px !important;
    flex-shrink: 0 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-item.status-pass {
    border-color: #bbf7d0 !important;
    background: #f0fdf4 !important;
    color: #047857 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quality-item.status-warn {
    border-color: #fde68a !important;
    background: #fffbeb !important;
    color: #b45309 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-meta {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    justify-content: center !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-meta::-webkit-scrollbar {
    display: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-meta span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex: 0 0 auto !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preview-meta strong {
    color: var(--pp-accent) !important;
    font-weight: 800 !important;
  }

  /* Zoom bar */
  body.compress-100kb-pro .c100kb-passport-mobile-zoom-bar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 0 2px 2px !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-zoom-bar button {
    min-height: 32px !important;
    border: 1px solid #dbe3ef !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-zoom-bar button[data-c100kb-zoom="100"] {
    font-size: 11px !important;
  }

  /* Bottom toolbar */
  body.compress-100kb-pro .c100kb-passport-mobile-toolbar.c100kb-editor-toolbar {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    flex: 0 0 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    gap: 0 !important;
    padding: 4px 8px calc(4px + env(safe-area-inset-bottom, 0px)) !important;
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
    z-index: 45 !important;
    margin-top: auto !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-tab {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-tab.is-active {
    background: #eff6ff !important;
    color: #2563eb !important;
  }

  body.compress-100kb-pro .c100kb-passport-mobile-tab i,
  body.compress-100kb-pro .c100kb-passport-mobile-tab svg {
    width: 20px !important;
    height: 20px !important;
  }

  /* Bottom sheet */
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-bottom-sheet {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 40 !important;
    display: flex !important;
    flex-direction: column !important;
    max-height: min(58dvh, 520px) !important;
    background: #fff !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -20px 48px rgba(15, 23, 42, 0.22) !important;
    transform: translateY(110%) !important;
    transition: transform 0.22s ease !important;
    pointer-events: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile.c100kb-passport-sheet-open .c100kb-bottom-sheet {
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-editor-backdrop:not([hidden]) {
    display: block !important;
    position: fixed !important;
    inset: 50px 0 64px 0 !important;
    z-index: 35 !important;
    background: rgba(15, 23, 42, 0.38) !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile.c100kb-passport-sheet-open .c100kb-editor-backdrop {
    inset: 50px 0 0 0 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-head {
    display: grid !important;
    grid-template-columns: 40px 1fr 40px !important;
    align-items: center !important;
    flex: 0 0 50px !important;
    min-height: 50px !important;
    padding: 0 10px !important;
    background: #0d47a1 !important;
    border-radius: 16px 16px 0 0 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-title {
    margin: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-close,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-apply {
    width: 32px !important;
    height: 32px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px 14px 18px !important;
    background: #fff !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-tab-panel {
    display: grid !important;
    gap: 12px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-section-label {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--pp-label) !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quick-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quick-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 44px !important;
    padding: 0 8px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--pp-label) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quick-btn i,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quick-btn svg,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-quick-btn svg path {
    width: 16px !important;
    height: 16px !important;
    opacity: 1 !important;
    color: #2563eb !important;
    stroke: #2563eb !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-field {
    display: grid !important;
    gap: 6px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-field input,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-field select,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-body select,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-sheet-body input {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preset-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  @media (min-width: 390px) {
    body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preset-row {
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preset-btn {
    min-height: 52px !important;
    padding: 6px 4px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--pp-label) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-preset-btn.is-active {
    border-color: var(--pp-accent) !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-range-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 6px 10px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-range-row input[type="range"] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 28px !important;
    accent-color: var(--pp-accent) !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-range-badge {
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-toggle-group {
    display: grid !important;
    gap: 8px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-toggle-check {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    cursor: pointer !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-toggle-check input {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    accent-color: var(--pp-accent) !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-toggle-text {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pp-label) !important;
    opacity: 1 !important;
    line-height: 1.35 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-toggle-ui {
    display: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-reset-btn,
  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-sheet-download-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--pp-label) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-copy-presets {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-copy-btn {
    min-height: 44px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--pp-label) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-copy-btn.is-active {
    border-color: var(--pp-accent) !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-sheet-preview-card {
    display: grid !important;
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-sheet-preview-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile [data-passport-sheet-canvas] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-export-format-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-format-btn {
    min-height: 44px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--pp-label) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-format-btn.is-active {
    border-color: var(--pp-accent) !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-export-summary {
    display: grid !important;
    gap: 4px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--pp-border) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    font-size: 13px !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    opacity: 1 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-export-summary strong {
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    font-size: 14px !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-mobile-notice {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 46 !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #065f46 !important;
    -webkit-text-fill-color: #065f46 !important;
    border: 1px solid #86efac !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
    opacity: 1 !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.14) !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile .c100kb-passport-mobile-notice.c100kb-passport-notice--warning {
    background: #ffffff !important;
    color: #b45309 !important;
    -webkit-text-fill-color: #b45309 !important;
    border-color: #fcd34d !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile.c100kb-passport-sheet-open .c100kb-passport-mobile-toolbar {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile.c100kb-passport-sheet-open .c100kb-bottom-sheet {
    bottom: 0 !important;
    max-height: calc(100dvh - 50px) !important;
    border-radius: 0 !important;
  }

  body.compress-100kb-pro .c100kb-passport-photo-mobile.c100kb-passport-sheet-open .c100kb-sheet-head {
    border-radius: 0 !important;
  }
}

@media (max-width: 760px) {
  main[data-tool="passport-photo-maker"] .c100kb-tool-intent-header h1 {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #172033 !important;
  }

  main[data-tool="passport-photo-maker"] .c100kb-tool-intent-header .c100kb-hero-lead {
    display: block !important;
    font-size: 14px !important;
    color: #334155 !important;
    opacity: 1 !important;
  }
}

/* Select/dropdown contrast — beats global .tool-form select { color: var(--ink) } when passport-editor-active */
@media (max-width: 1199px) {
  html body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select,
  html body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select[data-passport-preset],
  html body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select[data-passport-background],
  html body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select[data-passport-paper-size],
  html body.flux-tool-body.passport-editor-active.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select {
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    background-color: #ffffff !important;
    color-scheme: light !important;
  }

  html body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select option,
  html body.flux-tool-body.compress-100kb-ready.mobile-editor-layout .c100kb-passport-photo-mobile select optgroup {
    color: #172033 !important;
    background-color: #ffffff !important;
  }
}
