@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap");

/* Тёмно-золотая тема: кабинет владельца и админка */
body.owner-cabinet,
body.admin-cabinet,
body.guest-cabinet {
  background: linear-gradient(160deg, #0f1419 0%, #1a2332 45%, #121820 100%);
  color: #f5f0e8;
  min-height: 100vh;
}

body.owner-cabinet a,
body.admin-cabinet a,
body.guest-cabinet a { color: #dfc07a; }

body.owner-cabinet a:hover,
body.admin-cabinet a:hover,
body.guest-cabinet a:hover { color: #f0d48a; }

body.owner-cabinet .wrap,
body.guest-cabinet .wrap { max-width: 880px; }

body.admin-cabinet .wrap { max-width: 960px; }

body.owner-cabinet header.top .brand h1,
body.admin-cabinet header.top .brand h1,
body.guest-cabinet header.top .brand h1 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.65rem;
  font-weight: 600;
  color: #faf8f5;
  letter-spacing: 0.02em;
}

body.owner-cabinet .brand .sub,
body.admin-cabinet .brand .sub,
body.guest-cabinet .brand .sub { color: #a8a095; }

body.guest-cabinet .login-brand-tag {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: #8a8478;
  margin-top: 4px;
}

body.owner-cabinet .card,
body.admin-cabinet .card,
body.guest-cabinet .card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(201, 169, 98, 0.2);
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

body.owner-cabinet .card h2,
body.admin-cabinet .card h2,
body.guest-cabinet .card h2 {
  color: #faf8f5;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.2rem;
  font-weight: 600;
}

body.owner-cabinet .muted,
body.admin-cabinet .muted,
body.guest-cabinet .muted { color: #a8a095; }

body.owner-cabinet .btn,
body.admin-cabinet .btn,
body.guest-cabinet .btn {
  background: linear-gradient(135deg, #c9a962 0%, #a8863f 100%);
  color: #1a1510;
  font-weight: 600;
  border: none;
}

body.owner-cabinet .btn:hover,
body.admin-cabinet .btn:hover,
body.guest-cabinet .btn:hover {
  background: linear-gradient(135deg, #dfc07a 0%, #c9a962 100%);
  color: #1a1510;
}

body.owner-cabinet .btn.secondary,
body.admin-cabinet .btn.secondary {
  background: rgba(255, 255, 255, 0.08);
  color: #f5f0e8;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

body.owner-cabinet .btn.secondary:hover,
body.admin-cabinet .btn.secondary:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #faf8f5;
}

body.owner-cabinet .btn.warn,
body.admin-cabinet .btn.warn {
  background: linear-gradient(135deg, #c45a00 0%, #a34c00 100%);
  color: #fff;
}

body.owner-cabinet .badge.ok,
body.admin-cabinet .badge.ok {
  background: rgba(109, 191, 138, 0.2);
  color: #6dbf8a;
}

body.owner-cabinet .badge.warn,
body.admin-cabinet .badge.warn {
  background: rgba(201, 169, 98, 0.2);
  color: #dfc07a;
}

body.owner-cabinet .badge.error,
body.admin-cabinet .badge.error {
  background: rgba(180, 35, 24, 0.25);
  color: #f0a8a0;
}

body.owner-cabinet .alert.warn,
body.admin-cabinet .alert.warn {
  background: rgba(201, 169, 98, 0.15);
  border: 1px solid rgba(201, 169, 98, 0.35);
  color: #f0d48a;
}

body.owner-cabinet .alert.ok,
body.admin-cabinet .alert.ok,
body.guest-cabinet .alert.ok {
  background: rgba(109, 191, 138, 0.15);
  border: 1px solid rgba(109, 191, 138, 0.3);
  color: #6dbf8a;
}

body.owner-cabinet .alert.error,
body.admin-cabinet .alert.error,
body.guest-cabinet .alert.error {
  background: rgba(180, 35, 24, 0.2);
  border: 1px solid rgba(180, 35, 24, 0.35);
  color: #f0a8a0;
}

body.owner-cabinet .guide-card,
body.admin-cabinet .guide-card {
  background: linear-gradient(145deg, rgba(201, 169, 98, 0.1) 0%, rgba(255, 255, 255, 0.04) 100%);
  border-color: rgba(201, 169, 98, 0.25);
}

body.owner-cabinet .preview-box,
body.admin-cabinet .preview-box {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e8e2d8;
}

body.owner-cabinet .hint-owner {
  background: rgba(201, 169, 98, 0.1);
  border-left: 3px solid #c9a962;
  color: #c4bdb0;
}

body.owner-cabinet .stat-item {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.owner-cabinet .stat-value { color: #dfc07a; }

body.owner-cabinet .stat-label { color: #a8a095; }

body.owner-cabinet .period-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #c4bdb0;
}

body.owner-cabinet .period-btn.active,
body.owner-cabinet .period-btn:hover {
  background: linear-gradient(135deg, #c9a962 0%, #a8863f 100%);
  border-color: #c9a962;
  color: #1a1510;
}

body.owner-cabinet th,
body.owner-cabinet td,
body.admin-cabinet th,
body.admin-cabinet td {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #e8e2d8;
}

body.owner-cabinet th,
body.admin-cabinet th { color: #dfc07a; }

body.owner-cabinet .ticket-thread,
body.admin-cabinet .ticket-thread {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

body.owner-cabinet .ticket-reply,
body.admin-cabinet .ticket-reply {
  background: rgba(109, 191, 138, 0.12);
  color: #c4bdb0;
}

body.owner-cabinet form input,
body.owner-cabinet form textarea,
body.owner-cabinet form select,
body.admin-cabinet form input,
body.admin-cabinet form textarea,
body.admin-cabinet form select,
body.guest-cabinet form input,
body.guest-cabinet form textarea,
body.guest-cabinet form select {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #f5f0e8;
}

body.owner-cabinet form label,
body.admin-cabinet form label,
body.guest-cabinet form label { color: #c4bdb0; }

body.guest-cabinet .page-foot {
  display: none;
}

body.owner-cabinet .page-foot,
body.admin-cabinet .page-foot {
  color: #7a756c;
  border-top: 1px solid rgba(201, 169, 98, 0.15);
  padding-top: 20px;
}

body.owner-cabinet .page-foot .muted,
body.admin-cabinet .page-foot .muted { color: #7a756c; }

body.owner-cabinet .page-foot .foot-version,
body.admin-cabinet .page-foot .foot-version {
  display: block;
  margin-top: 6px;
  color: #8a8478;
  font-size: 0.8rem;
}

body.admin-cabinet code {
  background: rgba(0, 0, 0, 0.35);
  padding: 2px 6px;
  border-radius: 4px;
  color: #dfc07a;
}

.welcome-banner {
  display: flex;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 24px;
  padding: 18px;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(201, 169, 98, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%);
  border: 1px solid rgba(201, 169, 98, 0.28);
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.22);
}

.welcome-banner-photo,
.welcome-banner-placeholder {
  flex: 0 0 132px;
  width: 132px;
  height: 132px;
  border-radius: 12px;
  object-fit: cover;
}

.welcome-banner-placeholder {
  background: linear-gradient(135deg, rgba(201, 169, 98, 0.35) 0%, rgba(26, 35, 50, 0.9) 100%);
  border: 1px solid rgba(201, 169, 98, 0.25);
}

.welcome-banner-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.welcome-banner-kicker {
  margin: 0 0 4px;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c9a962;
}

.welcome-banner-title {
  margin: 0 0 8px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.55rem;
  font-weight: 600;
  color: #faf8f5;
  line-height: 1.2;
}

.welcome-banner-text {
  margin: 0;
  color: #c4bdb0;
  font-size: 0.92rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 560px) {
  .welcome-banner {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .welcome-banner-photo,
  .welcome-banner-placeholder {
    width: 100%;
    max-width: 200px;
    height: 160px;
  }
}
