*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --bg: #111317;
  --surface: #181b21;
  --surface-rgb: 24, 27, 33;
  --surface2: #21252d;
  --border: #292d36;
  --text: #e2e8f0;
  --text2: #94a3b8;
  --accent: #2b80ff;
  --accent-rgb: 43,128,255;
  --green: #10b981;
  --red: #ef4444;
  --shadow: 0 10px 30px rgba(0,0,0,0.5);
  --r: 16px;
}

[data-theme="light"] {
  --bg: #f3f6f9;
  --surface: #ffffff;
  --surface-rgb: 255, 255, 255;
  --surface2: #f0f3f6;
  --border: #e2e8f0;
  --text: #0f172a;
  --text2: #64748b;
  --accent: #2b80ff;
  --accent-rgb: 43,128,255;
  --green: #10b981;
  --red: #ef4444;
  --shadow: 0 10px 30px rgba(43,128,255,0.08);
}

body {
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow: hidden;
  height: 100vh;
  width: 100vw;
  -webkit-font-smoothing: antialiased;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--text2);
}

.screen {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
}
.screen.active {
  display: flex;
}

/* ── AUTH ── */

.auth-card {

  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 40px;
  width: 90%;
  max-width: 400px;
  backdrop-filter: blur(20px);
  box-shadow: 0 24px 48px rgba(0,0,0,0.4);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.auth-card::before {
  content: '';
  position: absolute;
  top: -50%; left: -50%; width: 200%; height: 200%;
  background: radial-gradient(circle at top left, rgba(43,128,255,0.15), transparent 50%),
              radial-gradient(circle at bottom right, rgba(124,58,237,0.15), transparent 50%);
  pointer-events: none;
}
#auth-screen {
  background: radial-gradient(circle at center, #1a1e29 0%, #0f1117 100%);
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.auth-card h2 {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  margin-bottom: 24px;
  text-align: center;
  font-size: 24px;
}
.input-group {
  margin-bottom: 20px;
}
.input-group label {
  display: block;
  font-size: 13px;
  color: var(--text2);
  margin-bottom: 8px;
  font-weight: 600;
}
.input-group input {
  width: 100%;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 14px 16px;
  color: var(--text);
  font-size: 15px;
  outline: none;
  transition: all 0.2s;
}
.input-group input:focus {
  border-color: var(--accent);
  background: var(--surface);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.15);
}
.auth-btn {
  width: 100%;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 16px;
  padding: 16px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  margin-top: 10px;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(var(--accent-rgb), 0.3);
}
.auth-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(var(--accent-rgb), 0.4);
}
.auth-btn:active {
  transform: scale(0.98);
}
.auth-toggle {
  font-size: 14px;
  color: var(--accent);
  text-align: center;
  margin-top: 20px;
  cursor: pointer;
  font-weight: 600;
  transition: opacity 0.2s;
}
.auth-toggle:hover { opacity: 0.8; }

/* ── LAYOUT ── */
.layout {
  display: flex;
  width: 100%;
  height: 100%;
}

/* ── SIDEBAR ── */
.sidebar {
  width: 320px;
  background: var(--surface);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  height: 100%;
  flex-shrink: 0;
  z-index: 10;
}
.sidebar-header {
  padding: 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.user-info {
  display: flex;
  align-items: center;
  gap: 12px;
}
.user-avatar {
  font-size: 24px;
  width: 40px; height: 40px;
  background: var(--surface2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.user-name {
  font-weight: 800;
  font-size: 16px;
}
.logout-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 10px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s;
}
.logout-btn:hover { background: var(--border); }

.chats-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
}
.chat-item, .contact-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  margin: 4px 12px;
  border-radius: 16px;
}
.chat-item:hover, .contact-item:hover {
  background: var(--surface2);
}
.chat-item.active, .contact-item.active {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 4px 16px rgba(var(--accent-rgb), 0.3);
}
.chat-item.active .chat-time, .chat-item.active .chat-last-msg, .contact-item.active .chat-last-msg, .chat-item.active .msg-status {
  color: rgba(255, 255, 255, 0.75) !important;
}
.chat-icon {
  font-size: 26px;
}
.chat-details {
  flex: 1;
  min-width: 0;
}
.chat-meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.chat-title {
  font-weight: 700;
  font-size: 15px;
}
.chat-time {
  font-size: 11px;
  color: var(--text2);
  font-weight: 600;
}
.chat-last-msg {
  font-size: 13px;
  color: var(--text2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.badge {
  background: var(--red);
  color: #fff;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 7px;
  position: absolute;
  right: 16px;
  bottom: 14px;
}
.sidebar-footer {
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--border);
  display: flex;
  gap: 10px;
  background: rgba(var(--surface-rgb), 0.82);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}
.footer-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 14px;
  min-height: 48px;
  padding: 12px 16px;
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  flex: 1;
  text-align: center;
  box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset;
}
.footer-btn + .footer-btn { flex: 0 0 54px; padding-inline: 0; }
.footer-btn:active { transform: scale(0.97); }
.footer-btn:hover {
  background: var(--border);
}

/* ── MAIN CONTENT ── */
.main-content {
  flex: 1;
  position: relative;
  height: 100%;
  background: var(--bg);
}
.chat-panel {
  display: none;
  width: 100%;
  height: 100%;
  flex-direction: column;
  position: absolute;
  top: 0; left: 0;
}
.chat-panel.active {
  display: flex;
}

.panel-header {
  padding: 16px 24px;
  border-bottom: 1px solid var(--border);
  background: rgba(var(--surface-rgb), 0.7);
  backdrop-filter: blur(24px) saturate(165%);
  -webkit-backdrop-filter: blur(24px) saturate(165%);
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 10;
}
.back-btn {
  display: none;
  background: none;
  border: none;
  font-size: 22px;
  color: var(--text);
  cursor: pointer;
}
.panel-title {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: 18px;
}

.panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.keybuy-panel-body { max-width: 760px; width: 100%; margin: 0 auto; justify-content: flex-start; }
.keybuy-wallet-card { border: 1px solid var(--border); border-radius: 18px; background: linear-gradient(135deg, rgba(var(--accent-rgb),.13), var(--surface)); padding: 16px; }
.keybuy-wallet-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.keybuy-wallet-label { color:var(--text2); font-size:12px; font-weight:700; letter-spacing:.05em; }
.keybuy-wallet-balance { font-size:26px; font-weight:800; letter-spacing:-.02em; margin-top:2px; }
.keybuy-refresh,.keybuy-copy { border:1px solid var(--border); background:var(--surface2); color:var(--text); border-radius:10px; font:inherit; font-size:12px; font-weight:700; cursor:pointer; padding:9px 11px; }
.keybuy-refresh:disabled,.keybuy-copy:disabled { opacity:.5; cursor:default; }
.keybuy-network { color:var(--text2); font-size:12px; margin:12px 0 8px; }
.keybuy-address-row { display:flex; align-items:stretch; gap:8px; }
.keybuy-address { min-width:0; flex:1; background:var(--surface2); border:1px solid var(--border); border-radius:10px; padding:10px; font:600 12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; word-break:break-all; }
.keybuy-copy { color:var(--accent); white-space:nowrap; }
.keybuy-wallet-note { color:var(--text2); font-size:11px; margin-top:9px; }
.keybuy-intro { display:flex; gap:12px; align-items:flex-start; border:1px solid var(--border); border-radius:16px; background:var(--surface2); padding:16px; }
.keybuy-intro-icon { font-size:23px; }.keybuy-intro p { margin:4px 0 0; color:var(--text2); font-size:13px; line-height:1.45; }
@media (max-width:768px) { .keybuy-panel-body { padding-bottom:100px; }.keybuy-wallet-card { border-radius:16px; padding:14px; }.keybuy-wallet-balance { font-size:23px; }.keybuy-address-row { flex-direction:column; }.keybuy-copy { width:100%; }.keybuy-input-area { display:flex; } }

/* Shared Key Buy chat */
.keybuy-panel-body { overflow:hidden; padding-bottom:92px; }
.keybuy-wallet-card { background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),var(--surface)); box-shadow:0 10px 32px rgba(0,0,0,.12); }
.keybuy-messages { width:100%; padding:6px 2px 0; gap:10px; }
.keybuy-empty { margin:auto; color:var(--text2); font-size:13px; text-align:center; max-width:280px; line-height:1.45; }
.keybuy-message { max-width:82%; align-self:flex-start; border:1px solid var(--border); background:var(--surface2); border-radius:16px 16px 16px 5px; padding:10px 12px 19px; position:relative; box-shadow:0 4px 14px rgba(0,0,0,.08); }
.keybuy-message.own { align-self:flex-end; background:var(--accent); border-color:transparent; color:#fff; border-radius:16px 16px 5px 16px; }
.keybuy-message-author { font-size:11px; font-weight:800; color:var(--accent); margin-bottom:3px; }
.keybuy-message.own .keybuy-message-author { color:rgba(255,255,255,.75); }
.keybuy-message-text { white-space:pre-wrap; word-break:break-word; line-height:1.4; font-size:14px; }
.keybuy-message-time { position:absolute; right:10px; bottom:5px; font-size:10px; opacity:.62; }
@media (max-width:768px) { .keybuy-messages { padding-bottom:8px; }.keybuy-message { max-width:90%; } }

/* Key Buy desktop workspace */
@media (min-width: 769px) {
  .keybuy-panel-body {
    max-width: 1120px;
    padding: 28px 32px 104px;
    gap: 14px;
  }
  .keybuy-wallet-card {
    display: grid;
    grid-template-columns: minmax(235px, .72fr) minmax(460px, 1.65fr);
    grid-template-rows: auto auto auto;
    column-gap: 28px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 20px;
  }
  .keybuy-wallet-top { grid-column: 1; grid-row: 1 / span 3; align-self: stretch; flex-direction: column; align-items: flex-start; justify-content: center; position: relative; }
  .keybuy-wallet-top .keybuy-refresh { position: absolute; right: 0; top: 0; }
  .keybuy-wallet-label { font-size: 12px; }
  .keybuy-wallet-balance { font-size: 30px; line-height: 1.08; max-width: 220px; overflow-wrap: anywhere; }
  .keybuy-network { grid-column: 2; grid-row: 1; margin: 0 0 8px; font-weight: 650; }
  .keybuy-address-row { grid-column: 2; grid-row: 2; }
  .keybuy-wallet-note { grid-column: 2; grid-row: 3; margin-top: 7px; }
  .keybuy-messages {
    flex: 1;
    min-height: 420px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(var(--surface-rgb),.72), rgba(var(--surface2-rgb),.54));
    padding: 22px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  }
  .keybuy-empty::before { content: '🔑'; display: block; font-size: 30px; margin-bottom: 10px; }
  .keybuy-input-area { max-width: 1120px; width: calc(100% - 64px); }
  .keybuy-message { max-width: 64%; }
}

/* ── MESSAGES FEED ── */
.messages-container {
  flex: 1;
  overflow-y: auto;
  padding: 24px 24px 100px 24px; /* space for floating input */
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.msg-bubble {
  max-width: 70%;
  padding: 12px 16px 24px 16px;
  border-radius: 20px;
  font-size: 15px;
  line-height: 1.5;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  animation: messageIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  word-break: break-word;
}
@keyframes messageIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.msg-bubble.incoming {
  align-self: flex-start;
  background: var(--surface);
  color: var(--text);
  border-bottom-left-radius: 6px;
  border: 1px solid var(--border);
}
.msg-bubble.outgoing {
  align-self: flex-end;
  background: var(--accent);
  color: #fff;
  border-bottom-right-radius: 6px;
}
.msg-time {
  position: absolute;
  bottom: 6px;
  right: 12px;
  font-size: 11px;
  font-weight: 600;
  opacity: 0.8;
}
.msg-bubble.outgoing .msg-time { color: rgba(255, 255, 255, 0.9); }
.msg-bubble.incoming .msg-time { color: var(--text2); }

.input-area {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 48px);
  max-width: 768px;
  padding: 8px 10px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 30px;
  display: flex;
  gap: 12px;
  align-items: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  z-index: 20;
}
.input-area input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 10px 14px;
  color: var(--text);
  font-size: 15px;
  outline: none;
}
.send-btn {
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.1s;
}
.send-btn:active { transform: scale(0.92); }

/* ── QR AMOUNTS GRID FULL SCREEN ── */
#qr-grid-container {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
@media (max-width: 768px) {
  #qr-grid-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  #qr-grid-container .amt-chip {
    padding: 12px 6px;
    font-size: 13px;
  }
}
.amt-chip {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 10px 16px;
  border-radius: 8px;
  min-height: 46px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
}
.amt-chip:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--accent-rgb), 0.2);
}
.amt-chip:disabled {
  cursor: wait;
  opacity: 0.62;
  transform: none;
  box-shadow: none;
}
.qr-copy-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-top: 7px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface2);
  color: var(--text);
  cursor: pointer;
  text-align: left;
}
.qr-copy-action.primary { border-color: var(--accent); }
.qr-copy-actions {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 8px;
}
.qr-copy-actions .qr-copy-action {
  margin-top: 0;
  min-height: 44px;
}
.qr-copy-value {
  color: var(--accent);
  font-family: monospace;
  font-size: 12px;
  overflow-wrap: anywhere;
  user-select: all;
}
.qr-result-title { margin-bottom: 4px; font-size: 13px; font-weight: 750; }
.qr-error-message {
  color: var(--red);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.qr-order-card {
  width: min(400px, 72%);
  max-width: 400px;
  padding: 14px 14px 24px;
}
.qr-order-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.qr-order-amount { font-size:18px; font-weight:800; }
.qr-order-source { color:var(--text2); font-size:11px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:280px; }
.qr-status { flex-shrink:0; border-radius:999px; padding:6px 9px; font-size:11px; font-weight:800; background:var(--surface2); color:var(--text2); }
.qr-status.active { background:rgba(16,185,129,.14); color:var(--green); }
.qr-status.paid { background:rgba(10,132,255,.16); color:var(--accent); }
.qr-status.expired { background:rgba(142,142,147,.14); color:var(--text2); }
.qr-status.error { background:rgba(248,81,73,.14); color:var(--red); }
.qr-status.creating { background:rgba(var(--accent-rgb),.14); color:var(--accent); }
.qr-order-card img { cursor:zoom-in; }
.qr-order-image {
  display: block;
  width: 100%;
  max-width: none;
  max-height: 440px;
  height: auto;
  margin: 0 auto 10px;
  object-fit: contain;
  border: 1px solid var(--border);
  border-radius: 10px;
}
.qr-viewer { position:fixed; inset:0; z-index:120000; display:none; flex-direction:column; background:#fff; color:#111; }
.qr-viewer.visible { display:flex; }
.qr-viewer-stage { flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:auto; padding:18px; touch-action:pinch-zoom; }
.qr-viewer-stage img { max-width:100%; max-height:100%; object-fit:contain; transform-origin:center; transition:transform .16s ease; }
.qr-viewer-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px 12px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #ddd; background:#fff; }
.qr-viewer-actions button { min-height:46px; border:1px solid #d4d4d8; border-radius:13px; background:#f4f4f5; color:#111; font-weight:750; }
.ui-icon { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

/* ── CARDS & FORMS ── */
.settings-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 24px;
  box-shadow: var(--shadow);
}
.settings-card h3 {
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 16px;
}

/* ── AVITO SPLIT ── */
.chats-hub {
  width: min(720px, calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 0 40px;
  overflow-y: auto;
}
.chats-hub-title {
  padding: 14px 8px 7px;
  color: var(--text2);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.chats-hub .chat-item,
.chats-hub .contact-item {
  width: 100%;
  margin: 4px 0;
  min-height: 64px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
}
.chats-hub .chat-item.active::before,
.chats-hub .contact-item.active::before { display: none; }
.chats-hub .chat-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  background: var(--surface2);
  color: var(--text2);
  font-size: 17px;
  font-weight: 750;
}
.avito-split {
  display: flex;
  height: 100%;
  width: 100%;
}
.avito-dialogs {
  width: 320px;
  border-right: 1px solid var(--border);
  overflow-y: auto;
  height: 100%;
  flex-shrink: 0;
  background: var(--surface);
}
.avito-dialog-item {
  padding: 16px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: all 0.2s;
}
.avito-dialog-item:hover, .avito-dialog-item.active {
  background: var(--surface2);
}
.avito-chat-pane {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .sidebar { width: 100%; }
  .sidebar.hidden { display: none; }
  .main-content { display: none; }
  .main-content.active { display: flex; width: 100%; }
  .back-btn { display: block; }
  .avito-dialogs { width: 100%; }
  .avito-dialogs.hidden { display: none; }
  .avito-chat-pane { display: none; }
  .avito-chat-pane.active { display: flex; }
  .chats-hub { width: 100%; padding: 10px 10px 92px; }
  .chats-hub-title { padding-inline: 6px; }
}

.unread-badge {
  background: var(--red);
  color: white;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 12px;
  margin-left: auto;
  display: inline-block;
  min-width: 20px;
  text-align: center;
}
.msg-status {
  font-size: 11px;
  margin-left: 6px;
  opacity: 0.8;
  display: inline-block;
}
.msg-status.read {
  color: #4ade80;
  font-weight: 800;
}

.scroll-bottom-btn {
  position: absolute;
  bottom: 90px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 100;
}
.scroll-bottom-btn.visible {
  opacity: 1;
  visibility: visible;
}
.scroll-bottom-btn:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  transform: scale(1.05);
}

/* ── GRADIENT SIDEBAR HEADER ── */
.sidebar-header-gradient {
  background: linear-gradient(135deg, #1e3a8a 0%, #2b80ff 50%, #7c3aed 100%);
  background-size: 200% 200%;
  animation: gradientShift 6s ease infinite;
  border-bottom: none;
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.user-avatar-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  border: 2px solid rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 18px;
  color: white;
  flex-shrink: 0;
}
.sidebar-header-gradient .user-name {
  color: white;
  font-size: 16px;
}
.logout-btn-glass {
  background: rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: white !important;
  backdrop-filter: blur(4px);
}
.logout-btn-glass:hover {
  background: rgba(255,255,255,0.25) !important;
}


/* ── IOS-STYLE TOGGLES ── */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 26px;
  flex-shrink: 0;
}
.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: var(--surface2);
  transition: .3s;
  border-radius: 34px;
  border: 1px solid var(--border);
}
.toggle-slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .3s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
input:checked + .toggle-slider {
  background-color: var(--green);
  border-color: var(--green);
}
input:checked + .toggle-slider:before {
  transform: translateX(20px);
}
.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.toggle-row:last-child { border-bottom: none; }
.toggle-label-text { font-size: 14px; color: var(--text); font-weight: 500; }

/* ── COLORFUL GRADIENT CHAT ICONS ── */
.chat-icon-circle {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.chat-item:hover .chat-icon-circle { transform: scale(1.08); }
.gradient-blue { background: linear-gradient(135deg, #2b80ff, #7c3aed); }
.gradient-green { background: linear-gradient(135deg, #10b981, #059669); }
.gradient-orange { background: linear-gradient(135deg, #f59e0b, #ef4444); }

/* ── PILL SWITCHER ── */
.pill-switcher {
  position: relative;
  display: flex;
  background: var(--surface2);
  border-radius: 20px;
  padding: 3px;
  gap: 0;
}
.pill-indicator {
  position: absolute;
  top: 3px;
  left: 3px;
  height: calc(100% - 6px);
  background: var(--accent);
  border-radius: 17px;
  transition: left 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), width 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 2px 8px rgba(43,128,255,0.35);
  z-index: 0;
}
.pill-btn {
  position: relative;
  z-index: 1;
  background: none;
  border: none;
  border-radius: 17px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text2);
  cursor: pointer;
  transition: color 0.2s;
}
.pill-btn.active { color: #fff; }

/* ── APP TOAST ── */
.app-toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: rgba(15,23,42,0.92);
  color: #fff;
  padding: 10px 20px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  z-index: 99999;
  pointer-events: none;
  opacity: 0;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.app-toast.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── PAYMENT TOAST ── */
.payment-toast {
  position: fixed;
  top: 24px;
  right: 24px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 16px 20px;
  min-width: 220px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.3), 0 0 0 1px rgba(16,185,129,0.3);
  z-index: 99999;
  transform: translateX(120%);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.payment-toast.visible {
  transform: translateX(0);
}
.payment-toast.dragging { transition: none; }
.payment-toast-pulse {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #10b981, #059669);
  animation: toastProgress 5s linear forwards;
}
@keyframes toastProgress {
  from { transform: scaleX(1); transform-origin: left; }
  to { transform: scaleX(0); transform-origin: left; }
}
.payment-toast-content {
  display: flex;
  align-items: center;
  gap: 14px;
}
.payment-toast-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(16,185,129,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  animation: pulseGreen 1.5s ease infinite;
}
@keyframes pulseGreen {
  0%, 100% { box-shadow: 0 0 0 0 rgba(16,185,129,0.4); }
  50% { box-shadow: 0 0 0 8px rgba(16,185,129,0); }
}
.payment-toast-amount {
  font-size: 22px;
  font-weight: 800;
  color: var(--green);
}
.payment-toast-sender {
  font-size: 13px;
  color: var(--text2);
  font-weight: 600;
  margin-top: 2px;
}

/* ── CHECK PAY ── */
.pay-panel-header {
  justify-content: space-between;
}
.pay-panel-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.pay-panel-title-group {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.pay-account {
  margin-top: 2px;
  color: var(--text2);
  font-size: 10px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exchange-rate-control {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 42px;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface2);
}
.exchange-rate-control label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 72px;
  padding: 0 4px 0 7px;
  color: var(--text2);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}
.exchange-rate-control label small { font-size:9px; font-weight:600; opacity:.72; }
.exchange-rate-value {
  display:flex;
  align-items:center;
  min-height:32px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface);
  overflow:hidden;
}
.exchange-rate-control input {
  width: 62px;
  min-height: 30px;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 0 4px 0 8px;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  text-align: right;
  outline: none;
}
.exchange-rate-unit {
  padding-right:8px;
  color: var(--text2);
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}
.exchange-rate-control button {
  min-height: 32px;
  border: 1px solid rgba(var(--accent-rgb),.24);
  border-radius: 9px;
  background: rgba(var(--accent-rgb),.10);
  color: var(--accent);
  padding: 0 11px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}
.exchange-rate-control button:hover { background: rgba(var(--accent-rgb),.17); }
.exchange-rate-control button.saved { border-color:rgba(48,209,88,.3); background:rgba(48,209,88,.10); color:var(--green); }
#panel-pay .panel-body {
  gap: 14px;
  padding: 16px 20px 18px;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.pay-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: transparent;
}
.pay-summary-item {
  min-width: 0;
  padding: 11px 14px;
  border-right: 1px solid var(--border);
}
.pay-summary-item:last-child { border-right: 0; }
.pay-summary-item:first-child {
  background: rgba(33, 165, 109, 0.06);
}
.pay-summary-label {
  display: block;
  color: var(--text2);
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 5px;
}
.pay-summary-value {
  display: block;
  color: var(--text);
  font-size: 16px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pay-summary-item:first-child .pay-summary-value { color: var(--green); }
.pay-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 160px 150px 36px;
  gap: 8px;
}
.pay-toolbar input,
.pay-toolbar select,
.pay-control select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface2);
  color: var(--text);
  min-height: 36px;
  padding: 7px 10px;
  font: inherit;
  font-size: 12px;
  outline: none;
}
.pay-filter-reset {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: transparent;
  color: var(--text2);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.pay-filter-reset:hover {
  background: var(--surface2);
  color: var(--text);
}
.pay-toolbar input:focus,
.pay-toolbar select:focus,
.pay-control select:focus {
  border-color: var(--accent);
}
.pay-list-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  overflow: hidden;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: transparent;
}
.pay-list-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  color: var(--text);
}
.pay-list-count {
  min-width: 22px;
  padding: 2px 6px;
  border-radius: 10px;
  background: var(--surface2);
  color: var(--text2);
  font-size: 10px;
  text-align: center;
}
.payments-list {
  flex: 1;
  overflow-y: auto;
}
.payment-column-head,
.payment-row {
  display: grid;
  grid-template-columns: 58px minmax(190px, 1fr) 118px 144px 132px 36px;
  gap: 9px;
  align-items: center;
}
.payment-column-head {
  padding: 8px 10px 8px 13px;
  border-bottom: 1px solid var(--border);
  background: var(--surface2);
  color: var(--text2);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}
.payment-day-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-bottom: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface2) 62%, var(--bg));
}
.payment-day-title {
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}
.payment-day-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--text2);
  font-size: 10px;
  white-space: nowrap;
}
.payment-day-total { color: var(--green); font-weight: 800; }
.payment-row {
  --payment-accent: #4b8ee8;
  position: relative;
  min-height: 58px;
  padding: 9px 10px 9px 13px;
  border-bottom: 1px solid var(--border);
  background: transparent;
}
.payment-row::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--payment-accent);
}
.payment-row:last-child { border-bottom: 0; }
.payment-row:hover { background: rgba(127, 137, 153, 0.055); }
.payment-row.status-work { --payment-accent: #d49a24; }
.payment-row.status-wait { --payment-accent: #8b74c9; }
.payment-row.status-done { --payment-accent: #21a56d; }
.payment-row.status-refund { --payment-accent: #d45555; }
.payment-row.status-cancelled { --payment-accent: #a85b5b; background: rgba(120,120,120,0.045); }
.payment-row.unassigned {
  --payment-accent: #858b94;
  background: rgba(120,120,120,0.065);
}
.payment-row-time {
  color: var(--text2);
  font-size: 11px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.payment-row-info { min-width: 0; }
.payment-row-title {
  overflow: hidden;
  color: var(--text);
  font-size: 13px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.payment-row-title.empty { color: #d6a34a; font-weight: 700; }
.payment-row-meta {
  margin-top: 3px;
  color: var(--text2);
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.payment-row-amount {
  color: var(--green);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.payment-row-controls {
  display: contents;
}
.pay-control { min-width: 0; }
.pay-control label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.pay-control select {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 11px;
}
.payment-status-select {
  font-weight: 750 !important;
}
.payment-status-select.status-work {
  border-color: rgba(212, 154, 36, 0.45);
  background: rgba(212, 154, 36, 0.10);
  color: #e5b653;
}
.payment-status-select.status-wait {
  border-color: rgba(139, 116, 201, 0.45);
  background: rgba(139, 116, 201, 0.10);
  color: #b9a4ee;
}
.payment-status-select.status-done {
  border-color: rgba(33, 165, 109, 0.42);
  background: rgba(33, 165, 109, 0.10);
  color: #55ca92;
}
.payment-status-select.status-refund,
.payment-status-select.status-cancelled {
  border-color: rgba(212, 85, 85, 0.42);
  background: rgba(212, 85, 85, 0.10);
  color: #e28a8a;
}
.payment-history-btn {
  width: 32px;
  height: 32px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: transparent;
  color: var(--text2);
  padding: 0;
  cursor: pointer;
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
}
.payment-history-btn:hover {
  background: var(--surface2);
  color: var(--text);
}
.payment-history {
  display: none;
  grid-column: 2 / -1;
  padding: 10px 12px;
  border-left: 2px solid var(--border);
  border-radius: 6px;
  background: var(--surface2);
  color: var(--text2);
  font-size: 10px;
  line-height: 1.6;
}
.payment-history.visible { display: block; }
.payment-details-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  padding-bottom: 7px;
  margin-bottom: 7px;
  border-bottom: 1px solid var(--border);
}
.payment-details-summary span { white-space: nowrap; }
.payment-history-title {
  margin-bottom: 3px;
  color: var(--text);
  font-size: 10px;
  font-weight: 800;
}
.payment-history-log:empty::before {
  content: 'Изменений пока нет';
  color: var(--text2);
}
.payment-list-empty {
  margin: auto;
  padding: 28px;
  color: var(--text2);
  font-size: 12px;
  text-align: center;
}

.codes-panel-body {
  overflow-y: auto;
  padding: 18px 20px 28px;
  background: var(--bg);
}
.codes-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.codes-toolbar-copy { min-width: 0; }
.codes-toolbar-title { color: var(--text); font-size: 15px; font-weight: 800; }
.codes-toolbar-meta { color: var(--text2); font-size: 12px; margin-top: 3px; }
.codes-toolbar button {
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface2);
  color: var(--text);
  font: inherit;
}
.codes-toolbar button {
  border-radius: 12px;
  min-height: 42px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.08) inset;
  transition: transform .16s ease, opacity .16s ease, background .16s ease;
}
.codes-toolbar button:active { transform: scale(.97); }
.codes-toolbar button {
  padding: 0 16px;
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.codes-toolbar button:disabled { opacity: 0.58; cursor: wait; }
.codes-mailboxes {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  padding: 14px 0 8px;
}
.codes-filters { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 8px; margin-top: 10px; }
.codes-filters input, .codes-filters select {
  min-height: 42px; border: 1px solid var(--border); border-radius: 12px;
  background: var(--surface); color: var(--text); padding: 0 12px; font: inherit;
}
.codes-group-title {
  padding: 14px 4px 5px; color: var(--text2); font-size: 11px;
  font-weight: 750; letter-spacing: .04em; text-transform: uppercase;
}
.mail-code-row.is-new { border-color: rgba(var(--accent-rgb),.48); }
.mail-code-row.is-new .mail-code-value::after {
  content: none; display: none; margin-left: 8px; padding: 3px 6px;
  border-radius: 999px; background: rgba(var(--accent-rgb),.13); color: var(--accent);
  font-size: 9px; letter-spacing: 0; vertical-align: middle;
}
.mail-code-row.is-old { opacity: .64; }
.mobile-tabbar { display: none; }
.codes-mailbox {
  color: var(--text2);
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 650;
}
.codes-mailbox.ok { color: var(--green); border-color: color-mix(in srgb, var(--green) 45%, var(--border)); }
.codes-mailbox.error { color: var(--red); border-color: color-mix(in srgb, var(--red) 45%, var(--border)); }
.mail-codes-list { margin-top: 8px; border-top: 1px solid var(--border); }
.mail-code-row {
  display: grid;
  grid-template-columns: 116px minmax(150px, 0.8fr) minmax(220px, 1.8fr) 120px;
  gap: 14px;
  align-items: center;
  min-height: 66px;
  padding: 10px 8px;
  border-bottom: 1px solid var(--border);
}
.mail-code-value {
  color: var(--accent);
  font-size: 21px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  user-select: all;
  cursor: pointer;
}
.mail-code-mailbox,
.mail-code-time { color: var(--text2); font-size: 12px; }
.mail-code-source { min-width: 0; }
.mail-code-subject {
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mail-code-sender {
  color: var(--text2);
  font-size: 11px;
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.codes-empty { color: var(--text2); padding: 42px 16px; text-align: center; font-size: 13px; }
.codes-settings {
  margin: 10px 0 4px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
}
.codes-settings > summary {
  padding: 11px 12px;
  color: var(--text);
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}
.code-mailbox-setting {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) minmax(180px, 0.8fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px 12px;
  border-top: 1px solid var(--border);
}
.code-mailbox-address { color: var(--text); font-size: 12px; font-weight: 700; }
.code-mailbox-state { color: var(--text2); font-size: 11px; margin-top: 3px; }
.code-mailbox-state.configured { color: var(--green); }
.code-mailbox-setting input,
.code-mailbox-setting button {
  height: 36px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font: inherit;
}
.code-mailbox-setting input { min-width: 0; padding: 0 10px; background: var(--surface2); color: var(--text); }
.code-mailbox-setting button { padding: 0 13px; background: var(--surface2); color: var(--text); font-weight: 700; cursor: pointer; }
.code-mailbox-setting button:disabled { opacity: 0.55; cursor: wait; }

@media (max-width: 980px) {
  .payment-column-head,
  .payment-row {
    grid-template-columns: 52px minmax(150px, 1fr) 108px 126px 120px 34px;
    gap: 7px;
  }
}
@media (max-width: 760px) {
  #panel-pay .panel-body { padding: 12px; }
  .pay-panel-header { padding-left: 12px; padding-right: 12px; }
  .pay-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pay-summary-item { border-bottom: 1px solid var(--border); }
  .pay-summary-item:nth-child(even) { border-right: 0; }
  .pay-summary-item:last-child { border-bottom: 0; }
  .pay-toolbar { grid-template-columns: 1fr 1fr 36px; }
  .pay-toolbar input { grid-column: 1 / -1; }
  .payment-column-head { display: none; }
  .payment-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 7px;
    padding: 10px 9px 10px 12px;
  }
  .payment-row-controls {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 34px;
    gap: 7px;
  }
  .payment-row-amount { grid-column: 3; }
  .payment-history { grid-column: 1 / -1; }
  .payment-day-meta .payment-day-rate { display: none; }
  .codes-panel-body { padding: 12px; }
  .codes-toolbar { grid-template-columns: 1fr 1fr; }
  .codes-toolbar-copy { grid-column: 1 / -1; }
  .codes-toolbar button { padding: 0 10px; }
  .mail-code-row {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 6px 10px;
    padding: 12px 6px;
  }
  .mail-code-source { grid-column: 1 / -1; grid-row: 2; }
  .mail-code-time { text-align: right; }
  .code-mailbox-setting { grid-template-columns: minmax(0, 1fr) auto; }
  .code-mailbox-setting input { grid-column: 1 / -1; grid-row: 2; }
}

/* ── QR BOT · calm, information-first interface ────────────────────────── */
#panel-qr {
  --qr-content-width: 920px;
  --qr-card-width: 460px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", sans-serif;
  background: var(--bg);
}

#panel-qr .qr-panel-header {
  justify-content: space-between;
  align-items: center;
  min-height: 68px;
  padding: 10px 20px;
}

#panel-qr .qr-panel-heading,
#panel-qr .qr-panel-title-group {
  display: flex;
  align-items: center;
}

#panel-qr .qr-panel-heading { gap: 10px; }
#panel-qr .qr-panel-title-group { align-items: flex-start; flex-direction: column; gap: 1px; }
#panel-qr .panel-title { font-size: 17px; line-height: 1.25; letter-spacing: -.018em; }
#panel-qr .qr-panel-subtitle { color: var(--text2); font-size: 11px; line-height: 1.3; font-weight: 500; }

#panel-qr .pill-switcher {
  height: 40px;
  min-width: 184px;
  padding: 3px;
  border: 1px solid rgba(127,127,134,.09);
  border-radius: 13px;
  background: var(--surface2);
}

#panel-qr .pill-indicator {
  top: 3px;
  bottom: 3px;
  left: 3px;
  border-radius: 10px;
  background: var(--accent);
  box-shadow: 0 1px 2px rgba(0,0,0,.22), 0 5px 14px rgba(var(--accent-rgb),.18);
}

#panel-qr .pill-btn {
  min-width: 88px;
  padding: 0 14px;
  color: var(--text2);
  font-size: 13px;
  line-height: 32px;
  font-weight: 600;
}

#panel-qr .pill-btn.active { color: #fff; }

#panel-qr .messages-container {
  padding: 28px max(28px, calc((100% - var(--qr-content-width))/2)) 112px;
  gap: 14px;
  background:
    radial-gradient(circle at 50% -12%, rgba(var(--accent-rgb),.055), transparent 32%),
    var(--bg);
  scroll-padding-bottom: 110px;
}

#panel-qr .msg-bubble.qr-order-card,
#panel-qr .msg-bubble.qr-result {
  width: min(var(--qr-card-width), 76%);
  max-width: var(--qr-card-width);
  padding: 17px 17px 27px;
  border: 1px solid var(--border);
  border-radius: 20px;
  border-bottom-left-radius: 8px;
  background: var(--surface);
  box-shadow: 0 1px 0 rgba(255,255,255,.025), 0 10px 28px rgba(0,0,0,.10);
}

#panel-qr .msg-bubble.outgoing {
  max-width: min(70%, 640px);
  padding: 12px 15px 22px;
  border-radius: 19px;
  border-bottom-right-radius: 7px;
  box-shadow: 0 7px 20px rgba(var(--accent-rgb),.16);
  font-size: 14px;
}

#panel-qr .qr-order-head { align-items: center; gap: 14px; margin-bottom: 13px; }
#panel-qr .qr-order-head > div:first-child { min-width: 0; flex: 1; }
#panel-qr .qr-order-amount {
  font-size: 22px;
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: -.035em;
}

#panel-qr .qr-order-source {
  max-width: 100%;
  margin-top: 4px;
  color: var(--text2);
  font-size: 11px;
  line-height: 1.35;
  font-weight: 500;
}

#panel-qr .qr-status {
  max-width: 132px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1.15;
  font-weight: 700;
  text-align: center;
}

#panel-qr .qr-status.active { border-color: rgba(16,185,129,.18); }
#panel-qr .qr-status.paid { border-color: rgba(var(--accent-rgb),.18); }
#panel-qr .qr-status.error { border-color: rgba(239,68,68,.18); }
#panel-qr .qr-status.creating { border-color: rgba(var(--accent-rgb),.18); }

#panel-qr .qr-order-image {
  margin: 2px auto 11px;
  border: 0;
  border-radius: 15px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}

#panel-qr .qr-copy-actions { gap: 8px; margin-top: 10px; }
#panel-qr .qr-copy-action {
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface2);
  color: var(--text);
  font: inherit;
  font-size: 13px;
  font-weight: 560;
  transition: background .16s ease, border-color .16s ease, transform .12s ease;
}

#panel-qr .qr-copy-action:hover {
  transform: none;
  border-color: var(--border-strong);
  background: var(--surface3);
}

#panel-qr .qr-copy-action:active { transform: scale(.985); }
#panel-qr .qr-copy-action.primary {
  border-color: rgba(var(--accent-rgb),.38);
  background: rgba(var(--accent-rgb),.07);
}

#panel-qr .qr-copy-value {
  color: var(--accent);
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: -.01em;
}

#panel-qr .qr-error-message {
  padding: 11px 12px;
  border-radius: 12px;
  background: rgba(239,68,68,.075);
  color: var(--red);
  font-size: 12px;
  line-height: 1.45;
}

#panel-qr .msg-time { right: 13px; bottom: 7px; font-size: 10px; font-weight: 500; opacity: .72; }

#panel-qr .input-area {
  bottom: 18px;
  width: min(720px, calc(100% - 48px));
  min-height: 58px;
  gap: 8px;
  padding: 7px 7px 7px 15px;
  border: 1px solid var(--border-strong);
  border-radius: 19px;
  background: rgba(var(--surface-rgb),.94);
  box-shadow: 0 15px 44px rgba(0,0,0,.24), 0 1px 0 rgba(255,255,255,.035) inset;
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
}

#panel-qr .qr-input-icon { width: 18px; height: 18px; color: var(--text2); flex: 0 0 auto; }
#panel-qr .input-area input {
  min-width: 0;
  min-height: 42px;
  padding: 9px 4px;
  font-size: 14px;
  letter-spacing: -.01em;
}

#panel-qr .input-area:focus-within {
  border-color: rgba(var(--accent-rgb),.55);
  box-shadow: 0 15px 44px rgba(0,0,0,.24), 0 0 0 3px rgba(var(--accent-rgb),.10);
}

#panel-qr .send-btn {
  width: 43px;
  height: 43px;
  border-radius: 14px;
  box-shadow: 0 6px 14px rgba(var(--accent-rgb),.23);
}

#panel-qr .send-btn svg { width: 21px; height: 21px; fill: currentColor; }

#panel-qr .scroll-bottom-btn {
  right: max(22px, calc((100% - var(--qr-content-width))/2));
  bottom: 92px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  background: rgba(var(--surface-rgb),.94);
  color: var(--text);
  box-shadow: 0 7px 22px rgba(0,0,0,.22);
  backdrop-filter: blur(16px);
}

#panel-qr .scroll-bottom-btn .ui-icon { width: 17px; height: 17px; margin: auto; }

#panel-qr #qr-amounts-grid {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
  background: var(--bg);
}

#panel-qr .qr-amounts-content {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: 32px 28px 40px;
}

#panel-qr .qr-amounts-heading { margin-bottom: 20px; }
#panel-qr .qr-amounts-heading h2 { font-size: 22px; line-height: 1.2; letter-spacing: -.035em; }
#panel-qr .qr-amounts-heading p { margin-top: 5px; color: var(--text2); font-size: 13px; line-height: 1.45; }
#panel-qr #qr-grid-container {
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 10px;
  max-width: none;
}

#panel-qr .amt-chip {
  min-height: 62px;
  padding: 10px 12px !important;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 1px 0 rgba(255,255,255,.025);
  font-size: 15px !important;
  font-weight: 650;
  letter-spacing: -.015em;
}

#panel-qr .amt-chip:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--accent-rgb),.42);
  background: rgba(var(--accent-rgb),.075);
  color: var(--accent);
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

@media (max-width: 768px) {
  #panel-qr { --qr-card-width: 520px; }
  #panel-qr .qr-panel-header { min-height: 58px; padding: 7px 10px; }
  #panel-qr .qr-panel-heading { gap: 5px; min-width: 0; }
  #panel-qr .qr-panel-subtitle { display: none; }
  #panel-qr .panel-title { font-size: 16px; }
  #panel-qr .pill-switcher { min-width: 152px; height: 38px; border-radius: 12px; }
  #panel-qr .pill-btn { min-width: 72px; padding: 0 10px; font-size: 12px; }
  #panel-qr .messages-container {
    padding: 14px 10px calc(143px + env(safe-area-inset-bottom));
    gap: 11px;
  }
  #panel-qr .msg-bubble.qr-order-card,
  #panel-qr .msg-bubble.qr-result {
    width: calc(100% - 18px);
    max-width: var(--qr-card-width);
    padding: 14px 14px 25px;
    border-radius: 18px;
    border-bottom-left-radius: 7px;
  }
  #panel-qr .msg-bubble.outgoing { max-width: 88%; font-size: 13px; }
  #panel-qr .qr-order-amount { font-size: 19px; }
  #panel-qr .qr-status { max-width: 112px; padding: 5px 8px; font-size: 9px; }
  #panel-qr .qr-copy-action { min-height: 45px; font-size: 12px; }
  #panel-qr .input-area {
    bottom: calc(62px + env(safe-area-inset-bottom) - 1px);
    width: 100%;
    min-height: 64px;
    padding: 8px 9px;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 17px 17px 0 0;
    box-shadow: 0 -8px 24px rgba(0,0,0,.12);
  }
  #panel-qr .qr-input-icon { display: none; }
  #panel-qr .input-area input {
    min-height: 46px;
    padding: 10px 13px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface2);
  }
  #panel-qr .send-btn { width: 46px; height: 46px; border-radius: 14px; }
  #panel-qr .scroll-bottom-btn { right: 12px; bottom: calc(136px + env(safe-area-inset-bottom)); }
  #panel-qr .qr-amounts-content { padding: 22px 12px calc(84px + env(safe-area-inset-bottom)); }
  #panel-qr .qr-amounts-heading { margin-bottom: 14px; }
  #panel-qr .qr-amounts-heading h2 { font-size: 19px; }
  #panel-qr .qr-amounts-heading p { font-size: 12px; }
  #panel-qr #qr-grid-container { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
  #panel-qr .amt-chip { min-height: 52px; border-radius: 13px; font-size: 13px !important; }
}

@media (min-width: 769px) and (max-width: 1120px) {
  #panel-qr #qr-grid-container { grid-template-columns: repeat(4, minmax(105px,1fr)); }
}

/* An inline mobile navigation state must never hide the desktop sidebar. */
@media (min-width: 769px) {
  #app-sidebar { display: flex !important; }
  #app-main-content { display: block !important; }
}
@media (max-width: 480px) {
  .pay-panel-header { align-items: flex-start; gap: 8px; }
  .exchange-rate-control label { display: none; }
  .exchange-rate-control { gap:4px; }
  .exchange-rate-value { min-height:30px; }
  .exchange-rate-control input { width: 58px; }
  .exchange-rate-control button { padding: 0 8px; font-size:9px; }
  .pay-summary-item { padding: 9px 10px; }
  .payment-day-meta { gap: 8px; }
  .pay-toolbar { grid-template-columns: 1fr 36px; }
  .pay-toolbar select { grid-column: 1; }
  .pay-filter-reset { grid-column: 2; grid-row: 2 / span 2; align-self: stretch; height: auto; }
  .payment-row-controls { grid-template-columns: 1fr 1fr 34px; }
  .payment-history { grid-column: 1 / -1; }
}

/* ── BLOOM DESIGN SYSTEM 2026 ── */
:root {
  --bg: #0b0c0f;
  --surface: #17181c;
  --surface-rgb: 23, 24, 28;
  --surface2: #222329;
  --border: rgba(255,255,255,.09);
  --text: #f5f5f7;
  --text2: #a1a1aa;
  --accent: #0a84ff;
  --accent-rgb: 10,132,255;
  --shadow: 0 18px 60px rgba(0,0,0,.28);
  --r: 20px;
}
[data-theme="light"] {
  --bg: #f2f2f7;
  --surface: rgba(255,255,255,.92);
  --surface-rgb: 255,255,255;
  --surface2: #f7f7fa;
  --border: rgba(60,60,67,.14);
  --text: #1d1d1f;
  --text2: #6e6e73;
  --accent: #007aff;
  --accent-rgb: 0,122,255;
  --shadow: 0 16px 48px rgba(36,38,44,.09);
}
body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, sans-serif;
  letter-spacing: -.012em;
  background:
    radial-gradient(circle at 80% -20%, rgba(var(--accent-rgb),.10), transparent 36%),
    var(--bg);
}
button, input, select, textarea { font-family: inherit; }
button { -webkit-tap-highlight-color: transparent; }
.sidebar {
  width: 328px;
  background: rgba(var(--surface-rgb),.80);
  backdrop-filter: blur(32px) saturate(170%);
  -webkit-backdrop-filter: blur(32px) saturate(170%);
}
.sidebar-header { padding: 18px 18px 14px; min-height: 78px; }
.sidebar-header-gradient { background: transparent; }
.user-avatar-circle { box-shadow: 0 0 0 1px rgba(255,255,255,.14), 0 6px 18px rgba(0,0,0,.18); }
.user-name { font-size: 17px; letter-spacing: -.025em; }
.chats-list { padding: 10px 8px; }
.chat-item, .contact-item {
  min-height: 68px;
  margin: 3px 4px;
  padding: 11px 12px;
  border-radius: 18px;
}
.chat-item.active, .contact-item.active {
  background: linear-gradient(145deg, rgba(var(--accent-rgb),.98), rgba(var(--accent-rgb),.78));
  box-shadow: 0 8px 24px rgba(var(--accent-rgb),.24);
}
.chat-icon-circle { width: 42px; height: 42px; font-size: 20px; box-shadow: none; }
.chat-title { font-size: 15px; font-weight: 650; letter-spacing: -.015em; }
.chat-last-msg { font-size: 12.5px; }
.main-content { background: transparent; }
.panel-header { min-height: 68px; padding: 12px 22px; }
.panel-title { font-family: inherit; font-size: 19px; font-weight: 700; letter-spacing: -.03em; }
.back-btn { font-size: 24px; width: 38px; height: 38px; border-radius: 50%; color: var(--accent); }
.back-btn:active { background: rgba(var(--accent-rgb),.12); }
.back-btn .ui-icon { width:24px; height:24px; margin:auto; }
.panel-body { padding: 22px; gap: 16px; }
.settings-card, .pay-summary-grid, .pay-toolbar, .pay-list-section, .codes-settings {
  border-color: var(--border);
  box-shadow: var(--shadow);
}
.settings-card { border-radius: 22px; padding: 22px; }
.settings-card h3 { font-size: 17px; letter-spacing: -.025em; }
.auth-btn { border-radius: 14px; min-height: 48px; box-shadow: none; font-weight: 650; }
.input-group input, textarea, .pay-toolbar input, .pay-toolbar select {
  border-radius: 13px !important;
  min-height: 44px;
}
.input-area {
  bottom: 14px;
  width: min(760px, calc(100% - 28px));
  min-height: 60px;
  padding: 8px 8px 8px 16px;
  gap: 8px;
  background: rgba(var(--surface-rgb),.92);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 12px 40px rgba(0,0,0,.22), 0 1px 0 rgba(255,255,255,.08) inset;
}
.input-area:focus-within {
  border-color: rgba(var(--accent-rgb),.48);
  box-shadow: 0 12px 40px rgba(0,0,0,.22), 0 0 0 3px rgba(var(--accent-rgb),.10);
}
.input-area input {
  min-width: 0;
  min-height: 42px;
  padding: 8px 4px;
  font-size: 16px;
  line-height: 1.35;
}
.input-area input::placeholder { color: var(--text2); opacity: .75; }
.send-btn { width: 40px; height: 40px; font-size: 16px; }
.send-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(var(--accent-rgb),.28);
}
.send-btn svg { width: 19px; height: 19px; display: block; fill: currentColor; }
.send-btn:hover { filter: brightness(1.06); }
.send-btn:disabled { opacity: .45; box-shadow: none; }
.amt-chip {
  border-radius: 14px;
  background: rgba(var(--surface-rgb),.92);
  box-shadow: 0 5px 16px rgba(0,0,0,.08);
}
.msg-bubble { border-radius: 20px; box-shadow: 0 5px 18px rgba(0,0,0,.08); }
.codes-toolbar {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.codes-settings { border-radius: 16px; overflow: hidden; }
.codes-mailbox { border-radius: 999px; padding: 6px 10px; }
.mail-codes-list { border-top: 0; display: grid; gap: 8px; }
.mail-code-row {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
  padding: 13px 14px;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.mail-code-value { letter-spacing: .04em; }
.pill-switcher { background: var(--surface2); border: 1px solid var(--border); }
@media (max-width: 768px) {
  .panel-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(var(--surface-rgb),.94);
    backdrop-filter: blur(24px) saturate(170%);
    -webkit-backdrop-filter: blur(24px) saturate(170%);
  }
  .panel-header .back-btn { display:flex; align-items:center; justify-content:center; flex:0 0 38px; }
  .panel-header { padding: 10px 14px; min-height: 62px; }
  .panel-body { padding: 14px; }
  .messages-container { padding: 18px 14px 96px; }
  .input-area {
    bottom: calc(64px + env(safe-area-inset-bottom));
    width: 100%;
    max-width: none;
    min-height: 64px;
    padding: 8px 10px;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
    transform: translateX(-50%);
  }
  .input-area input {
    min-height: 44px;
    padding: 10px 13px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--surface2);
  }
  .send-btn { width: 44px; height: 44px; }
  .messages-container { padding-bottom: calc(160px + env(safe-area-inset-bottom)); }
  .messages-container { gap: 10px; }
  .msg-bubble { max-width: 88%; padding: 10px 12px 22px; }
  .msg-bubble.qr-result { width: min(88%, 410px); }
  .qr-order-card { width:calc(100% - 28px); max-width:none; }
  .qr-order-image {
    width: 100%;
    max-width: 400px;
    max-height: 420px;
  }
  .qr-copy-actions { display: flex; flex-direction: column; gap: 7px; margin-top: 8px; }
  .qr-copy-actions .qr-copy-action { margin-top: 0; min-height: 44px; }
  .qr-copy-actions .qr-copy-value { overflow-wrap: anywhere; }
  .qr-request-label { font-weight: 700; }
  .qr-request-link { font-size: 12px; opacity: .82; }
  .scroll-bottom-btn,
  .scroll-bottom-btn.visible {
    right: 14px;
    bottom: calc(140px + env(safe-area-inset-bottom));
    width: 44px;
    height: 44px;
    z-index: 80;
  }
  .mobile-only { display: block !important; }
  .mobile-account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .mobile-contacts-host .contact-item { margin: 3px 0; }
  .mobile-tabbar {
    position: fixed; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
    left: 0; right: 0; bottom: 0; z-index: 1000;
    min-height: calc(64px + env(safe-area-inset-bottom));
    padding: 6px 5px calc(5px + env(safe-area-inset-bottom));
    background: rgba(var(--surface-rgb),.90); border-top: 1px solid var(--border);
    backdrop-filter: blur(28px) saturate(180%);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    transition: transform .22s ease, opacity .22s ease;
  }
  .mobile-tabbar.keyboard-open { transform: translateY(110%); opacity: 0; pointer-events: none; }
  .mobile-tab {
    border: 0; background: transparent; color: var(--text2); min-width: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; font-size: 10px; font-weight: 650;
  }
  .mobile-tab-icon { font-size: 20px; line-height: 1; }
  .mobile-tab-icon .ui-icon { width:21px; height:21px; }
  .mobile-tab.active { color: var(--accent); }
  #qr-amounts-grid { padding: 14px !important; }
  .sidebar { width: 100%; }
  .chat-item, .contact-item { margin-inline: 2px; }
  .codes-toolbar { padding: 14px; }
  .codes-filters { grid-template-columns: 1fr; }
  .codes-mailboxes { padding: 8px 0 4px; gap: 6px; }
  .codes-mailbox { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .codes-group-title { padding: 15px 4px 7px; }
  .mail-code-row {
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 6px 12px;
    min-height: 0;
    padding: 15px 16px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--surface);
    cursor: pointer;
  }
  .mail-code-row:active { transform: scale(.985); background: var(--surface2); }
  .mail-code-value { font-size: 29px; line-height: 1; align-self: center; }
  .mail-code-mailbox { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; align-self: center; }
  .mail-code-source { grid-column: 1 / -1; }
  .mail-code-subject { font-size: 14px; white-space: normal; line-height: 1.3; }
  .mail-code-sender { font-size: 12px; white-space: normal; }
  .mail-code-time { grid-column: 1 / -1; font-size: 12px; }
}
.mobile-only { display: none; }

/* ── BLOOM PRODUCT UI 2.0 ─────────────────────────────────────────────── */
:root {
  --bg: #090a0d;
  --surface: #15161a;
  --surface-rgb: 21,22,26;
  --surface2: #202126;
  --surface3: #292a30;
  --border: rgba(255,255,255,.075);
  --border-strong: rgba(255,255,255,.13);
  --text: #f5f5f7;
  --text2: #98989f;
  --accent: #0a84ff;
  --accent-rgb: 10,132,255;
  --green: #30d158;
  --red: #ff453a;
  --orange: #ff9f0a;
  --shadow: 0 20px 60px rgba(0,0,0,.24);
  --shadow-soft: 0 8px 28px rgba(0,0,0,.16);
  --r: 18px;
}
[data-theme="light"] {
  --bg: #f5f5f7;
  --surface: #ffffff;
  --surface-rgb: 255,255,255;
  --surface2: #f0f0f3;
  --surface3: #e6e6eb;
  --border: rgba(60,60,67,.11);
  --border-strong: rgba(60,60,67,.18);
  --text: #1d1d1f;
  --text2: #6e6e73;
  --accent: #007aff;
  --accent-rgb: 0,122,255;
  --green: #248a3d;
  --red: #d70015;
  --orange: #c93400;
  --shadow: 0 20px 55px rgba(28,28,30,.08);
  --shadow-soft: 0 7px 24px rgba(28,28,30,.06);
}
body {
  background: var(--bg);
  font-size: 14px;
  font-feature-settings: "tnum" 1, "ss01" 1;
}
button, input, select, textarea { font-size: 14px; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(var(--accent-rgb),.3);
  outline-offset: 2px;
}
.layout { padding: 10px; gap: 10px; }
.sidebar {
  width: 292px;
  height: 100%;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(var(--surface-rgb),.88);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.sidebar-header {
  min-height: 76px;
  padding: 15px 16px;
  border-bottom: 0;
}
.user-avatar-circle {
  width: 42px;
  height: 42px;
  font-size: 16px;
  background: linear-gradient(145deg,#6e6e76,#3a3a40);
  border: 1px solid rgba(255,255,255,.18);
}
.user-name { font-size: 15px; font-weight: 650; }
.logout-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  color: var(--text2);
  background: transparent;
}
.logout-btn:hover { color: var(--red); background: rgba(255,69,58,.12); }
.logout-btn .ui-icon { width: 19px; height: 19px; }
.chats-list { padding: 2px 8px 10px; }
.chat-item, .contact-item {
  min-height: 62px;
  margin: 2px 0;
  padding: 9px 10px;
  border-radius: 15px;
  border: 0;
  transition: background .16s ease, transform .16s ease;
}
.chat-item:hover, .contact-item:hover { background: rgba(127,127,134,.10); transform: none; }
.chat-item.active, .contact-item.active {
  background: rgba(var(--accent-rgb),.15);
  color: var(--text);
  box-shadow: none;
}
.chat-item.active::before, .contact-item.active::before {
  content: "";
  width: 3px;
  height: 24px;
  border-radius: 3px;
  background: var(--accent);
  margin-left: -6px;
}
.chat-item.active .chat-title { color: var(--text); }
.chat-item.active .chat-time, .chat-item.active .chat-last-msg,
.contact-item.active .chat-last-msg, .chat-item.active .msg-status { color: var(--text2); }
.chat-icon-circle {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  color: #fff;
}
.chat-icon-circle .ui-icon { width: 20px; height: 20px; stroke-width: 1.8; }
.gradient-blue { background: linear-gradient(145deg,#3b9cff,#0878ec); }
.gradient-green { background: linear-gradient(145deg,#38d66b,#169641); }
.gradient-violet { background: linear-gradient(145deg,#8f7cff,#6451d6); }
.gradient-orange { background: linear-gradient(145deg,#ffad3d,#ed6c19); }
.chat-title { font-size: 14px; font-weight: 650; }
.chat-last-msg { margin-top: 2px; font-size: 12px; }
.sidebar-divider { margin-top: 8px; border-top: 0 !important; color: var(--text2) !important; }
.sidebar-footer {
  padding: 8px;
  gap: 4px;
  border-top: 1px solid var(--border);
  background: transparent;
}
.footer-btn {
  display: flex;
  align-items: center;
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--text2);
  justify-content: flex-start;
  gap: 9px;
  font-weight: 600;
  text-align: left;
}
.footer-btn:hover { background: var(--surface2); color: var(--text); }
#btn-settings-open { flex: 1 1 auto; }
.footer-btn + .footer-btn { flex: 0 0 42px; justify-content: center; padding: 0; }
.main-content {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.chat-panel { background: var(--surface); }
.panel-header {
  min-height: 64px;
  padding: 11px 20px;
  border-bottom: 1px solid var(--border);
  background: rgba(var(--surface-rgb),.88);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}
.panel-title { font-size: 18px; font-weight: 700; letter-spacing: -.025em; }
.pill-switcher {
  height: 38px;
  padding: 3px;
  border: 0;
  border-radius: 12px;
  background: var(--surface2);
}
.pill-indicator { top: 3px; bottom: 3px; left: 3px; border-radius: 9px; box-shadow: 0 2px 8px rgba(0,0,0,.16); }
.pill-btn { min-width: 84px; font-size: 13px; font-weight: 650; }
.panel-body { padding: 20px; gap: 14px; }
.messages-container {
  width: 100%;
  padding: 24px max(24px, calc((100% - 900px)/2)) 106px;
  gap: 12px;
  background: var(--bg);
}
#panel-qr .messages-container {
  padding-left: 40px;
  padding-right: 40px;
}
.msg-bubble {
  max-width: min(68%, 580px);
  border-radius: 18px;
  box-shadow: none;
  line-height: 1.42;
}
.msg-bubble.incoming { background: var(--surface); border-color: var(--border); }
.msg-bubble.outgoing { background: var(--accent); }
.qr-order-card {
  width: min(440px, 74%);
  max-width: 440px;
  padding: 16px 16px 26px;
  border-radius: 20px;
}
.qr-order-head { margin-bottom: 12px; }
.qr-order-amount { font-size: 20px; letter-spacing: -.025em; }
.qr-order-source { max-width: 310px; font-size: 12px; }
.qr-status { padding: 5px 9px; font-weight: 700; }
.qr-order-image { max-height: 490px; border-radius: 14px; background: #fff; }
.qr-copy-actions { gap: 8px; }
.qr-copy-action {
  min-height: 44px;
  padding: 9px 11px;
  border-radius: 12px;
  border-color: var(--border);
  background: var(--surface2);
}
.qr-copy-action:hover { border-color: var(--border-strong); background: var(--surface3); }
.qr-copy-action.primary { border-color: rgba(var(--accent-rgb),.42); }
.input-area {
  bottom: 16px;
  width: min(720px, calc(100% - 40px));
  min-height: 58px;
  padding: 7px 7px 7px 15px;
  border-radius: 18px;
  background: rgba(var(--surface-rgb),.94);
  border-color: var(--border-strong);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
}
.input-area input { min-height: 42px; font-size: 15px; }
.send-btn { width: 42px; height: 42px; box-shadow: none; }
#qr-amounts-grid { background: var(--bg); }
#qr-grid-container {
  grid-template-columns: repeat(10,minmax(72px,1fr));
  gap: 8px;
  max-width: 1120px;
  margin: 0 auto;
}
.amt-chip { padding-inline: 8px !important; }
.amt-chip {
  min-height: 58px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: none;
  font-size: 15px !important;
}
.amt-chip:hover { border-color: rgba(var(--accent-rgb),.45); background: rgba(var(--accent-rgb),.10); }
.settings-card, .pay-summary-grid, .pay-toolbar, .pay-list-section, .codes-toolbar, .codes-settings {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: none;
}
#panel-settings .panel-body { width: min(820px,100%); margin: 0 auto; padding-bottom: 40px; }
.settings-card { padding: 20px; }
.settings-card h3 { font-size: 16px; }
.input-group { margin-bottom: 16px; text-align: left; }
.input-group label { margin: 0 0 7px 2px; font-size: 12px; font-weight: 600; }
.input-group input, textarea,
.pay-toolbar input, .pay-toolbar select, .pay-control select,
.codes-filters input, .codes-filters select {
  min-height: 44px;
  border: 1px solid var(--border);
  border-radius: 11px !important;
  background: var(--surface2);
  color: var(--text);
}
.auth-btn { min-height: 46px; border-radius: 12px; font-weight: 650; box-shadow: none; }
.toggle-row { min-height: 52px; }
.toggle-slider { background: var(--surface3); }
.pay-panel-body { max-width: 1280px; width: 100%; margin: 0 auto; }
.pay-summary-grid { padding: 4px; }
.pay-summary-item { padding: 14px 16px; border-right-color: var(--border); }
.pay-summary-label { font-size: 11px; text-transform: none; letter-spacing: 0; }
.pay-summary-value { margin-top: 5px; font-size: 20px; }
.pay-toolbar { padding: 10px; }
.pay-list-section { overflow: hidden; }
.payment-column-head { background: var(--surface2); }
.payment-row { min-height: 68px; }
.payment-row:hover { background: rgba(127,127,134,.075); }
.payment-row::before { width: 3px; }
.payment-status-select { border-radius: 10px !important; }
.codes-panel-body {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 20px max(24px, calc((100% - 1180px)/2));
  background: var(--surface);
}
.codes-toolbar { padding: 15px 16px; }
.codes-toolbar button { min-height: 40px; border-radius: 11px; }
.mail-code-row { padding: 13px 15px; border-radius: 14px; box-shadow: none; }
.avito-split { background: var(--bg); }
.avito-dialogs { width: 330px; background: var(--surface); border-right-color: var(--border); }
.avito-dialog-item { margin: 3px 7px; padding: 11px; border-radius: 14px; }
.avito-dialog-item:hover, .avito-dialog-item.active { background: rgba(var(--accent-rgb),.13); }
.payment-toast {
  top: 96px;
  right: 18px;
  border: 1px solid var(--border-strong);
  border-radius: 20px;
  background: rgba(var(--surface-rgb),.88);
  box-shadow: 0 16px 48px rgba(0,0,0,.3);
}
.payment-toast-icon { border-radius: 13px; }
.auth-card {
  max-width: 380px;
  padding: 34px;
  border-radius: 26px;
  background: rgba(var(--surface-rgb),.84);
  border-color: var(--border-strong);
  box-shadow: 0 30px 80px rgba(0,0,0,.32);
}
#auth-screen { background: radial-gradient(circle at 50% 15%,rgba(var(--accent-rgb),.16),transparent 32%),var(--bg); }
.qr-viewer-actions { justify-items: stretch; max-width: 680px; width: 100%; margin: 0 auto; }

@media (max-width: 768px) {
  .layout { padding: 0; gap: 0; }
  .sidebar, .main-content { border: 0; border-radius: 0; box-shadow: none; }
  .sidebar { width: 100%; }
  .sidebar-header { min-height: 74px; padding: 13px 16px; }
  .chats-list { padding: 5px 8px 84px; }
  .chat-item, .contact-item { min-height: 64px; border-radius: 14px; }
  .chat-item.active, .contact-item.active { background: rgba(var(--accent-rgb),.13); }
  .panel-header { min-height: 58px; padding: 8px 12px; }
  .panel-title { font-size: 17px; }
  .pill-switcher { height: 36px; }
  .pill-btn { min-width: 76px; }
  .messages-container { padding: 14px 12px calc(148px + env(safe-area-inset-bottom)); }
  #panel-qr .messages-container { padding-left: 12px; padding-right: 12px; }
  .msg-bubble { max-width: 89%; }
  .qr-order-card {
    width: calc(100% - 32px);
    max-width: 480px;
    padding: 13px 13px 25px;
  }
  .qr-order-image { width: 100%; max-width: none; max-height: 470px; }
  .input-area {
    bottom: calc(62px + env(safe-area-inset-bottom) - 1px);
    width: 100%;
    min-height: 62px;
    padding: 7px 9px;
    border-radius: 18px 18px 0 0;
    border-color: var(--border);
    box-shadow: 0 -8px 26px rgba(0,0,0,.12);
  }
  .input-area input { background: var(--surface2); border: 1px solid var(--border); border-radius: 16px; padding-inline: 13px; }
  .mobile-tabbar { min-height: calc(62px + env(safe-area-inset-bottom)); background: rgba(var(--surface-rgb),.94); }
  .mobile-tab { font-size: 10px; font-weight: 600; }
  .panel-body { padding: 12px; }
  .codes-panel-body { padding: 12px 12px calc(78px + env(safe-area-inset-bottom)); }
  #qr-grid-container {
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
  }
  .amt-chip { min-height: 46px; border-radius: 12px; font-size: 13px !important; }
  #panel-settings .panel-body { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .settings-card { padding: 16px; border-radius: 16px; }
  .pay-summary-grid { grid-template-columns: repeat(2,1fr); }
  .pay-summary-item { border-bottom: 1px solid var(--border); }
  .pay-toolbar { padding: 8px; }
  .payment-toast { top: calc(10px + env(safe-area-inset-top)); left: 12px; right: 12px; width: auto; }
  .qr-viewer-actions { grid-template-columns: 1fr 1fr; }
  #qr-viewer-close { grid-column: 1/-1; }
}

@media (min-width: 769px) and (max-width: 1180px) {
  #qr-grid-container { grid-template-columns: repeat(5,minmax(88px,1fr)); max-width: 720px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ── KEY BUY: desktop chat, compact wallet ── */
#panel-keybuy .keybuy-wallet-balance {
  font-size: 21px;
  line-height: 1.18;
  letter-spacing: -.025em;
  max-width: none;
  overflow-wrap: normal;
}
#panel-keybuy .keybuy-messages {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  padding: 8px 2px 104px;
  min-height: 0;
}
#panel-keybuy .keybuy-messages::before { content:''; margin-top:auto; }
#panel-keybuy .keybuy-messages.is-empty::before { content:none; }
#panel-keybuy .keybuy-messages.is-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
#panel-keybuy .keybuy-empty {
  margin: 0;
  padding: 14px 18px;
  color: var(--text2);
  border: 1px dashed var(--border);
  border-radius: 16px;
  background: rgba(var(--surface-rgb), .34);
}
#panel-keybuy .keybuy-empty::before {
  content: none;
}
#panel-keybuy .keybuy-message {
  max-width: min(680px, 72%);
  padding: 11px 13px 20px;
}
#panel-keybuy .keybuy-message:has(.keybuy-product-card) {
  align-self: flex-start;
  width: min(540px, calc(100% - 24px));
  max-width: 540px;
  border-radius: 20px 20px 20px 6px;
}
.keybuy-product-card { display:grid; gap:11px; min-width:min(460px,100%); }
.keybuy-product-block { padding-right:0; }
.keybuy-product-label { color:var(--text2); font-size:11px; font-weight:650; line-height:1.25; margin-bottom:3px; }
.keybuy-product-title { color:inherit; font-size:14px; font-weight:700; line-height:1.35; text-decoration:none; }
.keybuy-product-title:hover { text-decoration: underline; }
.keybuy-product-state { position:absolute; top:11px; right:13px; width:max-content; max-width:calc(100% - 110px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:999px; padding:5px 9px; background:rgba(48,209,88,.12); color:#29b765; font-size:10px; font-weight:750; }
.keybuy-product-state.cancelled { background:rgba(248,81,73,.13); color:var(--red); }
.keybuy-product-state.confirmed { background:rgba(var(--accent-rgb),.15); color:var(--accent); }
.keybuy-product-summary { padding-top:2px; color:var(--text); font-size:15px; font-weight:750; letter-spacing:-.01em; }
.keybuy-delivery { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px; border:1px solid rgba(48,209,88,.28); border-radius:12px; background:rgba(48,209,88,.07); }
.keybuy-delivery-key { flex:1 1 280px; min-height:40px; border:1px solid rgba(48,209,88,.3); border-radius:10px; padding:8px 11px; background:var(--surface2); color:var(--text); font:750 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.02em; cursor:pointer; }
.keybuy-delivery-region { display:inline-flex; align-items:center; min-height:30px; border:1px solid rgba(48,209,88,.32); border-radius:999px; padding:5px 10px; background:rgba(48,209,88,.10); color:#32c766; font-size:11px; font-weight:800; letter-spacing:.025em; white-space:nowrap; }
.keybuy-delivery-link,.keybuy-client-template { display:inline-flex; align-items:center; justify-content:center; min-height:30px; border-radius:999px; padding:5px 12px; font:750 11px/1 inherit; text-decoration:none; white-space:nowrap; }
.keybuy-delivery-link { border:1px solid rgba(var(--accent-rgb),.32); background:rgba(var(--accent-rgb),.09); color:var(--accent); }
.keybuy-client-template { border:1px solid var(--border); background:var(--surface2); color:var(--text); cursor:pointer; }
.keybuy-header-tabs { order:3; margin-left:auto; }
.keybuy-header-tabs .pill-btn[data-keybuy-view="transactions"] { min-width:110px; }
.keybuy-header-wallet { order:2; display:flex; min-width:0; align-items:center; gap:6px; margin-left:16px; }
.keybuy-header-balance,.keybuy-header-address { border:1px solid var(--border); border-radius:9px; background:var(--surface2); color:var(--text); min-height:32px; padding:0 10px; font:750 12px/1 inherit; cursor:pointer; }
.keybuy-header-balance.loading { opacity:.62; }
.keybuy-header-address { color:var(--accent); width:min(440px,32vw); max-width:440px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.keybuy-header-wallet .keybuy-refresh { display:none; }
#panel-keybuy.transactions-view .keybuy-input-area { display:none; }
#panel-keybuy.transactions-view .keybuy-message { align-self:stretch; width:100%; max-width:none; padding:0; border:0; background:transparent; box-shadow:none; }
#panel-keybuy.transactions-view .keybuy-message-author,#panel-keybuy.transactions-view .keybuy-message-time { display:none; }
.keybuy-transaction { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 15px; border:1px solid var(--border); border-radius:14px; background:var(--surface2); }
.keybuy-transaction-main { min-width:0; display:flex; flex-direction:column; gap:4px; }
.keybuy-transaction-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.keybuy-transaction-main span { color:var(--text2); font-size:11px; }
.keybuy-transaction-amount { flex:0 0 auto; color:var(--text); text-align:right; font-size:13px; font-weight:800; }
.keybuy-transaction-amount small { display:block; margin-top:4px; color:#29b765; font-size:10px; font-weight:700; }
.keybuy-product-info { order:3; }
.keybuy-product-info summary { width:max-content; list-style:none; border:0; outline:0; background:transparent; color:var(--accent); font-size:12px; font-weight:700; cursor:pointer; user-select:none; }
.keybuy-product-info summary::-webkit-details-marker { display:none; }
.keybuy-product-info summary::after { content:'⌄'; display:inline-block; margin-left:5px; transition:transform .18s; }
.keybuy-product-info[open] summary::after { transform:rotate(180deg); }
.keybuy-product-info .keybuy-product-prices { margin-top:10px; padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface2); }
.keybuy-product-prices { display:grid; grid-template-columns:minmax(125px,1fr) minmax(0,2fr); gap:7px 18px; margin:0; font-size:13px; line-height:1.3; }
.keybuy-product-prices dt { color:var(--text2); }
.keybuy-product-prices dd { min-width:0; margin:0; color:var(--text); font-weight:650; text-align:right; overflow-wrap:anywhere; }
.keybuy-product-prices .keybuy-product-total { font-size:14px; font-weight:750; }
.keybuy-product-network { padding-top:1px; color:var(--text2); font-size:12px; line-height:1.35; }
.keybuy-product-actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:3px; }
.keybuy-product-actions button,.keybuy-product-actions a { min-height:44px; box-sizing:border-box; border:1px solid var(--border); background:var(--surface2); color:var(--text); border-radius:12px; padding:10px 14px; font-family:inherit; font-size:13px; font-weight:600; line-height:1.3; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; transition:border-color .18s,background .18s; }
.keybuy-product-actions .keybuy-secondary-btn { flex:0 0 auto; color:var(--text2); }
.keybuy-payment-hint { font-size:12px; line-height:1.5; color:var(--text2); }
#panel-keybuy .keybuy-panel-body { padding-bottom:calc(var(--keybuy-composer-height, 110px) + 16px); min-height:0; }
#panel-keybuy .keybuy-messages { padding-bottom:16px; scroll-padding-bottom:16px; }
#panel-keybuy #keybuy-scroll-btn { right:16px; bottom:calc(var(--keybuy-composer-height, 110px) + 16px); width:42px; height:42px; }
#panel-keybuy #keybuy-scroll-btn .ui-icon { width:18px; height:18px; }
#panel-keybuy.transactions-view #keybuy-scroll-btn { display:none; }
.keybuy-order-steps { font-size:11px; line-height:1.6; color:var(--text2); }
.keybuy-previous-withdrawals { padding:12px; margin-top:12px; border:1px solid var(--border); border-radius:12px; font-size:11px; overflow-wrap:anywhere; white-space:pre-line; }
.codes-mailbox-progress { flex-basis:100%; font-size:11px; color:var(--text2); line-height:1.4; }
.codes-mailbox { flex-wrap:wrap; }
.mail-code-new-label { display:inline-block; margin-left:8px; padding:3px 6px; border-radius:6px; font:600 10px/1.3 system-ui; background:rgba(48,209,88,.12); color:#32c766; vertical-align:middle; }
#codes-check-selected-btn { border:1px solid var(--border); border-radius:12px; background:var(--surface2); color:var(--text); padding:10px 14px; min-height:44px; cursor:pointer; font:inherit; font-size:12px; }
.keybuy-confirm-btn { flex:1; border:1px solid rgba(var(--accent-rgb),.42); color:var(--text); background:var(--surface2); }
.keybuy-cancel-btn { border:1px solid var(--border); color:var(--text2); background:var(--surface2); }
.keybuy-product-actions button:hover { border-color:var(--border-strong); background:var(--surface3); }
.keybuy-confirm-btn:hover { border-color:var(--accent) !important; }
.keybuy-product-actions button:disabled { opacity:.55; cursor:default; }
.keybuy-decision-by { margin-top:8px; color:var(--text2); font-size:11px; font-weight:650; }
#panel-keybuy .keybuy-message.own:has(.keybuy-product-card) { background:var(--surface2); border-color:var(--border); color:var(--text); }
#panel-keybuy .keybuy-message.own:has(.keybuy-product-card) .keybuy-message-author { color:var(--accent); }
#panel-keybuy .keybuy-message.own .keybuy-product-state { background:rgba(48,209,88,.12); color:#29b765; }
#panel-keybuy .keybuy-message.own .keybuy-product-state.cancelled { background:rgba(248,81,73,.13); color:var(--red); }
#panel-keybuy .keybuy-message.own .keybuy-product-state.confirmed { background:rgba(var(--accent-rgb),.15); color:var(--accent); }
#panel-keybuy .keybuy-message.own .keybuy-product-prices, #panel-keybuy .keybuy-message.own .keybuy-product-prices dd, #panel-keybuy .keybuy-message.own .keybuy-product-network { color:var(--text2); }
#panel-keybuy .keybuy-message.own .keybuy-product-prices dd { color:var(--text); }
#panel-keybuy .keybuy-message.own .keybuy-cancel-btn, #panel-keybuy .keybuy-message.own .keybuy-decision-by { color:var(--text2); }
#panel-keybuy .keybuy-message.pending {
  align-self:flex-start;
  width:min(420px,calc(100% - 24px));
  max-width:420px;
  color:var(--text);
  background:var(--surface2);
  border-color:var(--border);
  border-radius:18px 18px 18px 6px;
}
#panel-keybuy .keybuy-message.pending .keybuy-message-author { color:var(--accent); }
.keybuy-pending-card { display:flex; align-items:center; gap:12px; min-height:42px; }
.keybuy-pending-card strong,.keybuy-pending-card small { display:block; }
.keybuy-pending-card strong { font-size:13px; font-weight:700; }
.keybuy-pending-card small { margin-top:3px; color:var(--text2); font-size:11px; }
.keybuy-pending-spinner { width:20px; height:20px; flex:0 0 20px; border:2px solid rgba(var(--accent-rgb),.2); border-top-color:var(--accent); border-radius:50%; animation:keybuy-spin .75s linear infinite; }
@keyframes keybuy-spin { to { transform:rotate(360deg); } }
@media (max-width: 768px) {
  .mobile-tab { gap:2px; padding:0 1px; font-size:9px; }
  .mobile-tab-icon .ui-icon { width:19px; height:19px; }
  #panel-keybuy .panel-header { flex-wrap:wrap; gap:7px; padding:8px 10px; }
  #panel-keybuy .panel-title { font-size:14px; }
  .keybuy-header-tabs { order:1; margin-left:auto; }
  .keybuy-header-tabs .pill-btn { min-width:70px; padding:0 9px; font-size:11px; }
  .keybuy-header-tabs .pill-btn[data-keybuy-view="transactions"] { min-width:96px; }
  .keybuy-header-wallet { order:2; flex:1 1 100%; display:grid; grid-template-columns:auto minmax(0,1fr); margin-left:34px; }
  .keybuy-header-address { display:block; width:auto; max-width:none; font-size:9px; }
  .keybuy-header-wallet .keybuy-refresh { display:none; }
  .keybuy-header-balance { padding:0 7px; max-width:94px; font-size:10px; }
  #panel-keybuy .keybuy-message:has(.keybuy-product-card) { width: calc(100% - 34px); max-width:440px; }
  .keybuy-product-card { min-width: 0; }
  .keybuy-product-block { padding-right:0; }
  .keybuy-product-title { font-size:13px; line-height:1.3; }
  .keybuy-product-summary { font-size:14px; }
  .keybuy-product-state { max-width:calc(100% - 100px); font-size:10px; padding:5px 8px; }
  .keybuy-product-prices { gap:6px 12px; }
  .keybuy-product-info .keybuy-product-prices { grid-template-columns:1fr; }
  .keybuy-product-prices dd { text-align:left; margin-bottom:5px; }
  .keybuy-delivery { padding:8px; }
  .keybuy-delivery-key { flex-basis:100%; min-height:38px; font-size:12px; padding:7px 8px; }
  #panel-avito .avito-split { width:100%; min-width:0; }
  #panel-avito .avito-dialogs { width:100%; flex:1 1 100%; border-right:0; }
  #panel-avito .avito-chat-pane { width:100%; min-width:0; }
}
#panel-keybuy .keybuy-input-area {
  max-width: 1120px;
  width: min(1120px, calc(100% - 64px));
}
@media (min-width: 769px) {
  #panel-keybuy .keybuy-panel-body {
    max-width: 1120px;
    padding-top: 26px;
    padding-bottom: 98px;
  }
  #panel-keybuy .keybuy-wallet-card {
    grid-template-columns: 230px minmax(0, 1fr);
  }
}
@media (max-width: 768px) {
  #panel-keybuy .keybuy-wallet-balance { font-size: 18px; }
  #panel-keybuy .keybuy-messages { padding: 8px 0 calc(146px + env(safe-area-inset-bottom)); }
  #panel-keybuy .keybuy-empty { font-size: 12px; }
  #panel-keybuy .keybuy-input-area { width: 100%; }
}
.keybuy-edit-region {
  margin-top: 10px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface2);
  color: var(--accent);
  cursor: pointer;
}
.keybuy-timeline {
  margin: 12px 0 0;
  padding: 12px 12px 12px 30px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text2);
  font-size: 12px;
  line-height: 1.5;
}
.keybuy-timeline li + li { margin-top: 5px; }
.system-health-list { display:grid; gap:8px; margin:0 0 12px; }
.system-health-row { display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.system-health-row span { color:var(--text2); font-size:12px; text-align:right; }
.system-health-row.ok strong { color:var(--green); }
.system-health-row.error strong { color:var(--red); }
.keybuy-transactions-summary { width:min(100%,760px); display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 14px; }
.keybuy-transactions-summary > div { display:flex; flex-direction:column; gap:3px; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--surface2); }
.keybuy-transactions-summary strong { font-size:16px; color:var(--text); }
.keybuy-transactions-summary span { font-size:11px; color:var(--text2); }
@media (max-width: 700px) { .keybuy-transactions-summary { grid-template-columns:repeat(2,1fr); padding:0 8px; } }

/* Keep every desktop workspace aligned to the same 40px left edge as QR Bot. */
@media (min-width: 769px) {
  #panel-pay .pay-panel-body,
  #panel-codes .codes-panel-body,
  #panel-keybuy .keybuy-panel-body {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 40px;
    padding-right: 40px;
  }
  #panel-keybuy .keybuy-messages {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 768px) {
  #panel-pay .pay-panel-body,
  #panel-codes .codes-panel-body,
  #panel-keybuy .keybuy-panel-body {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: 12px;
    padding-right: 12px;
  }
  #panel-keybuy .keybuy-message:has(.keybuy-product-card) {
    width: calc(100% - 24px);
  }
}

/* Key Buy uses the same compact card rhythm as QR Bot. */
#panel-keybuy .keybuy-messages.view-loading { visibility:hidden; }
#panel-keybuy .keybuy-message:has(.keybuy-product-card) {
  width:min(440px,calc(100% - 28px));
  max-width:440px;
  padding:16px 16px 26px;
  border-radius:20px;
}
#panel-keybuy .keybuy-message-author {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
}
#panel-keybuy .keybuy-message-author > .keybuy-product-state { position:static; flex:0 1 auto; max-width:75%; font-size:10px; }
.keybuy-product-card { min-width:0; gap:12px; }
.keybuy-product-label { margin-bottom:4px; font-size:11px; font-weight:600; }
.keybuy-product-title { display:block; padding-right:112px; font-size:14px; line-height:1.35; font-weight:700; letter-spacing:-.01em; }
.keybuy-product-summary { font-size:17px; line-height:1.25; font-weight:750; letter-spacing:-.015em; }
.keybuy-product-state { position:static; max-width:100%; width:fit-content; white-space:normal; overflow:visible; text-overflow:clip; padding:6px 10px; font-size:11px; line-height:1.4; grid-row:1; }
.keybuy-product-card { display:flex; flex-direction:column; gap:10px; position:static; }
.keybuy-product-card > .keybuy-product-state { position:absolute; top:15px; right:16px; max-width:calc(100% - 110px); margin:0; }
.keybuy-product-card .keybuy-product-title { padding-right:0; }
.keybuy-product-card > .keybuy-product-info { order:10; margin-top:0; }
.keybuy-product-card .keybuy-product-summary { margin:0; }
.keybuy-delivery {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
  padding:8px;
  border-radius:14px;
  background:transparent;
  border:0;
  padding:0;
}
.keybuy-delivery-key {
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border-radius:12px;
  font-size:13px;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:12px;
}
.keybuy-delivery-key-code { min-width:0; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.keybuy-delivery-region {
  grid-column:2;
  justify-self:end;
  min-height:0;
  padding:4px 0 4px 10px;
  border:0;
  border-left:1px solid rgba(48,209,88,.28);
  border-radius:0;
  background:transparent;
  font-size:12px;
  font-family:inherit;
  font-weight:600;
  justify-content:center;
}
.keybuy-delivery-link,.keybuy-client-template {
  min-height:40px;
  padding:8px 12px;
  border-radius:12px;
  font-size:11px;
}
.keybuy-delivery-link { grid-column:1; }
.keybuy-client-template { grid-column:2; }
.keybuy-product-info summary { font-size:12px; }
#panel-keybuy .keybuy-message-time { right:15px; bottom:7px; font-size:10px; }
@media (max-width:768px) {
  #panel-keybuy .keybuy-message:has(.keybuy-product-card) { width:calc(100% - 20px); padding:13px 13px 24px; border-radius:18px; }
  .keybuy-product-title { padding-right:98px; font-size:13px; }
  .keybuy-product-summary { font-size:15px; }
  .keybuy-product-card > .keybuy-product-state { top:12px; right:13px; max-width:calc(100% - 100px); }
  .keybuy-delivery { grid-template-columns:1fr 1fr; }
  .keybuy-delivery-key { grid-column:1/-1; width:100%; font-size:10px; gap:8px; padding-inline:10px; }
  .keybuy-delivery-region { grid-column:2; justify-self:end; min-height:0; padding-left:8px; }
  .keybuy-delivery-link,.keybuy-client-template { grid-column:auto; width:100%; }
}

/* Microsoft mailbox manager: let an opened details card take its natural
   height inside the scrolling flex panel and keep the controls visually tidy. */
#panel-codes .codes-toolbar,
#panel-codes .codes-settings,
#panel-codes .codes-mailboxes,
#panel-codes .codes-filters,
#panel-codes .mail-codes-list {
  flex: 0 0 auto;
}
#panel-codes .codes-settings {
  margin: 0;
  border-radius: 14px;
  overflow: clip;
  background: var(--surface);
}
#panel-codes .codes-settings > summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 16px;
  border: 0;
  color: var(--text);
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  user-select: none;
}
#panel-codes .codes-settings > summary::-webkit-details-marker { display: none; }
#panel-codes .codes-settings > summary::before {
  content: '';
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-right: 2px solid var(--text2);
  border-bottom: 2px solid var(--text2);
  transform: rotate(-45deg);
  transition: transform .18s ease;
}
#panel-codes .codes-settings[open] > summary::before { transform: rotate(45deg) translate(-1px, -1px); }
#panel-codes .codes-settings[open] > summary { border-bottom: 1px solid var(--border); }
#panel-codes .codes-settings > summary:focus-visible {
  outline: 2px solid rgba(var(--accent-rgb), .55);
  outline-offset: -3px;
  border-radius: 12px;
}
#panel-codes #code-mailbox-settings { display: grid; }
#panel-codes .code-mailbox-setting {
  min-height: 68px;
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  grid-template-columns: minmax(240px, .8fr) minmax(260px, 1.2fr) auto;
  gap: 12px;
}
#panel-codes .code-mailbox-setting:first-child { border-top: 0; }
#panel-codes .code-mailbox-address { font-size: 13px; }
#panel-codes .code-mailbox-state { font-size: 11px; }
#panel-codes .code-mailbox-setting input,
#panel-codes .code-mailbox-setting button {
  height: 42px;
  border-radius: 11px;
}
#panel-codes .code-mailbox-setting button { min-width: 108px; }
#panel-codes .codes-settings[open] + .codes-mailboxes { display: none; }

@media (max-width: 760px) {
  #panel-codes .codes-settings > summary { min-height: 46px; padding: 11px 13px; font-size: 13px; }
  #panel-codes .code-mailbox-setting {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px 13px;
    gap: 9px;
  }
  #panel-codes .code-mailbox-setting input { grid-column: 1 / -1; grid-row: 2; }
  #panel-codes .code-mailbox-setting button { min-width: 96px; }
}

/* This rule intentionally stays last: older shared workspace alignment must
   not override the centered QR Bot conversation rhythm. */
@media (min-width: 769px) {
  #panel-qr .messages-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* Mail addresses are useful data, not static labels. */
#panel-codes .codes-mailbox,
#panel-codes .code-mailbox-address {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  cursor: copy;
}
#panel-codes .codes-mailbox {
  transition: background .15s ease, border-color .15s ease, transform .12s ease;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
#panel-codes .codes-mailbox:hover { background: var(--surface2); }
#panel-codes .codes-mailbox:active { transform: scale(.98); }
#panel-codes .codes-mailbox-count {
  opacity: .72;
  font-variant-numeric: tabular-nums;
}
#panel-codes .code-mailbox-address {
  display: block;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  font-size: 13px;
  font-weight: 700;
}
#panel-codes .code-mailbox-address:hover { color: var(--accent); }

/* Ten values per row on desktop: 190…990, 1090…1990, 2090…2990. */
@media (min-width: 1121px) {
  #panel-qr .qr-amounts-content {
    width: min(1480px, 100%);
    padding-left: 32px;
    padding-right: 32px;
  }
  #panel-qr #qr-grid-container {
    grid-template-columns: repeat(10, minmax(86px, 1fr));
    gap: 8px;
  }
  #panel-qr .amt-chip {
    min-height: 54px;
    border-radius: 13px;
    font-size: 14px !important;
  }
}

#panel-qr .qr-special-amounts {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}
#panel-qr .qr-special-amounts[hidden] { display: none; }
#panel-qr .qr-special-amounts-title {
  margin-bottom: 10px;
  color: var(--text2);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 650;
}
#panel-qr .qr-special-amounts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(86px, 128px));
  gap: 8px;
}

#panel-qr .amt-chip.amt-chip-marked {
  border-color: rgba(var(--accent-rgb), .20);
  background: rgba(var(--accent-rgb), .025);
  color: var(--text);
  box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), .015);
}
#panel-qr .amt-chip.amt-chip-marked:hover {
  border-color: rgba(var(--accent-rgb), .34);
  background: rgba(var(--accent-rgb), .07);
  color: var(--text);
}

@media (max-width: 768px) {
  #panel-qr .qr-special-amounts { margin-top: 18px; padding-top: 14px; }
  #panel-qr .qr-special-amounts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.home-panel-body{overflow:auto;padding:32px;background:var(--surface2)}
.home-account-card{width:min(900px,100%);margin:0 auto;padding:28px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 18px 50px rgba(0,0,0,.14)}
.home-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.home-form-heading h2{margin:0 0 6px;font-size:24px}.home-form-heading p{margin:0;color:var(--text2);font-size:14px}
.home-rate-chip{flex:none;padding:9px 12px;border:1px solid var(--border);border-radius:12px;color:var(--text2);font-size:13px;font-weight:700}
.home-form-chips{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.home-owner-chip{flex:none;padding:9px 12px;border:1px solid rgba(255,149,0,.28);border-radius:12px;background:rgba(255,149,0,.1);color:#ff9f0a;font-size:13px;font-weight:700}
.home-header-tabs{margin-left:auto}.home-header-tabs .pill-btn{min-width:92px}
.home-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-quick-fields{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(130px,1fr));gap:12px;align-items:end}
.home-optional{margin-top:18px;border:1px solid var(--border);border-radius:15px;background:var(--surface2);overflow:hidden}
.home-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;list-style:none;color:var(--text);font-size:13px;font-weight:700;cursor:pointer}
.home-optional>summary::-webkit-details-marker{display:none}.home-optional>summary:after{content:'+';color:var(--text2);font-size:20px;font-weight:500}.home-optional[open]>summary:after{content:'−'}
.home-optional>summary span{color:var(--text2);font-size:11px;font-weight:600;margin-left:auto}.home-optional>.home-form-grid{padding:2px 16px 16px}.home-optional>.home-calculation{margin:0 16px 16px;background:var(--surface)}
.home-field{display:flex;flex-direction:column;gap:8px;min-width:0}.home-field-wide{grid-column:span 2}
.home-field span{font-size:13px;color:var(--text2);font-weight:600}
.home-field input,.home-field select{width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface2);color:var(--text);font:inherit;outline:none}
.home-field input:focus,.home-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,132,255,.14)}
.home-calculation{display:flex;justify-content:space-between;gap:16px;margin-top:20px;padding:14px 16px;border-radius:14px;background:var(--surface2);color:var(--text2);font-size:13px}.home-calculation b{color:var(--text)}
.home-instruction-actions{display:flex;gap:8px}.home-instruction-actions button,.home-instruction-part button{padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);font-weight:600}
.home-instruction-modal[hidden]{display:none}.home-instruction-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.62);backdrop-filter:blur(8px)}.home-instruction-dialog{width:min(860px,100%);max-height:90vh;overflow:auto;padding:22px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.home-instruction-dialog-head,.home-instruction-part>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-instruction-dialog-head h3{font-size:20px}.home-instruction-dialog-head>button{border:0;background:none;color:var(--text2);font-size:30px}.home-instruction-part{margin-top:18px}.home-instruction-part textarea{width:100%;height:240px;margin-top:9px;padding:14px;resize:vertical;border:1px solid var(--border);border-radius:13px;background:var(--surface2);color:var(--text);font:13px/1.5 inherit}
#home-add-view[hidden],.home-accounts-view[hidden]{display:none}.home-accounts-toolbar{width:min(1100px,100%);margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.home-accounts-toolbar h2{font-size:24px}.home-accounts-toolbar p{margin-top:4px;color:var(--text2);font-size:13px}.home-accounts-toolbar button{padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font-weight:600}.home-accounts-list{width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-account-item{position:relative;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.home-account-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.home-account-item-top>div{display:flex;flex-direction:column;gap:5px;min-width:0}.home-account-login{overflow:hidden;padding:0;border:0;background:none;color:var(--text);font-size:15px;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap}.home-account-item-top span,.home-account-row{color:var(--text2);font-size:12px}.home-account-type{flex:none;padding:6px 9px;border-radius:9px;background:rgba(var(--accent-rgb),.14);color:var(--accent)!important;font-weight:700}.home-account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}.home-account-details>div{display:flex;flex-direction:column;gap:3px}.home-account-details span{color:var(--text2);font-size:11px}.home-account-details b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.home-account-row{display:block;margin-top:15px}.home-accounts-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--text2)}
.home-account-badges{display:flex!important;align-items:flex-end!important;gap:6px!important}.home-account-owner{padding:6px 9px;border:1px solid rgba(255,149,0,.25);border-radius:9px;background:rgba(255,149,0,.09);color:#ff9f0a!important;font-weight:700}.home-account-reimbursement{grid-column:1/-1;padding:10px 12px;border-radius:11px;background:rgba(255,149,0,.08)}.home-account-reimbursement b{color:#ff9f0a}.home-account-buyers{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.home-account-buyers>b{display:block;margin-bottom:8px;font-size:13px}.home-account-buyer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0}.home-account-buyer+.home-account-buyer{border-top:1px solid var(--border)}.home-account-buyer>div{display:flex;flex-direction:column;gap:3px;min-width:0}.home-account-buyer strong,.home-account-buyer a{overflow:hidden;color:var(--text);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.home-account-buyer span{color:var(--text2);font-size:11px}.home-account-instruction,.home-account-actions button{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);font-size:12px;font-weight:650}.home-account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.home-account-actions button:disabled{opacity:.45}
.home-account-login,.home-account-instruction,.home-account-actions button,.home-instruction-part button{transition:transform .12s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.home-account-login:active,.home-account-instruction:active,.home-account-actions button:active,.home-instruction-part button:active{transform:scale(.96)}.is-action-success{animation:home-action-success .8s ease}.is-action-error{animation:home-action-error .8s ease}@keyframes home-action-success{0%{transform:scale(.96)}35%{border-color:rgba(52,199,89,.65);background:rgba(52,199,89,.18);color:#34c759;box-shadow:0 0 0 4px rgba(52,199,89,.1)}100%{transform:scale(1)}}@keyframes home-action-error{0%{transform:scale(.96)}35%{border-color:rgba(255,69,58,.65);background:rgba(255,69,58,.15);color:#ff453a;box-shadow:0 0 0 4px rgba(255,69,58,.08)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.home-account-login,.home-account-instruction,.home-account-actions button,.home-instruction-part button{transition:none}.is-action-success,.is-action-error{animation:none}}
.home-form-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.home-footer-instructions{display:flex;flex-direction:column;gap:7px}.home-footer-instructions>span{color:var(--text2);font-size:12px;font-weight:600}.home-form-footer #home-form-status{align-self:center;color:var(--text2);font-size:13px}.home-form-footer #home-form-status.success{color:var(--green)}.home-form-footer #home-form-status.error{color:var(--red)}
#home-submit{min-width:190px;height:48px;border:0;border-radius:14px;background:var(--blue);color:#fff;font-weight:700;font-size:14px}#home-submit:disabled{opacity:.6}
.home-buyer-dialog{width:min(680px,100%)}.home-buyer-dialog .home-instruction-dialog-head{margin-bottom:20px}.home-buyer-dialog .home-instruction-dialog-head h3{margin:0 0 4px}.home-buyer-dialog .home-instruction-dialog-head p{margin:0;color:var(--text2);font-size:13px}.home-buyer-footer{grid-template-columns:minmax(0,1fr) auto}.home-buyer-footer #home-buyer-status{align-self:center;color:var(--text2);font-size:13px}.home-buyer-footer #home-buyer-status.success{color:var(--green)}.home-buyer-footer #home-buyer-status.error{color:var(--red)}#home-buyer-submit{min-width:190px;height:46px;border:0;border-radius:13px;background:var(--blue);color:#fff;font-weight:700}#home-buyer-submit:disabled{opacity:.6}
.home-account-actions{display:grid;grid-template-columns:auto auto minmax(105px,1fr) minmax(150px,1.3fr);gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.home-account-actions button{min-height:40px;padding:8px 12px;border-radius:11px}.home-account-instruction{border-color:rgba(13,132,255,.34);color:var(--blue)}.home-account-actions .home-copy-action{color:var(--text2)}.home-account-actions .home-main-action{border-color:rgba(13,132,255,.34);color:var(--blue)}.home-account-actions .home-main-action-primary{border-color:var(--blue);background:var(--blue);color:#fff}
.home-account-buyers-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.home-account-buyers-head>b{font-size:13px}.home-account-buyers-empty{display:block;padding:10px 0;color:var(--text2);font-size:12px}.home-account-actions.home-account-actions-simple{display:flex;justify-content:flex-end}.home-account-actions-simple .home-main-action-primary{min-width:190px}
.home-account-instruction-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0}.home-account-instruction-choices .home-account-instruction{min-height:38px;background:var(--surface2);white-space:nowrap}.home-account-instruction-choices .home-account-instruction:first-child{border-color:rgba(52,199,89,.28);color:#32c766}.home-account-instruction-choices .home-account-instruction:nth-child(2){border-color:rgba(var(--accent-rgb),.32);color:var(--accent)}.home-account-instruction-choices .home-account-instruction:last-child{border-color:rgba(175,82,222,.30);color:#bf75e8}

@media(max-width:768px){
  .home-header-tabs{margin-left:auto}.home-header-tabs .pill-btn{min-width:72px;padding:0 9px;font-size:11px}.home-panel-body{padding:14px}.home-account-card{padding:18px;border-radius:18px}.home-form-heading{display:block}.home-form-chips{justify-content:flex-start;margin-top:14px}.home-quick-fields,.home-form-grid{grid-template-columns:1fr}.home-field-wide{grid-column:auto}.home-calculation{align-items:stretch;flex-direction:column}.home-instruction-actions{display:grid;grid-template-columns:1fr 1fr}.home-form-footer{display:flex;align-items:stretch;flex-direction:column}.home-form-footer #home-form-status{margin:0}.home-footer-instructions{order:1}.home-form-footer #home-form-status{order:2}#home-submit{order:3;width:100%}.home-instruction-dialog{padding:16px}.home-instruction-part textarea{height:210px}.home-accounts-list{grid-template-columns:1fr}.home-accounts-toolbar{align-items:flex-start}.home-account-details{grid-template-columns:1fr 1fr}.home-account-item-top{flex-direction:column}.home-account-badges{align-items:flex-start!important}.home-account-buyer{align-items:flex-start}.home-account-instruction{flex:none}.home-account-actions{grid-template-columns:1fr 1fr}.home-account-actions .home-main-action{min-height:44px}.home-account-actions.home-account-actions-simple{display:block}.home-account-actions-simple .home-main-action-primary{width:100%;min-width:0}
}
.home-load-more{display:block;min-width:190px;height:44px;margin:18px auto 4px;padding:0 18px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:13px;background:rgba(var(--accent-rgb),.08);color:var(--accent);font-weight:750;cursor:pointer}.home-load-more:hover{background:rgba(var(--accent-rgb),.13)}.home-load-more[hidden]{display:none}

@media(min-width:769px) and (max-width:1180px){.home-quick-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.home-quick-fields .home-field:first-child{grid-column:1/-1}}

@media(max-width:520px){.home-account-instruction-choices{grid-template-columns:1fr}.home-account-instruction-choices .home-account-instruction{width:100%}}

@media(max-width:768px){.payout-ledger-toggle{flex-wrap:wrap}.payout-ledger-toggle>span{order:1;flex:1;max-width:calc(100% - 28px)}.payout-ledger-toggle i{order:2}.payout-ledger-total{order:3;flex-basis:100%;width:100%;margin:7px 0 0;padding:7px 9px;text-align:left;font-size:11px}}

/* Home filtering and safe payout correction dialog. */
.payout-reverse-dialog{width:min(430px,100%)}
.payout-reverse-reason{display:flex;flex-direction:column;gap:7px}
.payout-reverse-reason span{color:var(--text2);font-size:11px;font-weight:650}
.payout-reverse-reason input{width:100%;height:44px;padding:0 13px;border:1px solid var(--border);border-radius:12px;outline:0;background:var(--surface2);color:var(--text);font:inherit}
.payout-reverse-reason input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,69,58,.10)}
.payout-dialog-actions .danger{border-color:rgba(255,69,58,.55);background:rgba(255,69,58,.12);color:var(--red)}
.home-account-filters{width:min(1100px,100%);margin:0 auto 14px;display:grid;grid-template-columns:minmax(220px,1fr) 210px 170px;gap:9px}
.home-account-filters input,.home-account-filters select{min-width:0;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:11px;outline:0;background:var(--surface);color:var(--text);font:inherit;font-size:12px}
.home-account-filters input:focus,.home-account-filters select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,132,255,.10)}
@media(max-width:768px){.home-account-filters{grid-template-columns:1fr 1fr}.home-account-filters input{grid-column:1/-1}.home-instruction-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.home-instruction-actions button{padding:9px 6px;font-size:11px}}

/* 2026-09-11: clearer Home filters and payout disclosure. */
.home-account-filters{padding:10px;border:1px solid var(--border);border-radius:16px;background:rgba(var(--surface-rgb),.72);box-shadow:0 8px 28px rgba(0,0,0,.08)}
.home-filter-search{display:flex;align-items:center;gap:9px;min-width:0;height:48px;padding:0 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface2);transition:border-color .16s ease,box-shadow .16s ease}
.home-filter-search:focus-within{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.10)}
.home-filter-search .ui-icon{flex:none;width:17px;height:17px;color:var(--text2)}
.home-account-filters .home-filter-search input{height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:13px}
.home-filter-select{position:relative;display:flex;min-width:0;height:48px;flex-direction:column;justify-content:center;gap:2px;padding:0 34px 0 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface2)}
.home-filter-select>span{color:var(--text2);font-size:9px;font-weight:700;letter-spacing:.02em}
.home-account-filters .home-filter-select select{height:auto;padding:0;border:0;border-radius:0;outline:0;appearance:none;background:transparent;box-shadow:none;color:var(--text);font-size:12px;font-weight:700;cursor:pointer}
.home-filter-select:after{content:'';position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--text2);border-bottom:1.5px solid var(--text2);transform:translateY(-70%) rotate(45deg);pointer-events:none}

#panel-pay .payout-ledger-head{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:center;gap:10px}
#panel-pay .payout-ledger-heading{min-width:0}
#panel-pay .payout-ledger-heading h2{margin:0 0 3px;font-size:17px}
#panel-pay .payout-ledger-heading p{margin:0;color:var(--text2);font-size:11px}
#panel-pay .payout-ledger-toggle{display:flex!important;width:auto!important;max-width:none!important;min-height:34px!important;flex:none!important;align-items:center;justify-content:center;gap:9px;padding:0 12px!important;border:1px solid var(--border)!important;border-radius:11px!important;background:var(--surface2)!important;color:var(--text2);font-size:11px;font-weight:700;white-space:nowrap}
#panel-pay .payout-ledger-toggle:hover{border-color:rgba(var(--accent-rgb),.38)!important;color:var(--text)}
#panel-pay .payout-ledger-toggle i{flex:none;width:7px;height:7px;margin:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .16s ease}
#panel-pay .payout-ledger:not(.is-collapsed) .payout-ledger-toggle i{transform:rotate(225deg)}
#panel-pay .payout-ledger-total{margin:0;padding:8px 11px;border-color:rgba(52,199,89,.18);background:rgba(52,199,89,.06);font-size:11px}

@media(max-width:768px){
  .home-account-filters{grid-template-columns:1fr;padding:8px}.home-filter-search,.home-filter-select{height:46px}.home-account-filters .home-filter-search{grid-column:auto}
  #panel-pay .payout-ledger-head{grid-template-columns:1fr auto;gap:8px}
  #panel-pay .payout-ledger-heading{grid-column:1}
  #panel-pay .payout-ledger-total{grid-column:1/-1;grid-row:2;width:100%;text-align:left}
  #panel-pay .payout-ledger-toggle{grid-column:2;grid-row:1;padding:0 10px!important}
  #panel-pay #payout-withdraw-all{grid-column:1/-1;width:100%;max-width:none}
  #panel-pay .payout-ledger.is-collapsed #payout-withdraw-all{display:none}
}

.keybuy-email-picker{display:flex;align-items:center;gap:6px;flex:0 1 230px;min-width:170px}
.keybuy-email-picker select{width:100%;min-width:0;height:44px;padding:0 34px 0 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface2);color:var(--text);font:650 12px/1 inherit;outline:none;text-overflow:ellipsis}
.keybuy-email-picker select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,132,255,.12)}
.keybuy-email-picker button{flex:none;width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--accent);font-size:22px;line-height:1;cursor:pointer}
@media(max-width:768px){.keybuy-input-area{flex-wrap:wrap}.keybuy-email-picker{order:-1;flex:1 1 100%;width:100%}.keybuy-email-picker select{height:40px}.keybuy-input-area>#keybuy-url{flex:1 1 calc(100% - 58px)}}

.qr-order-card{position:relative}.qr-order-head{padding-right:82px;min-height:24px}.qr-order-card>.qr-order-head>.qr-status{position:absolute;top:10px;right:12px;z-index:1}.qr-order-source{max-width:240px}

.payout-ledger{margin-bottom:18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.payout-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.payout-ledger-head h2{margin:0 0 4px;font-size:17px}.payout-ledger-head p{margin:0;color:var(--text2);font-size:12px}
.payout-ledger-head>button,.payout-card-footer button{border:1px solid var(--border);border-radius:11px;background:var(--surface2);color:var(--text);font:650 12px/1 inherit;cursor:pointer}
.payout-ledger-head>button{min-height:40px;padding:0 14px}.payout-ledger-head>button:hover,.payout-card-footer button:hover{border-color:rgba(var(--accent-rgb),.45);color:var(--accent)}
.payout-ledger button:disabled{cursor:default;opacity:.42}
.payout-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.payout-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface2)}
.payout-card.is-mine{border-color:rgba(var(--accent-rgb),.32);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.06)}
.payout-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.payout-card-top strong{font-size:14px}.payout-card-top span{color:var(--text2);font-size:11px;font-weight:650}
.payout-net{margin-top:12px;font-size:24px;line-height:1.05;font-weight:800;letter-spacing:-.02em}
.payout-usdt{margin-top:6px;color:var(--accent);font-size:13px;font-weight:700}.payout-gross{margin-top:7px;color:var(--text2);font-size:11px}
.payout-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.payout-card-footer span{color:var(--text2);font-size:10px}.payout-card-footer button{flex:none;min-height:36px;padding:0 11px}
.payout-card-loading{grid-column:1/-1;padding:18px;text-align:center;color:var(--text2);font-size:13px}.payout-card-loading.error{color:var(--red)}
@media(max-width:768px){.payout-ledger{padding:12px;border-radius:15px}.payout-ledger-head{align-items:flex-start}.payout-ledger-head>button{max-width:126px;height:auto;min-height:34px;padding:7px 9px}.payout-cards{grid-template-columns:1fr}.payout-net{font-size:20px}}

/* Compact payout summary and a full-width rate value on narrow headers. */
.payout-ledger{padding:14px;margin-bottom:14px}
.payout-ledger-head{margin-bottom:10px}
.payout-ledger-head>button{min-height:34px;padding:0 11px}
.payout-card{padding:13px}
.payout-card{cursor:pointer}.payout-card:focus-visible{outline:2px solid rgba(var(--accent-rgb),.55);outline-offset:2px}
.payout-net{margin-top:8px;font-size:21px}
.payout-usdt{margin-top:4px;font-size:12px}.payout-gross{margin-top:5px;font-size:10px}
.payout-card-footer{margin-top:10px;padding-top:9px}.payout-card-footer button{min-height:32px}
.payout-history{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);cursor:default}.payout-history>b{display:block;margin-bottom:7px;font-size:11px}.payout-history.is-empty{color:var(--text2);font-size:10px}
.payout-history-row{display:grid;grid-template-columns:minmax(125px,1fr) auto auto;align-items:center;gap:6px 9px;padding:6px 0;color:var(--text2);font-size:10px}.payout-history-row+.payout-history-row{border-top:1px solid rgba(128,128,128,.12)}.payout-history-row strong{color:var(--text);font-size:11px}.payout-history-row small{color:var(--accent);font-size:9px;white-space:nowrap}.payout-history-actor{grid-column:1/3;color:var(--text2)!important}.payout-history-row .payout-reverse-button{grid-column:3;grid-row:2}
.payout-history-row.is-reversed{opacity:.58}.payout-history-row.is-reversed strong{text-decoration:line-through}.payout-reverse-button{min-height:26px;padding:0 8px;border:1px solid rgba(255,69,58,.28);border-radius:8px;background:rgba(255,69,58,.07);color:var(--red);font-size:9px;font-weight:700;cursor:pointer}.payout-reverse-button:disabled{opacity:.45}
.payout-calculation-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:9px;padding:6px 0;font-size:10px}.payout-calculation-row span{color:var(--text)}.payout-calculation-row small{color:var(--text2);white-space:nowrap}.payout-calculation-row strong{color:var(--green);font-size:11px}.payout-history-heading{margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}.payout-history-empty{margin-top:10px;padding-top:9px;border-top:1px solid var(--border);color:var(--text2);font-size:10px}
.payout-calculation-row.is-negative strong{color:var(--red)}
.payout-ledger-toggle{display:flex;align-items:center;justify-content:space-between;min-width:0;flex:1!important;min-height:34px!important;padding:0!important;border:0!important;background:transparent!important;text-align:left}
.payout-ledger-toggle>span{min-width:0}.payout-ledger-toggle i{width:9px;height:9px;margin-right:4px;border-right:2px solid var(--text2);border-bottom:2px solid var(--text2);transform:rotate(45deg);transition:transform .16s ease}
.payout-ledger-total{flex:none;margin-left:auto;padding:6px 10px;border:1px solid rgba(52,199,89,.20);border-radius:10px;background:rgba(52,199,89,.07);color:var(--green);font-size:12px;font-weight:800;white-space:nowrap}
.payout-ledger.is-collapsed{padding-top:10px;padding-bottom:10px}.payout-ledger.is-collapsed .payout-ledger-head{margin-bottom:0}.payout-ledger.is-collapsed .payout-cards,.payout-ledger.is-collapsed #payout-withdraw-all{display:none}.payout-ledger.is-collapsed .payout-ledger-toggle i{transform:rotate(-45deg)}
.exchange-rate-control{flex:0 1 auto;min-width:0;gap:6px}
.exchange-rate-value{flex:0 0 126px;min-width:110px}
.exchange-rate-control input{width:78px;min-width:0}
.exchange-rate-unit{flex:none;padding-right:7px}
.exchange-rate-control button{flex:none}

.payout-modal[hidden]{display:none}
.payout-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.62);backdrop-filter:blur(8px)}
.payout-dialog{width:min(460px,100%);padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.42)}
.payout-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.payout-dialog-head h3{margin:0;font-size:18px}.payout-dialog-head button{width:34px;height:34px;border:0;border-radius:10px;background:var(--surface2);color:var(--text2);font-size:24px;cursor:pointer}
.payout-dialog-fields{display:grid;gap:10px}
.payout-dialog-field{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:14px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface2)}
.payout-dialog-field>span{display:flex;min-width:0;flex-direction:column;gap:3px}.payout-dialog-field b{font-size:13px}.payout-dialog-field small{color:var(--text2);font-size:10px}
.payout-dialog-value{display:flex;align-items:center;height:42px;border:1px solid var(--border);border-radius:11px;background:var(--surface);overflow:hidden}
.payout-dialog-value:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,132,255,.12)}
.payout-dialog-value input{width:100%;min-width:0;height:100%;padding:0 6px 0 12px;border:0;outline:0;background:transparent;color:var(--text);font:750 15px/1 inherit;text-align:right}.payout-dialog-value>span{padding-right:11px;color:var(--text2);font-size:13px}
.payout-dialog-note{margin:12px 2px 0;color:var(--text2);font-size:11px;line-height:1.45}
.payout-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.payout-dialog-actions button{min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface2);color:var(--text);font-weight:700;cursor:pointer}.payout-dialog-actions .primary{border-color:var(--blue);background:var(--blue);color:#fff}.payout-dialog-actions button:disabled{opacity:.5}

@media(max-width:768px){
  .exchange-rate-control{max-width:214px}.exchange-rate-control label{display:none}.exchange-rate-value{flex-basis:104px;min-width:96px}.exchange-rate-control input{width:67px;font-size:12px}.exchange-rate-control button{padding:0 8px;font-size:9px}
  .payout-dialog{padding:16px;border-radius:17px}.payout-dialog-field{grid-template-columns:1fr}.payout-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.payout-dialog-actions button{width:100%}
  #panel-pay .pay-panel-body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .payout-history-row{grid-template-columns:1fr auto}.payout-history-row small{grid-column:1/-1}
  .payout-calculation-row{grid-template-columns:1fr auto}.payout-calculation-row small{grid-column:1/-1}
}

/* Final polish: compact disclosure on mobile and one coherent Key Buy composer. */
.payout-ledger-toggle{max-width:none!important;width:100%;outline:0!important;border-radius:10px!important}
.payout-ledger-toggle:focus,.payout-ledger-toggle:focus-visible{outline:0!important;box-shadow:none!important}
.payout-ledger.is-collapsed{background:linear-gradient(135deg,rgba(var(--accent-rgb),.035),var(--surface))}
.payout-ledger.is-collapsed .payout-ledger-head{align-items:center}
.payout-ledger.is-collapsed .payout-ledger-head h2{font-size:15px;margin-bottom:2px}
.payout-ledger.is-collapsed .payout-ledger-head p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payout-ledger-toggle:hover i{border-color:var(--accent)}

#panel-keybuy .keybuy-input-area{gap:8px;padding:7px;background:rgba(var(--surface-rgb),.96);border-radius:20px}
#panel-keybuy .keybuy-email-picker{flex:0 0 268px;min-width:0;gap:6px}
#panel-keybuy .keybuy-email-picker select{height:44px;padding:0 36px 0 14px;border-radius:14px;background:var(--surface2);font-size:12px;font-weight:650}
#panel-keybuy .keybuy-email-picker button{width:44px;height:44px;border-radius:14px;background:rgba(var(--accent-rgb),.10);border-color:rgba(var(--accent-rgb),.22);font-size:24px;font-weight:400}
#panel-keybuy .keybuy-email-picker button:hover{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.38)}
#panel-keybuy #keybuy-url{height:44px;padding:0 12px;border-radius:13px;background:transparent;font-size:14px}
#panel-keybuy .keybuy-input-area .send-btn{width:44px;height:44px;border-radius:14px}

@media(max-width:768px){
  .payout-ledger.is-collapsed{padding:9px 12px}.payout-ledger-toggle{min-height:40px!important}.payout-ledger-toggle>span{max-width:calc(100% - 28px)}.payout-ledger-toggle i{margin-right:7px}
  #panel-keybuy .keybuy-input-area{gap:7px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-radius:18px}
  #panel-keybuy .keybuy-email-picker{flex:1 1 100%;width:100%}
  #panel-keybuy .keybuy-email-picker select,#panel-keybuy .keybuy-email-picker button{height:40px}.keybuy-email-picker button{width:40px}
  #panel-keybuy #keybuy-url{height:40px;padding-left:10px;font-size:13px}
  #panel-keybuy .keybuy-input-area .send-btn{width:40px;height:40px;border-radius:12px}
  #panel-pay .pay-panel-body{overflow-y:auto;overflow-x:hidden;display:block}
  #panel-pay .pay-summary-grid,#panel-pay .pay-toolbar,#panel-pay .pay-list-section{margin-bottom:14px}
  #panel-pay .pay-list-section{display:block;min-height:0;height:auto;overflow:visible;flex:none}
  #panel-pay .payments-list{height:auto;max-height:none;overflow:visible;flex:none}
}

@media(max-width:768px){.payout-ledger-toggle{flex-wrap:wrap}.payout-ledger-toggle>span{order:1;flex:1;max-width:calc(100% - 28px)}.payout-ledger-toggle i{order:2}.payout-ledger-total{order:3;flex-basis:100%;width:100%;margin:7px 0 0;padding:7px 9px;text-align:left;font-size:11px}}
.keybuy-email-dialog{width:min(560px,100%)}.keybuy-email-dialog .home-instruction-dialog-head p{margin:4px 0 0;color:var(--text2);font-size:12px}.keybuy-email-list{display:grid;gap:8px;margin:18px 0}.keybuy-email-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface2)}.keybuy-email-copy{min-width:0;overflow:hidden;border:0;background:none;color:var(--text);font-weight:650;text-align:left;text-overflow:ellipsis;white-space:nowrap}.keybuy-email-row input{width:42px;height:24px;accent-color:var(--blue)}.keybuy-email-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.keybuy-email-add input,.keybuy-email-add button{min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text)}.keybuy-email-add input{padding:0 13px}.keybuy-email-add button{padding:0 18px;border-color:var(--blue);background:var(--blue);color:#fff;font-weight:700}
.code-mailbox-toggle{min-height:38px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text2);font-weight:650;cursor:pointer}.code-mailbox-toggle:hover{border-color:var(--blue);color:var(--blue)}

/* Compact mailbox manager: identity on the left, related controls together on the right. */
#panel-codes .code-mailbox-setting{display:grid;grid-template-columns:minmax(230px,1fr) minmax(420px,1.45fr);align-items:center;gap:24px;padding:18px 16px}
#panel-codes .code-mailbox-setting>div:first-child{min-width:0}
#panel-codes .code-mailbox-address{width:auto;max-width:100%;height:auto;padding:0;border:0;background:transparent;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel-codes .code-mailbox-actions{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:8px;min-width:0}
#panel-codes .code-mailbox-actions input{width:100%;height:40px;grid-column:auto;grid-row:auto}
#panel-codes .code-mailbox-actions button{height:40px;min-width:104px;white-space:nowrap}
#panel-codes .code-mailbox-toggle{order:3;min-width:104px}
@media(max-width:820px){#panel-codes .code-mailbox-setting{grid-template-columns:1fr;gap:12px;padding:15px 13px}#panel-codes .code-mailbox-actions{grid-template-columns:minmax(0,1fr) auto}#panel-codes .code-mailbox-actions input{grid-column:1/-1;grid-row:auto}#panel-codes .code-mailbox-toggle{order:initial}#panel-codes .code-mailbox-actions button{min-width:96px}}

/* Unified selects: reserve breathing room for a quiet inset chevron. */
#keybuy-purchase-email,.pay-toolbar select,.pay-control select,.codes-filters select{appearance:none;-webkit-appearance:none;padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23999aa3' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:calc(100% - 14px) 50%!important;background-size:14px 14px!important;background-repeat:no-repeat!important}
#panel-keybuy .keybuy-email-picker{flex-basis:350px}
#panel-keybuy .keybuy-email-picker select{font-size:13px;text-overflow:clip}
#panel-keybuy .keybuy-email-picker button .ui-icon{width:19px;height:19px;margin:auto;stroke-width:1.8}
.keybuy-email-row{padding:10px 14px;border-radius:14px;transition:border-color .15s ease,background .15s ease}.keybuy-email-row:hover{border-color:rgba(var(--accent-rgb),.26);background:rgba(var(--accent-rgb),.045)}
.keybuy-email-copy{font-size:13px;cursor:copy}
.keybuy-email-row input[type=checkbox]{position:relative;width:42px;height:24px;flex:none;margin:0;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:999px;background:rgba(128,128,128,.18);cursor:pointer;transition:.18s ease}
.keybuy-email-row input[type=checkbox]::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.28);transition:transform .18s ease}
.keybuy-email-row input[type=checkbox]:checked{border-color:rgba(var(--accent-rgb),.7);background:var(--accent)}.keybuy-email-row input[type=checkbox]:checked::after{transform:translateX(18px)}
.keybuy-email-remove{flex:none;min-height:32px;padding:0 9px;border:1px solid rgba(255,69,58,.25);border-radius:9px;background:rgba(255,69,58,.06);color:var(--red);font-size:11px;font-weight:700;cursor:pointer}
.home-account-capacity{padding:5px 8px;border-radius:8px;background:rgba(52,199,89,.09);color:var(--green);font-size:10px;font-weight:750}.home-account-capacity.is-full{background:rgba(128,128,128,.12);color:var(--text2)}
.payout-calculation-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.payout-calculation-head select{height:30px;padding:0 30px 0 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);font-size:10px;cursor:pointer}
.keybuy-delivery-region.is-uncertain{border-color:rgba(255,159,10,.35);background:rgba(255,159,10,.10);color:#ffb340}
.home-account-edit,.home-buyer-edit{min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text2);font-size:11px;font-weight:700;cursor:pointer}.home-account-edit:hover,.home-buyer-edit:hover{border-color:rgba(var(--accent-rgb),.38);color:var(--accent)}.home-buyer-edit{flex:none}.home-buyer-edit:disabled{display:none}
@media(max-width:768px){#panel-keybuy .keybuy-email-picker{flex-basis:100%}#keybuy-purchase-email{font-size:12px}.keybuy-email-dialog{padding:17px}.keybuy-email-add{grid-template-columns:1fr}.keybuy-email-add button{width:100%}}
