@layer flap.tokens{#pdf-preflight{--flap-canvas:#F6FAFD;--flap-paper:#FFFFFF;--flap-surface:#FBFDFF;--flap-sidebar:#EEF3F7;--flap-text:#10222F;--flap-muted:#506170;--flap-divider:#CBD8E3;--flap-border:rgb(10 53 92 / 8%);--flap-border-subtle:rgb(10 53 92 / 8%);--flap-focus:#0A355C;--flap-info:#0A355C;--flap-success:#157a61;--flap-danger:#b3261e;--flap-warning:#8a5a00;--flap-accent:#0A355C;--flap-on-accent:#ffffff;--flap-selection-surface:color-mix(in srgb,var(--flap-accent) 14%,var(--flap-paper));--flap-selection-border:var(--flap-accent);--flap-disabled-text:color-mix(in srgb,var(--flap-text) 48%,var(--flap-paper));--flap-disabled-surface:color-mix(in srgb,var(--flap-surface) 65%,var(--flap-paper));--flap-status-info:var(--flap-info);--flap-status-info-surface:color-mix(in srgb,var(--flap-status-info) 12%,var(--flap-paper));--flap-status-success:var(--flap-success);--flap-status-success-surface:color-mix(in srgb,var(--flap-status-success) 12%,var(--flap-paper));--flap-status-warning:var(--flap-warning);--flap-status-warning-surface:color-mix(in srgb,var(--flap-status-warning) 12%,var(--flap-paper));--flap-status-danger:var(--flap-danger);--flap-status-danger-surface:color-mix(in srgb,var(--flap-status-danger) 12%,var(--flap-paper));--flap-workbench:color-mix(in srgb,var(--flap-paper) 94%,#7f7f7f);--flap-control-surface:color-mix(in srgb,var(--flap-text) 5%,var(--flap-paper));--flap-hover-surface:color-mix(in srgb,var(--flap-text) 6%,transparent);--flap-glass:color-mix(in srgb,var(--flap-paper) 90%,transparent);--flap-glass-line:color-mix(in srgb,var(--flap-text) 8%,transparent);--flap-canvas-selection:#0d99ff;--flap-canvas-selection-surface:color-mix(in srgb,var(--flap-canvas-selection) 16%,var(--flap-paper));--flap-component:#9747ff;--flap-component-text:color-mix(in srgb,var(--flap-component) 80%,var(--flap-text));--flap-control-rail:#34393b;--flap-control-rail-idle:#d9dcdd;--flap-control-rail-edge:#b8bcbd;--flap-control-cap-top:#656b6d;--flap-control-cap-bottom:#383d3f;--flap-control-cap-edge:#303537;--flap-control-index:#f0f1ef;--flap-control-tick:#c6c9c8;--flap-skin-radius:.375rem;--flap-skin-shadow:rgb(16 20 28 / .12);--flap-skin-light:rgb(255 255 255 / .9);--flap-skin-highlight:transparent;--flap-skin-lift:none;--flap-skin-recess:none;--flap-skin-face:var(--flap-paper);--flap-gap:.75rem;--flap-padding:.875rem}}
@layer pdf-preflight {
  #pdf-preflight {
    --pf-page-shadow: 0 18px 46px color-mix(in srgb, var(--flap-text) 16%, transparent);
    background: var(--flap-canvas);
    color: var(--flap-text);
    display: block;
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-break: strict;
    min-width: 0;
    overflow: clip;
  }
  #pdf-preflight *, #pdf-preflight *::before, #pdf-preflight *::after { box-sizing: border-box; }
  #pdf-preflight h1, #pdf-preflight h2, #pdf-preflight h3, #pdf-preflight p { margin-block-start: 0; }
  #pdf-preflight h1 { font-size: clamp(2.35rem, 5vw, 4.8rem); letter-spacing: -.055em; line-height: 1.08; margin-block-end: 1.25rem; max-width: 10em; text-wrap: balance; }
  #pdf-preflight h2 { font-size: clamp(1.25rem, 1.8vw, 1.6rem); letter-spacing: -.025em; line-height: 1.35; margin-block-end: .35rem; }
  #pdf-preflight h3 { font-size: 1rem; line-height: 1.45; margin-block-end: .55rem; }
  #pdf-preflight button, #pdf-preflight input, #pdf-preflight select { font: inherit; }
  #pdf-preflight button, #pdf-preflight label[for="pdf-preflight-file"] { -webkit-tap-highlight-color: transparent; }
  #pdf-preflight :focus-visible { outline: 3px solid var(--flap-focus); outline-offset: 3px; }
  #pdf-preflight [hidden] { display: none !important; }
  .pf-intro { align-items: end; background: var(--flap-paper); border-bottom: 1px solid var(--flap-divider); display: grid; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.4fr) minmax(17rem, .6fr); padding: clamp(4rem, 8vw, 8rem) max(1.25rem, calc((100vw - 86rem) / 2)); }
  .pf-intro__copy { min-width: 0; }
  .pf-kicker { color: var(--flap-accent); font-size: .75rem; font-weight: 750; letter-spacing: .16em; margin-block-end: 1rem; }
  .pf-intro__lead { color: var(--flap-muted); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.85; margin: 0; max-width: 43rem; }
  .pf-privacy-note { border: 1px solid var(--flap-border); padding: 1.15rem 1.25rem; }
  .pf-privacy-note strong { display: block; font-size: .92rem; margin-block-end: .4rem; }
  .pf-privacy-note p { color: var(--flap-muted); font-size: .86rem; line-height: 1.65; margin: 0; }
  .pf-intake { align-items: stretch; display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr) minmax(15rem, 22rem); margin-inline: auto; max-width: 90rem; padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2.5rem); width: 100%; }
  .pf-dropzone { border: 1px dashed var(--flap-border); min-width: 0; position: relative; transition: background-color .15s ease, border-color .15s ease; }
  .pf-dropzone[data-drag-active="true"] { background: color-mix(in srgb, var(--flap-accent) 8%, var(--flap-paper)); border-color: var(--flap-accent); }
  .pf-file-input { block-size: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); inline-size: 1px; overflow: hidden; position: absolute; white-space: nowrap; }
  .pf-file-input:focus-visible + label { outline: 3px solid var(--flap-focus); outline-offset: 3px; }
  .pf-dropzone label { align-items: center; cursor: pointer; display: flex; gap: 1rem; min-height: 6.8rem; padding: 1.25rem; }
  .pf-dropzone__mark { align-items: center; aspect-ratio: 1; background: var(--flap-accent); color: var(--flap-on-accent); display: inline-flex; flex: 0 0 3.3rem; font-size: .72rem; font-weight: 800; justify-content: center; letter-spacing: .07em; }
  .pf-dropzone__copy { display: grid; gap: .25rem; min-width: 0; }
  .pf-dropzone__copy strong { font-size: 1.05rem; }
  .pf-dropzone__copy span { color: var(--flap-muted); font-size: .86rem; }
  .pf-file-meta { border-top: 1px solid var(--flap-divider); color: var(--flap-muted); font-size: .8rem; margin: 0; overflow-wrap: anywhere; padding: .65rem 1.25rem; }
  .pf-intake__actions { align-content: center; border-block: 1px solid var(--flap-divider); display: grid; gap: .85rem; padding-block: 1rem; }
  .pf-action-row { display: flex; flex-wrap: wrap; gap: .55rem; }
  #pdf-preflight [data-flap-ui="button"] { background: var(--flap-paper); border: 1px solid var(--flap-border); border-radius: .25rem; color: var(--flap-text); cursor: pointer; min-height: 2.65rem; padding: .55rem .85rem; }
  #pdf-preflight [data-flap-ui="button"][data-variant="primary"] { background: var(--flap-accent); border-color: var(--flap-accent); color: var(--flap-on-accent); }
  #pdf-preflight [data-flap-ui="button"]:disabled { cursor: not-allowed; opacity: .48; }
  .pf-live-status { color: var(--flap-muted); font-size: .84rem; margin: 0; min-height: 1.5em; }
  .pf-live-status[data-state="loading"] { color: var(--flap-info); }
  .pf-live-status[data-state="success"] { color: var(--flap-success); }
  .pf-live-status[data-state="warning"] { color: var(--flap-warning); }
  .pf-live-status[data-state="error"] { color: var(--flap-danger); }
  .pf-workspace { border-block: 1px solid var(--flap-divider); display: grid; grid-template-columns: minmax(16rem, .62fr) minmax(25rem, 1.5fr) minmax(19rem, .88fr); margin-inline: auto; max-width: 90rem; min-width: 0; width: 100%; }
  .pf-settings, .pf-preview, .pf-report { min-width: 0; padding: clamp(1rem, 2vw, 1.5rem); }
  .pf-preview, .pf-report { border-left: 1px solid var(--flap-divider); }
  .pf-panel-heading { border-bottom: 1px solid var(--flap-divider); margin-block-end: 1rem; padding-block-end: 1rem; }
  .pf-panel-heading p { color: var(--flap-muted); font-size: .8rem; line-height: 1.55; margin: 0; }
  .pf-panel-heading--row { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
  .pf-settings-group { border: 0; border-bottom: 1px solid var(--flap-divider); margin: 0; padding: 0 0 1.25rem; }
  .pf-settings-group + .pf-settings-group { padding-block-start: 1.25rem; }
  .pf-settings-group:last-child { border-bottom: 0; padding-block-end: 0; }
  .pf-settings-group legend { color: var(--flap-muted); font-size: .7rem; font-weight: 750; letter-spacing: .1em; margin-block-end: .85rem; padding: 0; text-transform: uppercase; }
  .pf-field { display: grid; gap: .35rem; margin-block-end: .85rem; }
  .pf-field:last-child { margin-block-end: 0; }
  .pf-field > label { font-size: .78rem; font-weight: 650; }
  .pf-field select, .pf-number { background: var(--flap-paper); border: 1px solid var(--flap-border); border-radius: .2rem; color: var(--flap-text); min-height: 2.6rem; width: 100%; }
  .pf-field select { padding: .5rem .65rem; }
  .pf-number { align-items: center; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .pf-number input { background: transparent; border: 0; color: inherit; min-height: 2.5rem; min-width: 0; padding: .45rem .25rem .45rem .65rem; width: 100%; }
  .pf-number input:focus-visible { outline-offset: -2px; }
  .pf-number span { color: var(--flap-muted); font-size: .75rem; min-width: 2.7rem; padding-inline: .35rem .65rem; text-align: end; }
  .pf-custom-size { display: grid; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-field__help { color: var(--flap-muted); font-size: .72rem; margin: 0; }
  .pf-overlay-legend { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: end; }
  .pf-overlay-legend span { align-items: center; color: var(--flap-muted); display: inline-flex; font-size: .72rem; gap: .35rem; }
  .pf-overlay-legend span::before { border: 2px solid var(--flap-info); content: ""; display: inline-block; height: .65rem; width: .9rem; }
  .pf-overlay-legend [data-guide="bleed"]::before { border-color: var(--flap-warning); border-style: dashed; }
  .pf-preview-empty { align-items: center; background: var(--flap-surface); border: 1px solid var(--flap-border-subtle); display: grid; min-height: 32rem; padding: clamp(1.5rem, 4vw, 3rem); place-content: center; text-align: center; }
  .pf-preview-empty > span { color: color-mix(in srgb, var(--flap-muted) 32%, transparent); font-size: clamp(4rem, 10vw, 8rem); font-weight: 800; letter-spacing: -.08em; line-height: .9; }
  .pf-preview-empty p { color: var(--flap-muted); font-size: .85rem; line-height: 1.7; margin: 1rem auto 0; max-width: 28rem; }
  .pf-viewer { display: grid; gap: .8rem; grid-template-columns: 5.5rem minmax(0, 1fr); min-width: 0; }
  .pf-thumbnails { max-height: 42rem; overflow: auto; scrollbar-width: thin; }
  .pf-thumbnails ol { display: grid; gap: .65rem; list-style: none; margin: 0; padding: 0; }
  .pf-thumbnail { background: transparent; border: 1px solid var(--flap-border); border-radius: .2rem; color: var(--flap-muted); cursor: pointer; display: grid; font-size: .68rem; gap: .3rem; padding: .3rem; width: 100%; }
  .pf-thumbnail[aria-pressed="true"] { border-color: var(--flap-accent); color: var(--flap-accent); outline: 1px solid var(--flap-accent); }
  .pf-thumbnail canvas { background: #fff; display: block; height: auto; width: 100%; }
  .pf-page-figure { margin: 0; min-width: 0; }
  .pf-page-stage { align-items: center; background: var(--flap-surface); border: 1px solid var(--flap-border-subtle); display: flex; justify-content: center; min-height: 32rem; overflow: auto; padding: clamp(.75rem, 2vw, 1.5rem); position: relative; }
  .pf-canvas-mount { box-shadow: var(--pf-page-shadow); line-height: 0; max-width: 100%; position: relative; }
  .pf-canvas-mount canvas { background: #fff; display: block; height: auto; max-width: 100%; }
  .pf-page-guide { pointer-events: none; position: absolute; z-index: 2; }
  .pf-page-guide--trim { border: 2px solid var(--flap-info); }
  .pf-page-guide--bleed { border: 2px dashed var(--flap-warning); }
  .pf-page-figure figcaption { color: var(--flap-muted); font-size: .75rem; margin-block-start: .65rem; text-align: center; }
  .pf-summary { display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0 0 1rem; padding: 0; }
  .pf-summary li { background: var(--flap-surface); min-width: 0; padding: .65rem .45rem; text-align: center; }
  .pf-summary strong { display: block; font-size: 1.2rem; }
  .pf-summary span { color: var(--flap-muted); display: block; font-size: .65rem; overflow-wrap: anywhere; }
  .pf-summary [data-status="error"] strong { color: var(--flap-danger); }
  .pf-summary [data-status="warning"] strong { color: var(--flap-warning); }
  .pf-summary [data-status="ok"] strong { color: var(--flap-success); }
  .pf-document-meta { color: var(--flap-muted); font-size: .74rem; line-height: 1.55; margin: -.25rem 0 1rem; }
  .pf-report-empty { border-block: 1px solid var(--flap-divider); padding-block: 2rem; }
  .pf-report-empty p { font-size: .86rem; margin-block-end: .35rem; }
  .pf-muted { color: var(--flap-muted); }
  .pf-findings { list-style: none; margin: 0; max-height: 38rem; overflow: auto; padding: 0; scrollbar-width: thin; }
  .pf-finding { border-bottom: 1px solid var(--flap-divider); display: grid; gap: .45rem; padding-block: 1rem; }
  .pf-finding__top { align-items: start; display: flex; gap: .7rem; justify-content: space-between; }
  .pf-finding__status { border: 1px solid currentColor; flex: 0 0 auto; font-size: .65rem; font-weight: 750; padding: .18rem .35rem; }
  .pf-finding[data-status="error"] .pf-finding__status { color: var(--flap-danger); }
  .pf-finding[data-status="warning"] .pf-finding__status { color: var(--flap-warning); }
  .pf-finding[data-status="ok"] .pf-finding__status { color: var(--flap-success); }
  .pf-finding[data-status="unsupported"] .pf-finding__status { color: var(--flap-muted); }
  .pf-finding h3 { font-size: .88rem; margin: 0; }
  .pf-finding p { color: var(--flap-muted); font-size: .77rem; line-height: 1.6; margin: 0; }
  .pf-finding__page { background: transparent; border: 0; color: var(--flap-accent); cursor: pointer; font-size: .73rem; justify-self: start; padding: .15rem 0; text-decoration: underline; text-underline-offset: .2em; }
  .pf-finding__details { color: var(--flap-muted); font-size: .72rem; line-height: 1.55; }
  .pf-finding__details summary { color: var(--flap-accent); cursor: pointer; font-weight: 650; }
  .pf-finding__details dl { display: grid; gap: .25rem .6rem; grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr); margin: .55rem 0 0; }
  .pf-finding__details dt { color: var(--flap-text); font-weight: 650; }
  .pf-finding__details dd { margin: 0; overflow-wrap: anywhere; }
  .pf-finding__details ol { display: grid; gap: .55rem; list-style: decimal; margin: .45rem 0 0; padding-inline-start: 1.3rem; }
  .pf-finding__details ol dl { margin: 0; }
  .pf-resources, .pf-coverage { border-bottom: 1px solid var(--flap-divider); padding-block: .9rem; }
  .pf-resources > summary, .pf-coverage summary { cursor: pointer; font-size: .8rem; font-weight: 650; min-height: 2rem; }
  .pf-resources [data-pf-resources-content] { display: grid; gap: 1.25rem; padding-block-start: .9rem; }
  .pf-resource-section { min-width: 0; }
  .pf-resource-section h3 { font-size: .78rem; margin-block-end: .5rem; }
  .pf-resource-section > p { color: var(--flap-muted); font-size: .72rem; line-height: 1.6; margin: 0; }
  .pf-resource-definitions { display: grid; font-size: .72rem; gap: .35rem .7rem; grid-template-columns: minmax(5.8rem, auto) minmax(0, 1fr); margin: 0; }
  .pf-resource-definitions dt { color: var(--flap-muted); }
  .pf-resource-definitions dd { margin: 0; overflow-wrap: anywhere; }
  .pf-resource-table-wrap { max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
  .pf-resource-table { border-collapse: collapse; font-size: .7rem; line-height: 1.5; min-width: 31rem; width: 100%; }
  .pf-resource-table th, .pf-resource-table td { border-bottom: 1px solid var(--flap-divider); padding: .45rem .55rem; text-align: left; vertical-align: top; }
  .pf-resource-table th { color: var(--flap-muted); font-weight: 650; white-space: nowrap; }
  .pf-resource-table td { overflow-wrap: anywhere; }
  .pf-coverage [data-pf-coverage-content] { color: var(--flap-muted); font-size: .75rem; line-height: 1.65; padding-block-start: .7rem; }
  .pf-coverage dl { display: grid; gap: .35rem .75rem; grid-template-columns: auto minmax(0, 1fr); margin: 0; }
  .pf-coverage dt { color: var(--flap-text); font-weight: 650; }
  .pf-coverage dd { margin: 0; overflow-wrap: anywhere; }
  .pf-guidance { display: grid; gap: clamp(2rem, 6vw, 7rem); grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); margin-inline: auto; max-width: 90rem; padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem); }
  .pf-guidance__items { border-top: 1px solid var(--flap-divider); }
  .pf-guidance article { border-bottom: 1px solid var(--flap-divider); display: grid; gap: 1rem; grid-template-columns: minmax(7rem, .35fr) minmax(0, 1.65fr); padding-block: 1.25rem; }
  .pf-guidance article h3 { margin: 0; }
  .pf-guidance article p { color: var(--flap-muted); font-size: .88rem; line-height: 1.8; margin: 0; }
  @media (max-width: 74rem) {
    .pf-workspace { grid-template-columns: minmax(15rem, .62fr) minmax(25rem, 1.38fr); }
    .pf-report { border-left: 0; border-top: 1px solid var(--flap-divider); grid-column: 1 / -1; }
    .pf-findings { max-height: none; }
  }
  @media (max-width: 50rem) {
    .pf-intro { align-items: start; grid-template-columns: 1fr; }
    .pf-intake { grid-template-columns: 1fr; }
    .pf-intake__actions { border-top: 0; }
    .pf-workspace { display: block; }
    .pf-preview, .pf-report { border-left: 0; border-top: 1px solid var(--flap-divider); }
    .pf-preview-empty, .pf-page-stage { min-height: 25rem; }
    .pf-guidance { grid-template-columns: 1fr; }
  }
  @media (max-width: 32rem) {
    #pdf-preflight h1 { font-size: clamp(2.2rem, 12vw, 3.25rem); }
    .pf-intro { padding-block: 3.5rem; }
    .pf-intro__lead { font-size: .98rem; }
    .pf-dropzone label { align-items: flex-start; }
    .pf-action-row > * { flex: 1 1 100%; }
    .pf-panel-heading--row { display: grid; }
    .pf-overlay-legend { justify-content: start; }
    .pf-viewer { display: block; }
    .pf-thumbnails { margin-block-end: .8rem; max-height: none; overflow-x: auto; }
    .pf-thumbnails ol { display: flex; }
    .pf-thumbnails li { flex: 0 0 4.7rem; }
    .pf-preview-empty, .pf-page-stage { min-height: 20rem; }
    .pf-page-stage { padding: .65rem; }
    .pf-guidance article { grid-template-columns: 1fr; }
    .pf-summary span { font-size: .6rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    .pf-dropzone { transition: none; }
  }
}
