/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-kgxek3moza] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-kgxek3moza] {
    flex: 1;
    background-color: var(--ed-bg-body);
}

.sidebar[b-kgxek3moza] {
    background: linear-gradient(180deg, var(--ed-bg-body) 0%, var(--ed-bg-surface) 100%);
    border-right: 1px solid var(--ed-border-subtle);
}

.top-row[b-kgxek3moza] {
    background-color: var(--ed-bg-body);
    border-bottom: 1px solid var(--ed-border-subtle);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-kgxek3moza]  a, .top-row[b-kgxek3moza]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-kgxek3moza]  a:hover, .top-row[b-kgxek3moza]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-kgxek3moza]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-kgxek3moza] {
        justify-content: space-between;
    }

    .top-row[b-kgxek3moza]  a, .top-row[b-kgxek3moza]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-kgxek3moza] {
        flex-direction: row;
    }

    .sidebar[b-kgxek3moza] {
        width: 280px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-kgxek3moza] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-kgxek3moza]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

}

#blazor-error-ui[b-kgxek3moza] {
    background: #b32121;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.5);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    color: white;
}

    #blazor-error-ui .dismiss[b-kgxek3moza] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-zl94eya9a9] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: #e0e0e0;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-zl94eya9a9] {
    background-color: rgba(240, 123, 5, 0.2);
}

.top-row[b-zl94eya9a9] {
    height: 4rem;
    background-color: transparent;
    border-bottom: 1px solid #2a2a3a;
}

.navbar-brand[b-zl94eya9a9] {
    font-size: 1.3rem;
    letter-spacing: 0.02em;
}

.text-orange[b-zl94eya9a9] {
    color: #f07b05 !important;
}

.nav-scrollable[b-zl94eya9a9] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-zl94eya9a9] {
    display: block;
}

.nav-item[b-zl94eya9a9] {
    font-size: 0.95rem;
    padding: 0.25rem 0;
}

.nav-icon[b-zl94eya9a9] {
    display: inline-block;
    width: 1.5rem;
    text-align: center;
    margin-right: 0.5rem;
}

.nav-link[b-zl94eya9a9] {
    color: #b0b0c0;
    border-radius: 4px;
    padding: 0.6rem 1rem !important;
    transition: all 0.2s;
}

.nav-link:hover[b-zl94eya9a9] {
    color: #f07b05;
    background-color: rgba(240, 123, 5, 0.1);
}

.nav-link.active[b-zl94eya9a9] {
    background-color: rgba(240, 123, 5, 0.2);
    color: #f07b05;
    font-weight: 500;
}

@media (min-width: 641px) {
    .navbar-toggler[b-zl94eya9a9] {
        display: none;
    }

    .nav-scrollable[b-zl94eya9a9] {
        display: block;
        height: calc(100vh - 4rem);
        overflow-y: auto;
        padding-top: 1rem;
    }
}
/* /Components/Pages/PdPagination.razor.rz.scp.css */
/* Scoped here (not in PowerDetail.razor.css) so the styles travel with
   the component — Blazor CSS isolation only attaches the scope attribute
   to elements rendered by the component that owns the .razor.css file. */

.pd-pagination[b-ynojjsvw2l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    gap: 12px;
}

.pd-pagination-range[b-ynojjsvw2l] {
    font-size: 10.5px;
    color: var(--ed-text-muted, #95a0ab);
    letter-spacing: 0.06em;
    font-family: 'Consolas', 'Monaco', monospace;
}

.pd-pagination-controls[b-ynojjsvw2l] {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* .tp-btn / .tp-info used to live in app.css; they were inlined in the old
   Powers.razor <style> block and got dropped during the detail-page port.
   They're scoped here so the pagination is themed wherever it's used. */

.tp-btn[b-ynojjsvw2l] {
    background: transparent;
    border: 1px solid rgba(255, 113, 0, 0.25);
    color: #f07b05;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    font-family: inherit;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.tp-btn:hover:not(:disabled)[b-ynojjsvw2l] {
    background: rgba(240, 123, 5, 0.15);
    border-color: #f07b05;
    color: #ffae66;
}
.tp-btn:disabled[b-ynojjsvw2l] {
    opacity: 0.3;
    cursor: default;
}

.tp-info[b-ynojjsvw2l] {
    font-size: 0.75rem;
    color: var(--ed-text-muted, #95a0ab);
    font-family: 'Consolas', 'Monaco', monospace;
    min-width: 50px;
    text-align: center;
}
/* /Components/Pages/SystemDetail.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────────────────
   SystemDetail.razor.css — dossier page shell, identity card, stat
   tiles and body grid, lifted verbatim from the Star Systems dossier
   mockup (design.html isDetail screen).

   Inline variables set from the page markup:
     --state-color  on .sdx-state-badge  (state accent)
     --v-color      on .sdx-verdict      (verdict/outlook accent)
     --flag         on .sdx-chip-flag    (feature badge accent)
     --accent       on .sdx-tile         (tile accent)

   The hero card chrome (.sd-hero) is rendered by the SystemDetailHero
   child component and styled in global app.css.
   ───────────────────────────────────────────────────────────────────── */

.sdx-page[b-3x1nnvkknr] {
    width: 100%;
    background: var(--ed-bg-body, #0d1117);
    color: var(--ed-text, #e6edf3);
    font-family: 'Eurostile', 'Segoe UI', Arial, sans-serif;
}

/* Design: detail screen content sits in a 20px gutter below the strip,
   with clear separation between the strip and the identity card. */
.sdx-content[b-3x1nnvkknr] { padding: 14px 20px 40px; }

/* ── Identity card ───────────────────────────────────────────────── */
.sdx-band[b-3x1nnvkknr] {
    position: relative;
    overflow: hidden;
    padding: 14px 18px 16px;
    margin-bottom: 14px;
    border: 1px solid rgba(255, 113, 0, 0.25);
    background: linear-gradient(90deg, rgba(255, 113, 0, 0.07), rgba(255, 113, 0, 0) 70%);
}
.sdx-watermark[b-3x1nnvkknr] {
    position: absolute;
    right: -30px;
    top: -60px;
    width: 260px;
    height: 260px;
    object-fit: contain;
    opacity: 0.05;
    filter: brightness(0) invert(1);
    pointer-events: none;
}

.sdx-id-row[b-3x1nnvkknr] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 22px;
}
.sdx-id-main[b-3x1nnvkknr] { min-width: 0; flex: 1; }

.sdx-back[b-3x1nnvkknr] {
    display: inline-block;
    font-size: 9px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #95a0ab;
    text-decoration: none;
    margin-bottom: 6px;
}
.sdx-back:hover[b-3x1nnvkknr] { color: #ff9544; }

.sdx-name-line[b-3x1nnvkknr] {
    display: flex;
    align-items: baseline;
    gap: 11px;
    flex-wrap: wrap;
}
.sdx-name[b-3x1nnvkknr] {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1;
    color: #e6edf3;
}
.sdx-state-badge[b-3x1nnvkknr] {
    font-size: 9px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 3px 8px;
    color: var(--state-color);
    border: 1px solid var(--state-color);
}
.sdx-power-chip[b-3x1nnvkknr] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
}

.sdx-verdict-row[b-3x1nnvkknr] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 7px;
    font-size: 10px;
}
.sdx-verdict[b-3x1nnvkknr] {
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--v-color);
}
.sdx-sep[b-3x1nnvkknr] { color: #2d333b; }
.sdx-mono-sub[b-3x1nnvkknr] { color: #95a0ab; font-family: Consolas, Monaco, monospace; }

/* ── Context chip row ────────────────────────────────────────────── */
.sdx-context[b-3x1nnvkknr] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
}
.sdx-chip[b-3x1nnvkknr] {
    font-size: 9px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 2px 7px;
    color: #b0b8c1;
    background: rgba(255, 255, 255, 0.05);
}
.sdx-chip-flag[b-3x1nnvkknr] {
    background: transparent;
    border: 1px solid var(--flag, #ff7100);
    color: var(--flag, #ff7100);
}
.sdx-context-label[b-3x1nnvkknr] { font-size: 10px; color: #95a0ab; }
.sdx-context-faction[b-3x1nnvkknr] { font-size: 11px; color: #e6edf3; }
.sdx-context-state[b-3x1nnvkknr] {
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 2px 6px;
    color: #ffaa00;
    background: rgba(255, 170, 0, 0.12);
}

/* ── Live telemetry column ───────────────────────────────────────── */
.sdx-telemetry[b-3x1nnvkknr] {
    min-width: 190px;
    border-left: 1px solid #2d333b;
    padding-left: 18px;
}
.sdx-telemetry-head[b-3x1nnvkknr] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
}
.sdx-live-dot[b-3x1nnvkknr] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #00ff66;
    box-shadow: 0 0 6px #00ff66;
    animation: sdx-blink-b-3x1nnvkknr 2s infinite;
}
.sdx-live-dim[b-3x1nnvkknr] {
    background: #95a0ab;
    box-shadow: none;
    animation: none;
}
.sdx-telemetry-label[b-3x1nnvkknr] {
    font-size: 9px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #95a0ab;
}
.sdx-telemetry-row[b-3x1nnvkknr] {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    font-family: Consolas, Monaco, monospace;
    color: #95a0ab;
    margin-bottom: 4px;
}
.sdx-telemetry-row:last-child[b-3x1nnvkknr] { margin-bottom: 0; }
.sdx-telemetry-value[b-3x1nnvkknr] { color: #e6edf3; }

/* ── Stat tiles (inside the identity card) ───────────────────────── */
.sdx-tiles[b-3x1nnvkknr] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-top: 16px;
    position: relative;
}
.sdx-tile[b-3x1nnvkknr] {
    position: relative;
    padding: 9px 12px;
    background: rgba(13, 17, 23, 0.5);
    border: 1px solid #2d333b;
}
.sdx-tile-accent[b-3x1nnvkknr] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity: 0.6;
}
.sdx-tile-label[b-3x1nnvkknr] {
    font-size: 9px;
    color: #95a0ab;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 5px;
}
.sdx-tile-value[b-3x1nnvkknr] {
    font-size: 21px;
    font-weight: 300;
    line-height: 1;
    font-family: Consolas, Monaco, monospace;
    color: var(--accent);
}
.sdx-tile-sub[b-3x1nnvkknr] {
    font-size: 9px;
    color: #95a0ab;
    margin-top: 4px;
    font-family: Consolas, Monaco, monospace;
}

/* ── Body grid: left column (hero + tabs) · right rail ───────────── */
.sdx-body[b-3x1nnvkknr] {
    display: grid;
    grid-template-columns: minmax(0, 2.3fr) minmax(320px, 1fr);
    gap: 14px;
    align-items: start;
}
.sdx-left[b-3x1nnvkknr] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}
.sdx-rail[b-3x1nnvkknr] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .sdx-body[b-3x1nnvkknr] { grid-template-columns: 1fr; }
    .sdx-tiles[b-3x1nnvkknr] { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 800px) {
    .sdx-id-row[b-3x1nnvkknr] { flex-direction: column; }
    .sdx-telemetry[b-3x1nnvkknr] { border-left: none; padding-left: 0; }
    .sdx-tiles[b-3x1nnvkknr] { grid-template-columns: repeat(2, 1fr); }
}

@keyframes sdx-blink-b-3x1nnvkknr {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.25; }
}
