:root{--ticket-bg:#fff;--ticket-text:#111827;--ticket-border:#e5e7eb;--ticket-accent:#3b82f6;--ticket-success:#10b981;--ticket-warning:#f59e0b;--ticket-error:#ef4444;--ticket-muted:#6b7280;--focus-ring-color:#3b82f6;--focus-ring-width:2px;--focus-ring-offset:2px;--min-contrast-ratio:4.5;--enhanced-contrast-ratio:7}@media (prefers-contrast:high){:root{--ticket-bg:#fff;--ticket-text:#000;--ticket-border:#000;--ticket-accent:#00f;--ticket-success:green;--ticket-warning:#ff8c00;--ticket-error:red;--ticket-muted:#595959}}@media (prefers-contrast:high) and (prefers-color-scheme:dark){:root{--ticket-bg:#000;--ticket-text:#fff;--ticket-border:#fff;--ticket-accent:#0ff;--ticket-success:#0f0;--ticket-warning:#ff0;--ticket-error:#f0f;--ticket-muted:#ccc}}@media (prefers-contrast:high){.qr-scanner-container,.ticket-container,.ticket-template{border:2px solid CanvasText}button{border:2px solid ButtonText;background-color:ButtonFace;color:ButtonText}button:focus,button:hover{border-color:Highlight;background-color:Highlight;color:HighlightText}a{color:LinkText;text-decoration:underline}a:visited{color:VisitedText}input,select,textarea{border:2px solid CanvasText;background-color:Canvas;color:CanvasText}input:focus,select:focus,textarea:focus{border-color:Highlight;outline:2px solid Highlight;outline-offset:1px}}.focus-visible:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);position:relative;z-index:1}.skip-link{position:absolute;top:-40px;left:0;padding:8px 16px;background:var(--ticket-bg);color:var(--ticket-text);text-decoration:none;z-index:100;border:2px solid var(--ticket-border)}.skip-link:focus{top:0}.sr-only{padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only,[aria-live=assertive],[aria-live=polite]{position:absolute;width:1px;height:1px;overflow:hidden}[aria-live=assertive],[aria-live=polite]{left:-10000px}.ticket-status-badge{border:2px solid;padding:4px 8px;font-weight:600}@media (prefers-contrast:high){.ticket-status-badge{border-width:3px}}.qr-alternative{display:block;padding:12px;background:var(--ticket-bg);border:2px solid var(--ticket-border);color:var(--ticket-text);font-family:monospace;font-size:14px;text-align:center;margin-top:8px}@keyframes pulse-high-contrast{0%,to{opacity:1}50%{opacity:.5}}.loading-high-contrast{animation:pulse-high-contrast 2s cubic-bezier(.4,0,.6,1) infinite}@media print{*{color:#000!important;background:#fff!important}.qr-code-container,.ticket-template{border:2px solid #000!important}.qr-code-container{padding:10px!important}.no-print,button{display:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a,button:not([role=checkbox]),select{min-height:32px;min-width:32px}@media (hover:none) and (pointer:coarse){a,button:not([role=checkbox]),select{min-height:44px;min-width:44px}}input[type=checkbox],input[type=radio]{min-height:auto;min-width:auto}button[role=checkbox]{min-height:16px!important;min-width:16px!important;max-height:16px!important;max-width:16px!important}.ticket-action-buttons button{margin:4px}.status-error:before,.status-success:before,.status-warning:before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:middle}.status-success:before{background:repeating-linear-gradient(45deg,var(--ticket-success),var(--ticket-success) 2px,transparent 2px,transparent 4px)}.status-warning:before{background:repeating-linear-gradient(-45deg,var(--ticket-warning),var(--ticket-warning) 2px,transparent 2px,transparent 4px)}.status-error:before{background:repeating-linear-gradient(90deg,var(--ticket-error),var(--ticket-error) 2px,transparent 2px,transparent 4px)}