.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:8px;top:-60px;z-index:9000;background:var(--accent,#0b6fd4);color:#fff;padding:10px 16px;border-radius:0 0 4px 4px;font-size:14px;text-decoration:none;transition:top .15s}
.skip-link:focus{top:0}
:focus-visible{outline:3px solid var(--accent,#0b6fd4);outline-offset:2px;border-radius:2px}
.icon-btn:focus-visible,.yn-btn:focus-visible,.photo-rm:focus-visible,.modal-close:focus-visible{outline:3px solid #ffd166;outline-offset:2px}
.icon-btn,.modal-close,.photo-rm{min-width:44px;min-height:44px}
.yn-btn{min-height:40px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* ── Native file inputs (site-wide) ──────────────────────────────────────────
   Never center them: iOS renders the Choose File button over the centered
   "no file selected" text and they overlap. Left-align, give the button
   breathing room, and theme it so it is legible on every page. */
input[type="file"]{text-align:left;text-align-last:left}
input[type="file"]::file-selector-button{margin-right:12px;background:var(--surface2,#162033);border:1px solid var(--border,#1e2d4a);color:var(--text,#c8d0e0);border-radius:8px;padding:7px 12px;font-weight:600;font-family:inherit;font-size:13px;cursor:pointer}
input[type="file"]::-webkit-file-upload-button{margin-right:12px;background:var(--surface2,#162033);border:1px solid var(--border,#1e2d4a);color:var(--text,#c8d0e0);border-radius:8px;padding:7px 12px;font-weight:600;font-family:inherit;font-size:13px;cursor:pointer}
