body { font-family: Arial; margin: 0; background: #f7f7f7; }
.header { background: #4f5c6b; color: #fff; padding: 12px 24px; display: flex; justify-content: flex-end; align-items: center; }
.header .user-info { cursor: pointer; margin-left: 20px; position: relative;}
.header .btn { background: #fff; color: #222; border: none; padding: 6px 16px; border-radius: 4px; cursor: pointer; margin-left: 10px; position: relative;}
.main { max-width: 1400px; max-height: 800px; margin: 80px auto; background: #fff; border-radius: 8px; box-shadow: 0 2px 8px #0001; padding: 32px 24px; }
.modal-mask {
    position: fixed; left:0; top:0; width:100vw; height:100vh;
    background:rgba(0,0,0,0.3); z-index:1000;
    display: flex; align-items: center; justify-content: center;
}
.modal {
    background: #fff; border-radius: 8px; padding: 32px 24px;
    min-width: 340px; max-width: 90vw; box-shadow: 0 2px 8px #0002;
    position: relative;
    min-height: 180px;
    animation: modalIn .2s;
}
.hidden { display: none; }
@keyframes modalIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.modal .close { position: absolute; right: 16px; top: 12px; cursor: pointer; font-size: 18px; color: #888; }
.modal h3 { margin-top: 0; }
input, button, select { margin: 6px 0; padding: 6px 10px; border-radius: 4px; border: 1px solid #ccc; }
.header .btn:hover {
    background: #a2fad5;
}
.link { color: #0077ff; cursor: pointer; text-decoration: underline; margin-left: 8px; }
.error { color: red; }
.success { color: green; }
.row { margin-bottom: 12px; }
.row label{ display: inline-block; width: 70px; }
.row input { width: 200px; }
.row .edit-btn { margin-left: 8px; }
.row .readonly { background: #f5f5f5; border: none; }
@keyframes shake {
    0% { transform: translateX(0);}
    20% { transform: translateX(-8px);}
    40% { transform: translateX(8px);}
    60% { transform: translateX(-6px);}
    80% { transform: translateX(6px);}
    100% { transform: translateX(0);}
}
@keyframes fadeIn {
    from { opacity: 0;}
    to { opacity: 1;}
}
.payaccount-tip-animate {
    animation: fadeIn 0.3s, shake 0.4s;
}
.accountedit-tip-animate {
    animation: fadeIn 0.3s, shake 0.4s;
}