.payment-proof-panel { margin-top: 22px; padding: 20px 16px; border: 1px solid #438caa77; border-radius: 14px; background: #17324744; }
.proof-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.proof-heading h3 { margin: 0; font-size: 15px; color: #edf6ff; }
.proof-heading > span { color: #93c9d8; font-size: 11px; }
.proof-hint { color: #a5b5c8; font-size: 12px; line-height: 1.8; margin: 10px 0; }
.payment-proof-panel form { display: grid; gap: 10px; }
.payment-proof-panel label { font-size: 12px; }
.payment-proof-panel input[type=file] { min-width: 0; width: 100%; font-size: 12px; color: #d8e6f5; }
.payment-proof-panel input::file-selector-button { border: 1px solid #577185; border-radius: 7px; padding: 9px 10px; margin-right: 10px; background: #1d304a; color: #e4edf7; cursor: pointer; }
.proof-preview { display: block; max-width: 100%; max-height: 360px; margin: 12px auto; object-fit: contain; border: 1px solid #536779; border-radius: 8px; }
.proof-feedback { margin: 12px 0; color: #91e7cb; line-height: 1.7; font-size: 12px; overflow-wrap: anywhere; }
.proof-feedback.error { color: #ffaaa2; }
.proof-list-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-top: 1px solid #41536d66; font-size: 11px; color: #b3c5d8; }
.proof-list-row .text-button { flex-shrink: 0; color: #80d5eb; }
.proof-admin { margin: 0; min-height: 100vh; background: #0c1425; color: #e7effa; font: 14px/1.65 system-ui, sans-serif; }
.proof-admin * { box-sizing: border-box; }
.proof-admin main { max-width: 980px; margin: auto; padding: 36px 22px 70px; }
.proof-admin h1 { font-size: 26px; margin: 0; }
.proof-admin h2 { margin: 0; font-size: 17px; }
.proof-admin a { color: #80d5eb; }
.proof-admin button, .proof-admin input { font: inherit; }
.proof-admin button { padding: 9px 16px; border: 1px solid #51647e; border-radius: 9px; color: #e4effb; background: #1a2b43; cursor: pointer; }
.proof-admin button:disabled { opacity: .5; cursor: wait; }
.proof-admin button:focus-visible, .proof-admin input:focus-visible { outline: 2px solid #81e4ff; outline-offset: 3px; }
.proof-admin input { display: block; width: 100%; max-width: 570px; padding: 12px; margin: 8px 0 16px; border: 1px solid #51647e; border-radius: 9px; color: #e4effb; background: #111e32; }
.proof-admin header { margin-bottom: 24px; }
.proof-admin #adminLogin { padding: 24px; border: 1px solid #3d516c; border-radius: 14px; background: #132138; }
.proof-admin .admin-toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 18px; }
.proof-admin #adminStatus { min-height: 24px; color: #a5c7dc; }
.proof-admin #adminStatus.error { color: #ffaaa2; }
.proof-admin .admin-card { padding: 22px; border: 1px solid #3c506a; border-radius: 14px; margin-bottom: 16px; background: #122137; }
.proof-admin .admin-card dl { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 8px 16px; margin: 18px 0; }
.proof-admin .admin-card dt { color: #94abc4; }
.proof-admin .admin-card dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.proof-admin .admin-card .admin-state { display: inline-block; padding: 3px 10px; margin-top: 10px; color: #b8d8ea; border-radius: 20px; background: #2a4560; font-size: 12px; }
.proof-admin .admin-card .admin-state.paid { background: #1e554b; color: #b5f2d7; }
.proof-admin dialog { width: min(920px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 18px; border: 1px solid #536d89; border-radius: 14px; color: #e7effa; background: #111f34; }
.proof-admin dialog::backdrop { background: #000b; }
.proof-admin dialog img { display: block; max-width: 100%; max-height: 75dvh; margin: 14px auto 0; object-fit: contain; }
.proof-admin [hidden], .payment-proof-panel [hidden] { display: none !important; }
@media(max-width: 480px) { .proof-admin main { padding: 22px 12px; } .proof-admin .admin-card { padding: 16px; } .proof-admin .admin-card dl { grid-template-columns: 78px minmax(0,1fr); gap: 8px; } }

/* 黑塔AI proof desk: keep sensitive payment review calm and readable. */
.proof-admin { background: #fff; color: #171717; }
.proof-admin a { color: #f28a2e; }
.proof-admin button { border-color: #171717; border-radius: 9px; color: #171717; background: #ffe34f; }
.proof-admin button:hover { background: #fff3a4; }
.proof-admin button:focus-visible, .proof-admin input:focus-visible { outline-color: #f28a2e; }
.proof-admin input { border-color: #e8e4d9; border-radius: 9px; color: #171717; background: #fff; }
.proof-admin #adminLogin, .proof-admin .admin-card { border-color: #e8e4d9; border-radius: 15px; background: #fff; box-shadow: 0 10px 26px #1717170d; }
.proof-admin #adminStatus { color: #6b6b67; }
.proof-admin .admin-card dt { color: #6b6b67; }
.proof-admin .admin-card .admin-state { color: #6b6b67; background: #fff8c9; }
.proof-admin .admin-card .admin-state.paid { background: #2f8f650e; color: #23704d; }
.proof-admin dialog { border-color: #171717; border-radius: 15px; color: #171717; background: #fff; box-shadow: 8px 8px 0 #ffe34f; }
.proof-admin dialog::backdrop { background: #17171788; }
