:root{--bg:#fff;--surface:#f5f5f3;--text:#101113;--muted:#6e7075;--border:#d9dade;--accent:#101113}html[data-theme="midnight"]{--bg:#101214;--surface:#181a1d;--text:#f6f3ed;--muted:#aaa8a2;--border:#36383d;--accent:#f6f3ed}html[data-theme="gray"]{--bg:#c8c8c6;--surface:#d8d8d5;--text:#151617;--muted:#55575a;--border:#a9aaa8;--accent:#151617}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.pass-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--border);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px);z-index:5}.pass-logo{display:flex;align-items:center;gap:4px;color:inherit;text-decoration:none;font-size:30px}.pass-logo img{width:48px;height:48px;object-fit:contain}.pass-header nav{display:flex;align-items:center;gap:20px}.pass-header a,.pass-header button{color:inherit;text-decoration:none;background:none;border:0;font:inherit}.pass-header button{cursor:pointer}main{max-width:1120px;margin:auto;padding:72px 24px 100px}.pass-hero{text-align:center;padding-bottom:48px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--muted)}h1{font-size:clamp(52px,9vw,112px);letter-spacing:-.075em;margin:8px 0 20px}.pass-hero>p:not(.eyebrow){font-size:clamp(18px,2vw,24px);color:var(--muted)}.pass-readiness{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:999px;padding:11px 16px;margin-top:18px}.pass-readiness span{width:9px;height:9px;border-radius:50%;background:#d49c28}.pass-readiness.ready span{background:#2d9b62}.page-status{text-align:center;color:var(--muted);min-height:24px}.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pass-card,.pass-panel{border:1px solid var(--border);border-radius:28px;background:var(--surface)}.pass-card{min-height:190px;padding:25px;color:inherit;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.pass-card>span{color:var(--muted);font-size:12px}.pass-card h2{margin:20px 0 6px}.pass-card p{margin:0;color:var(--muted)}.pass-panel{padding:clamp(24px,4vw,48px);margin-top:28px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}.pass-panel.compact{align-items:center}.pass-panel h2{font-size:clamp(28px,4vw,44px);margin:6px 0 14px}.pass-panel p{color:var(--muted);line-height:1.65}.masked-box{padding:25px;border:1px solid var(--border);border-radius:20px;display:grid;gap:8px}.masked-box strong{font-size:24px}.masked-box span{color:var(--muted)}button,.security-actions a{min-height:48px;border:1px solid var(--border);border-radius:16px;padding:0 18px;background:transparent;color:inherit;font:inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button:disabled{opacity:.55}#travelForm{display:grid;grid-template-columns:1fr 1fr;gap:14px}#travelForm label{display:grid;gap:7px}#travelForm input,#travelForm select{min-width:0;width:100%;border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--bg);color:var(--text);font:inherit}#travelForm .primary{grid-column:1/-1;background:var(--accent);color:var(--bg);border:0;cursor:pointer}.state-pill{justify-self:end;border:1px solid var(--border);border-radius:999px;padding:10px 14px}.security-actions{display:grid;gap:12px}.activity-list{grid-column:1/-1;margin:0;padding:0;list-style:none}.activity-list li{padding:14px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px}.activity-list time{color:var(--muted)}@media(max-width:760px){.pass-header{height:74px;padding:0 18px}.pass-header nav a{display:none}.pass-logo{font-size:25px}.pass-logo img{width:40px;height:40px}main{padding:45px 16px 72px}.pass-grid{grid-template-columns:1fr 1fr}.pass-card{min-height:150px;padding:20px}.pass-card h2{font-size:18px}.pass-panel{grid-template-columns:1fr;gap:20px;border-radius:22px}.state-pill{justify-self:start}#travelForm{grid-template-columns:1fr}.activity-list li{display:grid;gap:5px}}@media(max-width:410px){.pass-grid{grid-template-columns:1fr}.pass-card{min-height:130px}}
.pass-panel.wide{grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr)}.expanded-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.expanded-form label{display:grid;gap:7px}.expanded-form input,.expanded-form select{min-width:0;width:100%;border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--bg);color:var(--text);font:inherit}.expanded-form .full,.expanded-form .form-actions{grid-column:1/-1}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.expanded-form .primary,.form-actions .primary{background:var(--accent);color:var(--bg);border:0}.wallet-list,.comparison-results{display:grid;gap:12px;margin-top:18px}.wallet-item,.comparison-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:color-mix(in srgb,var(--bg) 55%,var(--surface))}.wallet-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.wallet-item span,.comparison-card small{color:var(--muted);line-height:1.5}.wallet-item button{grid-row:1/3;grid-column:2}.comparison-card h3{margin:0 0 8px}.comparison-card p{margin:0 0 6px;color:var(--text)}@media(max-width:760px){.pass-panel.wide{grid-template-columns:1fr}.expanded-form{grid-template-columns:1fr}.wallet-item{grid-template-columns:1fr}.wallet-item button{grid-row:auto;grid-column:auto}.form-actions{display:grid}}

.payment-layout { display: grid; gap: 1rem; }
.payment-form { align-items: end; }
.inline-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .75rem; }
.inline-actions button { min-width: 0; padding: .65rem .85rem; }
.wallet-item .inline-actions { justify-content: flex-start; }
.connections-layout { display: grid; gap: 1rem; }
.provider-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-top: .75rem; }
.provider-card h3 { overflow-wrap: anywhere; }
.provider-card .inline-actions { margin-top: .85rem; }
@media(max-width:760px){.provider-catalog{grid-template-columns:1fr}}