/* FDAS digital wallet card. */
:root{ --navy:#1a2b49; --navy2:#24406e; --green:#2ecc71; --amber:#f0ad4e; --red:#e74c3c; --grey:#9aa3af; }
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:#eef1f5;color:#1f2733;line-height:1.45;min-height:100vh;
  padding:max(18px,env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));
  display:flex;align-items:flex-start;justify-content:center}

.cardwrap{width:100%;max-width:420px;margin:0 auto}

/* The card */
.card{position:relative;border-radius:20px;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,var(--navy2) 0%,var(--navy) 70%);
  box-shadow:0 22px 50px rgba(20,30,55,.35);padding:20px}
.card::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.05)}
.card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.card-logo{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.96}
.pill{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 13px;border-radius:999px;
  background:var(--grey);color:#fff;white-space:nowrap}
.card[data-state=active]   .pill{background:var(--green)}
.card[data-state=expired]  .pill{background:var(--amber);color:#3a2c08}
.card[data-state=unpaid]   .pill{background:var(--amber);color:#3a2c08}
.card[data-state=banned]   .pill{background:var(--red)}
.card[data-state=cancelled] .pill{background:var(--red)}

.card-id{display:flex;align-items:center;gap:16px;margin:22px 0 20px;position:relative;z-index:1}
.photo{width:84px;height:84px;flex-shrink:0;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.12);
  border:2px solid rgba(255,255,255,.5)}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-empty{width:100%;height:100%}
.who{min-width:0}
.name{font-size:23px;font-weight:800;letter-spacing:-.01em;line-height:1.15}
.type{font-size:15px;color:#cdd8ec;margin-top:3px}
.no{font-size:13px;color:#9fb0cf;margin-top:6px;letter-spacing:.06em;font-variant-numeric:tabular-nums}

.card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;position:relative;z-index:1;
  border-top:1px solid rgba(255,255,255,.14);padding-top:16px}
.meta{display:flex;flex-direction:column;gap:12px}
.meta div{display:flex;flex-direction:column}
.meta span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#9fb0cf}
.meta strong{font-size:16px;font-weight:700}
.qr{background:#fff;border-radius:12px;padding:8px;line-height:0}
.qr img{display:block;width:108px;height:108px}

.hint{font-size:13px;color:#67707d;text-align:center;margin:18px 6px 4px}
.updated{font-size:12px;color:#9aa3af;text-align:center;margin:0}

/* Not found */
.notfound{max-width:420px;margin:60px auto;text-align:center;padding:0 8px}
.nf-logo{height:48px;margin-bottom:16px}
.notfound h1{font-size:22px;margin:0 0 8px;color:var(--navy)}
.notfound p{color:#67707d}
