/* App-specific skin, composed with the original MineDevHD Design System CSS. */
:root { --crypto-mint:#8affc1; --crypto-blue:#85adff; --crypto-bg:#090c12; --crypto-line:#28303e; }
html { scroll-behavior:smooth; }
body[data-mdh] { margin:0; min-height:100vh; color:#f5f8ff; background:var(--crypto-bg); }
.full-width { width:100%; }
.mint-text { color:var(--crypto-mint)!important; }
.pulse-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#8affc1; box-shadow:0 0 0 4px #8affc11a; flex:none; }

/* Anonymous screen: just uptime and one password form. */
.login-page { display:grid; place-items:center; padding:24px; background:radial-gradient(ellipse 43% 45% at 50% 44%,#152138 0,transparent 100%),#090c12!important; }
.login-panel { width:min(100%,420px); padding:30px 34px 36px; text-align:center; border:1px solid #293142; border-radius:20px; background:linear-gradient(155deg,#151d2b,#10141f 65%); box-shadow:0 25px 100px #0007; }
.login-mark { display:flex; justify-content:center; margin-bottom:20px; }
.login-mark img { filter:drop-shadow(0 5px 18px #85adff21); }
.login-product { font-size:25px; font-weight:760; letter-spacing:-1px; margin-bottom:28px; }
.login-product span { color:#8affc1; }
.uptime-box { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; padding:15px 11px; color:#aebbd0; background:#0c1420; border:1px solid #2b3a49; border-radius:11px; font-size:13px; margin-bottom:23px; }
.uptime-box strong { color:#f5f8ff; font-size:13px; font-variant-numeric:tabular-nums; }
.login-form { text-align:left; }
.login-form label { display:block; margin-bottom:8px; font-size:13px; color:#c8d1e2; font-weight:650; }
.login-form input { display:block; width:100%; box-sizing:border-box; height:48px; background:#0b111b; border:1px solid #354054; border-radius:10px; padding:0 14px; color:#f5f8ff; margin-bottom:16px; }
.login-form input:focus { border-color:#85adff; outline:2px solid #85adff25; }
.login-form button { height:49px; justify-content:space-between; padding-inline:19px; }
.form-error { color:#ff939d!important; margin:-3px 0 14px; font-size:13px; }

/* Authenticated workspace */
.site-shell { display:flex; min-height:100vh; }
.sidebar { flex:none; position:sticky; top:0; height:100vh; box-sizing:border-box; width:252px; border-right:1px solid #242b37; background:#0d111a; display:flex; flex-direction:column; padding:25px 14px 20px; }
.side-brand { padding:5px 10px 45px; display:flex; gap:12px; align-items:center; color:#fff; font-size:16px; font-weight:720; letter-spacing:-.65px; white-space:nowrap; }
.side-brand b { color:#8affc1; }
.nav-label { font:650 10px/1.5 var(--mdh-font-sans); letter-spacing:1.6px; color:#69778c; margin:0 13px 14px; }
.nav-link { display:flex; align-items:center; gap:14px; padding:12px 15px; color:#9eabc0!important; text-decoration:none; border-radius:9px; font-size:13.5px; margin:2px 0; transition:background .15s; }
.nav-link:hover { background:#192232; color:#fff!important; }
.nav-link.active { color:#eaf1ff!important; background:#1b293d; font-weight:650; }
.nav-link>span { width:18px; text-align:center; font-size:18px; font-weight:500; }
.sidebar-bottom { margin-top:auto; padding-top:20px; border-top:1px solid #232a36; }
.side-service { display:flex; gap:12px; align-items:center; margin:0 10px 14px; color:#a7b4c8; font-size:12px; }
.side-service b { display:block; color:#e8eeff; font-size:12px; }
.sidebar-bottom button { text-align:center; font-size:12px; }
.main-shell { min-width:0; width:100%; }
.topbar { position:sticky; top:0; z-index:20; min-height:68px; box-sizing:border-box; border-bottom:1px solid #252e3c; backdrop-filter:blur(18px); background:#0c1019ed; display:flex; align-items:center; justify-content:space-between; padding:12px clamp(20px,4vw,48px); gap:20px; }
.crumb { font-size:13px; color:#818da3; }.crumb span { margin:0 10px; color:#465166; }.crumb b { color:#dde5f5; }
.top-status { display:flex; gap:20px; align-items:center; color:#8592a7; font-size:12px; }
.env-pill { border:1px solid #254633; padding:7px 10px; border-radius:7px; color:#8affc1; letter-spacing:.7px; font-size:10px; font-weight:760; background:#0e2019; }
.header-separator { width:1px; height:19px; background:#2b3341; }
.workspace { max-width:1430px; margin:auto; padding:37px clamp(20px,4vw,48px) 20px; }
.intro-row { display:flex; justify-content:space-between; align-items:end; gap:28px; flex-wrap:wrap; margin-bottom:26px; }
.eyebrow { font-size:10px; font-weight:730; color:#85adff; letter-spacing:1.55px; margin-bottom:9px; }
.intro-row h1 { font-size:clamp(29px,3vw,41px)!important; line-height:1.12; letter-spacing:-1.7px; margin:0 0 11px; }
.intro-row h1 span { color:#8affc1; }.intro-row p { font-size:14px; margin:0; color:#8d99ac; max-width:720px; }
.control-actions { display:flex; gap:10px; }.control-actions button { font-size:12px!important; min-width:116px; }.control-actions button[hidden] { display:none; }
.notice { display:flex; gap:12px; align-items:center; border:1px solid #263b45; background:linear-gradient(90deg,#14202b,#111922); border-radius:10px; padding:13px 16px; color:#a9c2cd; font-size:12.5px; margin-bottom:22px; }
.notice b { color:#cde6e9; }.notice-icon { flex:none; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; border:1px solid #416474; font-weight:bold; color:#94d1dd; }
.hero-card { position:relative; overflow:hidden; min-height:248px; padding:35px 38px 28px; box-sizing:border-box; display:flex; background:linear-gradient(115deg,#172236 0%,#152338 49%,#101d2d 100%); border:1px solid #33445a; border-radius:18px; margin-bottom:19px; box-shadow:0 12px 50px #0002; }
.hero-left { position:relative; z-index:2; flex:1; }.overline { font-size:10px; font-weight:750; letter-spacing:1.6px; color:#b1bfd3; }.hero-currency { color:#85adff; margin-left:8px; }
.portfolio-value { font-size:clamp(37px,5vw,60px); font-weight:750; letter-spacing:-2.6px; line-height:1.45; font-variant-numeric:tabular-nums; }
.hero-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#899aaf; font-size:12px; }.hero-meta>span:nth-child(2) { color:#c5d0e2; }
.delta-badge { padding:4px 8px; border-radius:6px; font-weight:720; font-size:12px; background:#27374a; color:#c8d6e6; }.delta-badge.positive { color:#8affc1; background:#1b4135; }.delta-badge.negative { color:#ff939d; background:#442a35; }
.hero-divider { width:62%; height:1px; background:#3a4b60; margin:21px 0 17px; }.hero-small-meta { display:flex; flex-wrap:wrap; column-gap:38px; row-gap:12px; }.hero-small-meta span { font-size:10px; letter-spacing:.6px; color:#93a4b8; }.hero-small-meta b { display:block; font-size:12px; color:#e5eeff; margin-top:6px; letter-spacing:0; }
.hero-art { position:absolute; inset:0 0 0 auto; width:41%; display:grid; place-items:center; pointer-events:none; }.hero-art span { font-size:115px; font-weight:800; color:#85adff; text-shadow:0 0 70px #85adff80; z-index:3; opacity:.85; }
.orbit { position:absolute; border:1px solid #85adff40; border-radius:50%; width:190px; height:190px; }.orbit-two { width:290px; height:290px; border-color:#8affc11a; }.orbit-three { width:415px; height:415px; border-color:#85adff13; }.art-glow { position:absolute; width:200px; height:200px; border-radius:50%; background:#85adff18; filter:blur(46px); }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-bottom:21px; }
.kpi-card,.panel { border:1px solid #293240; background:linear-gradient(155deg,#151a24,#111720); border-radius:13px; }.kpi-card { padding:19px 20px; min-width:0; }
.kpi-label { display:flex; justify-content:space-between; gap:10px; font-size:12px; color:#9ba9bc; }.kpi-label>span { color:#6b85af; font-size:17px; }
.kpi-value { font-size:clamp(18px,2vw,27px); font-weight:690; letter-spacing:-.85px; line-height:1.7; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.kpi-value.status-value { color:#8affc1; font-size:22px; }
.kpi-note { font-size:11px; color:#6f7f96; }
.content-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr); gap:17px; margin-bottom:19px; }.panel { padding:24px 24px 21px; margin-bottom:18px; scroll-margin-top:90px; }.content-grid .panel { margin-bottom:0; }
.panel-header { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:22px; }.panel-header h2 { font-size:18px; font-weight:710; letter-spacing:-.6px; margin:0; }.panel-header .eyebrow { margin-bottom:5px; }
.small-tag { font-size:9px; font-weight:730; letter-spacing:1px; color:#8c9bb1; border:1px solid #343f4e; padding:7px 9px; border-radius:6px; white-space:nowrap; }
.chart-wrap { height:230px; position:relative; background:repeating-linear-gradient(to bottom,transparent,transparent 55px,#27303e 56px); }
#equity-chart { width:100%; height:100%; display:block; overflow:visible; }.chart-empty { position:absolute; inset:0; display:grid; place-items:center; color:#6f8099; font-size:12px; text-align:center; padding:15px; }.chart-empty[hidden] { display:none; }.chart-footer { display:flex; justify-content:space-between; margin-top:14px; font-size:10px; color:#65768c; }
.health-pill { background:#172d26; color:#8affc1; border:1px solid #2c4c3b; border-radius:7px; padding:6px 10px; font-size:10px; }
.cpu-head { display:flex; justify-content:space-between; margin-top:27px; gap:10px; font-size:12px; color:#a4b1c2; }.cpu-head strong { font-size:18px; color:#ecf4ff; font-variant-numeric:tabular-nums; }
.meter { position:relative; height:10px; border-radius:30px; margin:13px 0 7px; background:#283345; overflow:hidden; }.meter-fill { height:100%; width:0; border-radius:30px; background:linear-gradient(90deg,#5f97ea,#8affc1); transition:width .4s; }.meter-limit { position:absolute; left:60%; top:0; bottom:0; border-left:2px dashed #ff939d; }
.meter-legend { display:flex; justify-content:space-between; font-size:9px; color:#67778d; }.system-divider { border-top:1px solid #30394a; margin:26px 0 15px; }.system-info { display:flex; justify-content:space-between; gap:15px; margin:13px 0; font-size:12px; color:#98a7ba; }.system-info b { color:#dfe7f6; font-weight:620; }.error-note { padding:10px; margin-top:17px; border:1px solid #704250; border-radius:7px; background:#371e2a; color:#ffb1b7; font-size:11px; }.error-note[hidden] { display:none; }
.section-intro,.data-disclaimer { font-size:12px; color:#91a0b5; line-height:1.7; }.section-intro { margin:-9px 0 22px; }.data-disclaimer { margin:20px 0 0; border-top:1px solid #263140; padding-top:16px; }
.strategy-grid { display:grid; grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(115px,1fr)); gap:12px; }.strategy-info,.backtest-card { border-radius:9px; border:1px solid #2c3646; padding:17px; min-width:0; background:#121a27; }
.small-label { font-size:9px; letter-spacing:1px; color:#6a92b5; font-weight:700; }.strategy-title { font-weight:700; font-size:15px; margin:9px 0 3px; }.strategy-param { color:#8affc1; font-size:13px; margin-bottom:11px; }.strategy-data { font-size:11px; line-height:1.5; color:#7f8fa4; }.backtest-card span { font-size:11px; color:#8a99b0; }.backtest-card b { display:block; margin:17px 0 5px; font-size:26px; letter-spacing:-.8px; font-variant-numeric:tabular-nums; }.backtest-card small { color:#7f8fa5; font-size:10px; }.backtest-card.highlight { border-color:#42765b; background:#12251f; }.backtest-card.highlight b { color:#8affc1; }
.trade-table-wrap { overflow:auto; }.trade-table { border-collapse:collapse; width:100%; min-width:650px; text-align:left; font-size:11.5px; }.trade-table th { color:#7d8ba1; font-weight:680; font-size:10px; letter-spacing:.4px; padding:13px 10px; border-bottom:1px solid #344052; }.trade-table td { padding:15px 10px; color:#c7d3e3; border-bottom:1px solid #263141; font-variant-numeric:tabular-nums; }.trade-table tr:last-child td { border-bottom:0; }.trade-table .empty-table { text-align:center; color:#7a8aa0; padding:24px; }.trade-tag { display:inline-block; border-radius:5px; padding:4px 7px; color:#8affc1; background:#1b4135; font-weight:700; }.trade-tag.sell { color:#ffca95; background:#3d312c; }
.footer { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; font-size:10px; color:#69788d; margin:25px 0 10px; }
.toast { position:fixed; right:22px; bottom:22px; border:1px solid #3c5675; padding:14px 18px; background:#172238; color:#eef5ff; border-radius:10px; z-index:100; max-width:350px; box-shadow:0 10px 30px #0006; font-size:13px; }.toast[hidden] { display:none; }
@media (max-width:1200px) { .sidebar { width:215px; }.kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.strategy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:850px) { .sidebar { display:none; }.hero-art { opacity:.35; }.content-grid { grid-template-columns:1fr; }.workspace { padding-top:25px; } }
@media (max-width:560px) { .topbar { padding:12px 17px; }.top-status { gap:8px; }.header-separator { display:none; }.workspace { padding-inline:14px; }.intro-row { align-items:start; }.control-actions { width:100%; }.control-actions button { flex:1; }.hero-card { padding:27px 22px; }.portfolio-value { font-size:42px; }.hero-divider { width:100%; }.hero-art { width:60%; opacity:.17; }.kpi-grid,.strategy-grid { grid-template-columns:1fr; }.panel { padding:20px 17px; }.kpi-card { padding:17px; }.top-status #uptime { display:none; }.login-panel { padding-inline:23px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
