/* ==========================================================================
   ORBIT — client portal design for AstroSMM (RedFamosa theme add-on)

   Extends the Vibrant base: its compiled screens keep working and are
   repainted here through the design tokens; the shell, the dashboard and the
   celebration are Orbit's own views.

   Colour carries meaning:
     brand  (--brand, the operator's colour)  actions
     comet  (--orbit-comet)                   live progress, active states
     flare  (--orbit-flare)                   money: balance, prices, totals
   ========================================================================== */

@font-face {
    font-family: 'Unbounded';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url('fonts/unbounded-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Unbounded';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url('fonts/unbounded-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Operator-adjustable colours (Admin → Appearance). Declared on :root so the
   panel's own choice, printed later in the page on :root, wins. */
:root {
    --orbit-comet: #39E0C8;
    --orbit-flare: #FFB547;
}

/* ===================== DAY (light) ===================== */
html[data-theme="orbit"] {
    --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-display: 'Unbounded', 'Sora', 'Manrope', sans-serif;

    --color-bg: #F2F3FA;
    --color-surface: #FFFFFF;
    --color-surface-2: #F6F7FC;
    --color-surface-3: #ECEEF8;
    --color-border: #E2E5F2;
    --color-border-strong: #D2D6EA;
    --color-text: #121735;
    --color-text-muted: #4E5680;
    --color-text-subtle: #868CB0;
    --color-primary-soft: color-mix(in oklab, var(--brand) 12%, #FFFFFF);

    --radius-xs: 8px; --radius-sm: 12px; --radius-md: 18px; --radius-lg: 22px; --radius-xl: 28px;

    --orbit-ok: #16A36B;
    --orbit-comet-ink: color-mix(in oklab, var(--orbit-comet) 58%, #00302B);
    --orbit-flare-ink: color-mix(in oklab, var(--orbit-flare) 62%, #3A2200);
    --orbit-line: color-mix(in oklab, var(--brand) 22%, transparent);
    --orbit-ring: color-mix(in oklab, var(--brand) 55%, #8A90B4);
    --orbit-star: #7A82B8;
    --orbit-nav-fg: #4E5680;
    --orbit-nav-hover: color-mix(in oklab, var(--brand) 7%, transparent);
    --orbit-panel-bg: #FFFFFF;
    --orbit-panel-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 18px 40px -30px rgba(30,35,90,.35);
    --orbit-field-bg: #F7F8FD;
    --orbit-tip-bg: #121735;
    --orbit-top-bg: color-mix(in oklab, #F2F3FA 78%, transparent);

    --rf-shell-bg:
        radial-gradient(120% 70% at 88% -12%, color-mix(in oklab, var(--brand) 16%, transparent) 0%, transparent 60%),
        radial-gradient(90% 60% at -10% 110%, color-mix(in oklab, var(--orbit-comet) 14%, transparent) 0%, transparent 60%),
        #F2F3FA;
    --rf-shell-text: var(--color-text);

    /* Vibrant accents re-pointed at Orbit's palette */
    --rf-accent: var(--orbit-comet);
    --rf-accent-2: var(--orbit-comet-ink);
    --rf-accent-grad: linear-gradient(135deg, var(--orbit-comet), color-mix(in oklab, var(--orbit-comet) 60%, var(--brand)));
    --rf-primary-grad: linear-gradient(120deg, var(--brand), color-mix(in oklab, var(--brand) 68%, var(--orbit-comet)));
    --rf-btn-primary-bg: var(--rf-primary-grad);
    --rf-badge-amber: var(--orbit-flare);
    --rf-badge-amber-fg: #2A1A00;

    --shadow-1: 0 1px 2px rgba(20,24,60,.06);
    --shadow-2: 0 10px 28px -20px rgba(20,24,60,.35);
    --shadow-3: 0 18px 44px -24px rgba(20,24,60,.45);
    --shadow-4: 0 30px 70px -30px rgba(20,24,60,.55);
}

/* ===================== NIGHT (dark, the mother theme) ===================== */
html.dark[data-theme="orbit"] {
    --color-bg: #0E1330;
    --color-surface: #151B3D;
    --color-surface-2: #1A2148;
    --color-surface-3: #222A55;
    --color-border: rgba(150, 162, 255, .13);
    --color-border-strong: rgba(150, 162, 255, .22);
    --color-text: #EEF0FF;
    --color-text-muted: #A9B0D8;
    --color-text-subtle: #737BAA;
    --color-primary-soft: color-mix(in oklab, var(--brand) 24%, #151B3D);
    --color-primary-700: color-mix(in oklab, var(--brand) 48%, white);

    --orbit-ok: #3DDC97;
    --orbit-comet-ink: var(--orbit-comet);
    --orbit-flare-ink: var(--orbit-flare);
    --orbit-line: rgba(160, 170, 255, .16);
    --orbit-ring: rgba(190, 198, 255, .55);
    --orbit-star: #DDE2FF;
    --orbit-nav-fg: #A9B0D8;
    --orbit-nav-hover: rgba(160, 170, 255, .07);
    --orbit-panel-bg: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)), #151B3D;
    --orbit-panel-shadow: 0 1px 0 rgba(255,255,255,.05) inset, 0 24px 50px -30px rgba(0,0,0,.65);
    --orbit-field-bg: rgba(8, 11, 32, .55);
    --orbit-tip-bg: #060918;
    --orbit-top-bg: color-mix(in oklab, #0E1330 72%, transparent);

    --rf-shell-bg:
        radial-gradient(110% 70% at 85% -15%, color-mix(in oklab, var(--brand) 34%, transparent) 0%, transparent 58%),
        radial-gradient(80% 60% at -10% 115%, rgba(18, 74, 110, .55) 0%, transparent 60%),
        #0B1029;

    --state-success-fg:#4BE3A3; --state-success-bg:rgba(61,220,151,.12);  --state-success-bd:rgba(61,220,151,.28);
    --state-info-fg:#8EA8FF;    --state-info-bg:rgba(110,140,255,.14);    --state-info-bd:rgba(110,140,255,.30);
    --state-warning-fg:#FFC56E; --state-warning-bg:rgba(255,181,71,.12);  --state-warning-bd:rgba(255,181,71,.30);
    --state-partial-fg:#FF9CC8; --state-partial-bg:rgba(244,114,182,.13); --state-partial-bd:rgba(244,114,182,.30);
    --state-neutral-fg:#A9B0D8; --state-neutral-bg:rgba(169,176,216,.10); --state-neutral-bd:rgba(169,176,216,.22);
    --state-refund-fg:#5EEAD4;  --state-refund-bg:rgba(57,224,200,.12);   --state-refund-bd:rgba(57,224,200,.28);
    --state-danger-fg:#FF8A8A;  --state-danger-bg:rgba(239,68,68,.14);    --state-danger-bd:rgba(239,68,68,.32);

    --shadow-1: 0 0 0 1px rgba(150,162,255,.08);
    --shadow-2: 0 0 0 1px rgba(150,162,255,.10), 0 14px 34px -18px rgba(0,0,0,.7);
    --shadow-3: 0 0 0 1px rgba(150,162,255,.12), 0 22px 50px -22px rgba(0,0,0,.75);
    --shadow-4: 0 0 0 1px rgba(150,162,255,.14), 0 34px 80px -28px rgba(0,0,0,.85);
}

html[data-theme="orbit"] body {
    font-family: var(--font-sans);
    font-feature-settings: normal;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.003em;
}
html[data-theme="orbit"] ::selection { background: color-mix(in oklab, var(--orbit-comet) 32%, transparent); }
html[data-theme="orbit"] :focus-visible { outline: 2px solid var(--orbit-comet); outline-offset: 2px; }
html[data-theme="orbit"] .rf-mono { font-family: var(--font-sans); font-variant-numeric: tabular-nums; font-weight: 650; letter-spacing: 0; }

/* ==========================================================================
   SHELL
   ========================================================================== */
.orbit-shell { position: relative; display: flex; height: 100vh; height: 100dvh; width: 100%; overflow: hidden; }
.orbit-sky { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.orbit-only-light { display: none !important; }
html:not(.dark) .orbit-only-light { display: block !important; }
html:not(.dark) .orbit-only-dark { display: none !important; }

/* ── Sidebar ── */
.orbit-side {
    position: relative; z-index: 40;
    width: 258px; flex: 0 0 258px;
    display: flex; flex-direction: column;
    padding: 18px 0 16px;
    border-inline-end: 1px solid var(--orbit-line);
    background: linear-gradient(180deg, color-mix(in oklab, var(--color-bg) 30%, transparent), transparent);
}
.orbit-brand {
    display: flex; align-items: center; gap: 11px;
    margin: 0 22px 18px; min-height: 44px; text-decoration: none; color: var(--color-text);
}
.orbit-brand-logo { max-height: 40px; max-width: 170px; width: auto; object-fit: contain; }
.orbit-mark { width: 40px; height: 40px; flex: 0 0 40px; color: var(--color-text); }
.orbit-mark svg { width: 100%; height: 100%; overflow: visible; }
.orbit-mark-moon { transform-box: view-box; transform-origin: 20px 20px; animation: orbit-mark-spin 9s linear infinite; }
@keyframes orbit-mark-spin { to { transform: rotate(360deg); } }
.orbit-wordmark {
    font-family: var(--font-display); font-weight: 650; font-size: 18px; letter-spacing: -.02em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.orbit-nav { position: relative; flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 4px 14px 12px 34px; scrollbar-width: thin; scrollbar-color: var(--orbit-line) transparent; }
.orbit-track {
    position: absolute; left: 21px; top: 8px; bottom: 8px; width: 1px;
    background: linear-gradient(180deg, transparent, var(--orbit-line) 6%, var(--orbit-line) 94%, transparent);
}
.orbit-probe {
    position: absolute; left: -4px; top: 0; width: 9px; height: 9px; border-radius: 50%;
    background: var(--orbit-comet);
    box-shadow: 0 0 0 4px color-mix(in oklab, var(--orbit-comet) 20%, transparent), 0 0 16px 2px color-mix(in oklab, var(--orbit-comet) 70%, transparent);
    transform: translateY(var(--probe-y, -40px));
    opacity: 0;
    transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .3s;
}
.orbit-nav.has-probe .orbit-probe { opacity: 1; }

.orbit-nav-group {
    margin: 18px 0 6px 12px; font-size: 12px; font-weight: 600; color: var(--color-text-subtle);
    letter-spacing: .01em;
}
.orbit-nav-item {
    position: relative; display: flex; align-items: center; gap: 12px;
    padding: 9px 12px; margin: 1px 0; border-radius: 12px;
    color: var(--orbit-nav-fg); font-weight: 600; font-size: 14px; text-decoration: none;
    transition: color .2s, background-color .2s, transform .25s cubic-bezier(.22, 1, .36, 1);
}
.orbit-nav-item:hover { color: var(--color-text); background: var(--orbit-nav-hover); transform: translateX(3px); }
.orbit-nav-item.is-active {
    color: var(--color-text);
    background: linear-gradient(90deg, color-mix(in oklab, var(--orbit-comet) 15%, transparent), transparent 85%);
}
.orbit-nav-item.is-active .orbit-nav-icon { color: var(--orbit-comet-ink); }
.orbit-nav-icon { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 2; }
.orbit-nav-label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-nav-item.is-launch { margin: 4px 0 6px; border: 1px solid color-mix(in oklab, var(--brand) 45%, transparent); background: color-mix(in oklab, var(--brand) 14%, transparent); color: var(--color-text); }
.orbit-nav-item.is-launch .orbit-nav-icon { color: color-mix(in oklab, var(--brand) 45%, var(--color-text)); transition: transform .4s cubic-bezier(.22, 1, .36, 1); }
.orbit-nav-item.is-launch:hover .orbit-nav-icon { transform: translate(2px, -2px) rotate(-8deg); }
.orbit-nav-item.is-launch.is-active { background: color-mix(in oklab, var(--brand) 26%, transparent); }
.orbit-badge {
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--orbit-flare); color: #2A1A00; font-size: 11px; font-weight: 800;
}

.orbit-side-foot { padding: 10px 14px 0 34px; }
.orbit-signout {
    width: 100%; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px;
    border: 1px solid var(--color-border); background: transparent; color: var(--orbit-nav-fg);
    font: 600 14px var(--font-sans); cursor: pointer; transition: color .2s, border-color .2s, background-color .2s;
}
.orbit-signout:hover { color: var(--color-text); border-color: var(--color-border-strong); background: var(--orbit-nav-hover); }

/* ── Main column ── */
.orbit-main { position: relative; z-index: 1; flex: 1; min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.orbit-top {
    position: relative; z-index: 30; flex: 0 0 auto;
    display: flex; align-items: center; gap: 10px;
    height: 70px; padding: 0 28px;
    border-bottom: 1px solid transparent;
    transition: background-color .25s, border-color .25s, backdrop-filter .25s;
}
.orbit-main.is-scrolled .orbit-top { background: var(--orbit-top-bg); border-bottom-color: var(--orbit-line); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); }
.orbit-content { position: relative; flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 6px 28px 40px; scroll-behavior: smooth; }
.orbit-page { max-width: 1480px; margin: 0 auto; }

.orbit-icon-btn {
    width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid transparent; background: transparent; color: var(--color-text-muted); cursor: pointer;
    transition: color .2s, background-color .2s, border-color .2s;
}
.orbit-icon-btn:hover { color: var(--color-text); background: var(--orbit-nav-hover); border-color: var(--orbit-line); }
.orbit-icon-btn svg { width: 18px; height: 18px; }
.orbit-bell .rf-icon-btn { border-radius: 12px; }

.orbit-chip-btn {
    display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 12px;
    border: 1px solid var(--color-border); color: var(--color-text-muted); font-weight: 600; font-size: 13.5px; text-decoration: none;
    transition: color .2s, border-color .2s, background-color .2s;
}
.orbit-chip-btn svg { width: 16px; height: 16px; color: var(--orbit-comet-ink); }
.orbit-chip-btn:hover { color: var(--color-text); border-color: var(--color-border-strong); background: var(--orbit-nav-hover); }

/* Theme toggle: moon by day, sun by night, swapped with a turn */
.orbit-theme-btn { position: relative; }
.orbit-theme-btn svg { position: absolute; transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .3s; }
.orbit-theme-sun { color: var(--orbit-flare); opacity: 0; transform: rotate(-90deg) scale(.4); }
html.dark .orbit-theme-sun { opacity: 1; transform: none; }
html.dark .orbit-theme-moon { opacity: 0; transform: rotate(90deg) scale(.4); }

/* Visibility helpers (own rules, so the shell never depends on utility order) */
@media (min-width: 1024px) { .orbit-only-mobile { display: none !important; } }
@media (max-width: 767.98px) { .orbit-hide-sm { display: none !important; } }
@media (max-width: 639.98px) { .orbit-hide-xs { display: none !important; } }

/* Search */
.orbit-search-wrap { position: relative; width: 340px; max-width: 34vw; flex: 0 1 auto; min-width: 0; }
.orbit-search {
    display: flex; align-items: center; gap: 10px; height: 42px; padding: 0 8px 0 14px; border-radius: 14px;
    background: var(--orbit-field-bg); border: 1px solid var(--color-border); color: var(--color-text-subtle);
    transition: border-color .2s, box-shadow .2s;
}
.orbit-search:focus-within { border-color: color-mix(in oklab, var(--orbit-comet) 60%, transparent); box-shadow: 0 0 0 4px color-mix(in oklab, var(--orbit-comet) 14%, transparent); }
.orbit-search svg { width: 17px; height: 17px; flex: 0 0 17px; }
.orbit-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--color-text); font: 500 14px var(--font-sans); }
.orbit-search input::placeholder { color: var(--color-text-subtle); }
.orbit-search input::-webkit-search-cancel-button { display: none; }
.orbit-kbd { font: 600 11px var(--font-sans); color: var(--color-text-subtle); border: 1px solid var(--color-border-strong); border-radius: 6px; padding: 1px 6px; }
.orbit-search-results {
    position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 80; max-height: 420px; overflow-y: auto;
    background: var(--color-surface); border: 1px solid var(--color-border-strong); border-radius: 16px; padding: 6px;
    box-shadow: var(--shadow-4);
}
.orbit-search-note { display: flex; align-items: center; gap: 8px; padding: 12px; font-size: 13px; color: var(--color-text-muted); }
.orbit-search-hit {
    width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px;
    padding: 10px; border: 0; border-radius: 11px; background: transparent; text-align: start; cursor: pointer;
    transition: background-color .15s;
}
.orbit-search-hit:hover, .orbit-search-hit:focus { background: var(--orbit-nav-hover); outline: none; }
.orbit-search-id { font-weight: 700; font-size: 12px; color: var(--orbit-comet-ink); background: color-mix(in oklab, var(--orbit-comet) 13%, transparent); padding: 2px 8px; border-radius: 7px; }
.orbit-search-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.orbit-search-name { font-size: 13.5px; font-weight: 650; color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-search-meta { font-size: 12px; color: var(--color-text-subtle); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-search-rate { font-size: 12.5px; font-weight: 700; color: var(--orbit-flare-ink); white-space: nowrap; }
.orbit-spinner { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--color-border-strong); border-top-color: var(--orbit-comet); animation: orbit-spin .8s linear infinite; }
@keyframes orbit-spin { to { transform: rotate(360deg); } }

/* Balance pill */
.orbit-fuel {
    display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 5px 0 13px; border-radius: 999px;
    background: color-mix(in oklab, var(--orbit-flare) 11%, transparent);
    border: 1px solid color-mix(in oklab, var(--orbit-flare) 32%, transparent);
}
.orbit-fuel-icon { width: 16px; height: 16px; color: var(--orbit-flare-ink); }
.orbit-fuel-amount { font-family: var(--font-display); font-weight: 600; font-size: 14px; letter-spacing: -.01em; color: var(--orbit-flare-ink); text-decoration: none; white-space: nowrap; }
.orbit-fuel-amount.is-bump { animation: orbit-bump .7s cubic-bezier(.22,1,.36,1); }
@keyframes orbit-bump { 0% { transform: scale(1); } 30% { transform: scale(1.14); filter: brightness(1.3); } 100% { transform: scale(1); } }
.orbit-fuel-add {
    width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
    background: var(--orbit-flare); color: #2A1A00; text-decoration: none;
    box-shadow: 0 6px 16px -6px color-mix(in oklab, var(--orbit-flare) 80%, transparent);
    transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.orbit-fuel-add svg { width: 16px; height: 16px; stroke-width: 2.6; }
.orbit-fuel-add:hover { transform: rotate(90deg) scale(1.06); }

/* Avatar */
.orbit-avatar {
    position: relative; width: 42px; height: 42px; border-radius: 50%; flex: 0 0 42px; padding: 2px; border: 0; cursor: pointer;
    background: conic-gradient(from 210deg, var(--brand), var(--orbit-comet), var(--orbit-flare), var(--brand));
    display: grid; place-items: center; color: #fff; font-family: var(--font-display); font-weight: 600; font-size: 15px;
    transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.orbit-avatar::before { content: ''; position: absolute; inset: 2px; border-radius: 50%; background: color-mix(in oklab, var(--brand) 70%, #0B1029); }
.orbit-avatar > * { position: relative; }
.orbit-avatar img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
.orbit-avatar:hover { transform: rotate(-8deg) scale(1.04); }

/* Menus */
.orbit-menu {
    position: absolute; inset-inline-end: 0; top: calc(100% + 10px); z-index: 90; min-width: 170px; max-width: 280px;
    background: var(--color-surface); border: 1px solid var(--color-border-strong); border-radius: 16px; padding: 6px;
    box-shadow: var(--shadow-4);
}
.orbit-menu-wide { min-width: 230px; }
.orbit-menu-head { padding: 10px 12px 12px; margin-bottom: 4px; border-bottom: 1px solid var(--color-border); }
.orbit-menu-name { font-weight: 700; font-size: 14px; color: var(--color-text); }
.orbit-menu-mail { font-size: 12.5px; color: var(--color-text-subtle); overflow: hidden; text-overflow: ellipsis; }
.orbit-menu-item {
    width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 10px; border: 0; background: transparent;
    color: var(--color-text-muted); font: 600 13.5px var(--font-sans); text-decoration: none; white-space: nowrap; cursor: pointer; text-align: start;
}
.orbit-menu-item svg { width: 16px; height: 16px; }
.orbit-menu-item:hover { background: var(--orbit-nav-hover); color: var(--color-text); }
.orbit-menu-item.is-current { color: var(--color-text); background: color-mix(in oklab, var(--orbit-comet) 12%, transparent); }
.orbit-menu-item.is-danger:hover { color: var(--color-danger); background: color-mix(in oklab, var(--color-danger) 10%, transparent); }

/* Page arrival (after every wire:navigate) */
.orbit-page.is-arriving { animation: orbit-arrive .5s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes orbit-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Mobile drawer */
.orbit-backdrop { position: fixed; inset: 0; z-index: 35; background: rgba(5, 7, 20, .55); backdrop-filter: blur(3px); }
@media (max-width: 1023.98px) {
    .orbit-side {
        position: fixed; inset-block: 0; inset-inline-start: 0; width: 280px;
        background: var(--color-surface); box-shadow: var(--shadow-4);
        transform: translateX(-102%); transition: transform .42s cubic-bezier(.22, 1, .36, 1);
    }
    [dir="rtl"] .orbit-side { transform: translateX(102%); }
    .orbit-side[data-open="1"] { transform: none; }
    .orbit-top { padding: 0 14px; gap: 6px; height: 62px; }
    .orbit-content { padding: 4px 14px 32px; }
}
@media (max-width: 639.98px) {
    .orbit-fuel { padding-inline-start: 10px; }
    .orbit-fuel-icon { display: none; }
}

/* ==========================================================================
   BUTTONS, LINKS, PANELS
   ========================================================================== */
.orbit-btn {
    position: relative; overflow: hidden; isolation: isolate;
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    height: 46px; padding: 0 20px; border-radius: 14px; border: 1px solid transparent;
    font: 650 14.5px var(--font-sans); text-decoration: none; white-space: nowrap; cursor: pointer;
    transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s, background-color .2s, border-color .2s, color .2s;
}
.orbit-btn svg { width: 17px; height: 17px; stroke-width: 2.2; }
.orbit-btn-sm { height: 36px; padding: 0 14px; border-radius: 11px; font-size: 13px; }
.orbit-btn-primary {
    color: var(--color-on-primary, #fff); background: var(--rf-primary-grad);
    box-shadow: 0 14px 30px -14px color-mix(in oklab, var(--brand) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.22);
}
.orbit-btn-primary::after, .rf-imp-submit::after {
    content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.28) 48%, transparent 66%);
    transform: translateX(-120%);
}
.orbit-btn-primary:hover::after, .rf-imp-submit:hover:not(:disabled)::after { transform: translateX(120%); transition: transform .8s cubic-bezier(.22,1,.36,1); }
.orbit-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 18px 36px -14px color-mix(in oklab, var(--brand) 95%, transparent), inset 0 1px 0 rgba(255,255,255,.25); }
.orbit-btn-quiet { color: var(--color-text); background: transparent; border-color: var(--color-border-strong); }
.orbit-btn-quiet:hover { background: var(--orbit-nav-hover); border-color: color-mix(in oklab, var(--orbit-comet) 50%, transparent); }
.orbit-btn-flare { color: #2A1A00; background: var(--orbit-flare); box-shadow: 0 10px 24px -14px var(--orbit-flare); }
.orbit-btn-flare:hover { transform: translateY(-1px); filter: brightness(1.05); }
.orbit-btn:active { transform: translateY(0) scale(.98); }

.orbit-link { font-size: 13px; font-weight: 700; color: var(--orbit-comet-ink); text-decoration: none; }
.orbit-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.orbit-panel {
    position: relative; min-width: 0;
    background: var(--orbit-panel-bg); border: 1px solid var(--color-border); border-radius: 22px;
    padding: 20px 22px; box-shadow: var(--orbit-panel-shadow);
}
.orbit-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.orbit-panel-title { font-family: var(--font-display); font-weight: 600; font-size: 15.5px; letter-spacing: -.01em; color: var(--color-text); }
.orbit-panel-sub { font-size: 12.5px; font-weight: 600; color: var(--color-text-subtle); margin-top: 4px; }
.orbit-panel-label { font-size: 13px; font-weight: 650; color: var(--color-text-muted); }
.orbit-key { display: inline-block; width: 9px; height: 9px; border-radius: 3px; flex: 0 0 9px; }
.orbit-legend { display: flex; gap: 14px; flex-wrap: wrap; }
.orbit-legend span { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 650; color: var(--color-text-muted); }

/* ==========================================================================
   DASHBOARD
   ========================================================================== */
.orbit-dash { display: flex; flex-direction: column; gap: 18px; }
.orbit-row { display: grid; gap: 18px; }
.orbit-row-band { grid-template-columns: minmax(250px, .85fr) minmax(0, 2.2fr); }
.orbit-row-chart { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
.orbit-row-lists { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

/* Hero */
.orbit-hero {
    position: relative; overflow: hidden;
    display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.35fr); align-items: center; gap: 12px;
    padding: 30px 30px 26px 34px; border-radius: 30px; border: 1px solid var(--color-border);
    background:
        radial-gradient(70% 110% at 70% 50%, color-mix(in oklab, var(--brand) 22%, transparent), transparent 62%),
        var(--orbit-panel-bg);
    box-shadow: var(--orbit-panel-shadow);
}
html:not(.dark) .orbit-hero { background: radial-gradient(70% 110% at 70% 50%, color-mix(in oklab, var(--brand) 12%, transparent), transparent 62%), linear-gradient(135deg, #FFFFFF, #F7F7FF); }
.orbit-hello {
    font-family: var(--font-display); font-weight: 600; letter-spacing: -.025em;
    font-size: clamp(25px, 2.4vw, 36px); line-height: 1.12; color: var(--color-text);
    text-wrap: balance;
}
.orbit-hero-line { margin-top: 12px; max-width: 40ch; font-size: 16px; line-height: 1.55; color: var(--color-text-muted); text-wrap: pretty; }
.orbit-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

.orbit-sat-legend { list-style: none; margin: 22px 0 0; padding: 14px 0 0; border-top: 1px solid var(--color-border); display: grid; gap: 8px; max-width: 46ch; }
.orbit-sat-legend li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13px; }
.orbit-sat-legend-name { color: var(--color-text-muted); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-sat-legend-pct { color: var(--color-text); font-weight: 700; }
.orbit-sat-dot { width: 8px; height: 8px; border-radius: 50%; }
.orbit-sat-dot.is-running { background: var(--orbit-comet); box-shadow: 0 0 10px var(--orbit-comet); }
.orbit-sat-dot.is-queued { background: var(--orbit-flare); box-shadow: 0 0 10px color-mix(in oklab, var(--orbit-flare) 70%, transparent); }

/* The system */
.orbit-system { position: relative; min-width: 0; }
.orbit-system svg { display: block; width: 100%; height: auto; overflow: visible; }
.orbit-ring { fill: none; stroke: var(--orbit-ring); stroke-width: 1.1; vector-effect: non-scaling-stroke; opacity: calc(.62 - var(--ring) * .17); transform-box: view-box; transform-origin: 300px 150px; }
.orbit-system.is-ready .orbit-ring { animation: orbit-ring-in 1.5s cubic-bezier(.22,1,.36,1) both; animation-delay: calc(var(--ring) * .16s); }
@keyframes orbit-ring-in { from { opacity: 0; transform: scale(.82); } }
.orbit-landed { fill: var(--orbit-star); opacity: .45; animation: orbit-twinkle 4.5s ease-in-out infinite; animation-delay: calc(var(--d) * -.37s); }
@keyframes orbit-twinkle { 50% { opacity: .12; } }
.orbit-halo { transform-box: fill-box; transform-origin: center; animation: orbit-breathe 7s ease-in-out infinite; }
@keyframes orbit-breathe { 50% { transform: scale(1.12); opacity: .75; } }
.orbit-planet { filter: drop-shadow(0 0 24px color-mix(in oklab, var(--brand) 65%, transparent)); }
.orbit-planet-band { fill: none; stroke: rgba(255,255,255,.28); stroke-width: 1.5; stroke-linecap: round; }
.orbit-planet-num { font-family: var(--font-display); font-weight: 650; font-size: 21px; fill: #fff; letter-spacing: -.02em; }
.orbit-planet-sub { font-family: var(--font-sans); font-weight: 700; font-size: 9.5px; fill: rgba(255,255,255,.78); letter-spacing: .02em; }
.orbit-sat { cursor: pointer; }
.orbit-js .orbit-sat { opacity: 0; }
.orbit-js .orbit-system.is-ready .orbit-sat { animation: orbit-fade-in .8s ease-out .9s forwards; }
@keyframes orbit-fade-in { to { opacity: 1; } }
.orbit-sat-hit { fill: transparent; }
.orbit-sat-core { fill: var(--orbit-comet); transform-box: fill-box; transform-origin: center; transition: transform .25s cubic-bezier(.22,1,.36,1); }
.orbit-sat.is-queued .orbit-sat-core { fill: var(--orbit-flare); }
.orbit-sat-track { fill: none; stroke: color-mix(in oklab, var(--orbit-comet) 22%, transparent); stroke-width: 2; }
.orbit-sat-progress { fill: none; stroke: var(--orbit-comet); stroke-width: 2.2; stroke-linecap: round; }
.orbit-sat:hover .orbit-sat-core, .orbit-sat:focus .orbit-sat-core { transform: scale(1.7); }
.orbit-sat:focus { outline: none; }
.orbit-tip {
    position: absolute; z-index: 5; pointer-events: none;
    transform: translate(-50%, calc(-100% - 16px));
    max-width: 300px; padding: 9px 12px; border-radius: 12px;
    background: var(--orbit-tip-bg); color: #fff; box-shadow: 0 18px 40px -16px rgba(0,0,0,.6);
    border: 1px solid rgba(255,255,255,.08);
}
.orbit-tip[hidden] { display: none; }
.orbit-tip-title { font-size: 12.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-tip-meta { font-size: 12px; margin-top: 2px; color: var(--orbit-comet); font-weight: 600; }

/* Balance card + stats band */
.orbit-fuel-card > * { position: relative; z-index: 1; }
.orbit-fuel-card { display: flex; flex-direction: column; justify-content: space-between; gap: 12px; overflow: hidden; }
.orbit-fuel-card::after {
    content: ''; position: absolute; right: -70px; bottom: -90px; width: 170px; height: 170px; border-radius: 50%;
    border: 1px solid color-mix(in oklab, var(--orbit-flare) 30%, transparent);
    box-shadow: 0 0 0 22px color-mix(in oklab, var(--orbit-flare) 4%, transparent), 0 0 0 46px color-mix(in oklab, var(--orbit-flare) 2%, transparent);
    pointer-events: none;
}
.orbit-fuel-card-head { display: flex; align-items: center; justify-content: space-between; }
.orbit-fuel-card-head svg { width: 18px; height: 18px; color: var(--orbit-flare-ink); }
.orbit-fuel-card-value { font-family: var(--font-display); font-weight: 600; font-size: clamp(26px, 2.3vw, 34px); letter-spacing: -.03em; color: var(--orbit-flare-ink); line-height: 1.1; }
.orbit-fuel-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--color-text-muted); font-weight: 600; }
.orbit-fuel-card-foot strong { color: var(--color-text); font-weight: 750; margin-inline-start: 4px; }

.orbit-band {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--orbit-panel-bg); border: 1px solid var(--color-border); border-radius: 22px; box-shadow: var(--orbit-panel-shadow); overflow: hidden;
}
.orbit-band-cell { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 20px 22px; min-width: 0; }
.orbit-band-cell + .orbit-band-cell { border-inline-start: 1px solid var(--color-border); }
.orbit-band-value { font-family: var(--font-display); font-weight: 600; font-size: clamp(22px, 2vw, 30px); letter-spacing: -.03em; color: var(--color-text); line-height: 1.1; }
.orbit-band-value.is-comet { color: var(--orbit-comet-ink); }
.orbit-band-value.is-ok { color: var(--orbit-ok); }
.orbit-band-label { font-size: 13px; font-weight: 600; color: var(--color-text-muted); }

/* Chart */
.orbit-chart svg { overflow: visible; }
.orbit-chart .rf-imp-chart-grid { stroke: var(--color-border); stroke-dasharray: 2 6; }
html[data-theme="orbit"] .rf-imp-chart-line { stroke: var(--color-primary-400); stroke-width: 2.6; filter: drop-shadow(0 6px 10px color-mix(in oklab, var(--brand) 45%, transparent)); }
html[data-theme="orbit"] .rf-imp-chart-line2 { stroke: var(--orbit-comet); stroke-width: 2; stroke-dasharray: none; opacity: .9; }
html[data-theme="orbit"] .rf-imp-chart-dot { fill: var(--color-surface); stroke: var(--color-primary-400); stroke-width: 2.2; }
html[data-theme="orbit"] .rf-imp-chart-active { fill: var(--orbit-comet); stroke: var(--color-surface); }
html[data-theme="orbit"] .rf-imp-chart-cross { stroke: var(--orbit-comet); }
html[data-theme="orbit"] .rf-imp-chart-tip { background: var(--orbit-tip-bg); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; }
html[data-theme="orbit"] .rf-imp-chart-tip-date { font-family: var(--font-sans); font-weight: 750; }
.orbit-chart .rf-imp-chart-dot { transform-box: fill-box; transform-origin: center; }
.orbit-js .orbit-chart .rf-imp-chart-dot { opacity: 0; }
.orbit-js .orbit-chart.is-ready .rf-imp-chart-dot { animation: orbit-pop .45s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(.5s + var(--i) * .08s); }
@keyframes orbit-pop { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }
.orbit-js .orbit-chart-area { opacity: 0; }
.orbit-js .orbit-chart.is-ready .orbit-chart-area { animation: orbit-fade-in .9s ease-out .5s forwards; }

/* Status mix */
.orbit-mixbar { display: flex; gap: 3px; height: 12px; border-radius: 999px; overflow: hidden; background: var(--color-surface-3); margin: 6px 0 18px; }
.orbit-mixbar span { width: var(--w); background: var(--c); transform-origin: left center; }
.orbit-mix-panel.is-ready .orbit-mixbar span { animation: orbit-grow .9s cubic-bezier(.22,1,.36,1) both; animation-delay: calc(.2s + var(--i) * .07s); }
@keyframes orbit-grow { from { transform: scaleX(0); } }
.orbit-mixlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.orbit-mixlist li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto 34px; align-items: center; gap: 10px; font-size: 13.5px; }
.orbit-mixlist-label { color: var(--color-text-muted); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orbit-mixlist-pct { color: var(--color-text-subtle); font-size: 12px; font-weight: 700; text-align: end; }
.orbit-mixlist-val { color: var(--color-text); font-weight: 750; text-align: end; }

/* Lists */
.orbit-order { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 0; }
.orbit-order + .orbit-order { border-top: 1px solid var(--color-border); }
.orbit-order-id { font-size: 12.5px; font-weight: 750; color: var(--color-text-subtle); min-width: 34px; }
.orbit-order-main { min-width: 0; }
.orbit-order-name { font-size: 14px; font-weight: 650; color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-order-sub { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; font-size: 12.5px; color: var(--color-text-subtle); font-weight: 600; }
.orbit-money { color: var(--orbit-flare-ink); font-weight: 750; }

.orbit-flight { padding: 13px 0; }
.orbit-flight + .orbit-flight { border-top: 1px solid var(--color-border); }
.orbit-flight-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.orbit-flight-name { min-width: 0; font-size: 14px; font-weight: 650; color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-flight-meta { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; font-weight: 600; color: var(--color-text-subtle); }
.orbit-flight-pct { color: var(--orbit-comet-ink); font-weight: 750; }
.orbit-progress { position: relative; height: 6px; margin: 11px 0 7px; border-radius: 999px; background: var(--color-surface-3); overflow: hidden; }
.orbit-progress > span {
    position: relative; display: block; height: 100%; width: 0; border-radius: inherit; overflow: hidden;
    background: linear-gradient(90deg, color-mix(in oklab, var(--orbit-comet) 55%, var(--brand)), var(--orbit-comet));
    box-shadow: 0 0 12px color-mix(in oklab, var(--orbit-comet) 55%, transparent);
    transition: width 1.2s cubic-bezier(.22, 1, .36, 1);
}
.orbit-progress > span::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
    transform: translateX(-100%); animation: orbit-sheen 2.4s ease-in-out infinite 1.4s;
}
@keyframes orbit-sheen { 60%, 100% { transform: translateX(100%); } }
.orbit-progress.is-waiting > span {
    width: 100%; opacity: .55; box-shadow: none;
    background: repeating-linear-gradient(-45deg, color-mix(in oklab, var(--orbit-flare) 50%, transparent) 0 6px, transparent 6px 12px);
    background-size: 17px 17px; animation: orbit-queue 1.2s linear infinite;
}
.orbit-progress.is-waiting > span::after { display: none; }
@keyframes orbit-queue { to { background-position: 17px 0; } }

.orbit-live { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--orbit-comet-ink); }
.orbit-live span { width: 8px; height: 8px; border-radius: 50%; background: var(--orbit-comet); animation: orbit-ping 1.8s ease-out infinite; }
@keyframes orbit-ping { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--orbit-comet) 60%, transparent); } 100% { box-shadow: 0 0 0 9px transparent; } }

.orbit-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 30px 12px; text-align: center; }
.orbit-empty svg { width: 26px; height: 26px; color: var(--orbit-comet-ink); margin-bottom: 4px; }
.orbit-empty p { font-weight: 700; font-size: 14px; color: var(--color-text-muted); }
.orbit-empty span { font-size: 13px; color: var(--color-text-subtle); }

@media (max-width: 1279.98px) {
    .orbit-hero { grid-template-columns: minmax(0, 1fr); padding: 26px; }
    .orbit-system { max-width: 640px; width: 100%; justify-self: center; margin-top: 4px; }
    .orbit-row-band { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1023.98px) {
    .orbit-row-chart, .orbit-row-lists { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639.98px) {
    .orbit-hero { padding: 22px 18px; border-radius: 24px; }
    .orbit-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .orbit-band-cell:nth-child(3) { border-inline-start: 0; }
    .orbit-band-cell:nth-child(n+3) { border-top: 1px solid var(--color-border); }
    .orbit-panel { padding: 18px 16px; border-radius: 20px; }
    .orbit-hero-actions .orbit-btn { flex: 1 1 auto; }
}

/* ==========================================================================
   LAUNCH (order placed) — elements created by orbit.js
   ========================================================================== */
.orbit-launch { position: fixed; z-index: 10070; pointer-events: none; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%;
    background: #fff; box-shadow: 0 0 0 4px color-mix(in oklab, var(--orbit-comet) 50%, transparent), 0 0 30px 8px var(--orbit-comet); }
.orbit-launch-trail { position: fixed; z-index: 10069; pointer-events: none; width: 3px; margin-left: -1.5px; border-radius: 3px;
    background: linear-gradient(to top, transparent, color-mix(in oklab, var(--orbit-comet) 80%, white)); filter: blur(.4px); transform-origin: bottom center; }

/* ==========================================================================
   CELEBRATION
   ========================================================================== */
.orbit-celebrate { background: rgba(4, 6, 20, .62); backdrop-filter: blur(6px); }
.orbit-celebrate-card {
    position: relative; z-index: 10041; width: min(420px, 94vw); padding: 28px 26px 24px; text-align: center;
    background: var(--orbit-panel-bg); border: 1px solid var(--color-border-strong); border-radius: 28px;
    box-shadow: 0 40px 90px -30px rgba(0,0,0,.7);
}
.orbit-celebrate-in { animation: orbit-celebrate-in .6s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes orbit-celebrate-in { from { opacity: 0; transform: translateY(24px) scale(.9); } }
.orbit-celebrate-mark { width: 120px; height: 96px; margin: 0 auto 10px; }
.orbit-celebrate-mark svg { width: 100%; height: 100%; overflow: visible; }
.orbit-celebrate-ring { fill: none; stroke: color-mix(in oklab, var(--orbit-comet) 70%, transparent); stroke-width: 1.4; }
.orbit-celebrate-planet { fill: var(--brand); filter: drop-shadow(0 0 16px color-mix(in oklab, var(--brand) 70%, transparent)); }
.orbit-celebrate-check { fill: none; stroke: #fff; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 30; stroke-dashoffset: 30; animation: orbit-check .5s cubic-bezier(.22,1,.36,1) .35s forwards; }
@keyframes orbit-check { to { stroke-dashoffset: 0; } }
.orbit-celebrate-moon { fill: var(--orbit-flare); }
.orbit-celebrate-title { font-family: var(--font-display); font-weight: 600; font-size: 21px; letter-spacing: -.02em; color: var(--color-text); }
.orbit-celebrate-sub { margin-top: 6px; font-size: 14px; line-height: 1.5; color: var(--color-text-muted); }
.orbit-celebrate-rows { margin-top: 18px; padding: 14px 16px; border-radius: 16px; background: var(--color-surface-2); border: 1px solid var(--color-border); display: grid; gap: 9px; text-align: start; }
.orbit-celebrate-row { display: flex; justify-content: space-between; gap: 14px; font-size: 13.5px; color: var(--color-text-muted); }
.orbit-celebrate-row strong { color: var(--color-text); font-weight: 750; }
.orbit-celebrate-row.is-total { padding-top: 9px; border-top: 1px solid var(--color-border); color: var(--color-text); font-weight: 650; }
.orbit-celebrate-row.is-total strong { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--orbit-flare-ink); }
.orbit-celebrate-cta { width: 100%; margin-top: 20px; }

/* ==========================================================================
   REPAINT OF THE INHERITED (VIBRANT) SCREENS
   ========================================================================== */
html[data-theme="orbit"] .rf-imp-card,
html[data-theme="orbit"] .rf-imp-panel,
html[data-theme="orbit"] .rf-imp-chartpanel,
html[data-theme="orbit"] .rf-imp-statuspanel,
html[data-theme="orbit"] .rf-imp-statcard,
html[data-theme="orbit"] .rf-imp-svcgroup,
html[data-theme="orbit"] .rf-imp-chat-list,
html[data-theme="orbit"] .rf-imp-chat-thread,
html[data-theme="orbit"] .rf-dash-panel,
html[data-theme="orbit"] .rf-profile-card,
html[data-theme="orbit"] .rf-terms-section,
html[data-theme="orbit"] .rf-card,
html[data-theme="orbit"] .rf-kpi {
    background: var(--orbit-panel-bg);
    border: 1px solid var(--color-border);
    box-shadow: var(--orbit-panel-shadow);
}
html[data-theme="orbit"] .rf-imp-card,
html[data-theme="orbit"] .rf-imp-svcgroup,
html[data-theme="orbit"] .rf-imp-chat-list,
html[data-theme="orbit"] .rf-imp-chat-thread { border-radius: 22px; }
html[data-theme="orbit"] .rf-card { border-radius: 20px; }

html[data-theme="orbit"] .rf-imp-title,
html[data-theme="orbit"] .rf-imp-h1,
html[data-theme="orbit"] .rf-page-title,
html[data-theme="orbit"] .rf-card-title,
html[data-theme="orbit"] .rf-imp-svcgroup-title,
html[data-theme="orbit"] .rf-imp-panel-title,
html[data-theme="orbit"] .rf-profile-card-title,
html[data-theme="orbit"] .orbit-page > div > h1:first-child,
html[data-theme="orbit"] .orbit-page h1.text-2xl { font-family: var(--font-display); font-weight: 600; letter-spacing: -.015em; }
html[data-theme="orbit"] .rf-imp-h1, html[data-theme="orbit"] .rf-page-title { font-size: clamp(20px, 1.8vw, 26px); }
html[data-theme="orbit"] .rf-imp-title { font-size: 16px; }
html[data-theme="orbit"] .rf-imp-statvalue,
html[data-theme="orbit"] .rf-imp-mini-value,
html[data-theme="orbit"] .rf-imp-costbar-value,
html[data-theme="orbit"] .rf-imp-statdonut-total { font-family: var(--font-display); font-weight: 600; letter-spacing: -.02em; }
html[data-theme="orbit"] .rf-imp-statdonut-sub,
html[data-theme="orbit"] .rf-panel-heading,
html[data-theme="orbit"] .rf-table thead th,
html[data-theme="orbit"] .rf-imp-svchead,
html[data-theme="orbit"] .rf-imp-netpanel-title { text-transform: none; letter-spacing: 0; font-size: 12.5px; }

/* Fields */
html[data-theme="orbit"] .rf-imp-input,
html[data-theme="orbit"] .rf-imp-select,
html[data-theme="orbit"] .rf-input,
html[data-theme="orbit"] .rf-select,
html[data-theme="orbit"] .rf-textarea,
html[data-theme="orbit"] .rf-profile-input,
html[data-theme="orbit"] .rf-profile-select,
html[data-theme="orbit"] .rf-imp-metatile,
html[data-theme="orbit"] .rf-imp-sumbox {
    background: var(--orbit-field-bg);
    border: 1px solid var(--color-border-strong);
    color: var(--color-text);
    border-radius: 13px;
}
html[data-theme="orbit"] .rf-imp-input,
html[data-theme="orbit"] .rf-imp-select { height: 44px; }
html[data-theme="orbit"] .rf-imp-input:focus,
html[data-theme="orbit"] .rf-imp-select:focus,
html[data-theme="orbit"] .rf-input:focus,
html[data-theme="orbit"] .rf-select:focus,
html[data-theme="orbit"] .rf-textarea:focus,
html[data-theme="orbit"] .rf-profile-input:focus {
    outline: none;
    border-color: color-mix(in oklab, var(--orbit-comet) 65%, transparent);
    box-shadow: 0 0 0 4px color-mix(in oklab, var(--orbit-comet) 15%, transparent);
}
html.dark[data-theme="orbit"] select option { background: #151B3D; color: #EEF0FF; }
html[data-theme="orbit"] .rf-imp-desc { background: var(--color-surface-2); border-color: var(--color-border); }
html[data-theme="orbit"] .rf-imp-desc-dot { background: var(--orbit-comet); }
html[data-theme="orbit"] .rf-imp-order-summary { border-inline-start-color: var(--color-border); }
html[data-theme="orbit"] .rf-imp-confirm input,
html[data-theme="orbit"] .rf-checkbox { accent-color: var(--orbit-comet); }

/* Order form: the total is money, the submit is the launch */
html[data-theme="orbit"] .rf-imp-costbar {
    background: color-mix(in oklab, var(--orbit-flare) 13%, transparent);
    border: 1px solid color-mix(in oklab, var(--orbit-flare) 38%, transparent);
    color: var(--orbit-flare-ink); box-shadow: none; border-radius: 13px;
}
html[data-theme="orbit"] .rf-imp-submit {
    position: relative; overflow: hidden; isolation: isolate;
    font-family: var(--font-display); font-weight: 600; letter-spacing: -.01em; border-radius: 15px;
    background: var(--rf-primary-grad);
    box-shadow: 0 18px 36px -16px color-mix(in oklab, var(--brand) 95%, transparent), inset 0 1px 0 rgba(255,255,255,.2);
    transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s, filter .2s;
}
html[data-theme="orbit"] .rf-imp-submit:hover:not(:disabled) { transform: translateY(-1px); filter: none; }
html[data-theme="orbit"] .rf-imp-submit:disabled { background: var(--color-surface-3); color: var(--color-text-subtle); box-shadow: none; }
html[data-theme="orbit"] .rf-imp-tabs { border-bottom-color: var(--color-border); }
html[data-theme="orbit"] .rf-imp-tab { border-radius: 12px; }
html[data-theme="orbit"] .rf-imp-tab-active, html[data-theme="orbit"] .rf-imp-tab-active:hover { background: var(--rf-primary-grad); color: #fff; }
html[data-theme="orbit"] .rf-imp-hero-pill { background: var(--rf-primary-grad); font-family: var(--font-display); font-weight: 600; }
html[data-theme="orbit"] .rf-imp-donut-core { background: radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--orbit-flare) 60%, white), var(--orbit-flare)); box-shadow: inset 0 0 0 3px var(--color-surface); }
html[data-theme="orbit"] .rf-imp-staticon { border-radius: 14px; }
html[data-theme="orbit"] .rf-imp-svcrate { color: var(--orbit-flare-ink); }
html[data-theme="orbit"] .rf-imp-svcrow:nth-child(even) { background: color-mix(in oklab, var(--color-surface-2) 60%, transparent); }
html[data-theme="orbit"] .rf-imp-svcrow { border-bottom-color: var(--color-border); transition: background-color .2s; }
html[data-theme="orbit"] .rf-imp-svcrow:hover { background: color-mix(in oklab, var(--orbit-comet) 7%, transparent); }
html[data-theme="orbit"] .rf-imp-svchead { border-bottom-color: var(--color-border); }
html[data-theme="orbit"] .rf-imp-nettile { border-radius: 12px; transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s; }
html[data-theme="orbit"] .rf-imp-nettile:hover { transform: translateY(-3px); box-shadow: 0 14px 24px -14px rgba(0,0,0,.6); }
html[data-theme="orbit"] .rf-imp-progress-bar { background: linear-gradient(90deg, color-mix(in oklab, var(--orbit-comet) 55%, var(--brand)), var(--orbit-comet)); }
html[data-theme="orbit"] .rf-imp-bubble-out { background: var(--rf-primary-grad); }
html[data-theme="orbit"] .rf-imp-chat-conv { border-color: var(--color-border); }
html[data-theme="orbit"] .rf-imp-chat-conv-active { border-color: color-mix(in oklab, var(--orbit-comet) 60%, transparent); box-shadow: 0 0 0 3px color-mix(in oklab, var(--orbit-comet) 14%, transparent); }
html[data-theme="orbit"] .rf-imp-chat-avatar { background: var(--rf-primary-grad); }
html[data-theme="orbit"] .rf-imp-online { background: color-mix(in oklab, var(--orbit-ok) 14%, transparent); color: var(--orbit-ok); }

/* Buttons and controls of the generic screens */
html[data-theme="orbit"] .rf-btn { border-radius: 12px; font-weight: 650; }
html[data-theme="orbit"] .rf-btn-primary { background: var(--rf-primary-grad); color: var(--color-on-primary, #fff); box-shadow: 0 10px 22px -14px color-mix(in oklab, var(--brand) 90%, transparent); }
html[data-theme="orbit"] .rf-btn-primary:hover:not(:disabled) { background: var(--rf-primary-grad); filter: brightness(1.08); }
html[data-theme="orbit"] .rf-btn-secondary { background: transparent; border-color: var(--color-border-strong); }
html[data-theme="orbit"] .rf-btn-secondary:hover:not(:disabled) { background: var(--orbit-nav-hover); border-color: color-mix(in oklab, var(--orbit-comet) 45%, transparent); }
html[data-theme="orbit"] .rf-imp-verbtn { background: var(--rf-primary-grad); border-radius: 10px; }
html[data-theme="orbit"] .rf-tab { background: var(--color-surface-2); border: 1px solid var(--color-border); }
html[data-theme="orbit"] .rf-tab-active { background: color-mix(in oklab, var(--orbit-comet) 14%, transparent); color: var(--color-text); border-color: color-mix(in oklab, var(--orbit-comet) 45%, transparent); }
html[data-theme="orbit"] .rf-chip { border-radius: 999px; }
html[data-theme="orbit"] .rf-badge { border-radius: 999px; font-weight: 700; letter-spacing: .01em; }
html[data-theme="orbit"] .rf-badge-info .rf-badge-dot,
html[data-theme="orbit"] .rf-badge-active .rf-badge-dot { animation: orbit-ping 1.8s ease-out infinite; }
html[data-theme="orbit"] .rf-badge-active { color: var(--orbit-comet-ink); background: color-mix(in oklab, var(--orbit-comet) 13%, transparent); border-color: color-mix(in oklab, var(--orbit-comet) 32%, transparent); }

/* Tables */
html[data-theme="orbit"] .rf-table thead th { background: color-mix(in oklab, var(--color-surface-2) 85%, transparent); color: var(--color-text-subtle); font-weight: 700; }
html[data-theme="orbit"] .rf-table tbody td { border-bottom-color: var(--color-border); }
html[data-theme="orbit"] .rf-table tbody tr { transition: background-color .15s; }
html[data-theme="orbit"] .rf-table tbody tr:hover td { background: color-mix(in oklab, var(--orbit-comet) 6%, transparent); }

/* Modals, menus, toasts */
html[data-theme="orbit"] .rf-modal-backdrop { background: rgba(4, 6, 20, .6); }
html[data-theme="orbit"] .rf-modal { background: var(--orbit-panel-bg); border-color: var(--color-border-strong); border-radius: 24px; animation: orbit-celebrate-in .45s cubic-bezier(.22,1,.36,1) both; }
html[data-theme="orbit"] .rf-modal-header { border-bottom-color: var(--color-border); }
html[data-theme="orbit"] .rf-alert { border-radius: 14px; }

/* Order confirmation (core partial order-confirm-modal) */
html[data-theme="orbit"] .rf-ocm-overlay { background: rgba(4, 6, 20, .62) !important; backdrop-filter: blur(6px); }
html[data-theme="orbit"] .rf-ocm-modal { background: var(--orbit-panel-bg) !important; border: 1px solid var(--color-border-strong) !important; border-radius: 28px !important; box-shadow: 0 40px 90px -30px rgba(0,0,0,.7) !important; animation: orbit-celebrate-in .6s cubic-bezier(.34,1.56,.64,1) both; }
html[data-theme="orbit"] .rf-ocm-title { font-family: var(--font-display) !important; font-weight: 600 !important; letter-spacing: -.02em; }
html[data-theme="orbit"] .rf-ocm-icon { background: var(--rf-primary-grad) !important; box-shadow: 0 0 0 8px color-mix(in oklab, var(--orbit-comet) 14%, transparent), 0 0 30px color-mix(in oklab, var(--brand) 60%, transparent) !important; }
html[data-theme="orbit"] .rf-ocm-rows { background: var(--color-surface-2) !important; border: 1px solid var(--color-border) !important; border-radius: 16px !important; }
html[data-theme="orbit"] .rf-ocm-row { border-color: var(--color-border) !important; }
html[data-theme="orbit"] .rf-ocm-row-val,
html[data-theme="orbit"] .rf-ocm-row-val--link,
html[data-theme="orbit"] .rf-ocm-row-val--charge { font-family: var(--font-sans) !important; font-variant-numeric: tabular-nums; }
html[data-theme="orbit"] .rf-ocm-row-val--charge { font-family: var(--font-display) !important; font-weight: 600 !important; color: var(--orbit-flare-ink) !important; }
html[data-theme="orbit"] .rf-ocm-row--hl, html[data-theme="orbit"] .rf-ocm-row--accent { background: color-mix(in oklab, var(--orbit-flare) 8%, transparent) !important; }
html[data-theme="orbit"] .rf-ocm-id-badge { background: color-mix(in oklab, var(--orbit-comet) 13%, transparent) !important; color: var(--orbit-comet-ink) !important; border-color: color-mix(in oklab, var(--orbit-comet) 32%, transparent) !important; }
html[data-theme="orbit"] .rf-ocm-btn--primary { background: var(--rf-primary-grad) !important; border-radius: 14px !important; }
html[data-theme="orbit"] .rf-ocm-btn--ghost { background: transparent !important; border: 1px solid var(--color-border-strong) !important; border-radius: 14px !important; color: var(--color-text) !important; }

/* Footer sits on the sky, not on a slab */
html[data-theme="orbit"] .orbit-content footer { background: transparent !important; border-top-color: var(--orbit-line) !important; }

/* Theme switch reveal (driven by orbit.js through the View Transitions API) */
html[data-theme="orbit"]::view-transition-old(root),
html[data-theme="orbit"]::view-transition-new(root) { animation: none; mix-blend-mode: normal; }

/* ==========================================================================
   REDUCED MOTION — everything settles in place
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    html[data-theme="orbit"] *, html[data-theme="orbit"] *::before, html[data-theme="orbit"] *::after {
        animation-duration: .001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important;
        transition-duration: .001ms !important; scroll-behavior: auto !important;
    }
    .orbit-sat, .orbit-chart-area, .orbit-chart .rf-imp-chart-dot { opacity: 1 !important; }
}
