:root{--navy:#082942;--blue:#168bff;--pink:#f42683;--bg:#f2f7fd;--ink:#17354f;--muted:#647e91;--line:#d9e6f1;--green:#087e57}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
header{background:var(--navy);color:#fff;border-bottom:4px solid var(--pink)}.top{max-width:1100px;margin:auto;padding:13px 19px;min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-weight:900;letter-spacing:-.6px;font-size:23px}.brand span{color:#53aaff}.brand small{display:block;font-size:9px;letter-spacing:1.5px;color:#b9d6e9}.top nav{display:flex;gap:16px;font-size:13px;font-weight:800;color:#e3f1ff}.top nav a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:auto;padding:24px 19px 55px}.hero{margin-bottom:20px}.eyebrow{font-size:11px;color:#0a70d7;font-weight:850;letter-spacing:1.5px}h1{font-size:clamp(28px,5vw,43px);letter-spacing:-1px;line-height:1.15;margin:6px 0}.hero p{color:var(--muted);margin:0}.notice{border:1px solid #ffcbdf;background:#fff0f6;color:#8f3154;padding:13px 16px;border-radius:12px;margin-bottom:17px;font-size:13px}.status{background:#e3f3ff;color:#105b98;border-radius:11px;padding:11px 14px;font-size:13px;font-weight:700;margin-bottom:17px}.status.error{background:#fff0f4;color:#a62a51}.status.good{background:#e3f8ed;color:#087850}
.topgrid,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:0 0 17px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:0 7px 26px rgba(13,56,90,.05)}.card h2{font-size:21px;margin:0 0 7px}.card h3{font-size:19px;margin:6px 0 10px}.card p{color:var(--muted);font-size:13px;margin:0 0 14px}.wallet{background:linear-gradient(135deg,#0a2f54,#09569d);color:#fff;border-color:#0b4d82}.wallet p,.wallet .eyebrow{color:#bcdff8}.wallet .value{font-size:45px;font-weight:900;letter-spacing:-1px;margin:12px 0 2px}.wallet .minigrid div{background:#ffffff19}.wallet .minigrid small{color:#c7dfef}.wallet .btn.soft{background:#fff;color:#104b82}
label{font-size:12px;font-weight:800;display:block;margin:10px 0 6px}input{width:100%;background:#fff;border:1px solid #bfd5e5;color:#17334a;border-radius:10px;padding:12px 13px;min-height:47px}input[readonly]{background:#f3f8fc;font-weight:900;letter-spacing:1px}.hrow{display:flex;gap:8px;align-items:center}.hrow input{min-width:0;flex:1}.btn{border:0;border-radius:12px;background:#137dec;color:white;min-height:45px;padding:11px 15px;font-weight:850;font-size:13px;text-align:center}.btn.soft{background:#e6f3ff;color:#0b68b8;border:1px solid #b9d9f6}.btn.primary{background:linear-gradient(105deg,#f42683,#db086c)}.btn.block{width:100%;display:block;margin-top:12px}.fine{color:#72869a;font-size:11px;margin-top:11px}.minigrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.minigrid>div{background:#f0f7ff;border-radius:12px;padding:12px}.minigrid small{display:block;font-size:11px;color:#67829a}.minigrid b{display:block;font-size:16px}.sectionhead{margin-bottom:15px}.passes{display:grid;grid-template-columns:1fr 1fr;gap:13px}.pass{border:1px solid #cce0ef;border-radius:14px;padding:16px;background:#f9fcff}.pass .tag{display:inline-block;background:#e3f0ff;color:#0b67c0;border-radius:100px;padding:5px 10px;font-size:11px;font-weight:850}.pass .big{font-size:29px;font-weight:900;color:#103a68;letter-spacing:-.6px}.ledger{max-height:255px;overflow:auto}.ledgerItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #ebf0f5}.ledgerItem:last-child{border-bottom:0}.ledgerItem b{font-size:12px}.ledgerItem small{display:block;color:#8597a8;font-size:11px}.credit{color:#07865b;font-weight:900}.debit{color:#bc3256;font-weight:900}footer{text-align:center;color:#7b8e9f;font-size:11px;margin-top:24px}
@media(max-width:790px){.topgrid,.grid{grid-template-columns:1fr}.card{padding:17px}}@media(max-width:470px){.top{padding:11px 12px;flex-wrap:wrap}.top nav{gap:9px;font-size:11px}.brand{font-size:20px}.wrap{padding:16px 10px 40px}.hero h1{font-size:30px}.card{padding:15px}.passes{grid-template-columns:1fr}.wallet .value{font-size:39px}.btn{font-size:12px}.hrow .btn{padding:10px}}