@import "https://fonts.googleapis.com/css2?family=Anton&family=Roboto:wght@400;500;700&display=swap";:root{--orange:#f26522;--orange-600:#da531b;--orange-700:#c2410c;--orange-50:#fdede4;--navy:#036;--navy-700:#0a2a4f;--navy-900:#04162c;--sat2:#29abe2;--sat3:#e8901c;--sat4:#8dc63f;--ink:#0b1f3a;--ink-2:#475467;--ink-3:#667085;--ink-4:#9aa3b2;--bg:#fff;--paper:#f6f8fb;--line:#e7eaef;--line-2:#d7dce4;--success:#2f7d3a;--success-bg:#eaf5ec;--danger:#c0432f;--font-display:"Anton", Impact, sans-serif;--font:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--shadow-1:0 1px 2px #0b1f3a0f, 0 1px 1px #0b1f3a0a;--shadow-2:0 2px 6px #0b1f3a0f, 0 12px 28px -10px #0b1f3a24;--ease:cubic-bezier(.22, .7, .25, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-h:64px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.num{font-variant-numeric:tabular-nums}.app{background:var(--bg);flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.appbar{padding:calc(12px + var(--safe-top)) 18px 12px;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);z-index:20;background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--orange);font-size:17px;line-height:1}.wordmark span{color:var(--navy)}.appbar-title{color:var(--ink-3);font-size:12.5px;font-weight:500}.content{-webkit-overflow-scrolling:touch;min-height:0;padding:22px 18px calc(90px + var(--safe-bottom));flex:1;overflow-y:auto}.content--flush{flex-direction:column;padding:0;display:flex}.screen{flex-direction:column;gap:16px;display:flex}.tabbar{border-top:1px solid var(--line);width:100%;max-width:480px;padding:8px 8px var(--safe-bottom);z-index:20;background:#fff;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px -18px #0b1f3a4d}.tab{appearance:none;cursor:pointer;color:var(--ink-4);font-family:var(--font);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:8px 0 6px;display:flex}.tab-icon{border-radius:var(--r-pill);width:48px;height:30px;transition:background .13s var(--ease);place-items:center;display:grid}.tab--active{color:var(--orange-700)}.tab--active .tab-icon{background:var(--orange-50)}.tab-label{font-size:11px;font-weight:600}.card{border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-2);background:#fff;padding:22px}.card-title{letter-spacing:-.015em;color:var(--ink);margin-bottom:7px;font-size:19px;font-weight:700}.card-body{color:var(--ink-2);font-size:15px;line-height:1.55}.eyebrow{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:12px}.hint{color:var(--ink-3);font-size:13px;line-height:1.5}.error{color:var(--danger);font-size:13.5px;font-weight:500}.btn{appearance:none;cursor:pointer;width:100%;font-size:15.5px;font-weight:700;font-family:var(--font);color:#fff;background:var(--orange);border-radius:var(--r-md);transition:background .13s var(--ease), transform .13s var(--ease);border:0;justify-content:center;align-items:center;gap:9px;padding:15px 18px;display:inline-flex;box-shadow:0 8px 18px -10px #f26522cc}.btn:hover:not(:disabled){background:var(--orange-600)}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{color:#aaa49a;cursor:default;box-shadow:none;background:#e7e2da}.btn--navy{background:var(--navy);box-shadow:none}.btn--navy:hover:not(:disabled){background:var(--navy-700)}.btn--ghost{color:var(--ink);border:1px solid var(--line-2);box-shadow:none;background:#fff}.btn--ghost:hover:not(:disabled){background:var(--paper)}.field{width:100%;font-size:16px;font-family:var(--font);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);transition:border-color .13s var(--ease), box-shadow .13s var(--ease);background:#fff;padding:15px 16px;font-weight:500}.field::placeholder{color:var(--ink-4);font-weight:400}.field:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 4px #f265222e}.linkbtn{appearance:none;cursor:pointer;color:var(--ink-2);font-family:var(--font);background:0 0;border:0;align-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:inline-flex}.linkbtn:hover{color:var(--ink)}.row{justify-content:space-between;align-items:center;gap:10px;display:flex}.checkin-success{flex-direction:column;align-items:center;display:flex}.success-mark{background:var(--success-bg);width:84px;height:84px;color:var(--success);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.success-mark--orange{background:var(--orange-50);color:var(--orange-700)}.success-num{font-family:var(--font-display);color:var(--navy);margin:6px 0 2px;font-size:64px;line-height:1}.hero-card{border-radius:var(--r-xl);color:#fff;text-align:center;background:linear-gradient(160deg, #0a3a73 0%, var(--navy) 45%, var(--navy-900) 100%);padding:28px 24px 24px;position:relative;overflow:hidden;box-shadow:0 20px 44px -22px #0369}.hero-eyebrow{font-family:var(--font-display);letter-spacing:.13em;text-transform:uppercase;color:#ffffff9e;font-size:12.5px}.hero-num{font-family:var(--font-display);color:#fff;margin:6px 0 0;font-size:clamp(72px,22vw,116px);line-height:.92}.hero-unit{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#ff8a4d;margin-top:2px;font-size:17px}.hero-sub{color:#ffffffe6;margin-top:14px;font-size:15.5px;line-height:1.5}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:#fff;padding:16px}.stat-num{font-family:var(--font-display);color:var(--navy);font-size:34px;line-height:1}.stat-label{color:var(--ink-3);margin-top:6px;font-size:12.5px;font-weight:600}.chip-navy{width:40px;height:40px;color:var(--navy);background:#00336614;border-radius:11px;flex-shrink:0;place-items:center;display:grid}.auth{padding:calc(46px + var(--safe-top)) 26px calc(28px + var(--safe-bottom));color:#fff;background:radial-gradient(120% 85% at 22% 0,#ff7a3d 0%,#f26522 52%,#da531b 100%);flex-direction:column;flex:1;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.auth-ring{border:1.5px solid #ffffff2e;border-radius:50%;width:200px;height:200px;position:absolute;top:-70px;right:-54px}.auth-ring:after{content:"";border:1.5px solid #ffffff1f;border-radius:50%;position:absolute;inset:32px}.auth-kicker{letter-spacing:.18em;text-transform:uppercase;color:#ffffffd9;font-size:11px;font-weight:700;position:relative}.auth-title{font-family:var(--font-display);text-transform:uppercase;margin:12px 0 0;font-size:clamp(42px,14vw,62px);font-weight:400;line-height:.92;position:relative}.auth-lede{color:#ffffffeb;max-width:300px;margin:14px 0 0;font-size:15.5px;line-height:1.55;position:relative}.auth-form{-webkit-backdrop-filter:blur(6px);background:#ffffff24;border:1px solid #ffffff47;border-radius:20px;flex-direction:column;gap:11px;margin-top:22px;padding:16px;display:flex;position:relative}.auth-form .error{color:#fff;font-weight:600}.auth-switch{justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-link{appearance:none;cursor:pointer;color:#fff;font-family:var(--font);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600;text-decoration:underline}.auth-fine{color:#ffffffd1;text-align:center;margin:2px 0 0;font-size:12px;line-height:1.5;position:relative}.backbtn{appearance:none;cursor:pointer;color:var(--ink-2);font-family:var(--font);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:2px 2px 2px 0;font-size:14px;font-weight:600;display:inline-flex}.backbtn:hover{color:var(--ink)}.searchbar{border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--ink-3);background:#fff;align-items:center;gap:10px;padding:0 14px;display:flex}.searchbar:focus-within{border-color:var(--orange);box-shadow:0 0 0 4px #f265222e}.searchbar-input{min-width:0;font-size:16px;font-family:var(--font);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:14px 0;font-weight:500}.searchbar-input::placeholder{color:var(--ink-4);font-weight:400}.evlist{flex-direction:column;gap:10px;display:flex}.evrow{appearance:none;cursor:pointer;text-align:left;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:border-color .13s var(--ease), transform .13s var(--ease);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.evrow:hover{border-color:var(--line-2)}.evrow:active{transform:scale(.99)}.evrow-main{flex-direction:column;gap:3px;min-width:0;display:flex}.evrow-city{color:var(--ink);font-size:15.5px;font-weight:700}.evrow-sub{color:var(--ink-3);font-size:13px}.evtag{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-pill);flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:700}.hero-card--compact{text-align:left;padding:22px 22px 20px}.hub-city{font-family:var(--font-display);text-transform:uppercase;color:#fff;margin-top:4px;font-size:40px;font-weight:400;line-height:1}.hub-stat{font-family:var(--font-display);color:var(--navy);margin-top:2px;font-size:30px;line-height:1}.actioncard{appearance:none;cursor:pointer;text-align:left;border:1px solid var(--line);border-radius:var(--r-xl);width:100%;box-shadow:var(--shadow-2);transition:border-color .13s var(--ease), transform .13s var(--ease);background:#fff;align-items:center;gap:14px;padding:18px;display:flex}.actioncard:hover{border-color:var(--line-2)}.actioncard:active{transform:scale(.99)}.actioncard-icon{border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.actioncard-icon--orange{background:var(--orange-50);color:var(--orange-700)}.actioncard-icon--navy{color:var(--navy);background:#00336614}.actioncard-text{flex-direction:column;gap:3px;min-width:0;display:flex}.actioncard-title{color:var(--ink);font-size:16px;font-weight:700}.actioncard-sub{color:var(--ink-3);font-size:13px;line-height:1.45}.qr-sheet{border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-2);text-align:center;background:#fff;flex-direction:column;align-items:center;padding:26px 22px;display:flex}.qr-sheet-mark{font-size:18px}.qr-sheet-title{color:var(--ink);margin-top:14px;font-size:22px;font-weight:700}.qr-sheet-sub{color:var(--ink-3);margin-top:2px;font-size:14px}.qr-frame{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;place-items:center;min-width:288px;min-height:288px;margin:18px 0 14px;padding:14px;display:grid}.qr-img{width:260px;height:260px;image-rendering:pixelated;display:block}.qr-skel{background:var(--paper);border-radius:8px;width:260px;height:260px}.qr-sheet-cta{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--navy);font-size:20px}.qr-sheet-fine{color:var(--ink-3);margin-top:4px;font-size:12.5px}.scanbanner{border-radius:var(--r-pill);background:var(--success-bg);color:var(--success);align-items:center;gap:8px;margin-top:14px;padding:9px 13px;font-size:14px;display:inline-flex}.scanbanner strong{font-size:15px}.numtiles{flex-direction:column;gap:10px;display:flex}.numtile{appearance:none;cursor:pointer;text-align:left;border:1.5px solid var(--line);border-radius:var(--r-lg);width:100%;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.numtile--active{border-color:var(--orange);box-shadow:0 0 0 4px #f2652229}.numtile-label{color:var(--ink-2);font-size:13.5px;font-weight:600}.numtile-value{font-family:var(--font-display);color:var(--navy);font-size:30px;line-height:1}.numtile--primary .numtile-value{font-size:40px}.numtile--primary .numtile-label{color:var(--ink);font-weight:700}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{appearance:none;cursor:pointer;border:1px solid var(--line-2);border-radius:var(--r-md);font-family:var(--font);color:var(--ink);transition:background .1s var(--ease), transform .1s var(--ease);background:#fff;place-items:center;padding:16px 0;font-size:24px;font-weight:600;display:grid}.key:hover{background:var(--paper)}.key:active{background:var(--orange-50);transform:scale(.96)}.key--ghost{color:var(--ink-2)}.key--spacer{cursor:default;background:0 0;border:0}.key--spacer:hover,.key--spacer:active{background:0 0;transform:none}.recapbar{background:linear-gradient(160deg, #0a3a73 0%, var(--navy) 60%, var(--navy-900) 100%);border-radius:var(--r-xl);color:#fff;text-align:center;grid-template-columns:repeat(3,1fr);padding:20px 14px;display:grid;box-shadow:0 20px 44px -24px #0369}.recapbar>div{position:relative}.recapbar>div+div:before{content:"";background:#ffffff29;width:1px;height:72%;position:absolute;top:14%;left:0}.recap-n{font-family:var(--font-display);color:#fff;font-size:32px;line-height:1}.recap-t{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-top:6px;font-size:12px;font-weight:600}.creditnote{color:var(--ink-2);background:var(--orange-50);border-radius:var(--r-md);text-align:center;border:1px solid #f7d8c6;padding:13px 15px;font-size:13.5px;line-height:1.5}.msgquote{color:var(--ink);background:var(--paper);border-left:3px solid var(--orange);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:12px 15px;font-size:14.5px;line-height:1.55;display:block}a.linkbtn,a.btn{text-decoration:none}@media print{.appbar,.tabbar,.no-print,.backbtn{display:none!important}html,body,#root,.app{background:#fff!important;height:auto!important;overflow:visible!important}.app{max-width:none!important}.content{padding:0!important;overflow:visible!important}.screen{gap:0!important}.qr-sheet{box-shadow:none!important;border:none!important}.qr-img{width:360px!important;height:360px!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
