.status-bar{height:env(safe-area-inset-top,0);background:var(--bg-base)}.screen{padding:0 var(--space-2) 100px;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto;&::-webkit-scrollbar{display:none}}.header{padding:var(--space-4) var(--space-1);justify-content:space-between;align-items:flex-start;display:flex;& h1{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-strong)}}.header-brand{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}.header-right{align-items:center;gap:var(--space-3);display:flex}.data-timestamp{color:var(--text-muted);margin-top:var(--space-1);font-size:11px}.status-dot{background:var(--success-solid);border-radius:var(--radius-full);width:8px;height:8px;animation:2s infinite pulse}.bottom-nav{background:var(--bg-base);border-top:1px solid var(--border);padding:var(--space-3) 0;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0));z-index:var(--z-nav);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:var(--space-1) var(--space-3);flex-direction:column;display:flex;position:relative}.nav-icon{width:22px;height:22px;& svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:22px;height:22px}}.nav-alert{top:0;right:var(--space-2);background:var(--danger-solid);border-radius:var(--radius-full);width:8px;height:8px;display:none;position:absolute}.tab-content{display:none}body:has(#r-dashboard:checked) #tabDashboard,body:has(#r-hourly:checked) #tabHourly,body:has(#r-positions:checked) #tabPositions,body:has(#r-system:checked) #tabSystem{display:block}body:has(#r-dashboard:checked) .nav-item[for=r-dashboard],body:has(#r-hourly:checked) .nav-item[for=r-hourly],body:has(#r-positions:checked) .nav-item[for=r-positions],body:has(#r-system:checked) .nav-item[for=r-system]{color:var(--success);& svg{stroke:var(--success)}}.scroll-indicator{text-align:center;padding:var(--space-3);color:var(--text-muted);font-size:11px}.load-more{text-align:center;padding:var(--space-3);color:var(--text-muted);cursor:pointer;font-size:11px;&:hover{color:var(--success)}}.loading-indicator{text-align:center;padding:var(--space-4);color:var(--text-muted);font-size:11px;display:none}.scroll-sentinel{width:100%;height:20px}.offline-banner{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius-lg);padding:var(--space-3);margin-top:var(--space-2);align-items:center;gap:var(--space-2);display:none}.offline-banner svg{width:18px;height:18px;stroke:var(--danger);flex-shrink:0}.offline-text{flex:1}.offline-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--danger)}.offline-sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.halted-banner{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius-lg);padding:var(--space-3);margin-top:var(--space-2);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);flex-direction:row;display:none}.halted-left{align-items:center;gap:var(--space-2);display:flex}.halted-left svg{width:24px;height:24px;stroke:var(--danger);flex-shrink:0}.halted-text{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--danger)}.halted-sub{font-size:var(--text-xs);color:var(--text-muted)}.halted-arrow{color:var(--text-muted);font-size:20px}[data-halted=true]{& .halted-banner{display:flex}& #tradingMode{background:var(--danger);color:#fff}& #statusDot{background:var(--danger-solid);animation:none}& .trading-status-banner,& .action-stop{display:none}}[data-halted=false]{& .action-resume{display:none}}.badge.live{background:var(--positive);color:#fff}[data-online=false]{& .offline-banner{display:flex}& #statusDot{background:var(--text-muted);animation:none}}