.shell { min-height: 100vh; display: flex; flex-direction: column; } .shellHeader { display: flex; justify-content: space-between; align-items: center; padding: 0.85rem 1.25rem; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--panel) 88%, transparent); backdrop-filter: blur(7px); } .brand { font-weight: 700; letter-spacing: 0.02em; } .headerActions { display: flex; align-items: center; gap: 0.75rem; } .shellBody { display: grid; grid-template-columns: 230px 1fr; min-height: calc(100vh - 57px); } .shellNav { border-right: 1px solid var(--border); padding: 1rem 0.75rem; display: flex; flex-direction: column; gap: 0.4rem; background: color-mix(in srgb, var(--panel) 65%, transparent); } .navItem { padding: 0.65rem 0.75rem; border-radius: 10px; color: var(--muted); } .navItem:hover { background: #ece7df; color: var(--ink); } .navItemActive { background: var(--brand); color: #f7fff7; } .navSectionTitle { margin-top: 0.5rem; padding: 0.25rem 0.75rem; font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); } .navDivider { height: 1px; background: var(--border); margin: 0.5rem 0; } .navBadge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; background: var(--primary); color: var(--primary-fg); border-radius: 9px; font-size: 11px; font-weight: 600; margin-left: auto; } .sessionItem { position: relative; padding-left: var(--space-6); } .sessionStatus { position: absolute; left: var(--space-2); top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 50%; background: var(--muted); } .sessionStatus.running { background: var(--success); } .sessionName { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 140px; } .shellContent { padding: 1.25rem; overflow-x: hidden; } @media (max-width: 767px) { .shellBody { grid-template-columns: 1fr; grid-template-rows: auto 1fr; } .shellNav { flex-direction: row; flex-wrap: wrap; gap: 0.25rem; padding: 0.5rem; border-right: none; border-bottom: 1px solid var(--border); overflow-x: auto; -webkit-overflow-scrolling: touch; } .navItem { padding: 0.5rem 0.75rem; white-space: nowrap; font-size: var(--font-size-sm); } .shellContent { padding: var(--space-4); } }