:root {
  --red: #F6B800;
  --red-dark: #9A6400;
  --red-light: #FFF8D7;
  --red-soft: #FFF0A8;
  --pink: #FFD45A;
  --coral: #FFE58A;
  --bg: #F7F6F1;
  --card: #fff;
  --text: #1F2933;
  --text2: #4B5563;
  --text3: #8A8F98;
  --border: #EEE7D2;
  --border2: #DED4B6;
  --orange: #D88A00;
  --orange-bg: #FFF6DE;
  --green: #0CA678;
  --green-bg: #ECFFF7;
  --blue: #2F6FB3;
  --blue-bg: #EEF6FF;
  --purple: #7C5CC4;
  --purple-bg: #F5F0FF;
  --douyin-blue: #2F6FB3;
  --douyin-pink: #D88A00;
  --shadow: 0 2px 14px rgba(130, 94, 0, .07);
  --shadow-hover: 0 10px 30px rgba(214, 154, 0, .18);
}

body {
  background: var(--bg);
}

.auth-shell,
.site-header {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.38), transparent 30%),
    linear-gradient(135deg, #F4B400 0%, #FFD45A 48%, #FFF0A8 100%);
  color: #1F2933;
}

.auth-brand,
.header-brand,
.site-footer .brand {
  color: #8A5A00;
}

.header-brand svg,
.header-brand svg path {
  fill: #8A5A00;
}

.site-header h1 {
  color: #111827;
  text-shadow: none;
}

.header-desc {
  color: #374151;
  opacity: .9;
}

.auth-submit,
.top-badge {
  background: linear-gradient(135deg, #E6A800 0%, #FFD45A 100%);
  color: #1F2933;
  box-shadow: 0 10px 24px rgba(214, 154, 0, .22);
}

.tab-btn.active,
.filter-tag.active {
  background: var(--red);
  color: #1F2933;
}

.tab-btn:hover,
.filter-tag:hover,
.tb-btn:hover,
.card-title:hover,
.date-report-link,
.results-count,
.clear-filters,
.expand-btn,
.card-footer a,
.card-delete-btn,
.upload-close:hover {
  color: var(--red-dark);
}

.tb-btn:hover,
.filter-tag:hover,
.date-select:focus,
.search-box input:focus {
  border-color: var(--red);
}

.search-box input:focus {
  box-shadow: 0 0 0 3px rgba(246, 184, 0, .14);
}

.date-header {
  border-bottom-color: var(--red);
}

.date-title,
.stat-num {
  color: var(--red-dark);
}

.date-count,
.card-tag.source-xhs,
.auth-error,
.upload-drop:hover,
.upload-drop.dragover {
  background: var(--red-light);
  color: var(--red-dark);
}

.card-source-stripe.xhs {
  background: linear-gradient(180deg, #F6B800, #D88A00);
}

.card-source-stripe.douyin {
  background: linear-gradient(180deg, #2F6FB3, #F6B800);
}

.heat-val {
  color: #B77900;
}

.heat-fill {
  background: linear-gradient(90deg, #D88A00, #FFD45A);
}

.card-brief-text .kw,
.card-points li .kw {
  color: #8A5A00;
  background: var(--red-light);
}

.card-points li::before {
  background: var(--red);
}

.topic-image-upload-btn {
  border-color: rgba(214, 154, 0, .28);
  background: var(--red-light);
  color: var(--red-dark);
}

.topic-image-remove-btn:hover,
.image-lightbox-close:hover {
  background: rgba(184, 111, 0, .96);
}

.image-lightbox-nav:hover {
  background: rgba(246, 184, 0, .92);
  color: #1F2933;
}

.tb-btn.upload-btn {
  color: #8A5A00;
  border-color: #F6B800;
}

.tb-btn.upload-btn:hover {
  background: var(--red-light);
  color: #8A5A00;
}

.danger-btn {
  border-color: rgba(154, 100, 0, .24);
  color: #8A5A00;
}

.danger-btn:hover {
  background: var(--red-light);
  border-color: rgba(154, 100, 0, .36);
}
