/* ── Light theme ── */

/* Base */
body {
  background: #ffffff !important;
  color: #111 !important;
}

#app {
  background: #ffffff !important;
  color: #111 !important;
}

/* Header & footer */
header, .site-header {
  background: #f5f5f7 !important;
  color: #111 !important;
  border-bottom-color: #ddd !important;
}

.footer {
  background: #f5f5f7 !important;
  color: #555 !important;
  border-top-color: #ddd !important;
}

.footer a, .footer-link {
  color: #2563eb !important;
}

/* Buttons & inputs */
.btn {
  background: #f0f0f2 !important;
  color: #111 !important;
  border-color: #ccc !important;
}

.btn:hover {
  background: #e4e4e8 !important;
  border-color: #aaa !important;
}

.btn.active {
  outline-color: #0ea5e9 !important;
}

.btn.ghost {
  background: transparent !important;
  border-color: #ccc !important;
}

#date-select, select.btn {
  background: #f0f0f2 !important;
  color: #111 !important;
  border-color: #ccc !important;
}

.search-box, .domain-input {
  background: #f0f0f2 !important;
  color: #111 !important;
  border-color: #ccc !important;
}

.search-box:focus, .domain-input:focus {
  border-color: #999 !important;
}

/* Table */
th {
  background: #f8f8fa !important;
  color: #555 !important;
  border-bottom-color: #ccc !important;
}

th:hover {
  color: #111 !important;
}

td {
  border-bottom-color: #eee !important;
}

tr:hover td {
  background: #f0f4ff !important;
}

#list-view {
  background: #ffffff !important;
}

#list-view th {
  background: #f0f0f2 !important;
  border-bottom-color: #ccc !important;
}

#list-view td {
  border-bottom-color: #eee !important;
}

/* Text */
.summary, .list-summary {
  color: #555 !important;
}

.domain-sub {
  color: #888 !important;
}

.loading {
  color: #666 !important;
}

.muted, #count {
  color: #777 !important;
}

.rank-cell {
  color: #888 !important;
}

.note {
  color: #666 !important;
}

/* Status colors — adjusted for white background */
.ok, .valid, .expires-ok, .cert-ok, .name-green, .status-green, .cat-ok {
  color: #16a34a !important;
}

.fail, .missing, .expires-bad, .cert-crit, .name-red, .status-red, .cat-bad {
  color: #dc2626 !important;
}

.found, .expires-warn, .cert-warn, .name-orange, .status-orange {
  color: #d97706 !important;
}

.note.warn, .msg.warn {
  color: #d97706 !important;
}

.note.bad, .msg.err {
  color: #dc2626 !important;
}

.na, .status-white {
  color: #999 !important;
}

.status-grey, .cert-none, .expires-none {
  color: #aaa !important;
}

/* Links & interactive */
.ns-list, .contact-list {
  color: #2563eb !important;
}

.raw-toggle, .msg-toggle {
  color: #2563eb !important;
}

.msg-toggle:hover {
  color: #1d4ed8 !important;
}

/* Pre/code blocks */
pre.raw {
  background: #f5f5f7 !important;
  border-color: #ddd !important;
  color: #1e293b !important;
}

/* Charts */
.chart-box {
  background: #f8f8fa !important;
  border-color: #ddd !important;
}

.chart-box h3 {
  color: #555 !important;
}

.chart-bar-wrap {
  background: #e8e8ec !important;
}

.chart-count {
  color: #666 !important;
}

/* Tags & badges */
.tag {
  background: #e8ecf4 !important;
  border-color: #c4cdd9 !important;
  color: #1e293b !important;
}

.tag.mx-tag {
  background: #ede9fe !important;
  border-color: #c4b5fd !important;
}

.tag.spof-warn {
  background: #fee2e2 !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
}

.tag.as-ok {
  background: #dcfce7 !important;
  border-color: #4ade80 !important;
  color: #166534 !important;
}

.tag.as-spof {
  background: #fee2e2 !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
}

.tag.unknown {
  opacity: .5;
}

.ipbadge {
  background: #e8ecf4 !important;
  border-color: #c4cdd9 !important;
  color: #2563eb !important;
}

.badge {
  color: #111 !important;
}

/* Map legend & popups */
.legend {
  background: #ffffff !important;
  color: #111 !important;
  border-color: #ddd !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.1) !important;
}

.legend-close {
  color: #666 !important;
}

.legend-close:hover {
  color: #111 !important;
}

.legend-show {
  background: #ffffff !important;
  color: #111 !important;
  border-color: #ddd !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.1) !important;
}

.legend a, .legend .legend-link {
  color: #2563eb !important;
}

.leaflet-popup-content-wrapper {
  background: #ffffff !important;
  border-color: #ddd !important;
  color: #111 !important;
}

.leaflet-popup-tip {
  background: #ffffff !important;
  border-color: #ddd !important;
}

.popup b {
  color: #111 !important;
}

/* Error banner */
.error-banner {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border-color: #fca5a5 !important;
}

/* Modals */
.modal .box {
  background: #ffffff !important;
  color: #111 !important;
  border-color: #ddd !important;
  box-shadow: 0 10px 40px rgba(0,0,0,.15) !important;
}

.modal .close {
  background: #f0f0f2 !important;
  color: #111 !important;
  border-color: #ccc !important;
}

.modal-backdrop {
  background: rgba(0,0,0,.3) !important;
}

/* test.html specific */
.result-row {
  background: #f8f8fa !important;
  border-color: #ddd !important;
}

.result-header:hover {
  background: #f0f0f2 !important;
}

.result-time {
  color: #888 !important;
}

.result-arrow {
  color: #999 !important;
}

.hero p, .hero-stats {
  color: #555 !important;
}

.hero-stats .all-green {
  color: #16a34a !important;
}

.test-btn {
  background: #2563eb !important;
  color: #fff !important;
  border-color: #1d4ed8 !important;
}

.test-btn:hover {
  background: #1d4ed8 !important;
}

.error-msg {
  color: #dc2626 !important;
}

.spinner {
  border-color: #ddd !important;
  border-top-color: #2563eb !important;
}

/* home.html specific */
.stat {
  background: #f8f8fa !important;
  border-color: #ddd !important;
}

.stat .label {
  color: #777 !important;
}

.card {
  background: #f8f8fa !important;
  border-color: #ddd !important;
}

.card p {
  color: #555 !important;
}

.section-heading {
  color: #666 !important;
  border-bottom-color: #ddd !important;
}

.pill {
  color: #333 !important;
  background: #e8ecf4 !important;
  border-color: #c4cdd9 !important;
}

.pill:hover {
  border-color: #999 !important;
  background: #dde2ed !important;
  color: #111 !important;
}

.lang-toggle {
  background: #f0f0f2 !important;
  color: #111 !important;
  border-color: #ccc !important;
}

/* Checkbox */
input[type="checkbox"] {
  accent-color: #16a34a;
}

/* Date input */
input[type="date"] {
  background: #f0f0f2 !important;
  color: #111 !important;
  border-color: #ccc !important;
}
