/* ── TIN Audit Checker v4 — Light Theme, high-specificity overrides ───────── */

#tac-wrapper,
#tac-wrapper * {
  box-sizing: border-box !important;
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif !important;
  line-height: normal !important;
}

#tac-wrapper {
  max-width: 680px !important;
  margin: 32px auto !important;
  padding: 0 16px 48px !important;
  color: #1e293b !important;
  background: transparent !important;
}

/* ── Header ──────────────────────────────────────────────────────────────── */

#tac-wrapper .tac-header {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%) !important;
  border-radius: 16px !important;
  padding: 28px 28px 24px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  border: none !important;
  box-shadow: 0 4px 24px rgba(15,23,42,0.18) !important;
}

#tac-wrapper .tac-header-icon {
  font-size: 2rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin-top: 3px !important;
}

#tac-wrapper .tac-title {
  font-size: clamp(1.3rem, 4vw, 1.75rem) !important;
  font-weight: 800 !important;
  color: #f1f5f9 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  border: none !important;
  background: none !important;
}

#tac-wrapper .tac-title::after,
#tac-wrapper .tac-title::before { display: none !important; }

#tac-wrapper .tac-title-tag {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  background: #1d4ed8 !important;
  color: #bfdbfe !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  line-height: 1.6 !important;
}

#tac-wrapper .tac-subtitle {
  font-size: 0.9rem !important;
  color: #94a3b8 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

/* ── Search Card ─────────────────────────────────────────────────────────── */

#tac-wrapper .tac-card {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
}

#tac-wrapper .tac-card-label {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

#tac-wrapper .tac-field-label {
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  display: block !important;
}

#tac-wrapper .tac-input-row {
  display: flex !important;
  gap: 10px !important;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

#tac-wrapper .tac-input {
  flex: 1 !important;
  padding: 13px 16px !important;
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  font-family: 'Courier New', 'Consolas', monospace !important;
  letter-spacing: 0.06em !important;
  color: #0f172a !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.18s, box-shadow 0.18s !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

#tac-wrapper .tac-input::placeholder {
  color: #94a3b8 !important;
  letter-spacing: 0.03em !important;
  font-size: 0.88rem !important;
}

#tac-wrapper .tac-input:focus {
  border-color: #0284c7 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(2,132,199,0.12) !important;
}

#tac-wrapper .tac-input.tac-input-error {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,0.1) !important;
}

#tac-wrapper .tac-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  background: #0f172a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 13px 22px !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 10px rgba(15,23,42,0.25) !important;
  letter-spacing: 0.01em !important;
  transition: background 0.18s, transform 0.1s, box-shadow 0.18s !important;
  text-decoration: none !important;
  line-height: 1 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

#tac-wrapper .tac-btn:hover:not(:disabled) {
  background: #1e293b !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 18px rgba(15,23,42,0.3) !important;
  color: #fff !important;
  text-decoration: none !important;
}

#tac-wrapper .tac-btn:active:not(:disabled) { transform: translateY(0) !important; }

#tac-wrapper .tac-btn:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

#tac-wrapper .tac-btn-icon { font-size: 1rem !important; }

#tac-wrapper .tac-spinner {
  display: none !important;
  width: 15px !important;
  height: 15px !important;
  border: 2px solid rgba(255,255,255,0.3) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  animation: tac-spin 0.6s linear infinite !important;
  flex-shrink: 0 !important;
}

#tac-wrapper.tac-loading .tac-spinner  { display: inline-block !important; }
#tac-wrapper.tac-loading .tac-btn-icon { display: none !important; }

@keyframes tac-spin { to { transform: rotate(360deg); } }

/* ── Thinking ────────────────────────────────────────────────────────────── */

#tac-wrapper .tac-thinking {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.8rem !important;
  color: #0284c7 !important;
  font-style: italic !important;
  margin-top: 12px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-thinking-dot {
  width: 5px !important;
  height: 5px !important;
  background: #0284c7 !important;
  border-radius: 50% !important;
  display: inline-block !important;
  animation: tac-blink 1.2s ease-in-out infinite !important;
  flex-shrink: 0 !important;
}

#tac-wrapper .tac-thinking-dot:nth-child(2) { animation-delay: 0.2s !important; }
#tac-wrapper .tac-thinking-dot:nth-child(3) { animation-delay: 0.4s !important; }

@keyframes tac-blink {
  0%, 100% { opacity: 0.2; transform: scale(0.8); }
  50%       { opacity: 1;   transform: scale(1.1); }
}

/* ── Result ──────────────────────────────────────────────────────────────── */

#tac-wrapper .tac-result {
  border-radius: 14px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  animation: tac-fadein 0.3s ease !important;
}

@keyframes tac-fadein {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

#tac-wrapper .tac-not-found {
  background: #f0fdf4 !important;
  border: 1.5px solid #86efac !important;
  padding: 22px 24px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

#tac-wrapper .tac-not-found .tac-result-icon {
  font-size: 1.8rem !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

#tac-wrapper .tac-not-found .tac-result-title {
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: #15803d !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-not-found .tac-result-body {
  font-size: 0.87rem !important;
  color: #166534 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.65 !important;
}

#tac-wrapper .tac-found { border: 1.5px solid #fca5a5 !important; }

#tac-wrapper .tac-scan-result-label {
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 10px 22px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

#tac-wrapper .tac-found-banner {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  padding: 18px 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  border-bottom: 1px solid #991b1b !important;
}

#tac-wrapper .tac-banner-icon { font-size: 1.6rem !important; flex-shrink: 0 !important; }

#tac-wrapper .tac-banner-title {
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: #fff !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-banner-sub {
  font-size: 0.76rem !important;
  color: rgba(255,255,255,0.75) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#tac-wrapper .tac-found-details {
  background: #fff !important;
  padding: 20px 22px !important;
}

#tac-wrapper .tac-tin-badge {
  display: inline-flex !important;
  align-items: center !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 7px !important;
  padding: 5px 12px !important;
  font-family: 'Courier New', monospace !important;
  font-size: 0.9rem !important;
  color: #dc2626 !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
  letter-spacing: 0.06em !important;
}

#tac-wrapper .tac-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}

#tac-wrapper .tac-detail-item {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
}

#tac-wrapper .tac-detail-label {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #94a3b8 !important;
  margin-bottom: 4px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-detail-value {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin: 0 !important;
  padding: 0 !important;
}

#tac-wrapper .tac-what-means {
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
}

#tac-wrapper .tac-what-means-title {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #92400e !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

#tac-wrapper .tac-what-means-body {
  font-size: 0.84rem !important;
  color: #78350f !important;
  line-height: 1.65 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-action {
  font-size: 0.84rem !important;
  color: #0369a1 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#tac-wrapper .tac-error {
  background: #fef2f2 !important;
  border: 1.5px solid #fca5a5 !important;
  padding: 18px 22px !important;
  color: #991b1b !important;
  font-size: 0.88rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 14px !important;
}

/* ── Sections ────────────────────────────────────────────────────────────── */

#tac-wrapper .tac-section {
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 22px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.04) !important;
}

#tac-wrapper .tac-section-title {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  border: none !important;
  background: none !important;
}

#tac-wrapper .tac-section-title::after,
#tac-wrapper .tac-section-title::before { display: none !important; }

#tac-wrapper .tac-section-body {
  font-size: 0.85rem !important;
  color: #475569 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Snapshot rows */
#tac-wrapper .tac-snapshot {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

#tac-wrapper .tac-snap-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  font-size: 0.87rem !important;
  margin: 0 !important;
}

#tac-wrapper .tac-snap-val {
  font-weight: 800 !important;
  color: #0284c7 !important;
  font-size: 0.92rem !important;
  min-width: 72px !important;
  flex-shrink: 0 !important;
  font-family: 'Courier New', monospace !important;
}

#tac-wrapper .tac-snap-zero { color: #16a34a !important; }
#tac-wrapper .tac-snap-arrow { color: #94a3b8 !important; font-weight: 600 !important; flex-shrink: 0 !important; }
#tac-wrapper .tac-snap-desc { color: #475569 !important; }

/* Phase list */
#tac-wrapper .tac-phase-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 12px 0 0 !important;
}

#tac-wrapper .tac-phase {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
}

#tac-wrapper .tac-phase-icon { font-size: 1.1rem !important; flex-shrink: 0 !important; margin-top: 1px !important; }

#tac-wrapper .tac-phase-name {
  font-size: 0.87rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-phase-count {
  font-size: 0.78rem !important;
  color: #0284c7 !important;
  font-weight: 700 !important;
  font-family: 'Courier New', monospace !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Privacy */
#tac-wrapper .tac-privacy {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
}

#tac-wrapper .tac-privacy .tac-section-title { color: #1d4ed8 !important; }
#tac-wrapper .tac-privacy .tac-section-body  { color: #1e40af !important; }

/* ── Disclaimer ──────────────────────────────────────────────────────────── */

#tac-wrapper .tac-disclaimer {
  background: #fffbeb !important;
  border: 1.5px solid #fcd34d !important;
  border-radius: 14px !important;
  padding: 18px 22px !important;
  font-size: 0.82rem !important;
  color: #92400e !important;
  line-height: 1.7 !important;
}

#tac-wrapper .tac-disclaimer-title {
  font-weight: 700 !important;
  color: #b45309 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 0.87rem !important;
}

#tac-wrapper .tac-disclaimer p {
  margin: 0 0 7px !important;
  padding: 0 !important;
}

#tac-wrapper .tac-disclaimer p:last-child { margin-bottom: 0 !important; }
#tac-wrapper .tac-disclaimer strong { color: #78350f !important; }

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 520px) {
  #tac-wrapper .tac-header      { flex-direction: column !important; gap: 10px !important; }
  #tac-wrapper .tac-input-row   { flex-direction: column !important; }
  #tac-wrapper .tac-btn         { width: 100% !important; }
  #tac-wrapper .tac-detail-grid { grid-template-columns: 1fr !important; }
  #tac-wrapper .tac-snap-val    { min-width: 60px !important; }
}
