/* PWA: аккаунт, устройства, вход, оплата, подсказка установки.
   Цвета — переменные тем (--paper, --ink, --muted, --line, --terra), чтобы
   экраны совпадали с «Крафтом», «Графитом» и «Стикерами» без отдельной вёрстки. */
.pwa-account-card{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:20px;background:var(--paper);margin:0 0 6px}
.pwa-account-card small{font-size:13px;color:var(--muted)}
.pwa-account-card strong{font-size:18px;overflow-wrap:anywhere}
.pwa-account-card .setting-active{color:#607b4e;font-weight:600}
.pwa-devices{display:grid;gap:10px;margin:0 0 20px}
.pwa-device{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.pwa-device.current{border-color:#a5b092}
.pwa-device-copy{flex:1;min-width:0;display:grid;gap:3px}
.pwa-device-copy strong{font-size:16px;overflow-wrap:anywhere}
.pwa-device-copy small{font-size:12px;color:var(--muted);line-height:1.4}
.pwa-current{color:#607b4e;font-weight:600}
.pwa-device .glass.small{flex:none;width:auto;min-height:40px;padding:8px 14px;font-size:14px}
.pwa-devices-modal{margin:16px 0 0}
.pwa-devices-modal .pwa-device{padding:10px 12px}
.pwa-login .detail-hero{width:150px;height:130px;margin:0 auto 4px}
.pwa-login form{margin-top:16px}
.pwa-code{font-size:24px!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
.pwa-login .text-link{display:block;margin:6px auto 0}
.pwa-login .text-link:disabled{text-decoration:none;opacity:.7}
.pwa-login .pwa-consent{margin:12px 0 0}
.pwa-login a.text-link{margin:0 auto 6px;text-align:center}
.about-links{display:grid;justify-items:center;margin:0 0 12px}
.about-links .text-link{text-align:center;overflow-wrap:anywhere}
.pwa-secondary-link{margin-top:0!important}
.pwa-account-empty p{max-width:320px}
.pwa-steps{margin:6px 0 10px;padding-left:22px;display:grid;gap:8px;font-size:15px;line-height:1.5}
.pwa-share-glyph{display:inline-block;vertical-align:-4px;color:#2f7cf6}
.pwa-wait{display:flex;align-items:center;gap:12px}
.pwa-wait:before{content:'';flex:none;width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--terra);animation:pwa-spin .9s linear infinite}
@keyframes pwa-spin{to{transform:rotate(360deg)}}
.modal-card .stack:empty{display:none}
/* Подпись ЮKassa в конце экрана покупки: без внешнего отступа, иначе fitArt (i18n-layout.js) его не видит и остаётся прокрутка */
html[data-theme] .screen[data-screen="paywall"] .paywall>p.hint:last-child{margin-bottom:0}
/* Оплата: своя модальная карточка с формой ЮKassa внутри */
.pwa-pay-backdrop{position:fixed;z-index:60;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#50372160;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);padding:calc(12px + env(safe-area-inset-top)) 0 0}
.pwa-pay-card{width:100%;max-width:480px;max-height:100%;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff8ec;color:var(--ink);border-radius:28px 28px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #48342440}
.pwa-pay-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.pwa-pay-head>div{flex:1;min-width:0}
.pwa-pay-head h2{margin:0}
.pwa-pay-head .hint{margin:4px 0 0}
.pwa-pay-widget{min-height:360px;border-radius:18px;overflow:hidden;background:#fff}
.pwa-pay-loading{padding:40px 10px}
.pwa-pay-note{margin:12px 0 0}
body.pwa-paying{overflow:hidden}
[data-theme="graphite"] .pwa-pay-backdrop{background:#0009}
[data-theme="graphite"] .pwa-pay-card{background:#252d35;border:1px solid var(--line);border-bottom:0}
[data-theme="graphite"] .pwa-account-card,[data-theme="graphite"] .pwa-device{background:var(--surface)}
[data-theme="graphite"] .pwa-device.current{border-color:var(--amber)}
[data-theme="graphite"] .pwa-current,[data-theme="graphite"] .pwa-account-card .setting-active{color:var(--amber)}
[data-theme="graphite"] .pwa-share-glyph{color:#7fb2ff}
[data-theme="graphite"] .pwa-login .detail-hero{filter:none}
[data-theme="stickers"] .pwa-pay-backdrop{background:#17133166}
[data-theme="stickers"] .pwa-pay-card{background:var(--paper);border:2px solid var(--keyline);border-bottom:0}
[data-theme="stickers"] .pwa-account-card,[data-theme="stickers"] .pwa-device{background:var(--surface);border:2px solid var(--keyline)}
[data-theme="stickers"] .pwa-device.current{border-color:var(--violet);background:var(--surface-hi)}
[data-theme="stickers"] .pwa-current,[data-theme="stickers"] .pwa-account-card .setting-active{color:var(--violet)}
[data-theme="stickers"] .pwa-share-glyph{color:var(--violet)}
@media(min-width:700px){.pwa-pay-backdrop{align-items:center;padding:22px}.pwa-pay-card{border-radius:28px}}

/* Пароль резервной копии */
.backup-protect{margin:0 0 12px}
#backup-password{margin:0 0 12px}
#backup-password .field{margin-bottom:10px}
#restore-password-form{margin-top:12px}
