/* Screen-only floating surfaces. Existing print/privacy rules and decision states stay authoritative. */
@media screen {
  :is(.scanner-modern,.supervisor-modern,.status-modern) {
    --surface-shadow:0 8px 28px #8C4A3209,0 2px 6px #00000003;
    margin:0; min-height:100svh; padding:24px 0;
    background:radial-gradient(ellipse at 8% 10%,#76B4C829,transparent 48%),radial-gradient(ellipse at 90% 70%,#C9959526,transparent 46%),#EDE5DE;
    background-attachment:fixed; color:#000000; font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }
  :is(.scanner-modern,.supervisor-modern,.status-modern) * { box-sizing:border-box; }
  :is(.scanner-modern,.supervisor-modern,.status-modern) :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #647692; outline-offset:4px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern) :is(p,h1,h2,h3,label,dd) { overflow-wrap:anywhere; }
  :is(.scanner-modern,.supervisor-modern,.status-modern) [hidden] { display:none!important; }
  .scanner-modern .verify-shell,.supervisor-modern .field-window,.status-modern .support-shell {
    width:min(1120px,calc(100% - 48px)); margin:0 auto; border:1px solid #FFFFFFCC; border-radius:32px;
    background:#FFFFFF70; box-shadow:0 24px 72px #64769214,0 4px 12px #8C4A3206;
  }
  .scanner-modern .verify-shell { max-width:780px; padding:30px; text-align:left; }
  .scanner-modern .brand { border-radius:14px; }
  .scanner-modern .brand img { width:52px; height:52px; }
  .scanner-modern .eyebrow { justify-content:flex-start; color:#8C4A32; margin:20px 0 10px; font-size:10px; letter-spacing:.15em; }
  .scanner-modern .eyebrow span { display:none; }
  .scanner-modern h1 { color:#000000; font:500 clamp(32px,4vw,44px)/1.12 system-ui,sans-serif; letter-spacing:-.045em; }
  .scanner-modern .intro { max-width:580px; margin:14px 0 22px; color:#000000B3; font-size:15px; }
  .scanner-modern .verify-card { background:#FFFFFF; border:0; border-radius:24px; padding:26px; box-shadow:var(--surface-shadow); }
  .scanner-modern .scanner-check-card { margin:18px 0 24px; }
  .scanner-modern :is(button,.primary-button,#verify-button,.camera-entry) { min-height:48px; border-radius:14px; font-size:15px; }
  .scanner-modern :is(.primary-button,#verify-button) { background:#8C4A32; color:#FFFFFF; border-color:transparent; }
  .scanner-modern .camera-entry { background:#EDE5DE70; border-color:transparent; color:#8C4A32; }
  .scanner-modern input { border:1px solid #AF9B8959; border-radius:14px; background:#FFFFFF; color:#000000; min-height:50px; }
  .scanner-modern input::placeholder { color:#00000080; }
  .scanner-modern label { font-weight:550; color:#000000; }
  .scanner-modern :is(.hint,.footnote,.audit-notice) { color:#000000B3; font-size:12px; line-height:1.65; }
  .scanner-modern .audit-notice { margin:14px 4px 18px; }
  .scanner-modern .footnote { max-width:none; text-align:center; }
  .scanner-modern .security-session-bar { background:#FFFFFFB3; border-radius:18px; padding:12px 16px; flex-wrap:wrap; gap:8px 16px; font-size:13px; box-shadow:var(--surface-shadow); }
  .scanner-modern .security-session-bar p { flex:1 1 180px; }
  .scanner-modern .text-button { padding:10px 12px; min-height:44px; border-radius:12px; font-size:13px; text-decoration:none; color:#8C4A32; }
  .scanner-modern .text-button:hover { background:#D9C5B24D; }
  .scanner-modern :is(.login-panel h2,.scanner-heading h2,.holder-identity h3) { color:#000000; font:500 26px/1.2 system-ui,sans-serif; letter-spacing:-.035em; }
  .scanner-modern .login-panel input { font-size:16px; }
  .scanner-modern .section-label { color:#8C4A32; }
  .scanner-modern .checkpoint-settings,.scanner-modern .scan-location-settings { background:#FFFFFF80; border:0; border-radius:20px; padding:20px; margin:16px 0; }
  .scanner-modern .checkpoint-settings summary { min-height:44px; align-content:center; font-size:14px; font-weight:550; }
  .scanner-modern .scan-location-settings h2 { font:550 16px/1.4 system-ui; margin:0 0 12px; color:#000000; }
  .scanner-modern .scan-location-actions { gap:8px; }
  .scanner-modern .scanner-view { border-radius:20px; }
  .scanner-modern .scanner-guide { border-radius:16px; }
  .scanner-modern .scanner-flashlight { min-height:48px; border-radius:14px; }
  .scanner-modern .result { border:0; border-radius:20px; padding:22px; background:#EDE5DE; }
  .scanner-modern .result-heading h2 { font-size:30px; font-weight:650; }
  .scanner-modern .result[data-state=valid] { background:#647692; color:#FFFFFF; }
  .scanner-modern .result[data-state=invalid] { background:#8C4A32; color:#FFFFFF; }
  .scanner-modern .result[data-state=error] { background:#C9959533; color:#000000; }
  .scanner-modern :is(.security-gate,.instruction-panel) { border:0; border-radius:18px; background:#EDE5DE80; padding:20px; }
  .scanner-modern .invalid-panel { background:#C9959526; }
  .scanner-modern .holder-card { border-color:#AF9B8933; }
  .scanner-modern .holder-portrait { border:0; border-radius:14px; }
  .scanner-modern :is(.staff-note,.holder-message) { border-color:#AF9B8933; }
  .scanner-modern .role-tag { border:0; background:#EDE5DE; padding:6px 12px; }
  .scanner-modern footer { align-items:center; color:#00000099; }
  .scanner-modern footer a { min-height:44px; display:inline-flex; align-items:center; color:#8C4A32; }
  .scanner-modern .verify-shell[data-field-mode=true] { max-width:960px; padding-top:24px; }
  .scanner-modern .verify-shell:is([data-has-result=true],[data-scanning=true]) { padding-top:24px; }
  .scanner-modern .verify-shell:is([data-has-result=true],[data-scanning=true]) .brand img { width:44px; height:44px; }
  .scanner-modern .verify-shell[data-field-mode=true] .scanner-check-card { margin-top:24px; }
  .request-modern .verify-shell { max-width:760px; }
  .request-modern .verify-card { margin-top:24px; }
  .request-modern .request-shell input { font-size:16px; }
  .request-modern input[type=file] { padding:12px; }
  .request-modern .request-shell label { margin-top:20px; }
  .supervisor-modern .field-brand { padding:26px 30px 18px; background:transparent; color:#000000; border-radius:32px 32px 0 0; }
  .supervisor-modern .field-brand a { color:#8C4A32; }
  .supervisor-modern .field-brand span { font:550 24px/1.2 system-ui; letter-spacing:-.035em; }
  .supervisor-modern .field-brand small { color:#8C4A32; font-size:10px; margin-top:5px; }
  .supervisor-modern .field-brand img { width:48px; height:48px; }
  .supervisor-modern .field-brand .field-header-link { min-height:44px; padding:10px 18px; background:#FFFFFFB3; border-radius:99px; font:550 13px/1.5 system-ui; text-decoration:none; }
  .supervisor-modern .field-brand .field-actions { margin:0; }
  .supervisor-modern .field-shell { width:calc(100% - 60px); margin:12px auto 0; padding-bottom:20px; }
  :is(.scanner-modern,.supervisor-modern) #field-root { color:#000000; font:15px/1.6 system-ui,sans-serif; }
  :is(.scanner-modern,.supervisor-modern) #field-root h1 { font:500 36px/1.15 system-ui; letter-spacing:-.04em; color:#000000; }
  :is(.scanner-modern,.supervisor-modern) #field-root h2 { font:550 24px/1.25 system-ui; color:#000000; letter-spacing:-.03em; }
  :is(.scanner-modern,.supervisor-modern) #field-root h3 { font:550 17px/1.4 system-ui; color:#000000; }
  :is(.scanner-modern,.supervisor-modern) :is(.field-card,.field-panel) { background:#FFFFFF; border:0; border-radius:24px; padding:26px; box-shadow:var(--surface-shadow); margin-bottom:20px; }
  :is(.scanner-modern,.supervisor-modern) .field-panel { background:#FFFFFF99; }
  :is(.scanner-modern,.supervisor-modern) .field-card .field-card { background:#EDE5DE59; box-shadow:none; border-radius:18px; padding:20px; }
  :is(.scanner-modern,.supervisor-modern) .field-item { border:0; border-radius:18px; background:#FFFFFF; padding:22px; box-shadow:var(--surface-shadow); }
  :is(.scanner-modern,.supervisor-modern) :is(.field-muted,.field-item dt) { color:#000000B3; }
  :is(.scanner-modern,.supervisor-modern) .field-eyebrow { color:#8C4A32; font-size:10px; }
  :is(.scanner-modern,.supervisor-modern) #field-root button { min-height:46px; border-radius:14px; border-color:transparent; font:550 14px/1.4 system-ui; padding:12px 16px; }
  :is(.scanner-modern,.supervisor-modern) #field-root button.secondary { background:#FFFFFF; color:#8C4A32; box-shadow:var(--surface-shadow); }
  :is(.scanner-modern,.supervisor-modern) #field-root button.quiet { background:#FFFFFF80; color:#8C4A32; }
  :is(.scanner-modern,.supervisor-modern) #field-root button.danger { background:#000000; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern) #field-root button:disabled { opacity:.55; }
  :is(.scanner-modern,.supervisor-modern) #field-root :is(input,select,textarea) { min-height:48px; background:#FFFFFF; border:1px solid #AF9B8959; border-radius:14px; font-size:16px; color:#000000; }
  :is(.scanner-modern,.supervisor-modern) #field-root label { font-weight:550; color:#000000; margin-top:16px; }
  :is(.scanner-modern,.supervisor-modern) #field-root input[type=checkbox] { min-height:22px; height:22px; width:22px; }
  :is(.scanner-modern,.supervisor-modern) #field-root .field-check { min-height:44px; align-items:center; gap:12px; }
  :is(.scanner-modern,.supervisor-modern) #field-root fieldset { border-color:#AF9B8933; border-radius:18px; padding:16px; }
  :is(.scanner-modern,.supervisor-modern) .field-empty { border:0; border-radius:22px; padding:32px 24px; background:#FFFFFF80; color:#000000B3; }
  :is(.scanner-modern,.supervisor-modern) .field-tabs { padding:6px; gap:6px; background:#FFFFFF99; border-radius:20px; margin:22px 0; }
  :is(.scanner-modern,.supervisor-modern) #field-root .field-tabs button { background:transparent; border-radius:14px; color:#000000B3; }
  :is(.scanner-modern,.supervisor-modern) #field-root .field-tabs button[aria-selected=true] { background:#8C4A32; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern) .field-status { border:0; border-radius:16px; padding:16px 18px; background:#FFFFFFB3; box-shadow:var(--surface-shadow); }
  :is(.scanner-modern,.supervisor-modern) .field-status[data-kind=error] { background:#C9959540; color:#000000; box-shadow:inset 4px 0 #8C4A32; }
  :is(.scanner-modern,.supervisor-modern) .field-status[data-kind=success] { background:#76B4C833; color:#000000; }
  :is(.scanner-modern,.supervisor-modern) .field-result { border:2px solid #647692; border-radius:22px; padding:24px; background:#FFFFFF; box-shadow:var(--surface-shadow); }
  :is(.scanner-modern,.supervisor-modern) .field-result[data-decision=hold] { border-color:#8C4A32; background:#C995951F; }
  :is(.scanner-modern,.supervisor-modern) .field-result .field-receipt { background:#647692; border-radius:14px; padding:16px; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern) .field-pill { border:0; background:#EDE5DE; color:#000000; padding:6px 12px; }
  :is(.scanner-modern,.supervisor-modern) .field-pill:is([data-state=live],[data-state=active]) { background:#647692; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern) .field-pill:is([data-state=disabled],[data-state=closed],[data-state=revoked]) { background:#000000; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern) .field-context { border-top:0; }
  :is(.scanner-modern,.supervisor-modern) .field-mode-switch { margin:18px 0; }
  :is(.scanner-modern,.supervisor-modern) .field-mode-switch>button { width:100%; }
  :is(.scanner-modern,.supervisor-modern) :is(.field-details,.field-timeline li) { border-color:#AF9B8933; }
  :is(.scanner-modern,.supervisor-modern) #field-root summary { min-height:44px; padding:12px 4px; cursor:pointer; }
  :is(.scanner-modern,.supervisor-modern) .field-person img { border:0; border-radius:14px; }
  :is(.scanner-modern,.supervisor-modern) #field-connection { border-radius:99px; background:#FFFFFF99; color:#8C4A32; padding:9px 15px; display:table; font-size:12px; }
  .supervisor-modern .field-footer { color:#00000099; font-size:12px; padding:22px; }
  .status-modern .support-shell { padding:30px; }
  .status-modern .support-heading { gap:16px; margin-bottom:32px; align-items:center; }
  .status-modern .support-heading>div { flex:1; min-width:180px; }
  .status-modern .support-heading h1 { font:500 clamp(28px,3.5vw,40px)/1.12 system-ui; letter-spacing:-.04em; }
  .status-modern .support-heading .support-eyebrow { color:#8C4A32; font-size:10px; letter-spacing:.15em; margin:0 0 8px; }
  .status-modern .support-heading>a { background:#FFFFFFCC; padding:11px 18px; min-height:44px; border-radius:99px; text-decoration:none; font-size:13px; font-weight:550; }
  .status-modern .status-brand { width:48px; height:48px; }
  .status-modern .support-shell>section:not(.ipm-support) { background:#FFFFFF; border-radius:24px; padding:30px; box-shadow:var(--surface-shadow); }
  .status-modern .support-shell>section h2 { font:550 25px/1.25 system-ui; letter-spacing:-.025em; }
  .status-modern .support-signin :is(button,a) { min-height:46px; border-radius:14px; display:inline-flex; align-items:center; padding:12px 18px; font-size:14px; margin:8px 8px 0 0; }
  .status-modern .support-footnote { color:#000000B3; font-size:12px; line-height:1.7; padding:0 6px; }
  /* Only these explicitly selected public apps receive the shared Support appearance. */
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support { color:#000000; font:15px/1.6 system-ui,sans-serif; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support :is(h2,h3) { font-family:system-ui,sans-serif; font-weight:550; color:#000000; letter-spacing:-.025em; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support h2 { font-size:25px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support h3 { font-size:19px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support button { min-height:46px; border-radius:14px; border-color:transparent; padding:12px 18px; font-size:14px; font-weight:550; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support :is(input,select,textarea) { min-height:48px; border-radius:14px; border-color:#AF9B8959; color:#000000; font-size:16px; padding:12px 14px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support input[type=checkbox] { min-height:22px; height:22px; width:22px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-toolbar { gap:16px; margin-bottom:14px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-nav { gap:8px; padding:6px; background:#FFFFFF99; border-radius:20px; margin:20px 0 28px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-nav button { background:transparent; color:#000000B3; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-nav button[aria-pressed=true] { background:#8C4A32; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support :is(.support-muted,.support-feedback) { color:#000000B3; font-size:13px; line-height:1.65; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-error { border:0; box-shadow:inset 4px 0 #8C4A32; background:#C9959533; border-radius:16px; padding:16px 18px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support :is(form,.support-ticket-row,.support-health-row) { max-width:none; padding:24px; background:#FFFFFF; border:0; border-radius:22px; box-shadow:0 8px 28px #8C4A3208; margin:16px 0; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-health-row>div { gap:14px; align-items:center; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-state { display:inline-flex; align-items:center; border-radius:99px; padding:6px 12px; background:#EDE5DE; color:#000000; font-size:12px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-health-row[data-state=healthy] .support-state { background:#647692; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-health-row[data-state=unavailable] .support-state { background:#8C4A32; color:#FFFFFF; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-health-row[data-state=degraded] .support-state { background:#C9959540; color:#000000; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-ticket-link { background:transparent; padding:6px 0; color:#8C4A32; text-align:left; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-overall { padding:20px 24px; border-radius:20px; background:#FFFFFFB3; font-weight:550; font-size:19px; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-history { padding-left:0; list-style:none; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-history li { padding:20px; border:0; border-radius:18px; margin:12px 0; background:#FFFFFFB3; }
  :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support :is(button,input,select,textarea,summary):focus-visible { outline-color:#647692; }
  @media (max-width:700px) {
    :is(.scanner-modern,.supervisor-modern,.status-modern) { padding:12px 0; }
    .scanner-modern .verify-shell,.supervisor-modern .field-window,.status-modern .support-shell { width:calc(100% - 16px); border-radius:24px; }
    .scanner-modern .verify-shell,.status-modern .support-shell { padding:22px 16px; }
    .scanner-modern .verify-shell[data-field-mode=true] { padding-top:18px; }
    .scanner-modern h1 { font-size:32px; }
    .scanner-modern .intro { font-size:14px; }
    .scanner-modern .verify-card { padding:22px 18px; }
    .scanner-modern .security-session-bar { padding:10px 14px; }
    .scanner-modern :is(.checkpoint-settings,.scan-location-settings) { padding:18px; }
    .scanner-modern :is(.holder-identity h3,.scanner-heading h2) { font-size:23px; }
    .scanner-modern .scanner-heading { gap:8px; }
    .supervisor-modern .field-brand { padding:20px 16px 12px; gap:12px; flex-wrap:wrap; }
    .supervisor-modern .field-brand span { font-size:22px; }
    .supervisor-modern .field-brand img { width:40px; height:40px; }
    .supervisor-modern .field-brand .field-actions { width:100%; gap:8px; }
    .supervisor-modern .field-brand .field-header-link { flex:1; justify-content:center; }
    .supervisor-modern .field-shell { width:calc(100% - 32px); margin-top:10px; }
    :is(.scanner-modern,.supervisor-modern) :is(.field-card,.field-panel) { padding:22px 18px; }
    :is(.scanner-modern,.supervisor-modern) #field-root>.field-row { align-items:flex-start; gap:10px; }
    :is(.scanner-modern,.supervisor-modern) #field-root>.field-row>.field-actions { margin-top:0; }
    :is(.scanner-modern,.supervisor-modern) .field-tabs { margin:18px 0; border-radius:18px; }
    :is(.scanner-modern,.supervisor-modern) #field-root .field-tabs button { font-size:13px; }
    :is(.scanner-modern,.supervisor-modern) .field-grid { grid-template-columns:minmax(0,1fr); }
    .status-modern .support-heading { display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; margin-bottom:26px; }
    .status-modern .support-heading>div { min-width:0; flex:1; }
    .status-modern .support-heading h1 { font-size:28px; }
    .status-modern .status-brand { width:40px; height:40px; }
    .status-modern .support-heading>a { grid-column:1/-1; justify-self:start; margin-left:0; }
    .status-modern .support-shell>section:not(.ipm-support) { padding:24px 20px; }
    :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support :is(form,.support-ticket-row,.support-health-row) { padding:20px; border-radius:20px; }
    :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-nav { gap:5px; }
    :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-nav button { padding:11px 13px; font-size:13px; }
    :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-filter { display:grid; grid-template-columns:minmax(0,1fr); }
    :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-toolbar h2 { font-size:23px; }
    :is(.scanner-modern,.supervisor-modern,.status-modern,.owner-modern) .ipm-support .support-toolbar button { padding:11px 14px; }
  }
  @media (max-width:370px) {
    .scanner-modern .verify-shell,.status-modern .support-shell { padding:20px 13px; }
    .scanner-modern .verify-card { padding:20px 15px; }
    .scanner-modern h1 { font-size:29px; }
    .scanner-modern .holder-card { grid-template-columns:76px minmax(0,1fr); }
    .scanner-modern .holder-portrait { width:76px; }
    .supervisor-modern .field-shell { width:calc(100% - 26px); }
    :is(.scanner-modern,.supervisor-modern) #field-root button { padding:11px 13px; }
    :is(.scanner-modern,.supervisor-modern) .field-person { flex-wrap:wrap; }
  }
  @media (prefers-reduced-motion:reduce) { :is(.scanner-modern,.supervisor-modern,.status-modern) *, :is(.scanner-modern,.supervisor-modern,.status-modern) *::before, :is(.scanner-modern,.supervisor-modern,.status-modern) *::after { transition:none!important; animation:none!important; } }
}
