/* AssiSeek Unified UI — v4.0
   Общий слой дизайна для всех страниц, не меняющий внутреннюю механику чата.
*/
:root {
  --ui-bg: #090b12;
  --ui-surface: rgba(18, 21, 34, .82);
  --ui-surface-strong: rgba(22, 25, 41, .94);
  --ui-border: rgba(255,255,255,.09);
  --ui-border-strong: rgba(255,255,255,.14);
  --ui-text: #f8fafc;
  --ui-muted: #9aa3b5;
  --ui-subtle: #687386;
  --ui-primary: #6366f1;
  --ui-primary-2: #8b5cf6;
  --ui-success: #10b981;
  --ui-danger: #ef4444;
  --ui-warning: #f59e0b;
  --ui-radius: 18px;
  --ui-radius-sm: 12px;
  --ui-shadow: 0 18px 55px rgba(0,0,0,.28);
  --ui-shadow-soft: 0 8px 28px rgba(0,0,0,.2);
}

html { scroll-behavior: smooth; }
body:not(.chat-page) {
  background:
    radial-gradient(900px 520px at 8% -5%, rgba(99,102,241,.13), transparent 65%),
    radial-gradient(800px 500px at 95% 10%, rgba(139,92,246,.09), transparent 65%),
    var(--ui-bg) !important;
  color: var(--ui-text);
  overflow-x: hidden;
}
body:not(.chat-page) a { color: inherit; }

/* Единая шапка */
body:not(.chat-page) .site-header { padding: 12px 16px 0 !important; }
body:not(.chat-page) .navbar-glass {
  max-width: 1180px;
  min-height: 54px;
  padding: .5rem .9rem !important;
  border-radius: 16px !important;
  border: 1px solid var(--ui-border) !important;
  background: rgba(12,15,25,.82) !important;
  box-shadow: 0 10px 35px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045) !important;
}
body:not(.chat-page) .navbar-brand { min-width: max-content; }
body:not(.chat-page) .nav-link,
body:not(.chat-page) .navbar-nav .nav-link {
  border-radius: 10px;
  padding: .48rem .68rem !important;
  color: rgba(255,255,255,.7) !important;
  font-size: .86rem;
}
body:not(.chat-page) .nav-link:hover,
body:not(.chat-page) .navbar-nav .nav-link:hover { background: rgba(99,102,241,.09); color: #fff !important; }

/* Единый контент */
body:not(.chat-page) .container { width: min(1180px, calc(100% - 32px)); }
body:not(.chat-page) .glass-card,
body:not(.chat-page) .dash-card,
body:not(.chat-page) .feature-card,
body:not(.chat-page) .review-card,
body:not(.chat-page) .profile-card,
body:not(.chat-page) .stat-card,
body:not(.chat-page) .plan-card,
body:not(.chat-page) .special-offer-card,
body:not(.chat-page) .subscription-status-card,
body:not(.chat-page) .referral-hero,
body:not(.chat-page) .referral-code-box,
body:not(.chat-page) .referral-link-box,
body:not(.chat-page) .balance-card,
body:not(.chat-page) .balance-hero {
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius) !important;
  box-shadow: var(--ui-shadow-soft);
}
body:not(.chat-page) .glass-card,
body:not(.chat-page) .dash-card,
body:not(.chat-page) .feature-card,
body:not(.chat-page) .review-card,
body:not(.chat-page) .profile-card,
body:not(.chat-page) .stat-card,
body:not(.chat-page) .plan-card,
body:not(.chat-page) .subscription-status-card,
body:not(.chat-page) .referral-hero,
body:not(.chat-page) .balance-card,
body:not(.chat-page) .balance-hero { background: var(--ui-surface); }

/* Единые интерактивные элементы */
body:not(.chat-page) button,
body:not(.chat-page) .btn,
body:not(.chat-page) .btn-primary-gradient,
body:not(.chat-page) .btn-submit,
body:not(.chat-page) .btn-cancel {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
}
body:not(.chat-page) button:hover,
body:not(.chat-page) .btn:hover,
body:not(.chat-page) .btn-primary-gradient:hover { transform: translateY(-1px); }
body:not(.chat-page) input,
body:not(.chat-page) select,
body:not(.chat-page) textarea {
  border-radius: 11px !important;
  border-color: var(--ui-border-strong) !important;
  background: rgba(7,10,18,.55) !important;
  color: var(--ui-text) !important;
}
body:not(.chat-page) input:focus,
body:not(.chat-page) select:focus,
body:not(.chat-page) textarea:focus {
  border-color: rgba(129,140,248,.75) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,.13) !important;
}

/* Юридические страницы */
body.legal-page .content {
  width: min(980px, calc(100% - 32px));
  margin: 24px auto 40px;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--ui-border);
  border-radius: 22px;
  background: rgba(18,21,34,.72);
  box-shadow: var(--ui-shadow);
}
body.legal-page .navbar { border-bottom: 1px solid var(--ui-border) !important; }

/* Cookie banner — один размер на всём сайте */
#cookieNotice {
  position: fixed !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  width: auto !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 14px 16px !important;
  gap: 14px !important;
  align-items: center !important;
  background: rgba(14,17,28,.96) !important;
  border: 1px solid var(--ui-border-strong) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  z-index: 10000 !important;
}
#cookieNotice .cookie-text { line-height: 1.45; }
#cookieNotice .cookie-text i { color: #a5b4fc; margin-right: 5px; }
#cookieNotice button { min-height: 36px; }

/* Toast: понятные сообщения, компактно на мобильном */
.toast-container { max-width: min(420px, calc(100vw - 24px)) !important; }
.toast {
  border-radius: 14px !important;
  border: 1px solid var(--ui-border-strong) !important;
  box-shadow: 0 16px 45px rgba(0,0,0,.35) !important;
}

/* Footer */
body:not(.chat-page) .site-footer { margin-top: auto; }
body:not(.chat-page) .footer-glass {
  border-top: 1px solid var(--ui-border) !important;
  background: rgba(10,13,22,.7) !important;
}

@media (max-width: 700px) {
  body:not(.chat-page) .site-header { padding: 8px 10px 0 !important; }
  body:not(.chat-page) .navbar-glass { min-height: 48px; padding: .38rem .65rem !important; }
  body:not(.chat-page) .container { width: min(100% - 20px, 1180px); }
  #cookieNotice { left: 10px !important; right: 10px !important; bottom: 10px !important; flex-direction: column !important; align-items: stretch !important; }
  #cookieNotice > div:last-child { width: 100%; }
  #cookieNotice > div:last-child button { flex: 1; }
  body.legal-page .content { width: calc(100% - 20px); margin: 12px auto 24px; padding: 20px 16px; border-radius: 16px; }
}
