/* NLG Quote System — Unified Theme (Apple Premium) */
:root {
  --bg-primary: #F5F5F7; --bg-secondary: #FFFFFF; --bg-tertiary: #F0F0F2;
  --surface: rgba(255,255,255,0.72); --surface-solid: #FFFFFF;
  --card-bg: rgba(255,255,255,0.72); --card-border: rgba(0,0,0,0.06);
  --text-primary: #1D1D1F; --text-secondary: #6E6E73; --text-tertiary: #86868B;
  --text-inverse: #F5F5F7;
  --accent: #2997FF; --accent-hover: #0A84FF;
  --gold: #C8A84E; --gold-light: #D4B869; --gold-bg: #FFD60A;
  --green: #34C759; --red: #FF3B30; --orange: #FF9F0A;
  --blue: #007AFF; --purple: #AF52DE; --teal: #30B0C7; --navy: #1A3353;
  --border: rgba(0,0,0,0.08); --divider: rgba(0,0,0,0.06);
  --shadow: 0 2px 12px rgba(0,0,0,0.08); --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
  --input-bg: rgba(0,0,0,0.04); --input-border: rgba(0,0,0,0.10); --input-focus: #2997FF;
  --sidebar-bg: #F5F5F7; --sidebar-hover: rgba(0,0,0,0.04); --sidebar-active: rgba(41,151,255,0.10);
  --header-bg: rgba(255,255,255,0.80); --header-blur: blur(20px) saturate(180%); --header-border: rgba(0,0,0,0.06);
  --scrollbar-thumb: rgba(0,0,0,0.15);
  --glass-bg: rgba(255,255,255,0.60); --glass-blur: blur(24px) saturate(180%); --glass-border: rgba(0,0,0,0.06);
}
body.dark, :root.dark {
  --bg-primary: #000000; --bg-secondary: #0A0A0A; --bg-tertiary: #1C1C1E;
  --surface: rgba(28,28,30,0.60); --surface-solid: #1C1C1E;
  --card-bg: rgba(28,28,30,0.60); --card-border: rgba(255,255,255,0.05);
  --text-primary: #F5F5F7; --text-secondary: rgba(255,255,255,0.60); --text-tertiary: #86868B;
  --text-inverse: #1D1D1F;
  --accent: #2997FF; --accent-hover: #0A84FF;
  --gold: #FFD60A; --gold-light: #D4B869; --gold-bg: #FFD60A;
  --green: #34C759; --red: #FF3B30; --orange: #FF9F0A;
  --blue: #0A84FF; --purple: #BF5AF2; --teal: #30B0C7; --navy: #0A0A0A;
  --border: rgba(255,255,255,0.05); --divider: rgba(255,255,255,0.05);
  --shadow: 0 2px 12px rgba(0,0,0,0.30); --shadow-lg: 0 8px 32px rgba(0,0,0,0.50);
  --input-bg: rgba(255,255,255,0.06); --input-border: rgba(255,255,255,0.05); --input-focus: #2997FF;
  --sidebar-bg: #0A0A0A; --sidebar-hover: rgba(255,255,255,0.06); --sidebar-active: rgba(41,151,255,0.15);
  --header-bg: rgba(28,28,30,0.80); --header-blur: blur(20px) saturate(180%); --header-border: rgba(255,255,255,0.05);
  --scrollbar-thumb: rgba(255,255,255,0.15);
  --glass-bg: rgba(28,28,30,0.60); --glass-blur: blur(24px) saturate(180%); --glass-border: rgba(255,255,255,0.05);
}
body { background: var(--bg-primary) !important; color: var(--text-primary) !important;
  font-family: -apple-system,'SF Pro Display','Inter','Noto Sans SC',sans-serif; -webkit-font-smoothing: antialiased; }
.card,.glass-card,.login-card,.register-card,.panel,.stat-card,.metric-card,.info-card {
  background: var(--card-bg) !important; backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important; border: 1px solid var(--card-border) !important;
  border-radius: 16px !important; color: var(--text-primary) !important; }
.login-container,.register-container,.dashboard-container,.admin-container,.chat-container,.quote-container,[class*="container"] {
  background: var(--bg-primary) !important; }
.btn-primary,.btn-gold,button[type="submit"],.login-btn,.submit-btn {
  background: var(--accent) !important; background-image: none !important; border: none !important;
  color: #fff !important; border-radius: 12px !important; box-shadow: none !important; font-weight: 600; transition: background 0.2s; }
.btn-primary:hover,.btn-gold:hover,button[type="submit"]:hover,.login-btn:hover,.submit-btn:hover {
  background: var(--accent-hover) !important; }
input,select,textarea,[type="text"],[type="email"],[type="password"],[type="number"] {
  background: var(--input-bg) !important; color: var(--text-primary) !important;
  border: 1px solid var(--input-border) !important; border-radius: 8px !important; }
input::placeholder,textarea::placeholder { color: var(--text-tertiary) !important; }
input:focus,select:focus,textarea:focus { border-color: var(--input-focus) !important; box-shadow: 0 0 0 3px rgba(41,151,255,0.15) !important; }
.sidebar,[class*="sidebar"],.nav-panel { background: var(--sidebar-bg) !important; border-right: 1px solid var(--border) !important; }
.sidebar a,.nav-link,.sidebar-link { color: var(--text-secondary) !important; }
.sidebar a:hover,.nav-link:hover,.sidebar-link:hover { color: var(--text-primary) !important; background: var(--sidebar-hover) !important; }
.sidebar a.active,.nav-link.active { color: var(--accent) !important; background: var(--sidebar-active) !important; }
.header,.navbar,.top-bar,[class*="header"] { background: var(--header-bg) !important;
  backdrop-filter: var(--header-blur) !important; -webkit-backdrop-filter: var(--header-blur) !important;
  border-bottom: 1px solid var(--header-border) !important; }
h1,h2,h3,h4,h5,h6 { color: var(--text-primary) !important; }
p,label,small,td,th,li { color: var(--text-primary) !important; }
.text-muted,[class*="subtitle"],[class*="secondary"] { color: var(--text-secondary) !important; }
table { color: var(--text-primary) !important; }
table thead,table th { background: var(--input-bg) !important; color: var(--text-tertiary) !important; }
table td { border-bottom: 1px solid var(--divider) !important; }
table tbody tr:hover { background: var(--sidebar-hover) !important; }
a { color: var(--accent) !important; } a:hover { color: var(--accent-hover) !important; }
.badge-success,.badge-green { background: rgba(52,199,89,0.15) !important; color: var(--green) !important; }
.badge-warning,.badge-orange { background: rgba(255,159,10,0.15) !important; color: var(--orange) !important; }
.badge-danger,.badge-red { background: rgba(255,59,48,0.15) !important; color: var(--red) !important; }
.badge-info,.badge-blue { background: rgba(41,151,255,0.15) !important; color: var(--accent) !important; }
.chat-container,.chat-area,.message-list { background: var(--bg-secondary) !important; }
.message.user .bubble { background: var(--accent) !important; color: #fff !important; }
.message.ai .bubble,.message.bot .bubble { background: var(--input-bg) !important; color: var(--text-primary) !important; }
.chat-input-area { background: var(--surface-solid) !important; border-top: 1px solid var(--border) !important; }
.modal-content,.dropdown-menu,.popup { background: var(--surface-solid) !important; border: 1px solid var(--border) !important; color: var(--text-primary) !important; }
::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 3px; }
.gold { color: var(--gold) !important; }
.lock { background: linear-gradient(135deg, var(--gold-bg), #FFE043) !important; }
.footer { color: var(--text-secondary) !important; }
