*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,sans-serif}
body{background:#f8faff;color:#1e293b}
.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.03);position:sticky;top:0;z-index:100}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.35rem;color:#1a4b8c}
.logo img{width:44px;height:44px;border-radius:12px}
.nav a{text-decoration:none;color:#2c3e50;margin-left:1.5rem;font-weight:500}
.nav a:hover{color:#1a4b8c}
.main{max-width:1200px;margin:0 auto;padding:2rem 5%}
.page-title{color:#0e2a47;margin-bottom:1.5rem;font-size:1.5rem}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.welcome{background:linear-gradient(135deg,#1a4b8c,#2b7a9c);color:#fff;padding:2rem;border-radius:24px;margin-bottom:2rem}
.welcome h2{font-size:1.6rem;margin-bottom:.5rem}
.welcome p{opacity:.85}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.card{background:#fff;border-radius:22px;padding:1.6rem;box-shadow:0 15px 30px -10px rgba(0,0,0,.08);text-align:center;transition:.2s;cursor:pointer;text-decoration:none;color:inherit;display:block}
.card:hover{transform:translateY(-5px);box-shadow:0 25px 40px -10px rgba(26,75,140,.18)}
.card i{font-size:1.8rem;color:#1a4b8c;background:#e9f0fa;padding:.9rem;border-radius:16px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.card h3{color:#0e2a47;font-size:1.05rem;margin-bottom:.4rem}
.card p{color:#5a6e85;font-size:.85rem}
.footer{text-align:center;padding:2rem;color:#5e7a9a;font-size:.85rem;margin-top:3rem}
.footer span{color:#1a4b8c;font-weight:600}
.form-box{background:#fff;padding:2.5rem;border-radius:28px;box-shadow:0 25px 50px -12px rgba(26,75,140,.2);max-width:420px;margin:4rem auto}
.form-logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:1.5rem;color:#1a4b8c;font-size:1.15rem}
.form-logo img{width:48px;height:48px;border-radius:12px}
.form-box h2{text-align:center;color:#0e2a47;margin-bottom:1.5rem;font-size:1.2rem}
.form-box input,.form-box select{width:100%;padding:.9rem 1.1rem;border:1px solid #d0dce8;border-radius:14px;margin-bottom:1rem;font-size:1rem;outline:none;background:#fff}
.form-box input:focus,.form-box select:focus{border-color:#1a4b8c}
.form-box button{width:100%;padding:.95rem;border:none;border-radius:40px;background:#1a4b8c;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}
.form-box button:hover{background:#0f3b6b}
.form-box .msg{margin-top:1rem;text-align:center;font-size:.9rem;color:#b91c1c}
.form-box .tip{text-align:center;margin-top:1rem;font-size:.85rem;color:#5a6e85}
.form-box .tip a{color:#1a4b8c;text-decoration:none}
.btn{display:inline-block;background:#1a4b8c;color:#fff;border:none;padding:.75rem 1.8rem;border-radius:40px;font-weight:600;cursor:pointer;text-decoration:none;font-size:.92rem;margin-top:1rem}
.btn:hover{background:#0f3b6b}
.btn-outline{background:transparent;border:2px solid #1a4b8c;color:#1a4b8c}
.btn-outline:hover{background:#1a4b8c;color:#fff}
.wallet-card{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.08);max-width:560px;margin:0 auto}
.wallet-card .label{color:#5a6e85;font-size:.9rem}
.wallet-card .balance{font-size:2.4rem;font-weight:700;color:#1a4b8c;margin:.5rem 0 1rem}
.wallet-card .account{color:#5a6e85;font-size:.9rem;margin-bottom:.3rem}
.income-list .item{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px dashed #eef2f6;font-size:.92rem}
.income-list .item:last-child{border-bottom:none}
.income-list .item i{color:#2b7a9c;width:22px}
.income-list .item b{color:#1a4b8c}
.order-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 10px 25px -8px rgba(0,0,0,.06);margin-bottom:1rem}
.order-head{display:flex;justify-content:space-between;color:#5a6e85;font-size:.88rem;margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px dashed #eef2f6}
.order-head .status{color:#1a4b8c;font-weight:600}
.order-body p{color:#5a6e85;font-size:.9rem;margin:.3rem 0}
.order-body .amount{color:#1a4b8c;font-weight:700;font-size:1.1rem;margin-top:.6rem}