/* Friday claim ticket. Scoped to the existing native dialog. */
#friday-dialog.site-dialog{width:min(750px,calc(100% - 30px));max-height:calc(100svh - 34px);padding:0;overflow:auto;border:1.5px solid var(--navy,#112f3a);border-radius:13px;background:var(--paper,#f8f3e7);color:var(--navy,#112f3a)}
#friday-dialog .dialog-close{position:sticky;float:right;z-index:3;top:12px;right:auto;margin:12px 12px -44px 0;background:#f37d64;color:#12323b;border:2px solid #12323b;border-radius:50%;box-shadow:2px 2px 0 #12323b}
.claim-ticket{font-family:var(--sans,'Segoe UI',Arial,sans-serif);position:relative}
.claim-ticket-head{padding:28px 34px 21px;background:linear-gradient(130deg,#39c6bd 0,#70dcc9 100%);border-bottom:2px dashed #12323b66;position:relative}
.claim-ticket-head:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-conic-gradient(#f47c65 0% 25%,#ffe9bb 0% 50%) 0 0/16px 16px}
.claim-kicker{display:block;font-size:9px;font-weight:850;letter-spacing:1.3px;padding-right:32px;margin-bottom:13px;color:#143e44}
.claim-title-row{display:flex;align-items:center;gap:18px;height:90px;margin-bottom:14px}
#friday-dialog .claim-ticket h2{flex:1 1 auto;min-width:0;font-family:var(--display,'Arial Black',Arial,sans-serif);font-size:40px;font-weight:400;font-synthesis:none;line-height:1.06;letter-spacing:-.3px;margin:0;text-transform:uppercase;white-space:nowrap;color:#fffdf2;-webkit-text-stroke:1px #12323b;paint-order:stroke fill;text-shadow:2px 2px 0 #12323b}
.claim-ticket h2 em{font-weight:400;font-style:normal;color:#fff3cc;text-shadow:2px 2px 0 #12323b}
.claim-mascot{display:block;flex:0 0 132px;width:132px;max-width:none;height:auto;object-fit:contain;margin-right:16px;pointer-events:none;user-select:none;filter:drop-shadow(0 5px 0 #0b65672b)}
.claim-ticket-head>p{font-size:12px;line-height:1.65;max-width:590px;color:#193f43;margin:0 0 13px}
.claim-title-row+p{padding-right:132px}
.claim-rule-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.claim-rule-chips span{padding:5px 9px;border:1.5px solid #163c43;border-radius:5px;background:#ffd369;box-shadow:1px 2px 0 #163c43;font-size:9px;font-weight:850;line-height:1.3;color:#16343c}
.claim-ticket-head>.claim-review-note{font-size:10px;line-height:1.6;margin:0;color:#275552;max-width:590px}
.claim-ticket-body{padding:25px 42px 30px}
.claim-availability{padding:10px 13px;border:1px solid #bed5c8;border-radius:6px;background:#eaf3e8;font-size:11px;line-height:1.6;color:#305749;margin-bottom:20px}
.claim-availability[data-state="unavailable"]{border-color:#e1c997;background:#fff2ce;color:#684f22}
.claim-required-note{font-size:10px;color:#67716a;margin:0 0 19px}
.claim-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 17px}
.claim-field{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.claim-field-wide{grid-column:1/-1}
.claim-field>label{font-size:12px;line-height:1.4;font-weight:750;color:#19313a}
.claim-field>label>span{color:#a84e3d}
.claim-field input{display:block;width:100%;min-height:46px;padding:11px 12px;border:1px solid #bfc8bd;border-radius:6px;background:#fffdf5;color:#19313a;font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.claim-field input::placeholder{color:#61726e;font-size:12px}
.claim-field input:hover{border-color:#6caaa0}
.claim-field input:focus{outline:2px solid #14908a;outline-offset:2px;border-color:#14908a}
.claim-field input[aria-invalid="true"]{border-color:#b34530;background:#fff8ed}
.claim-field input[readonly]{background:#eeeee4;color:#4b625e}
.claim-field input:disabled{opacity:.8;cursor:wait}
.claim-field>small{font-size:10px;line-height:1.55;color:#61726e}
.claim-error{display:block;font-size:11px;line-height:1.5;font-weight:650;color:#a63824}
.claim-optional{margin-top:22px;border-top:1px dashed #b9c7b9;border-bottom:1px dashed #b9c7b9;padding:13px 0}
.claim-optional summary{font-size:12px;font-weight:750;cursor:pointer;padding:2px 0;color:#176f68}
.claim-optional summary>span{margin-left:7px;font-weight:400;font-size:10px;color:#6a7970}
.claim-optional[open] .claim-fields{padding-top:17px;padding-bottom:6px}
.claim-confirmation{margin:21px 0 20px}
.claim-confirmation>label{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.65;cursor:pointer}
.claim-confirmation input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:#137b73}
.claim-confirmation .claim-error{margin:6px 0 0 28px}
.claim-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.claim-submit-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
#friday-dialog .claim-submit{font-size:13px;min-width:200px;min-height:48px;gap:16px}
.claim-submit:disabled{opacity:.62;cursor:default;transform:none!important;box-shadow:0 3px 0 var(--navy,#112f3a)}
.claim-submit-note{font-size:9px;line-height:1.65;max-width:190px;color:#62746d}
.claim-submit-aside{display:flex;align-items:center;gap:10px;flex:1 1 240px;max-width:300px}
.claim-submit-aside .claim-submit-note{flex:1 1 auto;min-width:0}
.claim-meal{display:block;flex:0 0 88px;width:88px;max-width:none;height:auto;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 3px 0 #16394412)}
.claim-text-button{font:inherit;font-size:11px;font-weight:750;padding:5px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#176f68;cursor:pointer}
.claim-text-button:disabled{opacity:.55;cursor:wait}
.claim-fallback{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:19px;padding-top:17px;border-top:1px dashed #c7cdbc}
.claim-fallback>a{color:#176f68;font-size:11px;font-weight:650;text-underline-offset:4px}
.claim-result{margin:0 0 22px;padding:17px 18px;background:#f1eddc;border:1px solid #d0c4a2;border-left:4px solid #bda052;border-radius:5px;scroll-margin:20px;outline-offset:3px}
.claim-result>strong{display:block;font-size:15px;line-height:1.5;margin:0 0 5px}
.claim-result>p{font-size:12px;line-height:1.7;color:#495e55;margin:0}
.claim-result[data-state="success"]{background:#e3f2de;border-color:#92ba97;border-left-color:#278567}
.claim-result[data-state="invalid"],.claim-result[data-state="uncertain"]{background:#fff0db;border-color:#dfb997;border-left-color:#bd5f38}
.claim-reference{margin-top:13px;padding-top:10px;border-top:1px dashed #9baf984d;display:flex;gap:10px;align-items:flex-start;font-size:10px}
.claim-reference>span{flex-shrink:0;font-weight:700}
.claim-reference>code{font-size:11px;overflow-wrap:anywhere;user-select:all}
.claim-ticket-foot{display:flex;justify-content:space-between;gap:12px;padding:15px 42px;background:#163944;color:#d8e8d8;font-size:8px;font-weight:750;letter-spacing:1.5px;border-top:1px solid #08242d}
.claim-noscript{font-size:12px;color:#8b3e27;margin-top:18px}
@media(max-width:580px){#friday-dialog.site-dialog{width:calc(100% - 16px);max-height:calc(100svh - 16px);border-radius:9px}.claim-ticket-head{padding:27px 20px 20px}.claim-kicker{font-size:8px;letter-spacing:1px;max-width:255px;line-height:1.5;margin-bottom:13px}.claim-title-row{height:76px;gap:10px;margin-bottom:12px}#friday-dialog .claim-ticket h2{font-size:clamp(22px,7vw,28px);letter-spacing:-.3px;-webkit-text-stroke:.8px #12323b}.claim-mascot{flex-basis:88px;width:88px;margin-right:0}.claim-ticket-head>p{font-size:11px}.claim-title-row+p{padding-right:0}.claim-rule-chips{gap:5px}.claim-rule-chips span{font-size:8px;padding:5px 7px}.claim-ticket-body{padding:20px 20px 24px}.claim-fields{grid-template-columns:1fr;gap:18px}.claim-field-wide{grid-column:auto}.claim-field input{font-size:16px;min-height:47px}.claim-field input::placeholder{font-size:11px}.claim-submit-row{align-items:stretch;flex-direction:column;gap:11px}#friday-dialog .claim-submit{width:100%;font-size:13px}.claim-submit-note{max-width:none;text-align:center}.claim-submit-aside{flex-basis:auto;max-width:310px;width:100%;align-self:center;justify-content:center}.claim-submit-aside .claim-submit-note{max-width:210px;text-align:left}.claim-meal{flex-basis:80px;width:80px}.claim-ticket-foot{padding:14px 20px;font-size:7px;letter-spacing:1px}.claim-fallback{gap:12px}.claim-result{padding:14px}.claim-reference{flex-direction:column;gap:4px}}
@media(max-width:360px){#friday-dialog .claim-ticket h2{font-size:22px}.claim-title-row{height:72px;gap:8px}.claim-mascot{flex-basis:70px;width:70px}}
@media(prefers-reduced-motion:reduce){#friday-dialog *{transition:none!important;scroll-behavior:auto}}
