:root {
  --bg: #070b12;
  --panel: #0f1724;
  --text: #e6edf8;
  --muted: #96a4bc;
  --line: #22304a;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; background:var(--bg); color:var(--text); overflow-x:hidden; }
.app.night-mode { --text:#ff6b6b; --muted:#d57a7a; color:var(--text); }
.app.night-mode, .app.night-mode * { color:var(--text); }
.app.night-mode th, .app.night-mode .object-info-box b { color:#ff9a9a !important; }
.app.night-mode .hint, .app.night-mode .summary-line, .app.night-mode .help-text, .app.night-mode .status-line, .app.night-mode .object-info-box .meta, .app.night-mode ::placeholder { color:var(--muted) !important; }
.app.night-mode input, .app.night-mode select, .app.night-mode option, .app.night-mode button, .app.night-mode label, .app.night-mode td, .app.night-mode th, .app.night-mode h1, .app.night-mode h2, .app.night-mode .toolbar-right, .app.night-mode .checks, .app.night-mode .table-wrap, .app.night-mode #aladinLiteDiv, .app.night-mode #aladinLiteDiv * { color:var(--text) !important; }
.app.night-mode .skymap-overlay .planner-label { fill:#ff8d8d; }
.app.night-mode .skymap-overlay .planner-marker { fill:#ff7a7a; }
.app.night-mode .skymap-overlay .planner-ring { stroke:rgba(255,170,170,.95); }
code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.app { display:grid; grid-template-columns:360px 1fr; min-height:100vh; height:100vh; }
.app.controls-hidden { grid-template-columns:0 1fr; }
.sidebar { border-right:1px solid var(--line); background:linear-gradient(180deg, rgba(18,28,45,.98), rgba(10,16,26,.98)); padding:16px; overflow-y:auto; }
.app.controls-hidden .sidebar { padding:0; border-right:0; overflow:visible; }
.app.controls-hidden .sidebar > :not(#controlsCollapsedPanel) { display:none; }
.collapsed-panel { display:none; }
.app.controls-hidden .collapsed-panel { display:block; position:fixed; top:16px; left:16px; z-index:50; margin:0; padding:10px; }
.content { padding:16px; min-width:0; min-height:0; height:100vh; display:flex; flex-direction:column; gap:12px; }
.sidebar-head, .section-head, .chart-head, .actions-row, .window-row, .top-actions, .time-actions { display:flex; gap:10px; }
.sidebar-head, .section-head, .chart-head { justify-content:space-between; align-items:center; }
.wrap-row { flex-wrap:wrap; }
.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.panel { background:linear-gradient(180deg, rgba(15,23,36,.98), rgba(11,17,28,.98)); border:1px solid var(--line); border-radius:16px; padding:14px; box-shadow:0 10px 30px rgba(0,0,0,.2); margin-bottom:0; min-width:0; }
.panel-chart { padding-bottom:10px; display:flex; flex-direction:column; flex:1 1 auto; min-height:320px; overflow:hidden; }
.chart-stack { position:relative; min-width:0; flex:1 1 auto; min-height:280px; overflow:hidden; }
#chartPanel { flex:1 1 auto; }
#targetPanel { flex:0 0 280px; min-height:150px; display:flex; flex-direction:column; overflow:hidden; }
.target-search-row { display:flex; align-items:center; gap:10px; margin:2px 0 12px; }
.target-search-row input { flex:1 1 auto; min-width:220px; }
.target-search-row button { flex:0 0 auto; }
.panel-splitter { height:10px; border-radius:999px; background:linear-gradient(90deg, rgba(80,122,186,.18), rgba(137,176,240,.38), rgba(80,122,186,.18)); cursor:row-resize; flex:0 0 10px; }
.panel-splitter:hover { filter:brightness(1.12); }
h1 { margin:0; font-size:1.42rem; }
h2 { margin:0 0 10px; font-size:1rem; min-height:1.2em; }
label span, .hint, .summary-line, .status-line { color:var(--muted); }
.hint, .summary-line, .status-line, .help-text { font-size:.88rem; line-height:1.4; }
.status-line { min-height:1.35em; padding-top:6px; }
.help-text p { margin:0 0 12px; }
label { display:flex; flex-direction:column; gap:6px; font-size:.90rem; min-width:0; }
input, select { width:100%; background:#09111c; color:var(--text); border:1px solid var(--line); border-radius:10px; padding:9px 11px; min-width:0; font-size:13px; line-height:1.2; }
input[type="range"] { -webkit-appearance:none; appearance:none; padding:0; height:18px; background:transparent; border:0; border-radius:0; }
button { background:#14233a; color:var(--text); border:1px solid #29466f; border-radius:10px; padding:8px 11px; cursor:pointer; font-size:13px; line-height:1.2; }
button:hover { filter:brightness(1.08); }
input[type="range"]::-webkit-slider-runnable-track { height:4px; border-radius:999px; background:linear-gradient(90deg, rgba(72,123,196,.55), rgba(146,187,246,.35)); border:1px solid rgba(41,70,111,.85); }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:12px; height:12px; border-radius:50%; background:#dbe8fb; border:1px solid #29466f; margin-top:-5px; box-shadow:0 0 0 1px rgba(7,11,18,.25); }
input[type="range"]::-moz-range-track { height:4px; border-radius:999px; background:linear-gradient(90deg, rgba(72,123,196,.55), rgba(146,187,246,.35)); border:1px solid rgba(41,70,111,.85); }
input[type="range"]::-moz-range-thumb { width:12px; height:12px; border-radius:50%; background:#dbe8fb; border:1px solid #29466f; box-shadow:0 0 0 1px rgba(7,11,18,.25); }
.app.night-mode input[type="range"]::-webkit-slider-runnable-track { background:linear-gradient(90deg, rgba(150,56,56,.50), rgba(255,134,134,.28)); border-color:rgba(150,56,56,.82); }
.app.night-mode input[type="range"]::-webkit-slider-thumb { background:#ffb4b4; border-color:#8d3e3e; box-shadow:0 0 0 1px rgba(36,6,6,.28); }
.app.night-mode input[type="range"]::-moz-range-track { background:linear-gradient(90deg, rgba(150,56,56,.50), rgba(255,134,134,.28)); border-color:rgba(150,56,56,.82); }
.app.night-mode input[type="range"]::-moz-range-thumb { background:#ffb4b4; border-color:#8d3e3e; box-shadow:0 0 0 1px rgba(36,6,6,.28); }
.ghost-btn { background:transparent; }
.segmented, .zoom-controls { display:flex; gap:8px; }
.mode-btn.active, .toggle-btn.active { background:#1c4d79; border-color:#3d79ae; }
.checks { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
.checks label { flex-direction:row; align-items:center; gap:8px; }
.checks input { width:auto; }
.window-row { align-items:end; margin-bottom:10px; }
.window-row > label { flex:1; }
.window-row .remove-btn { min-width:90px; }
#plannerCanvas { width:100%; height:100%; min-height:280px; display:block; border-radius:14px; background:#04070d; border:1px solid var(--line); touch-action:none; }
canvas.pannable { cursor:grab; }
canvas.dragging { cursor:grabbing; }
.object-info-box { position:absolute; min-width:0; max-width:min(320px, calc(100% - 24px)); width:max-content; padding:8px 10px; border-radius:12px; border:1px solid rgba(124,162,221,.35); background:rgba(8,14,23,.96); color:var(--text); box-shadow:0 14px 30px rgba(0,0,0,.35); pointer-events:none; z-index:90; font-size:0.72rem; line-height:1.28; }
.object-info-box b { color:#d7e5fb; }
.object-info-box .meta { color:var(--muted); font-size:.68rem; margin-top:3px; }
.hidden { display:none !important; }
.table-wrap { overflow:auto; flex:1 1 auto; min-height:0; }
table { width:100%; border-collapse:collapse; }
th, td { padding:9px 8px; border-bottom:1px solid var(--line); text-align:left; font-size:.90rem; white-space:nowrap; }
th { color:#bdd6ff; }
th.sortable { cursor:pointer; user-select:none; position:relative; padding-right:22px; }
th.sortable::after { content:"↕"; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:0.8em; opacity:0.45; }
th.sortable.sort-asc::after { content:"↑"; opacity:0.9; }
th.sortable.sort-desc::after { content:"↓"; opacity:0.9; }
tr:hover td { background:rgba(255,255,255,.02); }
tr.selected-row td { background:rgba(72,123,196,.18); }
@media (max-width:980px){ .app, .app.controls-hidden { grid-template-columns:1fr; height:auto; } .sidebar { border-right:0; border-bottom:1px solid var(--line);} .content { height:auto; min-height:0; } .panel-splitter { display:none; } #targetPanel { flex:0 0 auto; min-height:220px; } }
@media (max-width:700px){ .grid.two, .checks { grid-template-columns:1fr; } .content { padding:12px; } canvas { min-height:240px; } }


.aladin-view { position:absolute; inset:0; width:100%; height:100%; min-height:280px; display:block; border-radius:14px; overflow:hidden; border:1px solid var(--line); background:#04070d; z-index:1; }
.chart-stack.skymap-active #aladinLiteDiv { display:block; }
.chart-stack.altaz-active #aladinLiteDiv { display:none; }
.chart-stack.skymap-active #plannerCanvas { position:absolute; inset:0; width:100%; height:100%; background:transparent; border:0; pointer-events:none; z-index:10; }
.chart-stack.altaz-active #plannerCanvas { position:relative; inset:auto; z-index:1; pointer-events:auto; }
.skymap-overlay { position:absolute; inset:0; width:100%; height:100%; display:none !important; z-index:220; pointer-events:none; overflow:visible; }
.skymap-overlay .planner-target { pointer-events:all; cursor:pointer; }
.skymap-overlay .planner-hit { fill:rgba(0,0,0,0); stroke:none; pointer-events:all; }
.skymap-overlay .planner-marker { fill:#79c5ff; stroke:rgba(9,17,28,.92); stroke-width:1.1; pointer-events:none; }
.skymap-overlay .planner-ring { fill:none; stroke:rgba(255,255,255,.92); stroke-width:0.85; pointer-events:none; }
.skymap-overlay .planner-label { fill:#e6edf8; font-family:Arial, Helvetica, sans-serif; paint-order:stroke; stroke:rgba(4,7,13,.96); stroke-width:3.6px; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .altitude-line-glow { fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .altitude-line-main { fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .altitude-line-label { font-family:Arial, Helvetica, sans-serif; paint-order:stroke; stroke:rgba(4,7,13,.92); stroke-width:3px; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .constellation-line-glow { fill:none; stroke:rgba(60,190,255,0.82); stroke-width:5.2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .constellation-line-main { fill:none; stroke:rgba(255,245,190,0.98); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.chart-stack.skymap-active #skyMapOverlay { display:block !important; }
.chart-stack.altaz-active #skyMapOverlay { display:none; }

.chart-stack.skymap-active .object-info-box { z-index:260; }
@media (max-width:700px){ .aladin-view { min-height:240px; } }


.status-line { display:none !important; min-height:0; padding-top:0; }

.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-fullscreen,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-zoomControl,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-gotoControl,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-layersControl,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-projectionControl,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-cooGridControl,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-frame,
.chart-stack.aladin-controls-hidden #aladinLiteDiv .aladin-location,
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="projectionControl"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="cooGridControl"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="layersControl"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="gotoControl"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="fullscreen"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="Frame"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="frame"],
.chart-stack.aladin-controls-hidden #aladinLiteDiv [class*="Selector"] {
  display: none !important;
}







.app.fov-open { grid-template-columns:360px 400px 1fr; }
.app.controls-hidden.fov-open { grid-template-columns:0 400px 1fr; }
.fov-sidebar { display:none; border-right:1px solid var(--line); background:linear-gradient(180deg, rgba(18,28,45,.98), rgba(10,16,26,.98)); padding:16px; overflow-y:auto; }
.app.fov-open .fov-sidebar { display:block; }
.fov-panel { min-height:100%; }
.fov-form { display:grid; gap:10px; }
.fov-summary { margin-top:12px; }
.skymap-overlay .fov-frame-glow { fill:none; stroke:rgba(96,220,180,0.34); stroke-width:4.2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .fov-frame-main { fill:none; stroke:rgba(132,255,214,0.96); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.app.night-mode .skymap-overlay .fov-frame-glow { stroke:rgba(255,108,108,0.28); }
.app.night-mode .skymap-overlay .fov-frame-main { stroke:rgba(255,140,140,0.96); }
.skymap-overlay .fov-hud-box { fill:rgba(6, 11, 18, 0.72); stroke:rgba(186, 224, 255, 0.34); stroke-width:1; pointer-events:none; }
.skymap-overlay .fov-hud-text { fill:#e6edf8; font-family:Arial, Helvetica, sans-serif; font-size:12px; paint-order:stroke; stroke:rgba(4,7,13,.94); stroke-width:2.4px; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .fov-hud-text-left { font-weight:600; }
.skymap-overlay .fov-hud-text-right { font-weight:500; }
.app.night-mode .skymap-overlay .fov-hud-box { fill:rgba(24, 8, 8, 0.78); stroke:rgba(255, 148, 148, 0.34); }
.app.night-mode .skymap-overlay .fov-hud-text { fill:#ffd6d6; stroke:rgba(36, 6, 6, 0.96); }
@media (max-width:980px){ .app.fov-open, .app.controls-hidden.fov-open { grid-template-columns:1fr; } .fov-sidebar { display:none; border-right:0; border-bottom:1px solid var(--line); } .app.fov-open .fov-sidebar { display:block; } }

.fov-rotation-inline{margin-top:10px;display:grid;gap:6px;}
.fov-form{display:grid;gap:10px;grid-template-columns:1fr;}
.fov-summary{display:none;margin-top:12px;line-height:1.4;}
.fov-sidebar{min-width:0;}
.fov-metrics-wrap{margin-top:12px;max-height:340px;}
.fov-metrics-table td,.fov-metrics-table th{font-size:.88rem;padding:8px 6px;white-space:normal;vertical-align:top;}
.fov-metrics-table td:first-child{color:#bdd6ff;width:58%;}
.fov-sampling{margin-top:12px;display:grid;gap:6px;}
.fov-sampling-head{display:flex;justify-content:space-between;gap:10px;font-size:.92rem;color:var(--muted);}
.fov-sampling-bar{position:relative;height:12px;border-radius:999px;background:#09111c;border:1px solid var(--line);overflow:hidden;}
.fov-sampling-good{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg, rgba(105,196,119,.18), rgba(105,196,119,.45));}
.fov-sampling-needle{position:absolute;top:-3px;bottom:-3px;width:2px;border-radius:999px;background:#e6edf8;box-shadow:0 0 0 1px rgba(7,11,18,.35);transform:translateX(-1px);}
.app.night-mode .fov-sampling-needle{background:#ff9a9a;}
.app.night-mode .fov-sampling-good{background:linear-gradient(90deg, rgba(255,122,122,.16), rgba(255,122,122,.38));}
.fov-sampling-scale{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);}
.fov-sampling-value-good{color:#8be08f;}
.fov-sampling-value-under{color:#ffcc80;}
.fov-sampling-value-over{color:#ff9b9b;}
.app.night-mode .fov-sampling-value-good,.app.night-mode .fov-sampling-value-under,.app.night-mode .fov-sampling-value-over{color:#ff9a9a;}
.fov-sidebar select{width:100%;}

.debug-log{max-height:220px;overflow:auto;white-space:pre-wrap;background:#070b11;border:1px solid var(--line);border-radius:10px;padding:10px;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;}
.app.night-mode .debug-log{color:#ff8a8a;}
#fovDebugPanel{display:block;}



.fov-map-controls { display:flex; align-items:center; gap:8px; margin-right:26px; min-width:0; }
.fov-map-controls > * { flex:0 0 auto; }
.fov-map-controls button {
  border:1px solid rgba(124,162,221,.35);
  background:rgba(8,14,23,.92);
  color:var(--text);
  border-radius:10px;
  white-space:nowrap;
}
.fov-map-rotation {
  display:flex;
  align-items:center;
  gap:8px;
  padding:0;
  min-width:220px;
  max-width:min(330px, 40vw);
  border:0;
  background:transparent;
  color:var(--text);
}
.fov-map-rotation span { display:flex; align-items:center; gap:6px; white-space:nowrap; font-size:.82rem; line-height:1.2; }
.fov-map-rotation input { width:150px; margin:0; flex:1 1 auto; }
.toolbar-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; min-width:0; }
.toolbar-left, .toolbar-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; }
.toolbar-left { justify-content:flex-start; flex:1 1 auto; }
.toolbar-right { justify-content:flex-end; flex:1 1 auto; margin-left:auto; }
.fov-map-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-start; }
.app.night-mode .fov-map-controls button {
  background:rgba(24,8,8,.90);
  border-color:rgba(255,148,148,.34);
}
.app.night-mode .fov-map-controls .fov-map-rotation {
  background:transparent;
  border-color:transparent;
}
@media (max-width:980px){
  .toolbar-bar { align-items:flex-start; flex-direction:column; }
  .toolbar-left, .toolbar-right { width:100%; }
  .toolbar-right { justify-content:flex-start; margin-left:0; }
  .fov-map-controls { width:100%; margin-right:0; margin-bottom:6px; }
  .fov-map-rotation { min-width:220px; max-width:100%; }
  .fov-map-rotation input { width:120px; }
}


#appRoot button { font-size:13px !important; line-height:1.2 !important; }
#appRoot input, #appRoot select, #appRoot label { font-size:13px !important; line-height:1.2 !important; }
#appRoot .toolbar-left button, #appRoot .toolbar-left label, #appRoot .toolbar-left input, #appRoot .toolbar-right button, #appRoot .toolbar-right label, #appRoot .toolbar-right input { font-size:13px !important; }


body.skyplanner-night-mode .elementor-location-header,
body.skyplanner-night-mode .elementor-location-header a,
body.skyplanner-night-mode .elementor-nav-menu a,
body.skyplanner-night-mode .elementor-nav-menu .elementor-item,
body.skyplanner-night-mode .elementor-menu-toggle,
body.skyplanner-night-mode .elementor-icon-list-text,
body.skyplanner-night-mode header a {
  color:#ff6b6b !important;
}
body.skyplanner-night-mode .elementor-location-header svg *,
body.skyplanner-night-mode .elementor-nav-menu svg *,
body.skyplanner-night-mode .elementor-menu-toggle svg * {
  fill:#ff6b6b !important;
  stroke:#ff6b6b !important;
}


/* Night-mode dropdown list items for equipment selectors */
.app.night-mode .fov-sidebar select,
.app.night-mode .fov-sidebar select option,
.app.night-mode .fov-sidebar optgroup,
.app.night-mode .fov-map-controls select,
.app.night-mode select option {
  color:#ff8d8d !important;
  background:#14090c !important;
}
.app.night-mode .fov-sidebar select:focus,
.app.night-mode .fov-sidebar select:hover {
  border-color:rgba(255,140,140,.72) !important;
  box-shadow:0 0 0 2px rgba(255,122,122,.12);
}


/* Night-mode native control emphasis */
.app.night-mode input[type="checkbox"],
.app.night-mode input[type="radio"] {
  accent-color: #c44a4a;
}
.app.night-mode select,
.app.night-mode .fov-sidebar select,
.app.night-mode .fov-map-controls select {
  color:#ff8d8d !important;
  -webkit-text-fill-color:#ff8d8d !important;
  background:#14090c !important;
  color-scheme: dark;
}
.app.night-mode select option,
.app.night-mode .fov-sidebar select option,
.app.night-mode optgroup {
  color:#ff8d8d !important;
  -webkit-text-fill-color:#ff8d8d !important;
  background:#14090c !important;
}
.app.night-mode select:focus,
.app.night-mode .fov-sidebar select:focus,
.app.night-mode select:hover,
.app.night-mode .fov-sidebar select:hover {
  border-color:rgba(255,140,140,.72) !important;
  box-shadow:0 0 0 2px rgba(255,122,122,.12);
}

#statusLine { display:none; margin-top:8px; }
#statusLine.is-visible { display:block; }
.satellite-grid { margin-top:10px; }
.satellite-checks { margin-top:10px; }
.satellite-checks label { white-space:nowrap; }
.skymap-overlay .sat-path-glow { fill:none; stroke:rgba(255,193,87,0.26); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .sat-path-main { fill:none; stroke:rgba(255,210,120,0.96); stroke-width:1; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .sat-point { fill:rgba(255,225,160,0.96); stroke:rgba(22,18,10,0.96); stroke-width:1.2; pointer-events:none; }
.skymap-overlay .sat-cross { fill:none; stroke:rgba(255,122,122,0.98); stroke-width:0.85; pointer-events:none; }
.skymap-overlay .sat-label { fill:#ffe7b4; font-family:Arial, Helvetica, sans-serif; font-size:11px; paint-order:stroke; stroke:rgba(8,8,8,0.95); stroke-width:2.6px; stroke-linejoin:round; pointer-events:none; }
.app.night-mode .skymap-overlay .sat-path-glow { stroke:rgba(255,108,108,0.28); }
.app.night-mode .skymap-overlay .sat-path-main { stroke:rgba(255,138,138,0.96); }
.app.night-mode .skymap-overlay .sat-point { fill:rgba(255,164,164,0.96); stroke:rgba(46,6,6,0.96); }
.app.night-mode .skymap-overlay .sat-cross { stroke:rgba(255,188,188,0.98); }
.app.night-mode .skymap-overlay .sat-label { fill:#ffd2d2; stroke:rgba(36,6,6,0.96); }


.app.satellite-open { grid-template-columns:360px 360px 1fr; }
.app.controls-hidden.satellite-open { grid-template-columns:0 360px 1fr; }
.app.satellite-open.fov-open { grid-template-columns:360px 360px 400px 1fr; }
.app.controls-hidden.satellite-open.fov-open { grid-template-columns:0 360px 400px 1fr; }
.satellite-sidebar { display:none; border-right:1px solid var(--line); background:linear-gradient(180deg, rgba(18,28,45,.98), rgba(10,16,26,.98)); padding:16px; overflow-y:auto; min-width:0; }
.app.satellite-open .satellite-sidebar { display:block; }
.satellite-config-panel { min-height:100%; }
.satellite-launch-panel .hint { margin-top:8px; }
.satellite-grid { margin-top:10px; }
.satellite-checks { margin-top:10px; }
.satellite-checks label { white-space:nowrap; }
.skymap-overlay .sat-path-glow { fill:none; stroke:rgba(255,188,120,0.30); stroke-width:2.75; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .sat-path-main { fill:none; stroke:rgba(255,223,170,0.96); stroke-width:0.85; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.skymap-overlay .sat-point { fill:rgba(255,232,184,0.98); stroke:rgba(30,14,0,0.92); stroke-width:1.1; pointer-events:none; }
.skymap-overlay .sat-cross { fill:none; stroke:rgba(255,236,200,0.96); stroke-width:1.2; stroke-linecap:round; pointer-events:none; }
.skymap-overlay .sat-label { fill:#fff0cd; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:600; paint-order:stroke; stroke:rgba(10,6,0,0.96); stroke-width:3px; stroke-linejoin:round; pointer-events:none; }
.app.night-mode .skymap-overlay .sat-path-glow { stroke:rgba(255,102,102,0.28); }
.app.night-mode .skymap-overlay .sat-path-main { stroke:rgba(255,150,150,0.96); }
.app.night-mode .skymap-overlay .sat-point { fill:rgba(255,188,188,0.98); stroke:rgba(36,6,6,0.96); }
.app.night-mode .skymap-overlay .sat-cross { stroke:rgba(255,208,208,0.96); }
.app.night-mode .skymap-overlay .sat-label { fill:#ffd1d1; stroke:rgba(36,6,6,0.96); }
@media (max-width:980px){ .app.satellite-open, .app.controls-hidden.satellite-open, .app.satellite-open.fov-open, .app.controls-hidden.satellite-open.fov-open { grid-template-columns:1fr; } .satellite-sidebar { display:none; border-right:0; border-bottom:1px solid var(--line); } .app.satellite-open .satellite-sidebar { display:block; } }

.satellite-display-checks { margin-top:8px; }

.skymap-overlay .sat-hover-hit { fill:none; stroke:rgba(0,0,0,0); stroke-width:14; stroke-linecap:round; stroke-linejoin:round; pointer-events:stroke; cursor:help; }
.satellite-hover-tooltip { position:absolute; z-index:30; max-width:240px; white-space:pre-line; pointer-events:none; background:rgba(12,18,28,0.96); color:#f6e9c0; border:1px solid rgba(255,214,132,0.45); border-radius:10px; padding:8px 10px; font-size:12px; line-height:1.35; box-shadow:0 10px 24px rgba(0,0,0,0.35); }
.app.night-mode .satellite-hover-tooltip { background:rgba(22,8,8,0.96); color:#ffd5d5; border-color:rgba(255,138,138,0.45); }
.satellite-hover-tooltip.hidden { display:none; }

.ui-help-tooltip { position:fixed; z-index:320; max-width:240px; }
[data-help-tip] { cursor:help; }


.compact-head h3 { margin:0; font-size:14px; color:var(--text); }
.satellite-transit-wrap { margin-top:12px; }
.satellite-transit-table-wrap { max-height:none; overflow:visible; border:1px solid var(--line); border-radius:12px; background:rgba(6,10,16,.35); }
.satellite-transit-table { width:100%; border-collapse:collapse; font-size:11px; line-height:1.2; table-layout:fixed; }
.satellite-transit-table thead th { position:sticky; top:0; z-index:1; background:rgba(14,20,32,.96); text-align:left; padding:5px 6px; border-bottom:1px solid var(--line); font-size:10px; }
.satellite-transit-table tbody td { padding:4px 6px; border-top:1px solid rgba(255,255,255,.06); vertical-align:top; }
.satellite-transit-table tbody tr:first-child td { border-top:0; }
.satellite-transit-table tbody tr:hover { background:rgba(255,255,255,.04); }
.satellite-transit-table td:nth-child(2), .satellite-transit-table th:nth-child(2) { white-space:nowrap; }
.satellite-transit-table td:nth-child(3), .satellite-transit-table th:nth-child(3) { white-space:nowrap; }

.satellite-transit-table th:nth-child(1), .satellite-transit-table td:nth-child(1) { width:30%; }
.satellite-transit-table th:nth-child(2), .satellite-transit-table td:nth-child(2) { width:18%; }
.satellite-transit-table th:nth-child(3), .satellite-transit-table td:nth-child(3) { width:52%; }
.satellite-transit-table td { overflow-wrap:anywhere; }
