/* Manage billing — стиль account/delete (Montserrat + login/style.css) */
:root {
  --bg: #f4f5f7;
  --white: #ffffff;
  --black: #0a0a0a;
  --gray1: #f4f5f7;
  --gray2: #e8e9ed;
  --gray3: #9ca3af;
  --gray4: #6b7280;
  --violet: #7c3aed;
  --violet-light: #ede9fe;
  --red: #ef4444;
  --red-soft: #fef2f2;
  --green: #15803d;
  --radius: 20px;
  --radius-sm: 14px;
  --nav-h: 72px;
  --safe-b: env(safe-area-inset-bottom, 0px);
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: "Montserrat", system-ui, -apple-system, sans-serif;
  background: var(--bg);
  color: var(--black);
  -webkit-font-smoothing: antialiased;
}

body.app-preloading > :not(.global-preloader) { visibility: hidden; }
.global-preloader {
  position: fixed; inset: 0; z-index: 9999; background: var(--bg);
  display: none; align-items: center; justify-content: center;
}
body.app-preloading .global-preloader { display: flex; }
.global-preloader__spinner {
  width: 44px; height: 44px; border-radius: 50%;
  border: 3px solid #e1e5ef; border-top-color: var(--violet);
  animation: spin .9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.wrap {
  width: 100%; max-width: 430px; margin: 0 auto; min-height: 100%;
  padding: 16px 16px calc(var(--nav-h) + var(--safe-b) + 12px);
  display: flex; flex-direction: column; gap: 18px;
}
.wrap--wide { max-width: 520px; }

.left .brand {
  background: var(--black); border-radius: var(--radius); padding: 24px;
  box-shadow: 0 8px 30px rgba(0,0,0,.18);
}
.brandTop { display: flex; gap: 14px; align-items: center; }
.brandBadge {
  width: 48px; height: 48px; border-radius: 50%; overflow: hidden;
  display: grid; place-items: center; background: var(--white); flex-shrink: 0;
}
.brandBadge__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.brand-title {
  font-family: "Montserrat", system-ui, -apple-system, sans-serif;
  font-size: 26px; font-weight: 400; letter-spacing: -.3px; line-height: 1.1;
  color: #fff; margin: 0;
}
.brand-sub {
  color: rgba(255,255,255,.5); font-size: 13px; font-weight: 600;
  margin-top: 6px; letter-spacing: .2px; line-height: 1.5;
}

.card {
  padding: 24px; border-radius: var(--radius); background: var(--white);
  border: 2px solid var(--gray2);
}
.card--danger { border-color: #fecaca; background: var(--red-soft); }
.page-title {
  margin: 0; font-size: 22px; font-weight: 700; letter-spacing: -.3px;
}
.user-line-row {
  display: flex; align-items: center; gap: 10px;
  margin-top: 10px; min-width: 0;
}
.user-line-row .sub {
  margin: 0; flex: 1; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.icon-actions { display: flex; gap: 6px; flex-shrink: 0; }
.icon-btn {
  appearance: none; border: 2px solid var(--gray2); background: var(--white);
  color: var(--black); width: 36px; height: 36px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
}
.icon-btn:hover { background: var(--gray1); }
.icon-btn:disabled { opacity: .55; cursor: wait; }
h2 { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: -.2px; }
.sub { margin: 8px 0 0; color: var(--gray4); font-size: 13px; line-height: 1.5; font-weight: 600; }
.hr { height: 1px; background: var(--gray2); margin: 18px 0; }
.legal-h { margin: 16px 0 8px; font-size: 14px; font-weight: 800; letter-spacing: .1px; }
.legal-ul {
  margin: 0; padding-left: 1.2em; color: var(--gray4);
  font-size: 13px; font-weight: 600; line-height: 1.5;
}
.legal-ul li { margin: 4px 0; }
.inline-link { color: var(--violet); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

.btn {
  appearance: none; border: 0; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center;
  height: 44px; padding: 0 18px; border-radius: 999px;
  font-family: inherit; font-weight: 700; font-size: 13px; letter-spacing: .2px;
  white-space: nowrap; cursor: pointer;
  transition: transform .08s ease, box-shadow .15s ease;
}
.btn:disabled { opacity: .55; cursor: wait; }
.btn:active { transform: translateY(1px); }
.btn-block { width: 100%; display: flex; }
.btn-primary {
  background: var(--violet); color: #fff;
  box-shadow: 0 6px 20px rgba(124,58,237,.28);
}
.btn-primary:hover { box-shadow: 0 6px 20px rgba(124,58,237,.28); }
.btn-ghost {
  background: var(--white); color: var(--black); border: 2px solid var(--gray2);
  height: auto; min-height: 40px; padding: 10px 14px; border-radius: 999px;
}
.btn-danger {
  background: var(--red); color: #fff;
  box-shadow: 0 6px 20px rgba(239,68,68,.28);
}
.btn-sm {
  height: auto; padding: 8px 12px; font-size: 12px; border-radius: 999px;
  background: var(--violet-light); color: var(--violet); font-weight: 700;
}
.btn-primary-sm {
  background: var(--violet); color: #fff;
  box-shadow: 0 4px 12px rgba(124,58,237,.22);
}
.btn-sm-danger { background: #fee2e2; color: #b91c1c; }

.actions { margin-top: 8px; }
.actions-row { display: flex; gap: 8px; flex-wrap: wrap; }
.stack { display: flex; flex-direction: column; gap: 10px; }

.locale-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
}
.locale-row__label{
  font-size:13px;
  font-weight:600;
  color: var(--gray4);
  letter-spacing:.1px;
}
.locale-picker{
  position:relative;
}
.locale-picker__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:34px;
  max-width:220px;
  padding:0 10px 0 12px;
  border:1px solid var(--gray2);
  background: var(--white);
  border-radius:999px;
  color: var(--black);
  font-family: inherit;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1px;
  cursor:pointer;
  outline:none;
}
.locale-picker__btn:hover,
.locale-picker__btn[aria-expanded="true"]{
  border-color: #d4c4f5;
}
.locale-picker__btn:focus-visible{
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(124,58,237,.12);
}
.locale-picker__ico,
.locale-picker__arr{
  flex-shrink:0;
  color: var(--gray4);
}
.locale-picker__arr{
  transition: transform .15s ease;
}
.locale-picker__btn[aria-expanded="true"] .locale-picker__arr{
  transform: rotate(180deg);
}
.locale-picker__btn span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.locale-picker__menu{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  min-width:220px;
  max-height:280px;
  overflow:auto;
  padding:6px;
  background: var(--white);
  border:1px solid var(--gray2);
  border-radius:14px;
  z-index:30;
}
.locale-picker__opt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:36px;
  padding:8px 10px;
  border:none;
  border-radius:10px;
  background:transparent;
  color: var(--black);
  font-family: inherit;
  font-size:13px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
}
.locale-picker__opt:hover{
  background: var(--gray1);
}
.locale-picker__opt.is-on{
  background: var(--violet-light);
  color: var(--violet);
  font-weight:700;
}
.locale-picker__opt.is-on::after{
  content:"✓";
  font-size:12px;
  font-weight:800;
}

.item {
  border: 1px solid var(--gray2); border-radius: var(--radius-sm);
  padding: 12px 14px; background: #fafafa;
  display: flex; flex-direction: column; gap: 8px;
}
.item__top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.item__title { font-weight: 800; font-size: 13px; }
.item__meta { color: var(--gray4); font-size: 12px; font-weight: 600; line-height: 1.45; }
.pill {
  display: inline-block; padding: 3px 8px; border-radius: 999px;
  font-size: 11px; font-weight: 800; white-space: nowrap;
}
.pill--on { background: #dcfce7; color: var(--green); }
.pill--off { background: var(--gray2); color: var(--gray4); }
.empty { color: var(--gray4); font-size: 13px; font-weight: 600; padding: 4px 0; }

@media (max-width: 560px) {
  .wrap { padding: 16px 14px calc(var(--nav-h) + var(--safe-b) + 12px); gap: 14px; }
}
