ui/src/components/BottomNav.css (view raw)
1.bottom-nav.mobile {
2 position: fixed;
3 left: 0;
4 right: 0;
5 bottom: 0;
6 height: var(--bottom-nav-height);
7 background: #fff;
8 border-top: 1px solid var(--light-gray);
9 display: flex;
10 justify-content: space-around;
11 align-items: center;
12 z-index: 1000;
13 box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
14}
15
16.bottom-nav.mobile a {
17 color: var(--dark-gray);
18 text-decoration: none;
19 font-size: 0.75rem;
20 flex: 1;
21 display: flex;
22 flex-direction: column;
23 align-items: center;
24 justify-content: center;
25 padding: 8px 0;
26 transition: color 0.2s;
27}
28
29.bottom-nav.mobile a span {
30 margin-top: 4px;
31}
32
33.bottom-nav.mobile a.active {
34 color: var(--primary-color);
35 font-weight: 600;
36}
37
38/* Desktop side navigation */
39.side-nav.desktop {
40 position: fixed;
41 left: 0;
42 top: 0;
43 bottom: 0;
44 width: var(--side-nav-width);
45 background-color: white;
46 border-right: 1px solid var(--light-gray);
47 padding: var(--spacing-lg) var(--spacing-md);
48 display: flex;
49 flex-direction: column;
50 z-index: 1000;
51}
52
53.side-nav .app-title {
54 font-size: 24px;
55 font-weight: 700;
56 color: var(--primary-color);
57 margin-bottom: var(--spacing-xl);
58 padding: var(--spacing-md);
59}
60
61.side-nav .nav-links {
62 display: flex;
63 flex-direction: column;
64 gap: 8px;
65}
66
67.side-nav a {
68 display: flex;
69 align-items: center;
70 padding: 10px 16px;
71 border-radius: var(--border-radius);
72 color: var(--text-color);
73 text-decoration: none;
74 transition: all 0.2s;
75}
76
77.side-nav a span {
78 margin-left: 12px;
79}
80
81.side-nav a:hover {
82 background-color: rgba(0, 122, 255, 0.1);
83}
84
85.side-nav a.active {
86 background-color: var(--primary-color);
87 color: white;
88}
89
90.side-nav .sub-menu {
91 margin: var(--spacing-md) 0;
92 padding-left: var(--spacing-md);
93 border-left: 2px solid var(--light-gray);
94}
95
96.side-nav .sub-menu-title {
97 font-size: 14px;
98 font-weight: 600;
99 color: var(--dark-gray);
100 margin-bottom: var(--spacing-sm);
101 padding-left: var(--spacing-md);
102}
103@media (min-width: 768px) {
104 .bottom-nav {
105 position: static;
106 height: 48px;
107 border-top: none;
108 border-bottom: 1px solid #eee;
109 justify-content: flex-end;
110 background: #fafbfc;
111 }
112 .bottom-nav a {
113 flex: none;
114 margin-left: 2em;
115 font-size: 1rem;
116 }
117}