*{box-sizing:border-box}
body.ret,body.auth{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#eef2f7;color:#1c2733;display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
.retcard,.authcard{background:#fff;border:1px solid #d9e0ea;border-radius:14px;padding:30px;max-width:420px;width:100%;text-align:center}
.authcard{text-align:left}
.authcard h1{margin:0 0 6px;font-size:22px}.authcard p{color:#677689;font-size:14px;margin:0 0 18px}
.authcard label{font-size:12px;color:#677689;display:block;margin:12px 0 5px}
.authcard input{width:100%;border:1px solid #cdd6e2;border-radius:8px;padding:11px 12px;font-size:15px}
.authcard button{width:100%;margin-top:16px;border:0;background:#1565c0;color:#fff;font-weight:700;font-size:15px;padding:12px;border-radius:8px;cursor:pointer}
.authcard button:disabled{opacity:.5}
.msg{margin-top:12px;font-size:13px;color:#c62828;min-height:18px}.msg.ok{color:#14633f}
.tick{width:60px;height:60px;border-radius:50%;color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.tick.ok{background:#1f9d6b}.tick.wait{background:#c77700}
.muted{color:#677689;font-size:13px}
#dbar{background:#101826;color:#cfe3ff;display:flex;gap:14px;align-items:center;justify-content:flex-end;padding:6px 14px;font:12px system-ui,sans-serif}
#dbar a,#dbar button{color:#ffd666;background:none;border:1px solid #4a5568;border-radius:6px;padding:3px 10px;cursor:pointer;font:inherit;text-decoration:none}
#dbar .sp{flex:1}
.banner{background:#fff3cd;border-bottom:1px solid #f1dc9a;color:#6b5a1c;text-align:center;padding:7px 12px;font:13px system-ui,sans-serif}
.err{background:#fdeaea;border:1px solid #f4bcbc;border-radius:8px;padding:10px 12px;color:#8e1d1d;margin-top:10px;font-size:13px}
.okbox{background:#eaf8f1;border:1px solid #bfe8d4;border-radius:8px;padding:12px;color:#14633f;margin-top:10px;font-size:13px}
.payov{position:fixed;inset:0;background:rgba(10,25,45,.6);display:flex;align-items:center;justify-content:center;z-index:50;padding:12px}
.paybox{background:#fff;border-radius:12px;width:100%;max-width:1100px;height:min(92vh,820px);display:flex;flex-direction:column;overflow:hidden}
.paybox header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #e3e8ef;font:600 14px system-ui,sans-serif;background:#fff}
.paybox iframe{flex:1;border:0;width:100%}
.paybox footer{padding:8px 14px;border-top:1px solid #e3e8ef;font:12px system-ui,sans-serif;color:#51607a;display:flex;justify-content:space-between;gap:10px}
.paybox button{border:1px solid #cdd6e2;background:#fff;border-radius:6px;padding:4px 10px;cursor:pointer}
.hub{max-width:900px;margin:30px auto;padding:0 16px;font-family:system-ui,sans-serif}
.hub h1{margin:0 0 6px}.hub p{color:#677689}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:22px}
.tile{display:block;background:#fff;border:1px solid #d9e0ea;border-radius:14px;padding:20px;text-decoration:none;color:#1c2733}
.tile:hover{border-color:#1565c0}.tile b{display:block;font-size:17px;margin-bottom:6px}.tile span{font-size:13px;color:#677689}
.note{background:#fff4e0;border:1px solid #f1d9a8;border-radius:8px;padding:10px 12px;color:#7a5200;margin-top:10px;font-size:13px}
