.deposit-page { max-width:1180px; }
.deposit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.deposit-grid .deposit-history-card { grid-column:1/-1; }
.deposit-create-card form { display:grid; gap:14px; margin-top:18px; }
.deposit-create-card label { display:grid; gap:7px; color:#65627a; font-size:13px; font-weight:700; }
.deposit-create-card input { height:46px; border:1px solid #e4e3ef; border-radius:10px; padding:0 13px; outline:none; }
.deposit-create-card input:focus { border-color:#596be9; box-shadow:0 0 0 3px #596be91f; }
.deposit-flash { margin:0 0 18px; padding:13px 16px; border:1px solid #cdebdc; border-radius:10px; background:#f0fbf5; color:#187449; }
.deposit-success-label { color:#18804d; font-size:12px; font-weight:700; }
.deposit-status-line { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.deposit-status-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 11px; border-radius:8px; font-size:12px; font-weight:800; }
.deposit-status-badge--pending { background:#fff4df; color:#9b6807; }
.deposit-status-badge--completed { background:#eaf9f0; color:#16804a; }
.deposit-status-badge--cancelled, .deposit-status-badge--expired { background:#f0f0f4; color:#77748a; }
.deposit-countdown { color:#a86608; font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; }
.qr.deposit-page, .deposit-page > .qr { width:min(100%,680px); margin:0 auto 22px; padding:26px; text-align:center; }
.qr h1 { margin:10px 0 20px; font-size:clamp(24px,4vw,32px); }
.deposit-qr-frame { display:grid; place-items:center; min-height:310px; margin:0 auto 20px; padding:16px; border:1px solid #e3e4ef; border-radius:16px; background:#fbfbff; }
.deposit-qr-frame img { display:block; width:min(100%,300px); height:auto; aspect-ratio:1; object-fit:contain; background:#fff; }
.deposit-qr-disabled { color:#77748a; font-weight:700; }
.deposit-qr-frame.is-disabled img { display:none; }
.deposit-transfer-info { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; border:1px dashed #abb7ed; border-radius:10px; background:#f6f7ff; text-align:left; }
.deposit-transfer-info > span { color:#77748a; font-size:12px; }
.deposit-transfer-info > div { display:flex; align-items:center; gap:10px; }
.deposit-transfer-info b { color:#3d50c5; font-size:15px; letter-spacing:.04em; }
.copy-transfer { padding:8px 10px; font-size:12px; }
.deposit-actions { display:flex; justify-content:center; gap:10px; margin-top:20px; }
.deposit-actions form { margin:0; }
.deposit-cancel-button { background:#fff0f2; color:#bd405c; }
.deposit-cancel-button:hover { background:#ffe3e9; }
.deposit-result { margin-top:18px; padding:14px; border-radius:10px; background:#eef8f3; color:#187449; font-weight:700; }
.deposit-result.is-error { background:#fff0f2; color:#bd405c; }
.deposit-result a { color:#4058e8; text-decoration:underline; }
.deposit-cancelled-state { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border:1px solid #ccebdc; border-radius:12px; background:#eefaf4; text-align:left; }
.deposit-cancelled-state p { margin:0; color:#187449; font-weight:700; }
.deposit-terminal-state { display:grid; gap:16px; justify-items:center; }
.deposit-terminal-state h1 { margin:0; font-size:clamp(24px,4vw,32px); }
.deposit-success-state { width:100%; padding:18px 20px; border:1px solid #ccebdc; border-radius:12px; background:#eefaf4; color:#187449; }
.deposit-success-state p { margin:0; font-weight:700; }
.btn-create-new-deposit { position:relative; z-index:1; display:inline-flex; min-height:44px; padding:0 18px; align-items:center; justify-content:center; border:0; border-radius:10px; background:linear-gradient(135deg,#4658f2,#7746e8); color:#fff !important; font-weight:700; text-decoration:none !important; opacity:1 !important; pointer-events:auto !important; }
.btn-create-new-deposit:hover,.btn-create-new-deposit:focus-visible { color:#fff !important; background:linear-gradient(135deg,#3548e6,#6536dc); }
.deposit-empty-state { padding:38px !important; text-align:center; }
@media (max-width:700px) { .deposit-grid { grid-template-columns:1fr; } .deposit-grid .deposit-history-card { grid-column:auto; } .deposit-status-line { align-items:flex-start; flex-direction:column; } .deposit-transfer-info { align-items:flex-start; flex-direction:column; } .deposit-transfer-info > div { justify-content:space-between; width:100%; } }
@media (max-width:480px) { .qr.deposit-page, .deposit-page > .qr { padding:18px 14px; } .deposit-qr-frame { min-height:245px; } .deposit-actions { flex-direction:column; } .deposit-actions .btn, .deposit-actions form { width:100%; } .deposit-actions form button { width:100%; } .deposit-cancelled-state { align-items:stretch; flex-direction:column; } .btn-create-new-deposit { width:100%; } }
