/* ------------------------------------------------------------------ *
 * SatCoverage : NTN constellation coverage, visibility and handover
 * All rules are scoped under #content_sim #sat-coverage so that nothing
 * leaks into the global ShareTechnote stylesheet.
 * ------------------------------------------------------------------ */

#content_sim #sat-coverage,
#content_sim #sat-coverage * {
    box-sizing: border-box;
    font-family: "Courier New", Courier, monospace;
}

#content_sim #sat-coverage {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    padding: 10px;
    background: #05070b;
    color: #e8f2ff;
    border: 1px solid #263244;
}

#content_sim #sat-coverage .sc-panel {
    background: #0a1018;
    border: 1px solid #263244;
    padding: 10px;
    margin-bottom: 10px;
}

#content_sim #sat-coverage .sc-panel:last-child {
    margin-bottom: 0;
}

/* ---------------------------------------------------------- controls */

#content_sim #sat-coverage .sc-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
}

#content_sim #sat-coverage .sc-row {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
}

#content_sim #sat-coverage .sc-row.sc-span2 {
    grid-column: 1 / -1;
}

#content_sim #sat-coverage .sc-group {
    grid-column: 1 / -1;
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px dashed #24344a;
    color: #6f8cb5;
    font-size: 11px;
    letter-spacing: 1px;
}

#content_sim #sat-coverage .sc-group:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

#content_sim #sat-coverage label {
    min-width: 104px;
    color: #a9c3e8;
    font-size: 12px;
    flex: 0 0 auto;
}

#content_sim #sat-coverage input,
#content_sim #sat-coverage select,
#content_sim #sat-coverage button {
    font-family: "Courier New", Courier, monospace;
    font-size: 12px;
}

#content_sim #sat-coverage input[type="range"] {
    flex: 1 1 auto;
    min-width: 60px;
    accent-color: #4da3ff;
    background: transparent;
}

#content_sim #sat-coverage select {
    flex: 1 1 auto;
    min-width: 60px;
    color: #eef7ff;
    background: #121a25;
    border: 1px solid #33465f;
    padding: 3px 5px;
}

#content_sim #sat-coverage .sc-value {
    min-width: 74px;
    text-align: right;
    color: #ffd479;
    font-size: 12px;
    flex: 0 0 auto;
}

#content_sim #sat-coverage .sc-btn {
    background: #16283d;
    color: #dceaff;
    border: 1px solid #35516f;
    padding: 3px 8px;
    cursor: pointer;
}

#content_sim #sat-coverage .sc-btn:hover {
    background: #1f3b58;
}

#content_sim #sat-coverage .sc-btn.sc-btn-on {
    background: #7a2020;
    border-color: #b34a4a;
}

/* ------------------------------------------------------------ canvas */

#content_sim #sat-coverage canvas {
    display: block;
    width: 100%;
    background: #04070c;
    border: 1px solid #1b2838;
}

#content_sim #sat-coverage .sc-subtitle {
    margin: 0 0 6px 0;
    color: #9fd0ff;
    font-size: 12px;
}

#content_sim #sat-coverage .sc-note {
    margin: 6px 0 0 0;
    color: #7f97b8;
    font-size: 11px;
    line-height: 1.45;
}

/* ---------------------------------------------------------- readouts */

#content_sim #sat-coverage .sc-readout {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px 10px;
}

#content_sim #sat-coverage .sc-cell {
    border: 1px solid #1b2838;
    background: #071019;
    padding: 5px 7px;
}

#content_sim #sat-coverage .sc-cell .sc-k {
    display: block;
    color: #7f97b8;
    font-size: 10px;
    letter-spacing: 0.5px;
}

#content_sim #sat-coverage .sc-cell .sc-v {
    display: block;
    color: #eaf4ff;
    font-size: 13px;
}

#content_sim #sat-coverage .sc-cell.sc-good .sc-v { color: #6ee7a0; }
#content_sim #sat-coverage .sc-cell.sc-warn .sc-v { color: #ffd479; }
#content_sim #sat-coverage .sc-cell.sc-bad  .sc-v { color: #ff7b7b; }

/* -------------------------------------------------------- HO summary */

#content_sim #sat-coverage .sc-chain {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 108px;
    overflow-y: auto;
    font-size: 11px;
    line-height: 1.6;
    color: #cfe2f8;
}

#content_sim #sat-coverage .sc-chain li {
    border-bottom: 1px dotted #1b2838;
    padding: 1px 2px;
    white-space: nowrap;
}

#content_sim #sat-coverage .sc-chain li.sc-chain-now {
    background: #16283d;
    color: #ffe9b0;
}

#content_sim #sat-coverage .sc-chain li.sc-chain-gap {
    color: #ff9a9a;
}

#content_sim #sat-coverage .sc-swatch {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 5px;
    vertical-align: -1px;
    border: 1px solid #2b3e56;
}

#content_sim #sat-coverage .sc-cell.sc-span3 {
    grid-column: 1 / -1;
}

#content_sim #sat-coverage input:disabled,
#content_sim #sat-coverage select:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

#content_sim #sat-coverage .sc-walker {
    transition: opacity 0.15s linear;
}

#content_sim #sat-coverage .sc-status {
    min-width: 0;
    flex: 1 1 auto;
    text-align: left;
    color: #7f97b8;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#content_sim #sat-coverage .sc-status.sc-st-live { color: #6ee7a0; }
#content_sim #sat-coverage .sc-status.sc-st-busy { color: #ffd479; }
#content_sim #sat-coverage .sc-status.sc-st-bad  { color: #ff7b7b; }

#content_sim #sat-coverage .sc-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

#content_sim #sat-coverage .sc-check {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 auto;
}

#content_sim #sat-coverage .sc-check input[type="checkbox"] {
    accent-color: #4da3ff;
    margin: 0;
    flex: 0 0 auto;
}

#content_sim #sat-coverage .sc-check span {
    color: #ffd479;
    font-size: 12px;
}

@media (max-width: 640px) {
    #content_sim #sat-coverage .sc-controls { grid-template-columns: 1fr; }
    #content_sim #sat-coverage .sc-readout  { grid-template-columns: repeat(2, 1fr); }
}

/* Source elements stay on fixed-width lines; scroll inside the panel. */
#content_sim #sat-coverage .sc-tle-scroll { max-height: 340px; overflow: auto; margin-top: 8px; }
#content_sim #sat-coverage .sc-tle-table { border-collapse: collapse; width: 100%; font-size: 11px; color: #cfe2f8; }
#content_sim #sat-coverage .sc-tle-table th,
#content_sim #sat-coverage .sc-tle-table td { padding: 6px; border: 1px solid #263244; text-align: left; vertical-align: top; }
#content_sim #sat-coverage .sc-tle-table th { background: #16283d; }
#content_sim #sat-coverage .sc-tle-table pre { margin: 0; white-space: pre; font-size: 11px; color: #ffd479; }
#content_sim #sat-coverage .sc-tle-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin-top: 8px; overflow-x: auto; }
#content_sim #sat-coverage .sc-tle-actions > .sc-btn,
#content_sim #sat-coverage .sc-tle-actions .sc-check { flex: 0 0 auto; white-space: nowrap; }
#content_sim #sat-coverage #scUtcStart { min-width: 0; color: #eef7ff; background: #121a25; border: 1px solid #33465f; color-scheme: dark; }
#content_sim #sat-coverage .sc-controls > .sc-note { grid-column: 1 / -1; }
