/* ==============================================
   Layout Components: Reusable App Layout Structure
   System status bar, app bar, navigation bar
   ============================================== */

/* ============== System Status Bar ============== */
/* Top bar showing time, signal, wifi, battery */

.system-status-bar {
    height: 36px;
    padding: 0 16px;
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    color: #FFFFFF;
    z-index: 1000;
}

.system-status-bar.bg-surface {
    background-color: #1E1E1E;
}

.system-status-time {
    font-weight: 500;
    font-size: 16px;
}

.system-status-icons {
    display: flex;
    gap: 8px;
    align-items: center;
}

.system-status-icons img {
    width: 24px;
    height: 24px;
    pointer-events: none;
}

/* ============== App Bar ============== */
/* Title bar with back button and optional actions */

.app-bar {
    height: 72px;
    padding: 0 8px;
    background-color: #1E1E1E;
    display: flex;
    align-items: center;
    z-index: 900;
}

.app-bar.transparent {
    background-color: transparent;
}

.app-bar.primary {
    background-color: #121212;
}

.app-bar-back {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 28px;
}

.app-bar-back:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.app-bar-back:active {
    background-color: rgba(255, 255, 255, 0.2);
}

.app-bar-back img {
    width: 32px;
    height: 32px;
    pointer-events: none;
}

.app-bar-title {
    flex: 1;
    font-size: 24px;
    font-weight: 500;
    color: #FFFFFF;
    padding-left: 8px;
}

.app-bar-actions {
    display: flex;
    gap: 4px;
}

.app-bar-action {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 28px;
}

.app-bar-action:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.app-bar-action:active {
    background-color: rgba(255, 255, 255, 0.2);
}

.app-bar-action img {
    width: 28px;
    height: 28px;
    pointer-events: none;
}

/* ============== System Navigation Bar ============== */
/* Bottom bar with back, home, and recent buttons */

.system-nav-bar {
    height: 56px;
    background-color: #0A0A0A;
    display: flex;
    align-items: center;
    justify-content: space-around;
    z-index: 1000;
}

.system-nav-bar.transparent {
    background-color: rgba(10, 10, 10, 0.9);
}

.system-nav-btn {
    width: 72px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 24px;
}

.system-nav-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.system-nav-btn:active {
    background-color: rgba(255, 255, 255, 0.2);
}

.system-nav-btn img {
    width: 28px;
    height: 28px;
    pointer-events: none;
    opacity: 0.8;
}

/* Home button - pill shape */
.system-nav-home {
    width: 96px;
    height: 8px;
    background-color: #FFFFFF;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.6;
}

.system-nav-home:hover {
    opacity: 0.8;
}

.system-nav-home:active {
    opacity: 1.0;
}

/* ============== Screen Layout ============== */
/* Standard app screen structure */

.app-screen {
    width: 100%;
    height: 100%;
    background-color: #121212;
    display: flex;
    flex-direction: column;
}

.app-content {
    flex: 1;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

/* Content padding for nav bar */
.app-content.with-nav {
    padding-bottom: 56px;
}

/* Content padding for dock */
.app-content.with-dock {
    padding-bottom: 100px;
}

/* ============== Combined Header ============== */
/* Status bar + App bar combined */

.app-header {
    display: flex;
    flex-direction: column;
    background-color: #1E1E1E;
}

.app-header.transparent {
    background-color: transparent;
}

.app-header .system-status-bar {
    background-color: transparent;
}

/* ============== Notification Badge ============== */

.notification-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    min-width: 20px;
    height: 20px;
    background-color: #CF6679;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
}

/* ============== Recording Indicator ============== */
/* Shown when camera/mic is active */

.recording-indicator {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 12px;
    height: 12px;
    background-color: #F44336;
    border-radius: 6px;
    animation: recording-pulse 1.5s ease-in-out infinite;
}

@keyframes recording-pulse {
    0%, 100% { opacity: 1.0; }
    50% { opacity: 0.4; }
}

/* ============== Divider ============== */

.header-divider {
    height: 1px;
    background-color: #333333;
}
