/* SUNDUQ v380 — кошелёк «Монеты SUNDUQ». Тёмная тема сайта, без горизонтального скролла. */

.cn380Page{max-width:840px;margin:0 auto;padding:18px 14px 60px;display:grid;gap:16px;min-width:0}
.cn380Page *{min-width:0}

.cn380Head h1{margin:12px 0 6px;color:#f2f7fb;font-size:27px;line-height:1.15}
.cn380Head p{margin:0;color:#8099aa;font-size:13px;line-height:1.5}
.cn380Back{display:inline-flex;align-items:center;gap:7px;color:#7fc2ea;text-decoration:none;font-weight:800;font-size:14px}
.cn380Back svg{width:17px;height:17px}

.cn380Card{background:#0f2537;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:20px;box-shadow:0 18px 44px rgba(0,0,0,.24)}
.cn380CardHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.cn380CardHead h2{margin:0;color:#eef7ff;font-size:19px}

.cn380BalanceCard{display:grid;gap:12px;justify-items:start}
.cn380BalanceLabel{color:#7f9aad;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cn380BalanceValue{display:flex;align-items:center;gap:10px;color:#fff;font-size:clamp(34px,9vw,46px);font-weight:950;line-height:1}
.cn380BalanceValue .cn380Coin{font-size:.86em}

.cn380Actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.cn380Primary,.cn380Secondary,.cn380Ghost{border:0;border-radius:15px;padding:13px 18px;font-weight:900;font-size:15px;cursor:pointer;min-height:46px}
.cn380Primary{background:#f31d55;color:#fff}
.cn380Primary:hover:not(:disabled){background:#d81448}
.cn380Secondary{background:#17384d;color:#dbecf8;border:1px solid rgba(121,187,225,.2)}
.cn380Secondary:hover:not(:disabled){background:#1d4661}
.cn380Ghost{background:transparent;color:#9ab6c9;border:1px solid rgba(255,255,255,.12)}
.cn380Primary:disabled,.cn380Secondary:disabled{opacity:.45;cursor:not-allowed}
.cn380Hint{margin:0;color:#7f96a8;font-size:13px;line-height:1.45}

.cn380Gate{background:#0f2537;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:28px;display:grid;gap:12px;justify-items:start;margin-top:22px}
.cn380Gate h1{margin:0;color:#f2f7fb;font-size:24px}
.cn380Gate p{margin:0;color:#8099aa}

.cn380HistoryList{display:grid;gap:2px}
.cn380Row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.06)}
.cn380Row:last-child{border-bottom:0}
.cn380RowText{min-width:0}
.cn380RowText b{display:block;color:#e6f2fb;font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.cn380RowText small{display:block;color:#7189a0;font-size:12px;margin-top:3px}
.cn380RowAmount{white-space:nowrap;font-weight:900;font-size:15px}
.cn380Row.in .cn380RowAmount{color:#4ade80}
.cn380Row.out .cn380RowAmount{color:#f8a3b6}
.cn380Empty{color:#7f96a8;padding:16px 2px;font-size:14px}
.cn380More{margin-top:14px;width:100%}
.cn380More.hidden{display:none}

.cn380Skeleton{display:grid;gap:10px}
.cn380Skeleton i{display:block;height:46px;border-radius:12px;background:linear-gradient(90deg,#12293c,#17384d,#12293c);background-size:200% 100%;animation:cn380Shine 1.4s linear infinite}
@keyframes cn380Shine{0%{background-position:0 0}100%{background-position:-200% 0}}

/* Модальные окна */
.cn380Modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.cn380Modal.hidden{display:none}
.cn380ModalBackdrop{position:absolute;inset:0;background:rgba(3,12,20,.72)}
.cn380ModalBox{position:relative;width:min(460px,100%);max-height:88vh;overflow-y:auto;background:#102a3e;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:24px;display:grid;gap:13px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.cn380ModalBox h2{margin:0;color:#f2f7fb;font-size:21px;padding-right:34px}
.cn380ModalHint{margin:0;color:#8fa8ba;font-size:14px}
.cn380ModalClose{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#17384d;color:#cfe4f2;display:grid;place-items:center;border:0;cursor:pointer}
.cn380ModalClose svg{width:18px;height:18px}
.cn380ModalActions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px}
.cn380ModalActions button{flex:1 1 auto}
.cn380ConfirmBox p{margin:0;color:#dbe9f4;font-size:16px;line-height:1.45}

.cn380Field{display:grid;gap:6px}
.cn380Field span{color:#8fa8ba;font-size:13px;font-weight:700}
.cn380Field input{width:100%;background:#0b2032;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:13px;color:#eef7ff;font-size:16px;min-height:48px}
.cn380Field input:focus{outline:2px solid rgba(96,165,250,.55);outline-offset:-1px}

.cn380People{display:grid;gap:6px;max-height:210px;overflow-y:auto}
.cn380Person{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:#133045;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:11px 13px;color:#e6f2fb;cursor:pointer;min-height:46px}
.cn380Person:hover{background:#1a4059}
.cn380PersonName{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cn380PersonCity{color:#7f96a8;font-size:12px;white-space:nowrap}

.cn380Chosen{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#133045;border:1px solid rgba(121,187,225,.22);border-radius:14px;padding:11px 13px;color:#dbecf8;font-size:14px}
.cn380Chosen.hidden{display:none}
.cn380Chosen button{padding:8px 12px;min-height:38px;font-size:13px}

.cn380AmountRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cn380Amount{background:#133045;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 4px;color:#dbecf8;font-weight:900;font-size:15px;cursor:pointer;min-height:46px}
.cn380Amount.active{background:#f31d55;border-color:#f31d55;color:#fff}

/* v383: пакеты покупки Монет */
.cn380Packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.cn380Pack{display:grid;gap:3px;background:#133045;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:13px;color:#e6f2fb;cursor:pointer;min-height:64px;text-align:left}
.cn380Pack:hover{background:#1a4059}
.cn380Pack b{font-size:17px;color:#ffd166}
.cn380Pack span{color:#8fa8ba;font-size:13px}
.cn380Pack.active{border-color:#f31d55;background:rgba(243,29,85,.14)}
.cn380Pack.active b{color:#fff}

.cn380Error{background:rgba(243,29,85,.14);border:1px solid rgba(243,29,85,.4);border-radius:14px;padding:11px 13px;color:#ffd3de;font-size:14px;line-height:1.4}
.cn380Error.hidden{display:none}

body.cn380NoScroll{overflow:hidden}

/* Баланс в меню профиля и в мобильном ящике шапки */
.cn380MenuBalance{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cn380MenuBalance b{font-weight:900;white-space:nowrap}

@media (max-width:640px){
  .cn380Page{padding:12px 12px 48px}
  .cn380Card{padding:16px;border-radius:18px}
  .cn380Actions button{flex:1 1 100%}
  .cn380ModalBox{padding:18px;border-radius:20px}
  .cn380ModalActions button{flex:1 1 100%}
}
