/* K7AR-derived WebCluster; NG7M palettes. Default retains the original shell colors. */
.theme-control { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:inherit; white-space:nowrap; }
.theme-control label { margin:0; font-weight:400; }
.theme-control select { min-height:28px; padding:2px 5px; border:1px solid #7794a4; border-radius:4px; color:#152d40; background:#fff; font-size:12px; }
.header-layout { flex-wrap:wrap; gap:8px 16px; }
.refresh-link { display:inline-block!important; padding:0!important; min-height:0!important; border:0!important; background:transparent!important; color:var(--teal)!important; text-decoration:underline; font:inherit; font-size:12px; cursor:pointer; white-space:nowrap; }
.refresh-link:disabled { opacity:.6; cursor:default; text-decoration:none; }
.refresh-link:focus-visible, .theme-control select:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
:root[data-theme="light"] {
 --ink:#183244; --muted:#536b7a; --teal:#006e65; --navy:#e7f0f5; --line:#cbdbe4; --paper:#ffffff; --wash:#f6f9fc;
 --theme-link:#09677e; --stripe:#eef4f8; --hover:#e1f2ef; --grid-head:#e2edf5; --head-ink:#183244; --head-paper:#ffffff;
 --accent-paper:#006e65; --accent-ink:#ffffff; --human-paper:#ddf3e8; --human-ink:#145f3d; --cw-paper:#eae6fa; --cw-ink:#503980; --ft-paper:#e2eefc; --ft-ink:#244f87;
}
:root[data-theme="dark"] {
 --ink:#e3edf5; --muted:#a6bbca; --teal:#70ddd0; --navy:#132330; --line:#334956; --paper:#15232e; --wash:#0d1720;
 --theme-link:#91cfff; --stripe:#1b2d39; --hover:#243e48; --grid-head:#25495d; --head-ink:#e7f1fa; --head-paper:#132330;
 --accent-paper:#70ddd0; --accent-ink:#102b29; --human-paper:#164b36; --human-ink:#b5f5cf; --cw-paper:#3f2c62; --cw-ink:#ebceff; --ft-paper:#253e6f; --ft-ink:#ccdcff;
}
:root:is([data-theme="light"],[data-theme="dark"]) body { background:var(--wash); color:var(--ink); }
:root:is([data-theme="light"],[data-theme="dark"]) a { color:var(--theme-link); }
:root:is([data-theme="light"],[data-theme="dark"]) .site-header { background:var(--head-paper); color:var(--head-ink); border-color:var(--teal); }
:root:is([data-theme="light"],[data-theme="dark"]) .site-brand,
:root:is([data-theme="light"],[data-theme="dark"]) .site-nav a { color:var(--head-ink)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .site-brand small { color:var(--muted); }
:root:is([data-theme="light"],[data-theme="dark"]) .site-nav a:hover,
:root:is([data-theme="light"],[data-theme="dark"]) .site-nav a[aria-current="page"] { background:var(--stripe); }
:root:is([data-theme="light"],[data-theme="dark"]) :is(.panel,.filter-card,.content-card,.search-card,.source-toolbar,.active-filters,.quick-filter-menu,.quick-filter summary,.country-picker,.spot-card,.propagation-card,.column-size-tools,.table-section-heading,.operator-message,.responsive-filter-toggle) { background:var(--paper)!important; color:var(--ink)!important; border-color:var(--line)!important; box-shadow:none; }
:root:is([data-theme="light"],[data-theme="dark"]) :is(input[type="text"],input[type="search"],select,textarea,.filter-clear,.column-size-tools button,.tablet-detail-toggle,.spot-page-controls a,.spot-page-controls>span,.responsive-refresh,.btn-default) { color:var(--ink)!important; background:var(--paper)!important; border-color:var(--line)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) :is(.filter-label,legend,.country-checkboxes label) { color:var(--ink); }
:root:is([data-theme="light"],[data-theme="dark"]) :is(.quick-filter-apply,.btn-primary) { color:var(--accent-ink)!important; background:var(--accent-paper)!important; border-color:var(--accent-paper)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid { background:var(--paper)!important; border-color:var(--line)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid tr { --row-paper:var(--paper); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid tr:nth-child(even) { --row-paper:var(--stripe); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid tr:hover { --row-paper:var(--hover); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid tr,
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid td { background:var(--row-paper)!important; color:var(--ink)!important; border-color:var(--line)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid th { background:var(--grid-head)!important; color:var(--head-ink)!important; border-color:var(--line)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid a,
:root:is([data-theme="light"],[data-theme="dark"]) .callsign-lookup { color:var(--theme-link)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-data-grid td[colspan] :is(a,span) { color:var(--ink)!important; background:var(--paper)!important; border-color:var(--line)!important; }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-source-badge { color:var(--ink); background:var(--stripe); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-source-badge[data-source^="Human/"] { color:var(--human-ink); background:var(--human-paper); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-source-badge:is([data-source="CW"],[data-source="RTTY"]) { color:var(--cw-ink); background:var(--cw-paper); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-source-badge:is([data-source="FT4"],[data-source="FT8"]) { color:var(--ft-ink); background:var(--ft-paper); }
:root:is([data-theme="light"],[data-theme="dark"]) .spot-table-scroll { scrollbar-color:var(--muted) var(--paper); }
/* Keep the interval action link-colored after generic themed button overrides. */
:root:is([data-theme="light"],[data-theme="dark"]) .refresh-link { color:var(--teal)!important; background:transparent!important; }
@media (max-width:700px) { .theme-control { margin-left:auto; font-size:11px; } .theme-control select { min-height:25px; font-size:11px; } }:root:is([data-theme="light"],[data-theme="dark"]) :is(h1,h2,h3,h4,legend,.source-toolbar label,.filter-card label,.quick-filter summary) { color:var(--ink); }
:root[data-theme="dark"] :is(.text-danger,.field-validation-error,.validation-summary-errors,.alert-danger) { color:#ffb4b4!important; }
:root[data-theme="dark"] .alert-danger { background:#482c31; border-color:#95505c; }