:host { display: block; } .app-navigation { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; height: calc(72px + env(safe-area-inset-bottom)); padding: 6px 10px env(safe-area-inset-bottom); border-top: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: 0 -10px 30px rgba(25, 40, 35, 0.06); backdrop-filter: blur(18px); } .sidebar-brand, .sidebar-user { display: none; } .navigation-items { display: grid; height: 100%; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; } .navigation-item.mat-mdc-button { --mdc-text-button-label-text-color: var(--text-muted); min-width: 0; height: 60px; border-radius: 14px; padding: 5px 4px; font-weight: 650; letter-spacing: 0; } .navigation-item .mat-mdc-button-touch-target { height: 60px; } .navigation-item svg { width: 21px; height: 21px; margin: 0 auto 4px; } .navigation-item span { display: block; overflow: hidden; font-size: 0.66rem; text-overflow: ellipsis; white-space: nowrap; } .navigation-item.active { --mdc-text-button-label-text-color: var(--accent); background: var(--surface-accent); } @media (min-width: 960px) { .app-navigation { top: 0; right: auto; bottom: auto; width: 256px; height: 100vh; padding: 26px 18px; border-top: 0; border-right: 1px solid var(--border); background: var(--surface); box-shadow: none; backdrop-filter: none; } .sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 32px; } .sidebar-brand > div { display: flex; flex-direction: column; font-size: 0.86rem; line-height: 1.15; } .sidebar-brand strong { font-size: 1rem; } .sidebar-brand span:last-child { color: var(--text-muted); } .navigation-items { display: flex; height: auto; flex-direction: column; gap: 6px; } .navigation-item.mat-mdc-button { width: 100%; height: 48px; justify-content: flex-start; border-radius: 13px; padding: 0 14px; } .navigation-item .mat-mdc-button-touch-target { height: 48px; } .navigation-item .mdc-button__label { display: flex; align-items: center; gap: 12px; } .navigation-item svg { width: 20px; height: 20px; margin: 0; } .navigation-item span { font-size: 0.86rem; } .sidebar-user { position: absolute; right: 18px; bottom: 24px; left: 18px; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-soft); } .sidebar-user > div:nth-child(2) { display: flex; min-width: 0; flex-direction: column; justify-content: center; } .sidebar-user strong, .sidebar-user span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .sidebar-user strong { font-size: 0.82rem; } .sidebar-user span { color: var(--text-muted); font-size: 0.69rem; } .logout-action.mat-mdc-button { --mdc-text-button-label-text-color: var(--text-muted); grid-column: 1 / -1; height: 34px; border-top: 1px solid var(--border); border-radius: 0; font-size: 0.75rem; } }