mirror of
https://github.com/smittix/intercept.git
synced 2026-07-15 04:58:10 -07:00
fix: replace 100+ hardcoded colors with CSS variables for light theme
Add theme-aware severity/neon CSS variables and replace hardcoded hex colors (#fff, #000, #00ff88, #ffcc00, etc.) with var() references across 26 files so text remains readable in both dark and light themes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -414,7 +414,7 @@ body {
|
|||||||
.acars-sidebar .acars-btn {
|
.acars-sidebar .acars-btn {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -575,7 +575,7 @@ body {
|
|||||||
.vdl2-sidebar .vdl2-btn {
|
.vdl2-sidebar .vdl2-btn {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -1347,7 +1347,7 @@ body {
|
|||||||
padding: 6px 16px;
|
padding: 6px 16px;
|
||||||
border: none;
|
border: none;
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -1365,7 +1365,7 @@ body {
|
|||||||
|
|
||||||
.start-btn.active {
|
.start-btn.active {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-btn.active:hover {
|
.start-btn.active:hover {
|
||||||
@@ -1497,7 +1497,7 @@ body {
|
|||||||
padding: 6px 12px;
|
padding: 6px 12px;
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
@@ -1518,7 +1518,7 @@ body {
|
|||||||
|
|
||||||
.airband-btn.active {
|
.airband-btn.active {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.airband-btn.active:hover {
|
.airband-btn.active:hover {
|
||||||
@@ -1912,7 +1912,7 @@ body {
|
|||||||
.strip-report-btn {
|
.strip-report-btn {
|
||||||
background: linear-gradient(135deg, var(--accent-cyan) 0%, #2b6fb8 100%);
|
background: linear-gradient(135deg, var(--accent-cyan) 0%, #2b6fb8 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@@ -2224,7 +2224,7 @@ body {
|
|||||||
.strip-btn.primary {
|
.strip-btn.primary {
|
||||||
background: linear-gradient(135deg, var(--accent-cyan) 0%, #2b6fb8 100%);
|
background: linear-gradient(135deg, var(--accent-cyan) 0%, #2b6fb8 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.strip-btn.primary:hover {
|
.strip-btn.primary:hover {
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ body {
|
|||||||
.strip-btn.primary {
|
.strip-btn.primary {
|
||||||
background: linear-gradient(135deg, var(--accent-cyan) 0%, #2b6fb8 100%);
|
background: linear-gradient(135deg, var(--accent-cyan) 0%, #2b6fb8 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Main dashboard grid - Mobile first */
|
/* Main dashboard grid - Mobile first */
|
||||||
@@ -812,7 +812,7 @@ body {
|
|||||||
padding: 6px 16px;
|
padding: 6px 16px;
|
||||||
border: none;
|
border: none;
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -830,7 +830,7 @@ body {
|
|||||||
|
|
||||||
.start-btn.active {
|
.start-btn.active {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-btn.active:hover {
|
.start-btn.active:hover {
|
||||||
@@ -1282,7 +1282,7 @@ body {
|
|||||||
.dsc-distress-alert button {
|
.dsc-distress-alert button {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
border: none;
|
border: none;
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
padding: 10px 24px;
|
padding: 10px 24px;
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
@@ -1313,7 +1313,7 @@ body {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
border: 2px solid white;
|
border: 2px solid white;
|
||||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
|
|
||||||
.activity-timeline-btn.active {
|
.activity-timeline-btn.active {
|
||||||
background: var(--timeline-accent);
|
background: var(--timeline-accent);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--timeline-accent);
|
border-color: var(--timeline-accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@
|
|||||||
.function-strip .strip-btn.primary {
|
.function-strip .strip-btn.primary {
|
||||||
background: linear-gradient(135deg, var(--accent-green) 0%, #10b981 100%);
|
background: linear-gradient(135deg, var(--accent-green) 0%, #10b981 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.function-strip .strip-btn.primary:hover:not(:disabled) {
|
.function-strip .strip-btn.primary:hover:not(:disabled) {
|
||||||
@@ -195,7 +195,7 @@
|
|||||||
.function-strip .strip-btn.stop {
|
.function-strip .strip-btn.stop {
|
||||||
background: linear-gradient(135deg, var(--accent-red) 0%, #dc2626 100%);
|
background: linear-gradient(135deg, var(--accent-red) 0%, #dc2626 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.function-strip .strip-btn.stop:hover:not(:disabled) {
|
.function-strip .strip-btn.stop:hover:not(:disabled) {
|
||||||
@@ -304,7 +304,7 @@
|
|||||||
border-color: rgba(0, 122, 255, 0.3);
|
border-color: rgba(0, 122, 255, 0.3);
|
||||||
}
|
}
|
||||||
.function-strip.bt-strip .strip-value {
|
.function-strip.bt-strip .strip-value {
|
||||||
color: #0a84ff;
|
color: var(--accent-blue, #0a84ff);
|
||||||
}
|
}
|
||||||
|
|
||||||
.function-strip.wifi-strip .strip-stat {
|
.function-strip.wifi-strip .strip-stat {
|
||||||
@@ -332,24 +332,24 @@
|
|||||||
border-color: rgba(255, 59, 48, 0.6);
|
border-color: rgba(255, 59, 48, 0.6);
|
||||||
}
|
}
|
||||||
.function-strip.tscm-strip .strip-value {
|
.function-strip.tscm-strip .strip-value {
|
||||||
color: #ef4444; /* Explicit red color */
|
color: var(--accent-red);
|
||||||
}
|
}
|
||||||
.function-strip.tscm-strip .strip-label {
|
.function-strip.tscm-strip .strip-label {
|
||||||
color: #9ca3af; /* Explicit light gray */
|
color: var(--text-secondary);
|
||||||
}
|
}
|
||||||
.function-strip.tscm-strip .strip-select {
|
.function-strip.tscm-strip .strip-select {
|
||||||
color: #e8eaed; /* Explicit white for selects */
|
color: var(--text-primary);
|
||||||
background: rgba(0, 0, 0, 0.4);
|
background: rgba(0, 0, 0, 0.4);
|
||||||
}
|
}
|
||||||
.function-strip.tscm-strip .strip-btn {
|
.function-strip.tscm-strip .strip-btn {
|
||||||
color: #e8eaed; /* Explicit white for buttons */
|
color: var(--text-primary);
|
||||||
}
|
}
|
||||||
.function-strip.tscm-strip .strip-tool {
|
.function-strip.tscm-strip .strip-tool {
|
||||||
color: #e8eaed; /* Explicit white for tool indicators */
|
color: var(--text-primary);
|
||||||
}
|
}
|
||||||
.function-strip.tscm-strip .strip-time,
|
.function-strip.tscm-strip .strip-time,
|
||||||
.function-strip.tscm-strip .strip-status span {
|
.function-strip.tscm-strip .strip-status span {
|
||||||
color: #9ca3af; /* Explicit gray for status/time */
|
color: var(--text-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.function-strip.rtlamr-strip .strip-stat {
|
.function-strip.rtlamr-strip .strip-stat {
|
||||||
@@ -361,7 +361,7 @@
|
|||||||
border-color: rgba(175, 82, 222, 0.3);
|
border-color: rgba(175, 82, 222, 0.3);
|
||||||
}
|
}
|
||||||
.function-strip.rtlamr-strip .strip-value {
|
.function-strip.rtlamr-strip .strip-value {
|
||||||
color: #af52de;
|
color: var(--accent-purple, #af52de);
|
||||||
}
|
}
|
||||||
|
|
||||||
.function-strip.listening-strip .strip-stat {
|
.function-strip.listening-strip .strip-stat {
|
||||||
|
|||||||
@@ -52,19 +52,19 @@
|
|||||||
|
|
||||||
.bt-radar-filter-btn:hover {
|
.bt-radar-filter-btn:hover {
|
||||||
background: var(--bg-hover, #333) !important;
|
background: var(--bg-hover, #333) !important;
|
||||||
color: #fff !important;
|
color: var(--text-primary) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bt-radar-filter-btn.active {
|
.bt-radar-filter-btn.active {
|
||||||
background: #00d4ff !important;
|
background: var(--accent-cyan) !important;
|
||||||
color: #000 !important;
|
color: var(--text-inverse) !important;
|
||||||
border-color: #00d4ff !important;
|
border-color: var(--accent-cyan) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#btRadarPauseBtn.active {
|
#btRadarPauseBtn.active {
|
||||||
background: #f97316 !important;
|
background: var(--accent-orange) !important;
|
||||||
color: #000 !important;
|
color: var(--text-inverse) !important;
|
||||||
border-color: #f97316 !important;
|
border-color: var(--accent-orange) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================
|
/* ============================================
|
||||||
@@ -120,9 +120,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.heatmap-btn.active {
|
.heatmap-btn.active {
|
||||||
background: #f97316;
|
background: var(--accent-orange);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: #f97316;
|
border-color: var(--accent-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
.timeline-heatmap-content {
|
.timeline-heatmap-content {
|
||||||
@@ -141,7 +141,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.heatmap-error {
|
.heatmap-error {
|
||||||
color: #ef4444;
|
color: var(--accent-red);
|
||||||
}
|
}
|
||||||
|
|
||||||
.heatmap-grid {
|
.heatmap-grid {
|
||||||
|
|||||||
@@ -279,19 +279,19 @@
|
|||||||
|
|
||||||
.signal-proto-badge.aprs {
|
.signal-proto-badge.aprs {
|
||||||
background: rgba(6, 182, 212, 0.15);
|
background: rgba(6, 182, 212, 0.15);
|
||||||
color: #06b6d4;
|
color: var(--proto-aprs, #06b6d4);
|
||||||
border-color: rgba(6, 182, 212, 0.25);
|
border-color: rgba(6, 182, 212, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
.signal-proto-badge.ais {
|
.signal-proto-badge.ais {
|
||||||
background: rgba(139, 92, 246, 0.15);
|
background: rgba(139, 92, 246, 0.15);
|
||||||
color: #8b5cf6;
|
color: var(--proto-ais, #8b5cf6);
|
||||||
border-color: rgba(139, 92, 246, 0.25);
|
border-color: rgba(139, 92, 246, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
.signal-proto-badge.acars {
|
.signal-proto-badge.acars {
|
||||||
background: rgba(236, 72, 153, 0.15);
|
background: rgba(236, 72, 153, 0.15);
|
||||||
color: #ec4899;
|
color: var(--proto-acars, #ec4899);
|
||||||
border-color: rgba(236, 72, 153, 0.25);
|
border-color: rgba(236, 72, 153, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -976,25 +976,25 @@
|
|||||||
/* Meter protocol badges */
|
/* Meter protocol badges */
|
||||||
.signal-proto-badge.meter {
|
.signal-proto-badge.meter {
|
||||||
background: rgba(234, 179, 8, 0.15);
|
background: rgba(234, 179, 8, 0.15);
|
||||||
color: #eab308;
|
color: var(--accent-yellow, #eab308);
|
||||||
border-color: rgba(234, 179, 8, 0.25);
|
border-color: rgba(234, 179, 8, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
.signal-proto-badge.meter.electric {
|
.signal-proto-badge.meter.electric {
|
||||||
background: rgba(234, 179, 8, 0.15);
|
background: rgba(234, 179, 8, 0.15);
|
||||||
color: #eab308;
|
color: var(--accent-yellow, #eab308);
|
||||||
border-color: rgba(234, 179, 8, 0.25);
|
border-color: rgba(234, 179, 8, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
.signal-proto-badge.meter.gas {
|
.signal-proto-badge.meter.gas {
|
||||||
background: rgba(249, 115, 22, 0.15);
|
background: rgba(249, 115, 22, 0.15);
|
||||||
color: #f97316;
|
color: var(--accent-orange, #f97316);
|
||||||
border-color: rgba(249, 115, 22, 0.25);
|
border-color: rgba(249, 115, 22, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
.signal-proto-badge.meter.water {
|
.signal-proto-badge.meter.water {
|
||||||
background: rgba(59, 130, 246, 0.15);
|
background: rgba(59, 130, 246, 0.15);
|
||||||
color: #3b82f6;
|
color: var(--signal-new, #3b82f6);
|
||||||
border-color: rgba(59, 130, 246, 0.25);
|
border-color: rgba(59, 130, 246, 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1060,12 +1060,12 @@
|
|||||||
|
|
||||||
.meter-delta.positive {
|
.meter-delta.positive {
|
||||||
background: rgba(34, 197, 94, 0.15);
|
background: rgba(34, 197, 94, 0.15);
|
||||||
color: #22c55e;
|
color: var(--accent-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
.meter-delta.negative {
|
.meter-delta.negative {
|
||||||
background: rgba(239, 68, 68, 0.15);
|
background: rgba(239, 68, 68, 0.15);
|
||||||
color: #ef4444;
|
color: var(--accent-red);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sparkline container */
|
/* Sparkline container */
|
||||||
@@ -1431,7 +1431,7 @@
|
|||||||
|
|
||||||
.signal-station-clickable:hover {
|
.signal-station-clickable:hover {
|
||||||
background: var(--accent-purple);
|
background: var(--accent-purple);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
transform: scale(1.05);
|
transform: scale(1.05);
|
||||||
box-shadow: 0 0 8px rgba(138, 43, 226, 0.4);
|
box-shadow: 0 0 8px rgba(138, 43, 226, 0.4);
|
||||||
}
|
}
|
||||||
@@ -1587,14 +1587,14 @@
|
|||||||
background: var(--accent-purple, #8a2be2);
|
background: var(--accent-purple, #8a2be2);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.15s ease;
|
transition: all 0.15s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.station-raw-copy-btn:hover {
|
.station-raw-copy-btn:hover {
|
||||||
background: var(--accent-cyan, #00d4ff);
|
background: var(--accent-cyan, #00d4ff);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================
|
/* ============================================
|
||||||
@@ -1794,14 +1794,14 @@
|
|||||||
background: var(--accent-purple, #8a2be2);
|
background: var(--accent-purple, #8a2be2);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.15s ease;
|
transition: all 0.15s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.signal-details-copy-btn:hover {
|
.signal-details-copy-btn:hover {
|
||||||
background: var(--accent-cyan, #00d4ff);
|
background: var(--accent-cyan, #00d4ff);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Signal Details Content Sections */
|
/* Signal Details Content Sections */
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
.signal-timeline-btn.active {
|
.signal-timeline-btn.active {
|
||||||
background: var(--accent-cyan, #4a9eff);
|
background: var(--accent-cyan, #4a9eff);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan, #4a9eff);
|
border-color: var(--accent-cyan, #4a9eff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
|
|
||||||
.update-toast-btn-primary {
|
.update-toast-btn-primary {
|
||||||
background: var(--accent-green, #22c55e);
|
background: var(--accent-green, #22c55e);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.update-toast-btn-primary:hover {
|
.update-toast-btn-primary:hover {
|
||||||
@@ -561,7 +561,7 @@
|
|||||||
|
|
||||||
.update-modal-btn-primary {
|
.update-modal-btn-primary {
|
||||||
background: var(--accent-green, #22c55e);
|
background: var(--accent-green, #22c55e);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.update-modal-btn-primary:hover:not(:disabled) {
|
.update-modal-btn-primary:hover:not(:disabled) {
|
||||||
|
|||||||
@@ -323,7 +323,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.setup-btn.primary {
|
.setup-btn.primary {
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
background: var(--accent-cyan, #4aa3ff);
|
background: var(--accent-cyan, #4aa3ff);
|
||||||
border-color: var(--accent-cyan, #4aa3ff);
|
border-color: var(--accent-cyan, #4aa3ff);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
.btn-danger {
|
.btn-danger {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-red);
|
border-color: var(--accent-red);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
|
|
||||||
.btn-success {
|
.btn-success {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-green);
|
border-color: var(--accent-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,18 @@
|
|||||||
--status-offline: #6f7f94;
|
--status-offline: #6f7f94;
|
||||||
--status-info: #4aa3ff;
|
--status-info: #4aa3ff;
|
||||||
|
|
||||||
|
/* Severity colors */
|
||||||
|
--severity-critical: #ff3366;
|
||||||
|
--severity-high: #ff9933;
|
||||||
|
--severity-medium: #ffcc00;
|
||||||
|
--severity-low: #00ff88;
|
||||||
|
|
||||||
|
/* Data visualization neon colors */
|
||||||
|
--neon-green: #00ff88;
|
||||||
|
--neon-yellow: #ffcc00;
|
||||||
|
--neon-orange: #ff8800;
|
||||||
|
--neon-red: #ff3366;
|
||||||
|
|
||||||
/* Subtle grid/pattern */
|
/* Subtle grid/pattern */
|
||||||
--grid-line: rgba(74, 163, 255, 0.1);
|
--grid-line: rgba(74, 163, 255, 0.1);
|
||||||
--grid-dot: rgba(255, 255, 255, 0.03);
|
--grid-dot: rgba(255, 255, 255, 0.03);
|
||||||
@@ -184,6 +196,27 @@
|
|||||||
--accent-orange-dim: rgba(181, 134, 58, 0.12);
|
--accent-orange-dim: rgba(181, 134, 58, 0.12);
|
||||||
--accent-amber: #b5863a;
|
--accent-amber: #b5863a;
|
||||||
--accent-amber-dim: rgba(181, 134, 58, 0.12);
|
--accent-amber-dim: rgba(181, 134, 58, 0.12);
|
||||||
|
--accent-yellow: #9a8420;
|
||||||
|
--accent-purple: #6b5ba8;
|
||||||
|
|
||||||
|
/* Status colors - light theme */
|
||||||
|
--status-online: #1f8a57;
|
||||||
|
--status-warning: #b5863a;
|
||||||
|
--status-error: #c74444;
|
||||||
|
--status-offline: #6b7c93;
|
||||||
|
--status-info: #1f5fa8;
|
||||||
|
|
||||||
|
/* Severity colors */
|
||||||
|
--severity-critical: #c74444;
|
||||||
|
--severity-high: #b5863a;
|
||||||
|
--severity-medium: #9a8420;
|
||||||
|
--severity-low: #1f8a57;
|
||||||
|
|
||||||
|
/* Data visualization neon replacements */
|
||||||
|
--neon-green: #1a8a50;
|
||||||
|
--neon-yellow: #9a8420;
|
||||||
|
--neon-orange: #b5863a;
|
||||||
|
--neon-red: #c74444;
|
||||||
|
|
||||||
--text-primary: #122034;
|
--text-primary: #122034;
|
||||||
--text-secondary: #3a4a5f;
|
--text-secondary: #3a4a5f;
|
||||||
|
|||||||
+22
-22
@@ -1780,7 +1780,7 @@ header h1 .tagline {
|
|||||||
padding: 12px;
|
padding: 12px;
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
font-family: var(--font-sans);
|
font-family: var(--font-sans);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -1809,7 +1809,7 @@ header h1 .tagline {
|
|||||||
.run-btn.active,
|
.run-btn.active,
|
||||||
.stop-btn {
|
.stop-btn {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stop-btn {
|
.stop-btn {
|
||||||
@@ -1818,7 +1818,7 @@ header h1 .tagline {
|
|||||||
padding: 12px;
|
padding: 12px;
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
font-family: var(--font-sans);
|
font-family: var(--font-sans);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -2637,7 +2637,7 @@ header h1 .tagline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.aircraft-popup .value {
|
.aircraft-popup .value {
|
||||||
color: #fff;
|
color: var(--text-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.leaflet-popup-content-wrapper {
|
.leaflet-popup-content-wrapper {
|
||||||
@@ -3632,7 +3632,7 @@ header h1 .tagline {
|
|||||||
|
|
||||||
.wifi-filter-btn.active {
|
.wifi-filter-btn.active {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan);
|
border-color: var(--accent-cyan);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3875,7 +3875,7 @@ header h1 .tagline {
|
|||||||
|
|
||||||
.channel-band-tab.active {
|
.channel-band-tab.active {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan);
|
border-color: var(--accent-cyan);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4550,7 +4550,7 @@ header h1 .tagline {
|
|||||||
.bt-detail-btn:hover {
|
.bt-detail-btn:hover {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
border-color: var(--accent-cyan);
|
border-color: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.bt-detail-btn.active {
|
.bt-detail-btn.active {
|
||||||
@@ -4573,7 +4573,7 @@ header h1 .tagline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bt-inspector-toggle:hover {
|
.bt-inspector-toggle:hover {
|
||||||
color: #fff;
|
color: var(--text-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.bt-inspector-arrow {
|
.bt-inspector-arrow {
|
||||||
@@ -4839,7 +4839,7 @@ header h1 .tagline {
|
|||||||
.bt-filter-btn.active {
|
.bt-filter-btn.active {
|
||||||
background: var(--accent-purple);
|
background: var(--accent-purple);
|
||||||
border-color: var(--accent-purple);
|
border-color: var(--accent-purple);
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.bt-tracker-item {
|
.bt-tracker-item {
|
||||||
@@ -5397,7 +5397,7 @@ header h1 .tagline {
|
|||||||
.bt-modal-btn-primary {
|
.bt-modal-btn-primary {
|
||||||
background: var(--accent-cyan, #00d4ff);
|
background: var(--accent-cyan, #00d4ff);
|
||||||
border: none;
|
border: none;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5528,7 +5528,7 @@ header h1 .tagline {
|
|||||||
|
|
||||||
.channel-label {
|
.channel-label {
|
||||||
font-size: 8px;
|
font-size: 8px;
|
||||||
color: #fff;
|
color: var(--text-primary);
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5755,7 +5755,7 @@ body::before {
|
|||||||
|
|
||||||
.disclaimer-modal .accept-btn {
|
.disclaimer-modal .accept-btn {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border: none;
|
border: none;
|
||||||
padding: 12px 40px;
|
padding: 12px 40px;
|
||||||
font-family: var(--font-sans);
|
font-family: var(--font-sans);
|
||||||
@@ -5846,7 +5846,7 @@ body::before {
|
|||||||
/* WPS Indicator */
|
/* WPS Indicator */
|
||||||
.wps-enabled {
|
.wps-enabled {
|
||||||
background: #ff6600;
|
background: #ff6600;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
padding: 2px 6px;
|
padding: 2px 6px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
@@ -5855,7 +5855,7 @@ body::before {
|
|||||||
/* Rogue AP Indicator */
|
/* Rogue AP Indicator */
|
||||||
.rogue-indicator {
|
.rogue-indicator {
|
||||||
background: linear-gradient(90deg, #ff0000, #cc0000);
|
background: linear-gradient(90deg, #ff0000, #cc0000);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
margin: -10px -10px 8px -10px;
|
margin: -10px -10px 8px -10px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@@ -5874,7 +5874,7 @@ body::before {
|
|||||||
/* PMKID Capture */
|
/* PMKID Capture */
|
||||||
.pmkid-btn {
|
.pmkid-btn {
|
||||||
background: linear-gradient(135deg, #9933ff, #6600cc);
|
background: linear-gradient(135deg, #9933ff, #6600cc);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.pmkid-btn:hover {
|
.pmkid-btn:hover {
|
||||||
@@ -5889,7 +5889,7 @@ body::before {
|
|||||||
|
|
||||||
.findmy-badge {
|
.findmy-badge {
|
||||||
background: linear-gradient(135deg, #007aff, #5856d6);
|
background: linear-gradient(135deg, #007aff, #5856d6);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 2px 8px;
|
padding: 2px 8px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@@ -5966,7 +5966,7 @@ body::before {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
background: #ff0000;
|
background: #ff0000;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 15px 30px;
|
padding: 15px 30px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@@ -6014,7 +6014,7 @@ body::before {
|
|||||||
|
|
||||||
.military-badge {
|
.military-badge {
|
||||||
background: #556b2f;
|
background: #556b2f;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 2px 6px;
|
padding: 2px 6px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
@@ -6029,7 +6029,7 @@ body::before {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border: 2px solid var(--accent-cyan);
|
border: 2px solid var(--accent-cyan);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6715,7 +6715,7 @@ body::before {
|
|||||||
.radio-action-btn.scan {
|
.radio-action-btn.scan {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border-color: var(--accent-green);
|
border-color: var(--accent-green);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-action-btn.scan:hover {
|
.radio-action-btn.scan:hover {
|
||||||
@@ -6735,7 +6735,7 @@ body::before {
|
|||||||
.radio-action-btn.pause {
|
.radio-action-btn.pause {
|
||||||
background: var(--accent-orange);
|
background: var(--accent-orange);
|
||||||
border-color: var(--accent-orange);
|
border-color: var(--accent-orange);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-action-btn.pause:disabled {
|
.radio-action-btn.pause:disabled {
|
||||||
@@ -6961,7 +6961,7 @@ body::before {
|
|||||||
.radio-action-btn.listen {
|
.radio-action-btn.listen {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border-color: var(--accent-green);
|
border-color: var(--accent-green);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-action-btn.scan:hover:not(:disabled),
|
.radio-action-btn.scan:hover:not(:disabled),
|
||||||
|
|||||||
@@ -132,7 +132,7 @@
|
|||||||
.aprs-strip .strip-btn.primary {
|
.aprs-strip .strip-btn.primary {
|
||||||
background: linear-gradient(135deg, var(--accent-green) 0%, #10b981 100%);
|
background: linear-gradient(135deg, var(--accent-green) 0%, #10b981 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
.aprs-strip .strip-btn.primary:hover:not(:disabled) {
|
.aprs-strip .strip-btn.primary:hover:not(:disabled) {
|
||||||
filter: brightness(1.1);
|
filter: brightness(1.1);
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
.aprs-strip .strip-btn.stop {
|
.aprs-strip .strip-btn.stop {
|
||||||
background: linear-gradient(135deg, var(--accent-red) 0%, #dc2626 100%);
|
background: linear-gradient(135deg, var(--accent-red) 0%, #dc2626 100%);
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
.aprs-strip .strip-btn.stop:hover:not(:disabled) {
|
.aprs-strip .strip-btn.stop:hover:not(:disabled) {
|
||||||
filter: brightness(1.1);
|
filter: brightness(1.1);
|
||||||
|
|||||||
@@ -303,7 +303,7 @@
|
|||||||
|
|
||||||
.mesh-strip-btn.disconnect {
|
.mesh-strip-btn.disconnect {
|
||||||
background: var(--accent-red, #ff3366);
|
background: var(--accent-red, #ff3366);
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mesh-strip-btn.disconnect:hover {
|
.mesh-strip-btn.disconnect:hover {
|
||||||
@@ -478,7 +478,7 @@
|
|||||||
0 2px 8px rgba(0, 0, 0, 0.6),
|
0 2px 8px rgba(0, 0, 0, 0.6),
|
||||||
0 0 20px 8px rgba(0, 255, 255, 0.7), /* Strong outer glow */
|
0 0 20px 8px rgba(0, 255, 255, 0.7), /* Strong outer glow */
|
||||||
inset 0 0 8px rgba(255, 255, 255, 0.3); /* Inner highlight */
|
inset 0 0 8px rgba(255, 255, 255, 0.3); /* Inner highlight */
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@@ -1088,7 +1088,7 @@
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 10px 14px;
|
padding: 10px 14px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
transition: all 0.15s ease;
|
transition: all 0.15s ease;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -1231,7 +1231,7 @@
|
|||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -1413,7 +1413,7 @@
|
|||||||
.mesh-position-btn:hover,
|
.mesh-position-btn:hover,
|
||||||
.mesh-telemetry-btn:hover {
|
.mesh-telemetry-btn:hover {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan);
|
border-color: var(--accent-cyan);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1435,7 +1435,7 @@
|
|||||||
|
|
||||||
.mesh-qr-btn:hover {
|
.mesh-qr-btn:hover {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan);
|
border-color: var(--accent-cyan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,10 +51,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sw-header-value.accent-cyan { color: var(--accent-cyan); }
|
.sw-header-value.accent-cyan { color: var(--accent-cyan); }
|
||||||
.sw-header-value.accent-green { color: #00ff88; }
|
.sw-header-value.accent-green { color: var(--neon-green); }
|
||||||
.sw-header-value.accent-yellow { color: #ffcc00; }
|
.sw-header-value.accent-yellow { color: var(--neon-yellow); }
|
||||||
.sw-header-value.accent-orange { color: #ff8800; }
|
.sw-header-value.accent-orange { color: var(--neon-orange); }
|
||||||
.sw-header-value.accent-red { color: #ff3366; }
|
.sw-header-value.accent-red { color: var(--neon-red); }
|
||||||
|
|
||||||
/* Refresh controls in strip */
|
/* Refresh controls in strip */
|
||||||
.sw-strip-controls {
|
.sw-strip-controls {
|
||||||
@@ -126,12 +126,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Scale severity colors */
|
/* Scale severity colors */
|
||||||
.sw-scale-0 { color: #00ff88; border-color: #00ff8833; }
|
.sw-scale-0 { color: var(--neon-green); border-color: #00ff8833; }
|
||||||
.sw-scale-1 { color: #88ff00; border-color: #88ff0033; }
|
.sw-scale-1 { color: #88ff00; border-color: #88ff0033; }
|
||||||
.sw-scale-2 { color: #ffcc00; border-color: #ffcc0033; }
|
.sw-scale-2 { color: var(--neon-yellow); border-color: #ffcc0033; }
|
||||||
.sw-scale-3 { color: #ff8800; border-color: #ff880033; }
|
.sw-scale-3 { color: var(--neon-orange); border-color: #ff880033; }
|
||||||
.sw-scale-4 { color: #ff4400; border-color: #ff440033; }
|
.sw-scale-4 { color: #ff4400; border-color: #ff440033; }
|
||||||
.sw-scale-5 { color: #ff0044; border-color: #ff004433; }
|
.sw-scale-5 { color: var(--neon-red); border-color: #ff004433; }
|
||||||
|
|
||||||
|
[data-theme="light"] .sw-scale-1 { color: #5a8a00; }
|
||||||
|
[data-theme="light"] .sw-scale-4 { color: #cc3300; }
|
||||||
|
|
||||||
/* HF Band conditions grid */
|
/* HF Band conditions grid */
|
||||||
.sw-band-panel {
|
.sw-band-panel {
|
||||||
@@ -180,9 +183,9 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sw-band-good { color: #00ff88; background: #00ff8815; }
|
.sw-band-good { color: var(--neon-green); background: #00ff8815; }
|
||||||
.sw-band-fair { color: #ffcc00; background: #ffcc0015; }
|
.sw-band-fair { color: var(--neon-yellow); background: #ffcc0015; }
|
||||||
.sw-band-poor { color: #ff3366; background: #ff336615; }
|
.sw-band-poor { color: var(--neon-red); background: #ff336615; }
|
||||||
|
|
||||||
/* 2-column dashboard grid */
|
/* 2-column dashboard grid */
|
||||||
.sw-dashboard-grid {
|
.sw-dashboard-grid {
|
||||||
|
|||||||
@@ -264,7 +264,7 @@
|
|||||||
|
|
||||||
.spy-freq-clickable:hover {
|
.spy-freq-clickable:hover {
|
||||||
background: var(--accent-cyan);
|
background: var(--accent-cyan);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan);
|
border-color: var(--accent-cyan);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
letter-spacing: 0.03em;
|
letter-spacing: 0.03em;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border: none;
|
border: none;
|
||||||
padding: 8px 14px;
|
padding: 8px 14px;
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
|
|
||||||
.sstv-general-strip-btn.stop {
|
.sstv-general-strip-btn.stop {
|
||||||
background: var(--accent-red, #ff3366);
|
background: var(--accent-red, #ff3366);
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sstv-general-strip-btn.stop:hover {
|
.sstv-general-strip-btn.stop:hover {
|
||||||
|
|||||||
@@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
.sstv-strip-btn.stop {
|
.sstv-strip-btn.stop {
|
||||||
background: var(--accent-red, #ff3366);
|
background: var(--accent-red, #ff3366);
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sstv-strip-btn.stop:hover {
|
.sstv-strip-btn.stop:hover {
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
|
|
||||||
.sstv-strip-btn.gps:hover {
|
.sstv-strip-btn.gps:hover {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-green);
|
border-color: var(--accent-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@
|
|||||||
|
|
||||||
.sstv-strip-btn.update-tle:hover {
|
.sstv-strip-btn.update-tle:hover {
|
||||||
background: var(--accent-orange);
|
background: var(--accent-orange);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-orange);
|
border-color: var(--accent-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+38
-38
@@ -25,7 +25,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-device-dot.connected {
|
.subghz-device-dot.connected {
|
||||||
background: #00ff88;
|
background: var(--neon-green);
|
||||||
box-shadow: 0 0 6px rgba(0, 255, 136, 0.4);
|
box-shadow: 0 0 6px rgba(0, 255, 136, 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-device-dot.unknown {
|
.subghz-device-dot.unknown {
|
||||||
background: #ffaa00;
|
background: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-device-label {
|
.subghz-device-label {
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
.subghz-tool-badge.available {
|
.subghz-tool-badge.available {
|
||||||
border-color: rgba(0, 255, 136, 0.3);
|
border-color: rgba(0, 255, 136, 0.3);
|
||||||
color: #00ff88;
|
color: var(--neon-green);
|
||||||
background: rgba(0, 255, 136, 0.05);
|
background: rgba(0, 255, 136, 0.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
|
|
||||||
.subghz-preset-btn:hover {
|
.subghz-preset-btn:hover {
|
||||||
background: var(--accent-cyan, #00d4ff);
|
background: var(--accent-cyan, #00d4ff);
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-cyan, #00d4ff);
|
border-color: var(--accent-cyan, #00d4ff);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-status-dot.rx {
|
.subghz-status-dot.rx {
|
||||||
background: #00ff88;
|
background: var(--neon-green);
|
||||||
animation: subghz-pulse 1.5s ease-in-out infinite;
|
animation: subghz-pulse 1.5s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,7 +235,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-status-dot.sweep {
|
.subghz-status-dot.sweep {
|
||||||
background: #ffaa00;
|
background: var(--neon-orange);
|
||||||
animation: subghz-pulse 1s ease-in-out infinite;
|
animation: subghz-pulse 1s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,7 +308,7 @@
|
|||||||
.subghz-btn.start {
|
.subghz-btn.start {
|
||||||
background: var(--accent-green, #22c55e);
|
background: var(--accent-green, #22c55e);
|
||||||
border-color: var(--accent-green, #22c55e);
|
border-color: var(--accent-green, #22c55e);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,7 +321,7 @@
|
|||||||
.subghz-btn.stop {
|
.subghz-btn.stop {
|
||||||
background: var(--accent-red, #ff4444);
|
background: var(--accent-red, #ff4444);
|
||||||
border-color: var(--accent-red, #ff4444);
|
border-color: var(--accent-red, #ff4444);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -405,7 +405,7 @@
|
|||||||
padding: 1px 6px;
|
padding: 1px 6px;
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
border: 1px solid rgba(255, 170, 0, 0.55);
|
border: 1px solid rgba(255, 170, 0, 0.55);
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
letter-spacing: 0.4px;
|
letter-spacing: 0.4px;
|
||||||
@@ -423,14 +423,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-capture-burst-flag {
|
.subghz-capture-burst-flag {
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-capture-burst-count {
|
.subghz-capture-burst-count {
|
||||||
padding: 1px 6px;
|
padding: 1px 6px;
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
border: 1px solid rgba(255, 170, 0, 0.55);
|
border: 1px solid rgba(255, 170, 0, 0.55);
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
background: rgba(255, 170, 0, 0.12);
|
background: rgba(255, 170, 0, 0.12);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,7 +462,7 @@
|
|||||||
|
|
||||||
.subghz-capture-tag.hint {
|
.subghz-capture-tag.hint {
|
||||||
border-color: rgba(0, 255, 136, 0.5);
|
border-color: rgba(0, 255, 136, 0.5);
|
||||||
color: #00ff88;
|
color: var(--neon-green);
|
||||||
background: rgba(0, 255, 136, 0.12);
|
background: rgba(0, 255, 136, 0.12);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -892,7 +892,7 @@
|
|||||||
|
|
||||||
.subghz-tx-confirm-btn {
|
.subghz-tx-confirm-btn {
|
||||||
background: var(--accent-red, #ff4444);
|
background: var(--accent-red, #ff4444);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
border-color: var(--accent-red, #ff4444) !important;
|
border-color: var(--accent-red, #ff4444) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -956,7 +956,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-sweep-tooltip .tip-power {
|
.subghz-sweep-tooltip .tip-power {
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Right-click context menu */
|
/* Right-click context menu */
|
||||||
@@ -1038,8 +1038,8 @@
|
|||||||
|
|
||||||
.subghz-action-btn.tune:hover {
|
.subghz-action-btn.tune:hover {
|
||||||
background: rgba(0, 255, 136, 0.12);
|
background: rgba(0, 255, 136, 0.12);
|
||||||
border-color: #00ff88;
|
border-color: var(--neon-green);
|
||||||
color: #00ff88;
|
color: var(--neon-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-action-btn.decode:hover {
|
.subghz-action-btn.decode:hover {
|
||||||
@@ -1050,8 +1050,8 @@
|
|||||||
|
|
||||||
.subghz-action-btn.capture:hover {
|
.subghz-action-btn.capture:hover {
|
||||||
background: rgba(255, 170, 0, 0.12);
|
background: rgba(255, 170, 0, 0.12);
|
||||||
border-color: #ffaa00;
|
border-color: var(--neon-orange);
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Peak list in sidebar */
|
/* Peak list in sidebar */
|
||||||
@@ -1088,7 +1088,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-peak-item:hover {
|
.subghz-peak-item:hover {
|
||||||
border-color: #ffaa00;
|
border-color: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-peak-item .peak-freq {
|
.subghz-peak-item .peak-freq {
|
||||||
@@ -1096,7 +1096,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-peak-item .peak-power {
|
.subghz-peak-item .peak-power {
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===== Stats Strip ===== */
|
/* ===== Stats Strip ===== */
|
||||||
@@ -1147,10 +1147,10 @@
|
|||||||
animation: subghz-pulse 1.5s ease-in-out infinite;
|
animation: subghz-pulse 1.5s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-strip-dot.rx { background: #00ff88; }
|
.subghz-strip-dot.rx { background: var(--neon-green); }
|
||||||
.subghz-strip-dot.decode { background: #00d4ff; }
|
.subghz-strip-dot.decode { background: #00d4ff; }
|
||||||
.subghz-strip-dot.tx { background: #ff4444; }
|
.subghz-strip-dot.tx { background: #ff4444; }
|
||||||
.subghz-strip-dot.sweep { background: #ffaa00; }
|
.subghz-strip-dot.sweep { background: var(--neon-orange); }
|
||||||
|
|
||||||
.subghz-strip-status-text {
|
.subghz-strip-status-text {
|
||||||
color: var(--text-secondary, #999);
|
color: var(--text-secondary, #999);
|
||||||
@@ -1170,8 +1170,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-strip-value.accent-cyan { color: var(--accent-cyan, #00d4ff); }
|
.subghz-strip-value.accent-cyan { color: var(--accent-cyan, #00d4ff); }
|
||||||
.subghz-strip-value.accent-green { color: #00ff88; }
|
.subghz-strip-value.accent-green { color: var(--neon-green); }
|
||||||
.subghz-strip-value.accent-orange { color: #ffaa00; }
|
.subghz-strip-value.accent-orange { color: var(--neon-orange); }
|
||||||
|
|
||||||
.subghz-strip-label {
|
.subghz-strip-label {
|
||||||
color: var(--text-dim, #666);
|
color: var(--text-dim, #666);
|
||||||
@@ -1225,7 +1225,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-strip-device-dot.connected {
|
.subghz-strip-device-dot.connected {
|
||||||
background: #00ff88;
|
background: var(--neon-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-strip-device-dot.disconnected {
|
.subghz-strip-device-dot.disconnected {
|
||||||
@@ -1233,7 +1233,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-strip-device-dot.unknown {
|
.subghz-strip-device-dot.unknown {
|
||||||
background: #ffaa00;
|
background: var(--neon-orange);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===== Signal Console ===== */
|
/* ===== Signal Console ===== */
|
||||||
@@ -1279,7 +1279,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-phase-step.completed {
|
.subghz-phase-step.completed {
|
||||||
color: #00ff88;
|
color: var(--neon-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-phase-step.error {
|
.subghz-phase-step.error {
|
||||||
@@ -1317,12 +1317,12 @@
|
|||||||
|
|
||||||
.subghz-burst-indicator.active {
|
.subghz-burst-indicator.active {
|
||||||
border-color: rgba(255, 170, 0, 0.6);
|
border-color: rgba(255, 170, 0, 0.6);
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
background: rgba(255, 170, 0, 0.12);
|
background: rgba(255, 170, 0, 0.12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subghz-burst-indicator.active .subghz-burst-dot {
|
.subghz-burst-indicator.active .subghz-burst-dot {
|
||||||
background: #ffaa00;
|
background: var(--neon-orange);
|
||||||
box-shadow: 0 0 10px rgba(255, 170, 0, 0.7);
|
box-shadow: 0 0 10px rgba(255, 170, 0, 0.7);
|
||||||
animation: subghz-pulse 0.45s ease-in-out infinite;
|
animation: subghz-pulse 0.45s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
@@ -1383,8 +1383,8 @@
|
|||||||
|
|
||||||
.subghz-log-msg { color: var(--text-secondary, #999); }
|
.subghz-log-msg { color: var(--text-secondary, #999); }
|
||||||
.subghz-log-msg.info { color: var(--accent-cyan, #00d4ff); }
|
.subghz-log-msg.info { color: var(--accent-cyan, #00d4ff); }
|
||||||
.subghz-log-msg.success { color: #00ff88; }
|
.subghz-log-msg.success { color: var(--neon-green); }
|
||||||
.subghz-log-msg.warn { color: #ffaa00; }
|
.subghz-log-msg.warn { color: var(--neon-orange); }
|
||||||
.subghz-log-msg.error { color: var(--accent-red, #ff4444); }
|
.subghz-log-msg.error { color: var(--accent-red, #ff4444); }
|
||||||
|
|
||||||
/* ===== Action Hub ===== */
|
/* ===== Action Hub ===== */
|
||||||
@@ -1450,12 +1450,12 @@
|
|||||||
.subghz-hub-card--cyan .subghz-hub-icon { color: var(--accent-cyan, #00d4ff); }
|
.subghz-hub-card--cyan .subghz-hub-icon { color: var(--accent-cyan, #00d4ff); }
|
||||||
|
|
||||||
.subghz-hub-card--green { border-color: rgba(0, 255, 136, 0.2); }
|
.subghz-hub-card--green { border-color: rgba(0, 255, 136, 0.2); }
|
||||||
.subghz-hub-card--green:hover { border-color: #00ff88; background: rgba(0, 255, 136, 0.05); }
|
.subghz-hub-card--green:hover { border-color: var(--neon-green); background: rgba(0, 255, 136, 0.05); }
|
||||||
.subghz-hub-card--green .subghz-hub-icon { color: #00ff88; }
|
.subghz-hub-card--green .subghz-hub-icon { color: var(--neon-green); }
|
||||||
|
|
||||||
.subghz-hub-card--orange { border-color: rgba(255, 170, 0, 0.2); }
|
.subghz-hub-card--orange { border-color: rgba(255, 170, 0, 0.2); }
|
||||||
.subghz-hub-card--orange:hover { border-color: #ffaa00; background: rgba(255, 170, 0, 0.05); }
|
.subghz-hub-card--orange:hover { border-color: var(--neon-orange); background: rgba(255, 170, 0, 0.05); }
|
||||||
.subghz-hub-card--orange .subghz-hub-icon { color: #ffaa00; }
|
.subghz-hub-card--orange .subghz-hub-icon { color: var(--neon-orange); }
|
||||||
|
|
||||||
.subghz-hub-card--red { border-color: rgba(255, 68, 68, 0.25); }
|
.subghz-hub-card--red { border-color: rgba(255, 68, 68, 0.25); }
|
||||||
.subghz-hub-card--red:hover { border-color: #ff4444; background: rgba(255, 68, 68, 0.08); }
|
.subghz-hub-card--red:hover { border-color: #ff4444; background: rgba(255, 68, 68, 0.08); }
|
||||||
@@ -1707,7 +1707,7 @@
|
|||||||
|
|
||||||
.subghz-rx-hint-confidence {
|
.subghz-rx-hint-confidence {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
color: #00ff88;
|
color: var(--neon-green);
|
||||||
border: 1px solid rgba(0, 255, 136, 0.35);
|
border: 1px solid rgba(0, 255, 136, 0.35);
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
padding: 1px 8px;
|
padding: 1px 8px;
|
||||||
@@ -1729,7 +1729,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-rx-burst-pill.active {
|
.subghz-rx-burst-pill.active {
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
border-color: rgba(255, 170, 0, 0.7);
|
border-color: rgba(255, 170, 0, 0.7);
|
||||||
background: rgba(255, 170, 0, 0.15);
|
background: rgba(255, 170, 0, 0.15);
|
||||||
}
|
}
|
||||||
@@ -1866,7 +1866,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.subghz-wf-pause-btn.paused {
|
.subghz-wf-pause-btn.paused {
|
||||||
color: #ffaa00;
|
color: var(--neon-orange);
|
||||||
border-color: rgba(255, 170, 0, 0.6);
|
border-color: rgba(255, 170, 0, 0.6);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
}
|
}
|
||||||
.tscm-panel-header .badge {
|
.tscm-panel-header .badge {
|
||||||
background: var(--primary-color);
|
background: var(--primary-color);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
padding: 2px 8px;
|
padding: 2px 8px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@@ -175,7 +175,7 @@
|
|||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -411,7 +411,7 @@
|
|||||||
.tscm-modal-close:hover {
|
.tscm-modal-close:hover {
|
||||||
background: var(--accent-red);
|
background: var(--accent-red);
|
||||||
border-color: var(--accent-red);
|
border-color: var(--accent-red);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
.device-detail-header {
|
.device-detail-header {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
@@ -654,10 +654,10 @@
|
|||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
.tscm-threat-item.critical .tscm-threat-severity { background: #ff3366; color: #fff; }
|
.tscm-threat-item.critical .tscm-threat-severity { background: var(--severity-critical); color: var(--text-inverse); }
|
||||||
.tscm-threat-item.high .tscm-threat-severity { background: #ff9933; color: #000; }
|
.tscm-threat-item.high .tscm-threat-severity { background: var(--severity-high); color: var(--text-inverse); }
|
||||||
.tscm-threat-item.medium .tscm-threat-severity { background: #ffcc00; color: #000; }
|
.tscm-threat-item.medium .tscm-threat-severity { background: var(--severity-medium); color: var(--text-inverse); }
|
||||||
.tscm-threat-item.low .tscm-threat-severity { background: #00ff88; color: #000; }
|
.tscm-threat-item.low .tscm-threat-severity { background: var(--severity-low); color: var(--text-inverse); }
|
||||||
.tscm-threat-details {
|
.tscm-threat-details {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
@@ -1691,3 +1691,45 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Light theme overrides */
|
||||||
|
[data-theme="light"] .threat-card.critical { border-color: var(--severity-critical); color: var(--severity-critical); }
|
||||||
|
[data-theme="light"] .threat-card.high { border-color: var(--severity-high); color: var(--severity-high); }
|
||||||
|
[data-theme="light"] .threat-card.medium { border-color: var(--severity-medium); color: var(--severity-medium); }
|
||||||
|
[data-theme="light"] .threat-card.low { border-color: var(--severity-low); color: var(--severity-low); }
|
||||||
|
[data-theme="light"] .tscm-threat-item.critical { border-color: var(--severity-critical); }
|
||||||
|
[data-theme="light"] .tscm-threat-item.high { border-color: var(--severity-high); }
|
||||||
|
[data-theme="light"] .tscm-threat-item.medium { border-color: var(--severity-medium); }
|
||||||
|
[data-theme="light"] .tscm-threat-item.low { border-color: var(--severity-low); }
|
||||||
|
[data-theme="light"] .score-badge.score-high { color: #cc2222; }
|
||||||
|
[data-theme="light"] .score-badge.score-medium { color: #9a8420; }
|
||||||
|
[data-theme="light"] .score-badge.score-low { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .score-circle.high { border-color: #cc2222; }
|
||||||
|
[data-theme="light"] .score-circle.medium { border-color: #9a8420; }
|
||||||
|
[data-theme="light"] .score-circle.low { border-color: #1a8a50; }
|
||||||
|
[data-theme="light"] .score-circle.high .score-value { color: #cc2222; }
|
||||||
|
[data-theme="light"] .score-circle.medium .score-value { color: #9a8420; }
|
||||||
|
[data-theme="light"] .score-circle.low .score-value { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .cap-status.available { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .cap-status.limited { color: #9a8420; }
|
||||||
|
[data-theme="light"] .cap-status.unavailable { color: #cc2222; }
|
||||||
|
[data-theme="light"] .cap-detail-status.available { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .cap-detail-status.limited { color: #9a8420; }
|
||||||
|
[data-theme="light"] .cap-detail-status.unavailable { color: #cc2222; }
|
||||||
|
[data-theme="light"] .health-badge.healthy { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .health-badge.noisy { color: #9a8420; }
|
||||||
|
[data-theme="light"] .health-badge.stale { color: #cc2222; }
|
||||||
|
[data-theme="light"] .tscm-assessment.high-interest { color: #cc2222; border-color: #cc2222; }
|
||||||
|
[data-theme="light"] .tscm-assessment.needs-review { color: #9a8420; border-color: #9a8420; }
|
||||||
|
[data-theme="light"] .tscm-assessment.informational { color: #1a8a50; border-color: #1a8a50; }
|
||||||
|
[data-theme="light"] .summary-stat.high-interest .count { color: #cc2222; }
|
||||||
|
[data-theme="light"] .summary-stat.needs-review .count { color: #9a8420; }
|
||||||
|
[data-theme="light"] .summary-stat.informational .count { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .known-badge { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .tracker-badge { color: #cc2244; }
|
||||||
|
[data-theme="light"] .tscm-correlations { border-color: var(--accent-orange); }
|
||||||
|
[data-theme="light"] .tscm-correlations h4 { color: var(--accent-orange); }
|
||||||
|
[data-theme="light"] .case-status.open { color: #1a8a50; }
|
||||||
|
[data-theme="light"] .playbook-risk.high_interest { color: #cc2222; }
|
||||||
|
[data-theme="light"] .playbook-risk.needs_review { color: #9a8420; }
|
||||||
|
[data-theme="light"] .playbook-risk.informational { color: #1a8a50; }
|
||||||
|
|||||||
@@ -128,7 +128,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wxsat-schedule-toggle input:checked + .wxsat-toggle-label {
|
.wxsat-schedule-toggle input:checked + .wxsat-toggle-label {
|
||||||
color: #00ff88;
|
color: var(--accent-green);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===== Location inputs in strip ===== */
|
/* ===== Location inputs in strip ===== */
|
||||||
@@ -695,7 +695,7 @@
|
|||||||
|
|
||||||
.wxsat-image-actions button:hover {
|
.wxsat-image-actions button:hover {
|
||||||
background: rgba(255, 68, 68, 0.9);
|
background: rgba(255, 68, 68, 0.9);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.wxsat-image-preview {
|
.wxsat-image-preview {
|
||||||
@@ -901,7 +901,7 @@
|
|||||||
.wxsat-modal-btn.delete:hover {
|
.wxsat-modal-btn.delete:hover {
|
||||||
background: rgba(255, 68, 68, 0.9);
|
background: rgba(255, 68, 68, 0.9);
|
||||||
border-color: #ff4444;
|
border-color: #ff4444;
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Gallery clear-all button */
|
/* Gallery clear-all button */
|
||||||
@@ -1166,3 +1166,14 @@
|
|||||||
.wxsat-collapse-icon.collapsed {
|
.wxsat-collapse-icon.collapsed {
|
||||||
transform: rotate(-90deg);
|
transform: rotate(-90deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Light theme overrides */
|
||||||
|
[data-theme="light"] .wxsat-strip-dot.capturing { background: var(--accent-green); }
|
||||||
|
[data-theme="light"] .wxsat-strip-dot.decoding { background: var(--accent-cyan); }
|
||||||
|
[data-theme="light"] .wxsat-phase-step.active { color: var(--accent-green); border-color: var(--accent-green); }
|
||||||
|
[data-theme="light"] .wxsat-console-entry.wxsat-log-signal { border-left-color: var(--accent-green); color: var(--accent-green); }
|
||||||
|
[data-theme="light"] .wxsat-console-entry.wxsat-log-save { border-left-color: var(--accent-orange); color: var(--accent-orange); }
|
||||||
|
[data-theme="light"] .wxsat-console-entry.wxsat-log-error { border-left-color: var(--accent-red); color: var(--accent-red); }
|
||||||
|
[data-theme="light"] .wxsat-console-entry.wxsat-log-warning { border-left-color: var(--accent-orange); color: var(--accent-orange); }
|
||||||
|
[data-theme="light"] .wxsat-pass-mode.lrpt { color: var(--accent-green); }
|
||||||
|
[data-theme="light"] .wxsat-pass-quality.excellent { color: var(--accent-green); }
|
||||||
|
|||||||
@@ -646,7 +646,7 @@
|
|||||||
background: rgba(255, 255, 255, 0.1);
|
background: rgba(255, 255, 255, 0.1);
|
||||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: white;
|
color: var(--text-inverse);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.15s;
|
transition: all 0.15s;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
|||||||
@@ -666,7 +666,7 @@ body {
|
|||||||
|
|
||||||
.btn.primary {
|
.btn.primary {
|
||||||
background: var(--accent-green);
|
background: var(--accent-green);
|
||||||
color: #fff;
|
color: var(--text-inverse);
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -262,7 +262,7 @@
|
|||||||
|
|
||||||
.toggle-switch input:checked + .toggle-slider:before {
|
.toggle-switch input:checked + .toggle-slider:before {
|
||||||
transform: translateX(20px);
|
transform: translateX(20px);
|
||||||
background-color: white;
|
background-color: var(--text-inverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
.toggle-switch input:focus + .toggle-slider {
|
.toggle-switch input:focus + .toggle-slider {
|
||||||
@@ -430,7 +430,7 @@
|
|||||||
background: linear-gradient(135deg, var(--accent-amber, #d4a853) 0%, var(--accent-orange, #f59e0b) 100%);
|
background: linear-gradient(135deg, var(--accent-amber, #d4a853) 0%, var(--accent-orange, #f59e0b) 100%);
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: #000;
|
color: var(--text-inverse);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<!-- Populated by JavaScript -->
|
<!-- Populated by JavaScript -->
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 8px; display: flex; gap: 5px;">
|
<div style="margin-top: 8px; display: flex; gap: 5px;">
|
||||||
<input type="text" id="newPresetFreq" placeholder="New freq (MHz)" style="flex: 1; padding: 6px; background: #0f3460; border: 1px solid #1a1a2e; color: #fff; border-radius: 4px; font-size: 12px;">
|
<input type="text" id="newPresetFreq" placeholder="New freq (MHz)" style="flex: 1; padding: 6px; background: var(--bg-secondary); border: 1px solid var(--border-color); color: var(--text-primary); border-radius: 4px; font-size: 12px;">
|
||||||
<button class="preset-btn" onclick="addPreset()" style="background: #2ecc71;">Add</button>
|
<button class="preset-btn" onclick="addPreset()" style="background: #2ecc71;">Add</button>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 5px;">
|
<div style="margin-top: 5px;">
|
||||||
|
|||||||
@@ -163,7 +163,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
Use GPS
|
Use GPS
|
||||||
</button>
|
</button>
|
||||||
<button class="check-assets-btn" onclick="saveObserverLocation()" style="flex: 1; background: var(--accent-cyan); color: #000;">
|
<button class="check-assets-btn" onclick="saveObserverLocation()" style="flex: 1; background: var(--accent-cyan); color: var(--text-inverse);">
|
||||||
Save Location
|
Save Location
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user