dialog.payment-dialog { color: var(--ink); width: min(448px, calc(100% - 32px)); padding: 30px; border: 1px solid #fff; border-radius: 26px; box-shadow: 0 28px 100px #26324625; background: #ffffffed; backdrop-filter: blur(32px); max-height: calc(100dvh - 36px); overflow: auto; }
.payment-dialog::backdrop { background: #35465b36; backdrop-filter: blur(9px); }
.payment-dialog h2 { margin: 12px 0 8px; font-size: 25px; font-weight: 600; letter-spacing: .5px; }
.payment-dialog p { color: #7b8799; font-size: 12px; line-height: 1.9; }
.pay-close { position: absolute; right: 17px; top: 13px; width: 34px; height: 34px; background: transparent; color: #7f8da1; font-size: 25px; border-radius: 50%; }
.pay-target { padding: 13px 16px; background: #eef3f8a6; border: 1px solid #e6edf4; border-radius: 13px; overflow-wrap: anywhere; margin: 18px 0; }
.pay-target small { display: block; font-size: 10px; color: #8b97a7; margin-bottom: 4px; }
.pay-target b { font: 17px var(--mono); }
.payment-dialog label { display: block; color: #64748a; font-size: 12px; }
.pay-amount { display: flex; align-items: center; gap: 12px; padding: 11px 16px; border: 1px solid #dce5ef; border-radius: 12px; margin: 7px 0 16px; background: white; }
.pay-amount span { color: #94a1b2; font-size: 20px; }
.pay-amount input { width: 100%; min-width: 0; outline: 0; font: 26px var(--mono); color: var(--ink); background: transparent; }
.pay-amount:focus-within { outline: 2px solid #7294c133; }
.payment-dialog select { width: 100%; padding: 12px; border: 1px solid #dce5ef; border-radius: 12px; color: var(--ink); background: white; margin: 7px 0 20px; font: inherit; }
.payment-dialog .search-button { width: 100%; }
.pay-note { padding: 14px 16px; background: #f1f5f9; border-radius: 12px; }
.pay-note.error { background: #fff4ef; color: #ad6850; }
.pay-qr { text-align: center; }
.pay-qr canvas { width: 220px; height: 220px; max-width: 100%; border: 1px solid #edf0f5; border-radius: 12px; background: white; }
.pay-qr strong { display: block; font: 28px var(--mono); margin: 14px 0 8px; }
.payment-dialog .pay-caption { font-size: 10px; text-align: center; }
.admin-shell { width: min(1040px, calc(100% - 40px)); margin: 50px auto; }
.admin-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.admin-heading h1 { font-size: 30px; margin: 9px 0 0; }
.admin-heading a { color: #738aa8; font-size: 12px; }
.admin-card { border-radius: 22px; padding: 28px; margin-bottom: 22px; }
.admin-card h2 { margin: 0 0 9px; font-size: 19px; }
.admin-card p,.admin-status p { color: #8090a4; font-size: 12px; line-height: 1.85; }
.admin-card label { display: block; margin: 16px 0; font-size: 13px; color: #66778e; }
.admin-card input:not([type=checkbox]),.admin-card textarea,.admin-card select { width: 100%; display: block; padding: 12px; margin-top: 8px; background: #fff; border: 1px solid #dde5ef; border-radius: 10px; color: var(--ink); font: inherit; }
.admin-card small { color: #99a6b6; font-size: 10px; overflow-wrap: anywhere; }
.admin-card textarea { font: 11px var(--mono); resize: vertical; }
.login-card { max-width: 440px; margin: 50px auto; }
.login-card .search-button { margin-top: 25px; width: 100%; }
.admin-message { padding: 16px 20px; background: #eef3fa; border-radius: 13px; color: #647b99; }
.admin-status { padding: 20px 28px; border-radius: 20px; display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 22px; }
.admin-status p { margin: 4px 0 0; }
.admin-details { padding: 15px 0; border-top: 1px solid #e1e8f1; }
.admin-details summary { cursor: pointer; }
.admin-card fieldset { border: 1px solid #e1e8f1; border-radius: 12px; margin: 20px 0; }
.admin-card legend { font-size: 12px; color: #8595a9; }
.admin-card .check-label { display: inline-flex; align-items: center; gap: 8px; margin: 10px 20px 10px 0; }
.admin-card code { overflow-wrap: anywhere; }
.table-scroll { overflow: auto; }
.admin-card table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: left; }
.admin-card td,.admin-card th { padding: 14px 10px; border-bottom: 1px solid #e6edf5; }
.admin-card th { color: #8a99ac; font-weight: 500; }
.admin-footer { text-align: center; color: #9aa7b7; font-size: 11px; padding-top: 15px; }
@media(max-width: 600px) { .admin-shell { margin-top: 28px; }.admin-card { padding: 20px; }.payment-dialog { padding: 27px 23px; }.admin-status { align-items: flex-start; padding: 20px; } }
