/* 💸 Донаты SaSiTe — вкладка «Кошельки» (js/wallets.js). Токены и общие классы — base.css (не дублировать).
   Все классы с приставкой wl-. Телефон (~440 px) — в @media (max-width:760px) в конце. Без inline-стилей (CSP).
   Интерфейс не прыгает: у шагов мастера постоянная минимальная высота, у подсказок/ошибок — место заранее. */

.wl { display:block; }
.wl .hint.warn { color:var(--warn); }

/* загрузка / ошибка загрузки */
.wl-loading { min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; }

/* нет кошельков: два варианта */
.wl-intro > p { max-width:640px; }
.wl-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.wl-choice { display:flex; flex-direction:column; gap:6px; border:1px solid var(--line); border-radius:var(--r); padding:16px; background:var(--bg); }
.wl-choice h3 { margin:0; font-size:15px; }
.wl-choice p { margin:0 0 6px; }
.wl-choice .btn { margin-top:auto; }
.wl-choice-i { font-size:24px; line-height:1; }

/* полезно знать */
.wl-notes h3 { margin-bottom:8px; }
.wl-notes ul { margin:0; padding-left:18px; font-size:13px; color:var(--text2); }
.wl-notes li + li { margin-top:6px; }
.wl-notes b { color:var(--text); font-weight:600; }

/* мастер (создать / свои адреса / сохранить фразу) — постоянная высота, кнопки внизу */
.wl-flow { min-height:600px; display:flex; flex-direction:column; }
.wl-flow > .wl-actions { margin-top:auto; padding-top:16px; }
.wl-flow-head { margin-bottom:12px; }
.wl-flow-head h2 { margin:4px 0 0; font-size:19px; }
.wl-steps { display:flex; gap:6px; margin-bottom:8px; }
.wl-step { width:32px; height:4px; border-radius:2px; background:var(--line); }
.wl-step.on { background:var(--accent); }
.wl-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.wl-actions > .btn.quiet:first-child { margin-left:-8px; }
.wl-actions > .btn.quiet:first-child:not(:only-child) { margin-right:auto; }
.wl-actions > .grow { flex:1; min-width:0; }
.wl-err { min-height:2.9em; margin:6px 0 0; }
.wl-status { min-width:0; text-align:right; }

/* слова фразы */
.wl-words { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; counter-reset:none; }
.wl-word { display:flex; align-items:baseline; gap:8px; min-height:42px; padding:9px 12px; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--bg); }
.wl-word-n { min-width:18px; text-align:right; font-size:12px; color:var(--text2); font-variant-numeric:tabular-nums; }
.wl-word-w { font-size:15px; font-weight:600; overflow-wrap:anywhere; user-select:text; }
.wl-warn { margin:16px 0 0; padding:12px 14px 12px 30px; border-radius:var(--r-sm); background:var(--warn-soft); font-size:13px; }
.wl-warn li + li { margin-top:6px; }

/* проверка трёх слов */
.wl-checkwords { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; max-width:560px; margin-top:6px; }
.wl-checkwords .field + .field { margin-top:0; }

/* предпросмотр адресов */
.wl-preview { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; border:1px solid var(--line); border-radius:var(--r-sm); padding:4px 12px; margin-bottom:14px; }
.wl-preview-row { display:grid; grid-template-columns:84px minmax(0, 1fr); gap:10px; padding:5px 0; font-size:12.5px; }
.wl-preview-row:nth-child(n+3) { border-top:1px dashed var(--line); }
.wl-preview-n { color:var(--text2); }
.wl-preview-a { overflow-wrap:anywhere; }

/* «Хранить сид-фразу на сайте» + пароль */
.wl-store { padding:14px; border:1px solid var(--line); border-radius:var(--r); background:var(--bg); }
.wl-store-t { font-weight:500; }
.wl-pwblock { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; margin-top:12px; padding-left:26px; transition:opacity .15s; }
.wl-pwblock .field + .field { margin-top:0; }
.wl-pwblock.off { opacity:.5; }
.wl-pw-hint { min-height:2.9em; }
.wl-meter { display:grid; grid-template-columns:repeat(3, 1fr); gap:4px; margin-top:6px; }
.wl-meter span { height:4px; border-radius:2px; background:var(--line); }
.wl-meter[data-lvl="1"] span:nth-child(1) { background:var(--bad); }
.wl-meter[data-lvl="2"] span:nth-child(-n+2) { background:var(--warn); }
.wl-meter[data-lvl="3"] span { background:var(--ok); }
.wl-flow > .wl-pwblock { padding-left:0; max-width:640px; }

/* свои адреса */
.wl-exch { margin-bottom:14px; }
.wl-own { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
.wl-own .field + .field { margin-top:0; }
.wl-own .hint { min-height:2.9em; }
.wl-own-sub { font-weight:400; color:var(--text2); font-size:12px; }

/* список кошельков */
.wl-head h2 { margin:0; }
.wl-lead { margin:6px 0 4px; }
.wl-list { margin-top:6px; }
.wl-row { display:grid; grid-template-columns:180px minmax(0, 1fr) auto; gap:8px 16px; align-items:start; padding:12px 0; border-top:1px solid var(--line); }
.wl-net { display:flex; flex-direction:column; gap:2px; padding-top:8px; min-width:0; }
.wl-net-t { font-weight:600; }
.wl-net-s { font-size:12px; color:var(--text2); }
.wl-addr { min-width:0; }
.wl-row.empty .wl-addr { padding-top:9px; }
.wl-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:6px; }
.wl-acts { display:flex; gap:4px; padding-top:4px; }
.wl-row.empty .wl-acts { padding-top:2px; }
.btn.wl-del:hover { color:var(--bad); background:var(--bad-soft); }

/* сид-фраза на сайте */
.wl-seed { display:flex; gap:14px; align-items:flex-start; }
.wl-seed-i { font-size:24px; line-height:1.2; flex:none; }
.wl-seed h3 { margin-bottom:4px; }
.wl-seed .row { margin-top:4px; }
.wl-phrase { min-height:96px; }

/* окна */
.modal.wl-modal { max-width:460px; }
.modal.wl-modal-words { max-width:560px; }
.wl-modal .wl-words { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.wl-modal .modal-body > * + * { margin-top:12px; }
.wl-left { display:block; min-height:1.45em; text-align:right; font-variant-numeric:tabular-nums; }

@media (max-width:760px) {
  .wl-choices { grid-template-columns:1fr; }
  .wl-flow { min-height:540px; }
  .wl-words { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:6px; }
  .wl-word { padding:8px 8px; gap:6px; min-height:40px; }
  .wl-word-w { font-size:14px; }
  .wl-checkwords { gap:8px; }
  .wl-pwblock { grid-template-columns:1fr; padding-left:0; }
  .wl-own { grid-template-columns:1fr; }
  .wl-preview { grid-template-columns:1fr; }
  .wl-preview-row { grid-template-columns:76px minmax(0, 1fr); font-size:12px; }
  .wl-preview-row:nth-child(2) { border-top:1px dashed var(--line); }
  .wl-row { grid-template-columns:minmax(0, 1fr) auto; }
  .wl-net { grid-column:1; grid-row:1; padding-top:4px; }
  .wl-acts { grid-column:2; grid-row:1; padding-top:0; }
  .wl-addr { grid-column:1 / -1; grid-row:2; }
  .wl-row.empty .wl-addr { padding-top:0; }
  .wl .copy-v { font-size:12px; }
  .wl-head .row { width:100%; }
  .wl-head .row .btn { flex:1; }
  .wl-actions > .btn.accent { flex:1; }
  .wl-status { flex-basis:100%; order:-1; text-align:left; }
  .modal.wl-modal-words .wl-words { gap:6px; }
}
@media (max-width:360px) {
  .wl-checkwords { grid-template-columns:1fr; }
  .wl-words, .wl-modal .wl-words { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
