/* style.css - Theme A: Navy + Gold (号码查重系统) */

:root{
  --brand-navy: #0f1b2b;
  --brand-navy-2: #14233a;
  --brand-gold: #f2b632;
  --brand-gold-2: #d9a421;
  --brand-bg: #f3f5f8;
  --brand-text: #1f2a37;
  --brand-muted: #6b7280;
  --card-border: #e6edf6;
}

html, body{
  height: 100%;
}

body{
  background: var(--brand-bg);
  color: var(--brand-text);
}

/* Top bar */
.topbar{
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-navy-2) 100%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Center brand block (highlight the system theme) */
.brand-center{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}

.brand-title{
  font-size: 34px;
  font-weight: 900;
  color: #fff;
  letter-spacing: .6px;
}

.brand-tagline{
  margin-top: 8px;
  font-size: 16px;
  font-weight: 700;
  color: rgba(233,238,247,0.92);
}

/* Legacy (kept for compatibility if any page still uses them) */
.brand-badge{ display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; background: rgba(242,182,50,0.16); border: 1px solid rgba(242,182,50,0.35); color: #fff; font-weight: 700; letter-spacing: .5px; }
.brand-subtitle{ color: rgba(233,238,247,0.85); font-size: 13px; }

/* Right actions: visible on both dark and light backgrounds */
.user-welcome{
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15,27,43,0.75);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,0.14);
}

.btn-logout{
  background: rgba(242,182,50,0.95);
  border: 1px solid rgba(242,182,50,0.95);
  color: #111827;
  font-weight: 800;
  border-radius: 999px;
  padding: 6px 12px;
}

.btn-logout:hover{
  background: rgba(217,164,33,0.98);
  border-color: rgba(217,164,33,0.98);
}

/* Content card */
.content-card, .card{
  border: 1px solid var(--card-border) !important;
  border-radius: 16px !important;
}

/* Nav tabs (pills-like) */
.nav-tabs-brand{
  border: none;
  gap: 10px;
}

.nav-tabs-brand .nav-link{
  border: 1px solid var(--card-border);
  border-radius: 999px;
  background: #fff;
  color: var(--brand-text);
  padding: 10px 18px;
  font-weight: 600;
  transition: all .15s ease;
}

.nav-tabs-brand .nav-link:hover{
  transform: translateY(-1px);
  border-color: rgba(242,182,50,0.55);
}

.nav-tabs-brand .nav-link.active{
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  color: #111827;
  box-shadow: 0 10px 22px rgba(15,27,43,0.12);
}

/* Buttons */
.btn-primary{
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: #111827 !important;
  font-weight: 700;
}

.btn-primary:hover{
  background: var(--brand-gold-2) !important;
  border-color: var(--brand-gold-2) !important;
}

.btn-outline-light{
  border-color: rgba(255,255,255,0.45) !important;
}

.btn-outline-light:hover{
  background: rgba(255,255,255,0.14) !important;
}

/* Tables */
.table thead th{
  background: rgba(15,27,43,0.04);
  border-bottom: 1px solid var(--card-border);
}

.table-hover tbody tr:hover{
  background: rgba(242,182,50,0.08);
}

.auth-bg{
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-navy-2) 100%);
}

/* Auth page */
.auth-card{
  background: rgba(15,27,43,0.92);
  border: 1px solid rgba(255,255,255,0.08);
}

/* Auth page headings */
.auth-card h4{
  color: #fff;
  font-weight: 800;
}

.auth-container .form-control{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
  color: #fff;
}

.auth-container .form-control::placeholder{
  color: rgba(233,238,247,0.65);
}

.auth-container .form-control:focus{
  background: rgba(255,255,255,0.10);
  border-color: rgba(242,182,50,0.60);
  box-shadow: 0 0 0 .25rem rgba(242,182,50,.18);
  color: #fff;
}

.auth-container hr{
  border-color: rgba(255,255,255,0.12);
}

.auth-container .text-muted{
  color: rgba(233,238,247,0.70) !important;
}

/* Utilities */
code{
  background: rgba(15,27,43,0.06);
  border-radius: 8px;
  padding: 2px 6px;
}

/* Bootstrap color tweaks */
.text-primary{ color: var(--brand-navy-2) !important; }
.bg-primary{ background-color: var(--brand-navy-2) !important; }


/* Phone query page badges (avoid heavy black) */
.feature-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .2px;
  border: 1px solid transparent;
  user-select: none;
}

.feature-badge-gold{
  background: rgba(242,182,50,0.18);
  border-color: rgba(242,182,50,0.45);
  color: #111827;
}

.feature-badge-blue{
  background: rgba(20,35,58,0.10);
  border-color: rgba(20,35,58,0.22);
  color: var(--brand-navy-2);
}

/* Green feature badges (white text) */
.feature-badge-green{
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  border-color: rgba(21,128,61,0.65);
  color: #fff;
  box-shadow: 0 10px 22px rgba(22,163,74,0.18);
}

/* DB total box */
.db-total-box{
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 8px;
  padding: 14px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(15,27,43,0.22);
  background: #fff;
  font-weight: 800;
}

.db-total-number{
  color: #dc2626;
  font-size: 18px;
}

/* Table one-line display */
.td-truncate{
  max-width: 260px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Footer */
.app-footer{
  margin-top: 28px;
  padding: 14px 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: rgba(233,238,247,0.88);
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-navy-2) 100%);
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* --- Hotfix v3: force styles to apply even under cache/override --- */
.db-total-box{ width:100%; }
.db-total-box .db-total-number{ color:#dc2626 !important; font-weight:900; }
.app-footer{ text-align:center; }

/* Make feature badges always render as green pills */
.feature-badge.feature-badge-green{ color:#fff !important; background: linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important; border-color: rgba(21,128,61,0.65) !important; }
