:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #0b1020; color: #e8ecf7; }
.odds-history { margin-bottom: 20px; }.odds-history-content { padding: 16px; }.odds-history-button { display: block; margin-top: 8px; border: 1px solid #3c806f; border-radius: 4px; padding: 6px 9px; background: #173b3b; color: #83e2c2; cursor: pointer; }.odds-history-chart { width: 100%; max-height: 300px; margin-top: 16px; overflow: visible; }.odds-history-chart polyline { fill: none; stroke: #83e2c2; stroke-width: 2; }.odds-history-chart circle { fill: #83e2c2; }.odds-history-chart text { fill: #9ba8c6; font-size: 11px; }.odds-history-samples { padding-left: 20px; color: #9ba8c6; font: .75rem/1.8 ui-monospace, monospace; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 78% -10%, #26385c 0, transparent 33rem), #0b1020; }
.masthead, main { width: min(1440px, calc(100% - 32px)); margin: auto; }
.masthead { min-height: 160px; padding: 42px 0 28px; display: flex; justify-content: space-between; align-items: end; border-bottom: 1px solid #2b3652; }
.eyebrow { margin: 0 0 8px; color: #83e2c2; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; }
h1 { margin: 0; font: 700 clamp(2rem, 5vw, 4.4rem)/.95 Georgia, serif; letter-spacing: -.04em; } h1 span { color: #83e2c2; font-style: italic; }
.updated { margin: 0; color: #9ba8c6; font-size: .85rem; }
.masthead-actions { display: flex; align-items: center; gap: 14px; }.release-meta { display: grid; justify-items: end; gap: 4px; }.release { margin: 0; color: #83e2c2; font: .72rem/1.2 ui-monospace, monospace; }.page-link { color: #83e2c2; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }.page-link:hover { color: #dffbf2; }
.auth-logout, .login-submit { border: 1px solid #83e2c2; border-radius: 4px; padding: 9px 12px; background: #173b3b; color: #dffbf2; cursor: pointer; font: inherit; font-size: .75rem; }.auth-logout:hover, .login-submit:hover { background: #24554f; }.auth-logout:disabled, .login-submit:disabled { cursor: wait; opacity: .65; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }.login-card { width: min(100%, 420px); padding: 32px; border: 1px solid #3c806f; border-radius: 10px; background: rgba(18, 27, 48, .9); box-shadow: 0 18px 55px rgba(0, 0, 0, .3); }.login-card h1 { margin: 0; font-size: clamp(2rem, 8vw, 3.4rem); }.login-intro { margin: 16px 0 24px; color: #9ba8c6; line-height: 1.5; }.login-form { display: grid; gap: 9px; }.login-form label { color: #cbd3e8; font-size: .78rem; }.login-form input { width: 100%; margin-bottom: 8px; border: 1px solid #344260; border-radius: 4px; padding: 11px 12px; background: #0b1020; color: #e8ecf7; font: inherit; }.login-form input:focus { outline: 2px solid #83e2c2; outline-offset: 1px; }.login-submit { margin-top: 8px; }.login-error { min-height: 1.3em; margin: 5px 0 0; color: #ffb6a8; font-size: .78rem; }
main { padding: 28px 0 64px; }
.kpi-section + .kpi-section { margin-top: 34px; }
.kpi-section-head { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #2b3652; }
.kpi-section-head .eyebrow { margin-bottom: 5px; }.kpi-section-head h2 { margin: 0; font: 700 1.25rem/1 Georgia, serif; }.kpi-section-head > p { margin: 0; color: #8390ad; font-size: .78rem; text-align: right; }
.priority-section { padding: 20px; border: 1px solid #3c806f; border-radius: 10px; background: linear-gradient(135deg, rgba(22, 61, 58, .7), rgba(18, 27, 48, .82) 55%); box-shadow: 0 18px 55px rgba(0, 0, 0, .18); }.priority-section .kpi-section-head { border-bottom-color: #3c806f; }.priority-kpis .kpi { background: rgba(10, 20, 34, .82); }.priority-kpis .kpi-detail { line-height: 1.45; }.priority-kpis .kpi:first-child, .priority-kpis .kpi:nth-child(8) { border-color: #83e2c2; }.priority-kpis .kpi:first-child .kpi-value, .priority-kpis .kpi:nth-child(8) .kpi-value { color: #dffbf2; }
.timing-group + .timing-group { margin-top: 26px; padding-top: 26px; border-top: 1px solid #2b3652; }
.timing-group-head { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }.timing-group-head > span { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #83e2c2; border-radius: 50%; color: #83e2c2; font: 700 .7rem/1 ui-monospace, monospace; }.timing-group-head h3 { margin: 1px 0 0; font-size: .9rem; }.timing-group-head p { margin: 4px 0 0; color: #8390ad; font-size: .75rem; }
.kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.kpi { padding: 19px; border: 1px solid #344260; background: rgba(19, 28, 49, .74); border-radius: 8px; }
.kpi-title { color: #9ba8c6; font-size: .73rem; letter-spacing: .1em; text-transform: uppercase; }.kpi-value { display: block; margin-top: 7px; font: 700 2.1rem/1 Georgia, serif; }.kpi-detail { margin: 8px 0 0; color: #83e2c2; font-size: .78rem; }
.execution-flow { margin-top: 28px; padding: 18px; border: 1px solid #344260; border-radius: 8px; background: rgba(19, 28, 49, .74); }.flow-head { display: flex; justify-content: space-between; gap: 18px; align-items: end; }.flow-head .eyebrow { margin-bottom: 5px; }.flow-head h2 { margin: 0; font-size: 1rem; }.flow-head > p { margin: 0; color: #8390ad; font-size: .75rem; }.flow-stages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: 16px; border: 1px solid #2b3652; border-radius: 6px; overflow: hidden; background: #2b3652; }.flow-stages article { padding: 14px; background: #10192d; }.flow-stages span { display: block; color: #9ba8c6; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }.flow-stages strong { display: block; margin-top: 7px; color: #dffbf2; font: 700 1.45rem/1 Georgia, serif; }.flow-stages p { margin: 8px 0 0; color: #83e2c2; font-size: .73rem; line-height: 1.35; }
.feed-tabs { display: flex; gap: 7px; margin-top: 28px; overflow-x: auto; padding-bottom: 7px; border-bottom: 1px solid #2b3652; }.feed-tab { flex: 0 0 auto; border: 1px solid #344260; border-radius: 4px; padding: 8px 10px; background: #10192d; color: #9ba8c6; cursor: pointer; font-size: .76rem; }.feed-tab:hover { color: #e8ecf7; }.feed-tab.active { border-color: #83e2c2; background: #173b3b; color: #dffbf2; }.feed-tab-count { margin-left: 5px; color: #83e2c2; font-family: ui-monospace, monospace; }
.feeds { margin-top: 18px; }
.feed { min-width: 0; border: 1px solid #2b3652; border-radius: 8px; overflow: hidden; background: rgba(12, 18, 34, .72); }.feed-head { padding: 15px 17px; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; border-bottom: 1px solid #2b3652; }.feed h2 { margin: 0; font-size: 1rem; }.feed-count { color: #83e2c2; font: 700 1.2rem Georgia, serif; }.feed-description { margin: 5px 0 0; color: #8390ad; font-size: .75rem; }
.execution-status { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-bottom: 20px; }.execution-status article { padding: 16px; border: 1px solid #344260; border-radius: 8px; background: rgba(19, 28, 49, .74); }.execution-status span { display: block; color: #9ba8c6; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }.execution-status strong { display: block; margin-top: 8px; color: #83e2c2; font: 700 1.4rem/1 Georgia, serif; }.execution-status p { margin: 8px 0 0; color: #9ba8c6; font-size: .78rem; }.execution-records { border: 1px solid #2b3652; border-radius: 8px; overflow: auto; background: #10192d; }.execution-records table { width: 100%; border-collapse: collapse; min-width: 1280px; }.execution-records th, .execution-records td { padding: 12px 14px; border-bottom: 1px solid #28334c; text-align: left; vertical-align: top; font-size: .78rem; }.execution-records th { color: #9ba8c6; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }.execution-records td { color: #cbd3e8; }.execution-records .status { color: #83e2c2; font-family: ui-monospace, monospace; }.execution-records .muted { color: #8996b3; }
.events { max-height: 590px; overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); align-content: start; gap: 12px; padding: 14px; background: #0b1020; }.event { min-width: 0; border: 1px solid #2b3652; border-radius: 6px; background: #10192d; overflow: hidden; }.event.open { grid-column: 1 / -1; }.event-toggle { appearance: none; border: 0; width: 100%; min-height: 106px; padding: 14px; display: grid; grid-template-columns: 1fr auto; gap: 8px; background: transparent; color: inherit; text-align: left; cursor: pointer; }.event-toggle:hover { background: #17223b; }.event-name { font-weight: 650; line-height: 1.3; }.event-meta { margin-top: 4px; grid-column: 1; color: #8996b3; font-size: .75rem; }.event-count { color: #83e2c2; font-size: .8rem; align-self: start; text-align: right; }.event-detail { display: none; padding: 0 14px 14px; }.event.open .event-detail { display: block; }.market { padding: 10px 0; border-top: 1px solid #28334c; }.market h4 { margin: 0 0 6px; color: #cbd3e8; font-size: .78rem; }.market-values { display: flex; flex-wrap: wrap; gap: 5px; }.market-values span { padding: 3px 6px; color: #adc2e7; background: #182641; border-radius: 3px; font-family: ui-monospace, monospace; font-size: .7rem; }.empty, .loading { padding: 20px 17px; color: #8390ad; font-size: .85rem; }
@media (max-width: 760px) { .masthead { min-height: auto; padding-top: 28px; display: block; }.masthead-actions { margin-top: 18px; }.release-meta { justify-items: start; }.updated { margin-top: 0; }.kpi-section-head, .flow-head { display: block; }.kpi-section-head > p, .flow-head > p { margin-top: 8px; text-align: left; }.kpis, .execution-status, .flow-stages { grid-template-columns: 1fr; } }
