/* Личный кабинет — надстройка над основным стилем сайта (/css/style.css) */

.cab { padding: 48px 0 72px; }
.cab-narrow { max-width: 720px; }
.cab-card { padding: 24px; }
.cab-card + .cab-card { margin-top: 18px; }

.cab-field { display: block; margin-bottom: 16px; }
.cab-field span {
  display: block; font-size: 14px; font-weight: 600;
  color: var(--muted); margin-bottom: 6px;
}
.cab-field .cab-optional { font-style: normal; font-weight: 400; opacity: .75; }
.cab-field input {
  width: 100%; padding: 12px 14px; font: inherit; font-size: 16px;
  color: var(--txt); background: var(--bg2);
  border: 1px solid var(--line); border-radius: 12px; outline: none;
  transition: border-color .2s;
}
.cab-field input:focus { border-color: var(--accent); }

.cab-submit { width: 100%; margin-top: 6px; }
.cab-note { color: var(--muted); font-size: 13.5px; margin-top: 14px; }
.cab-center { text-align: center; }

/* ---- ожидание ---- */
.cab-wait { text-align: center; padding: 40px 24px; }
.cab-wait h3 { margin: 18px 0 8px; font-size: 20px; }
.cab-wait p { color: var(--muted); font-size: 15px; }
.cab-spinner {
  width: 42px; height: 42px; margin: 0 auto; border-radius: 50%;
  border: 3px solid var(--line); border-top-color: var(--accent);
  animation: cab-spin 0.9s linear infinite;
}
@keyframes cab-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cab-spinner { animation-duration: 3s; } }

/* ---- карточки конфигураций ---- */
.cab-cfg-head h3 { font-size: 18px; margin-bottom: 4px; }
.cab-cfg-head .cab-hint { color: var(--muted); font-size: 14px; margin-bottom: 16px; }
.cab-cfg-body { display: flex; gap: 18px; align-items: flex-start; }
.cab-qr {
  flex: 0 0 auto; width: 180px; height: 180px;
  background: #fff; border-radius: 12px; padding: 6px;
}
.cab-cfg-side { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cab-value {
  width: 100%; resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px; line-height: 1.45; color: var(--txt); background: var(--bg2);
  border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px;
  word-break: break-all; outline: none;
}
.cab-copy { padding: 9px 16px; font-size: 14px; }
.cab-copy.done { border-color: var(--accent2); color: var(--accent2); }

.foot { border-top: 1px solid var(--line); color: var(--muted); padding: 22px 0; font-size: 14px; }

@media (max-width: 640px) {
  .cab-cfg-body { flex-direction: column; align-items: center; }
  .cab-cfg-side { width: 100%; }
}
