// ============================================================================ // Header Bar — Top App Bar // Per spec Section 3.1: 64px tall, M3 MediumTopAppBar on expanded // Section 3.2: SmallTopAppBar on mobile // ============================================================================ .header-bar { display: flex; align-items: center; justify-content: space-between; height: var(--cc-header-height); padding: 0 var(--cc-section-padding); background-color: var(--cc-surface-container-high); border-bottom: 1px solid var(--cc-outline); z-index: 20; } .header-bar__title { font-size: 28px; font-weight: 400; color: var(--cc-on-surface); margin: 0; letter-spacing: -0.01em; } .header-bar__actions { display: flex; align-items: center; gap: 8px; } .header-bar__action-btn { color: var(--cc-on-surface-variant) !important; &:hover { color: var(--cc-on-surface) !important; } } .header-bar__live-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; background-color: var(--status-error); vertical-align: middle; &--connected { background-color: var(--status-active); animation: pulse-active 2s ease-in-out infinite; } } .header-bar__live-label { font-size: 13px; font-weight: 500; color: var(--cc-on-surface-variant); vertical-align: middle; } // Mobile: smaller title @media (max-width: 599px) { .header-bar { padding: 0 16px; } .header-bar__title { font-size: 22px; font-weight: 500; } .header-bar__live-label { display: none; // Space saving on mobile — dot alone is enough } }