@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";:root{--accent:#3cf;--accent-bright:#5ad8ff;--accent-text:#0b6e99;--plate:#000;--plate-soft:#1a1a1a;--ink:#101215;--muted:#5f6772;--line:#e3e7ec;--bad:#ba0517;--good:#1d7a45;--bg:#f5f7f9;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0000000d, 0 8px 24px -12px #00000038;--hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='156' viewBox='0 0 56 100'%3E%3Cg fill='none' stroke='%2333ccff' stroke-opacity='0.22' stroke-width='1.5'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100'/%3E%3Cpath d='M28 0L28 34L0 50M56 50L28 34'/%3E%3C/g%3E%3C/svg%3E");color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);-webkit-text-size-adjust:100%;margin:0}.page{flex-direction:column;min-height:100vh;display:flex}.header{background-color:var(--plate);background-image:var(--hex);color:#fff;border-bottom:3px solid var(--accent);background-size:90px 156px;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:14px 16px;display:flex}.brand{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-shrink:0;align-items:center;gap:12px;padding:0;display:flex}.brand img{flex-shrink:0;width:auto;height:58px;display:block}.brand-sub,.header-nav button{text-transform:uppercase;letter-spacing:.1em;font-size:.92rem;font-weight:700}.brand-sub{border-left:1px solid #ffffff47;padding-left:16px}@media (width<=400px){.brand-sub{display:none}}.header-nav{flex-wrap:wrap;flex:1;align-items:center;gap:22px;display:flex}.sign-out{margin-left:auto}.header-nav button{color:#fff;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:3px 0}.header-nav button:hover,.header-nav button:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}.main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:16px}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:22px 20px 26px}h1{letter-spacing:-.01em;margin:0 0 8px;font-size:1.45rem;font-weight:800}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);margin:26px 0 10px;padding-bottom:6px;font-size:.78rem;font-weight:700}.lead{color:var(--muted);margin:0 0 18px;line-height:1.5}.serial-chip{background:#33ccff24;border:1px solid #33ccff59;border-radius:999px;margin:0 0 14px;padding:6px 12px;font-size:.85rem;display:inline-block}.serial-chip strong{font-variant-numeric:tabular-nums;letter-spacing:.02em}.product{color:var(--muted)}.field{margin-bottom:14px;display:block;position:relative}.label{margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.req{color:var(--bad)}.input{border-radius:var(--radius-sm);width:100%;color:inherit;background:#fff;border:1px solid #d5dbe2;padding:13px 12px;font-size:1rem;transition:border-color .12s,outline-color .12s}.input:focus{outline-offset:0;border-color:var(--accent-text);outline:3px solid #3cf6}.input.error{border-color:var(--bad)}.help{color:var(--muted);margin-top:5px;font-size:.8rem;line-height:1.4;display:block}.help.matched{color:var(--good)}.error-text{color:var(--bad)}.hint-block{color:var(--muted);margin:-4px 0 12px;font-size:.85rem}.roles{border:0;margin:0 0 18px;padding:0}.roles legend{margin-bottom:8px;font-size:.9rem;font-weight:600}.role{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px;display:flex}.role.selected{border-color:var(--accent-text);background:#eef3fa}.role small{color:var(--muted);margin-top:2px;font-size:.8rem;display:block}button{font:inherit}.primary,.secondary{border-radius:var(--radius-sm);cursor:pointer;width:100%;margin-top:8px;padding:15px;font-size:1rem;font-weight:700;transition:transform 60ms,background .12s}.primary:active,.secondary:active{transform:translateY(1px)}.primary{background:var(--accent);border:1px solid var(--accent);color:var(--plate)}.primary:hover:not(:disabled){background:var(--accent-bright)}.primary:disabled{color:#97a0ab;cursor:not-allowed;background:#dfe4e9;border-color:#dfe4e9}.secondary{color:var(--ink);background:#fff;border:1px solid #d5dbe2}.secondary:hover{border-color:var(--plate)}.link{width:100%;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:8px;font-size:.9rem;text-decoration-thickness:2px;display:block}.error-box{color:#8e030f;background:#fdeceb;border-radius:8px;margin:14px 0 0;padding:12px;font-size:.9rem}.dealer .matches{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:260px;margin:4px 0 0;padding:0;list-style:none;overflow:hidden auto;box-shadow:0 6px 18px #00000014}.dealer .matches button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;flex-direction:column;gap:2px;width:100%;padding:11px 12px;display:flex}.dealer .matches button:hover{background:#eef3fa}.dealer .matches span{color:var(--muted);font-size:.8rem}.tick{width:46px;height:46px;color:var(--good);background:#e4f4ea;border-radius:50%;place-items:center;margin-bottom:12px;font-size:1.5rem;display:grid}.footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);margin-top:28px;padding:22px 16px 30px;font-size:.8rem}.dealer .matches .enrolled{color:var(--good);font-size:.8rem;font-style:normal;font-weight:500}.photo{background:#f7f9fc;border:1px dashed #b9c4d2;border-radius:10px;margin-bottom:18px;padding:14px}.photo-head{margin-bottom:10px}.photo-head strong{font-size:.95rem;display:block}.photo-head span{color:var(--muted);font-size:.82rem}.photo .secondary{margin-top:0}.photo-note{color:var(--muted);margin:10px 0 0;font-size:.82rem}.photo-banner{background:#eef3fa;border-radius:8px;margin:16px 0 0;padding:10px 12px;font-size:.85rem}.input.from-photo{background:#fbfcfe;border-color:#9fb8e0}.help.from-photo{color:var(--accent-text)}.help.check-me{color:#8c4b02;font-weight:600}.scan-button{margin-top:0}.or{text-align:center;color:var(--muted);margin:14px 0 10px;font-size:.8rem;position:relative}.or:before,.or:after{content:"";background:var(--line);width:calc(50% - 32px);height:1px;position:absolute;top:50%}.or:before{left:0}.or:after{right:0}.scanner-frame{aspect-ratio:4/3;background:#000;border-radius:10px;width:100%;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%}.scanner-guide{border:2px solid #fff;border-radius:6px;height:18%;position:absolute;top:41%;left:15%;right:15%;box-shadow:0 0 0 2000px #00000073}.scanner-status{text-align:center;color:var(--muted);margin:12px 0 8px;font-size:.9rem}.scan-explainer{color:var(--muted);text-align:center;margin:8px 0 0;font-size:.8rem}.ticket-guide{aspect-ratio:5.5/2.75;border:2px solid #ffffffe6;border-radius:8px;position:absolute;top:50%;left:6%;right:6%;transform:translateY(-50%);box-shadow:0 0 0 2000px #0006}.scanner-reading{background:#00000073;place-items:center;display:grid;position:absolute;inset:0}.scanner-spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scanner-actions{gap:10px;display:flex}.scanner-actions button{flex:1}.remembered{color:var(--muted);margin:-4px 0 12px;font-size:.82rem}.inline-link{color:var(--accent-text);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.claims-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.claims-head h1{margin:0}.primary.compact{width:auto;margin:0;padding:10px 14px;font-size:.9rem}.claim{border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:12px 14px}.claim-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.claim-ticket{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.state{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700}.state.review{color:var(--accent-text);background:#eef3fa}.state.approved{color:#8c4b02;background:#fff4e0}.state.paid{color:var(--good);background:#e4f4ea}.state.declined{color:var(--bad);background:#fdeceb}.claim-body{flex-direction:column;gap:2px;display:flex}.claim-body span{color:var(--muted);font-size:.85rem}.claim-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:8px;padding-top:8px;font-size:.78rem;display:flex}.profile{grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 12px;font-size:.92rem;display:grid}.profile dt{color:var(--muted)}.profile dd{margin:0;font-weight:600}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px}.chosen-tag{color:var(--good);font-size:.78rem;font-weight:500}.stats{flex-wrap:wrap;gap:10px;margin:0 0 22px;display:flex}.stat{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);min-width:100px;color:var(--muted);background:#fff;flex-direction:column;flex:1 1 0;gap:2px;padding:11px 13px;font-size:.8rem;display:flex}.stat strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:800;line-height:1.15}.contact-line{color:var(--muted);margin:0 0 8px;line-height:1.5}.contact-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;margin-bottom:4px;font-weight:700;text-decoration-thickness:2px;display:inline-block}.contact-note{color:var(--muted);margin:6px 0 0;font-size:.85rem;line-height:1.5}@media (width<=720px){.brand img{height:46px}.header-nav{flex-basis:100%;gap:18px;font-size:.86rem}.sign-out{margin-left:0}.header-nav{justify-content:space-between}}
