xref: /plugin/botmon/style.less (revision 93a5b18bb1705850a45377d3cc9b7bb644593c88)
17bd08c30SSascha Leib#botmon__admin {
2f125bc8dSSascha Leib
3f125bc8dSSascha Leib	section[role="tabpanel"] {
4f125bc8dSSascha Leib		margin: .25rem 0;
5f125bc8dSSascha Leib	}
6f125bc8dSSascha Leib
7*93a5b18bSSascha Leib	/* grid layout classes (taken from the Ad-Hoc Wrap plugin) */
8*93a5b18bSSascha Leib	.grid-2-columns,
9*93a5b18bSSascha Leib	.grid-3-columns {
10*93a5b18bSSascha Leib		display: grid;
11*93a5b18bSSascha Leib	}
12*93a5b18bSSascha Leib	.grid-2-columns {
13*93a5b18bSSascha Leib		grid-template-columns: 1fr 1fr;
14*93a5b18bSSascha Leib		grid-gap: 0 .5em;
15*93a5b18bSSascha Leib	}
16*93a5b18bSSascha Leib	.grid-3-columns {
17*93a5b18bSSascha Leib		grid-template-columns: 1fr 1fr 1fr;
18*93a5b18bSSascha Leib		grid-gap: 0 .33em;
19*93a5b18bSSascha Leib	}
20*93a5b18bSSascha Leib
21*93a5b18bSSascha Leib	/* the "today" tab: */
227bd08c30SSascha Leib	#botmon__today {
23f125bc8dSSascha Leib
24*93a5b18bSSascha Leib		/* item header */
25f125bc8dSSascha Leib		header {
269bc80cc5SSascha Leib			background-color: #F0F0F0;
27f125bc8dSSascha Leib			color: #333;
289bc80cc5SSascha Leib			border: #CCC solid 1px;
299bc80cc5SSascha Leib			border-radius: .5rem .5rem 0 0;
309bc80cc5SSascha Leib			margin: .5rem 0 1pt 0;
319bc80cc5SSascha Leib			padding: .25rem .5rem;
32f125bc8dSSascha Leib			font-size: 1rem;
33454b7f55SSascha Leib			line-height: 1.25;
349bc80cc5SSascha Leib		}
359bc80cc5SSascha Leib
369bc80cc5SSascha Leib		/* list formatting */
379bc80cc5SSascha Leib		dl {
389bc80cc5SSascha Leib			& {
399bc80cc5SSascha Leib				border-left: #555 solid 1px;
409bc80cc5SSascha Leib				padding-left: .5rem;
419bc80cc5SSascha Leib				margin: 0;
42454b7f55SSascha Leib				font-size: 1rem;
43454b7f55SSascha Leib				line-height: 1.5;
449bc80cc5SSascha Leib			}
459bc80cc5SSascha Leib			&:first-child {
469bc80cc5SSascha Leib				border-left: none;
479bc80cc5SSascha Leib				padding-left: 0;
489bc80cc5SSascha Leib			}
499bc80cc5SSascha Leib			dt {
509bc80cc5SSascha Leib				margin-bottom: .2em;
519bc80cc5SSascha Leib			}
529bc80cc5SSascha Leib			dd {
539bc80cc5SSascha Leib				display: flex;
549bc80cc5SSascha Leib				justify-content: space-between;
559bc80cc5SSascha Leib				padding: 0; margin: 0;
569bc80cc5SSascha Leib			}
579bc80cc5SSascha Leib			dd:nth-child(even) {
589bc80cc5SSascha Leib				background-color: #EEE;
59f125bc8dSSascha Leib			}
60f125bc8dSSascha Leib		}
619bc80cc5SSascha Leib
62*93a5b18bSSascha Leib		/* Content */
637bd08c30SSascha Leib		#botmon__today__content {
64*93a5b18bSSascha Leib			& details {
659bc80cc5SSascha Leib				& {
669bc80cc5SSascha Leib					margin: 0 0 1pt 0;
67454b7f55SSascha Leib					text-align: left;
689bc80cc5SSascha Leib				}
699bc80cc5SSascha Leib				summary {
709bc80cc5SSascha Leib					& {
71*93a5b18bSSascha Leib						display: flex;
72*93a5b18bSSascha Leib						justify-content: flex-start;
73*93a5b18bSSascha Leib						align-items: center;
74*93a5b18bSSascha Leib						column-gap: .25em;
759bc80cc5SSascha Leib						font-weight: bold;
769bc80cc5SSascha Leib						font-size: 1rem;
77454b7f55SSascha Leib						line-height: 1.5;
789bc80cc5SSascha Leib						margin: 0;
79*93a5b18bSSascha Leib						padding: .25em;
80*93a5b18bSSascha Leib						color: #333;
81*93a5b18bSSascha Leib						cursor: pointer;
829bc80cc5SSascha Leib					}
83454b7f55SSascha Leib					&::marker, &::before {
84*93a5b18bSSascha Leib						content: none;
85454b7f55SSascha Leib						display: none;
869bc80cc5SSascha Leib					}
87*93a5b18bSSascha Leib					&::before {
88*93a5b18bSSascha Leib						content: '';
899bc80cc5SSascha Leib						display: inline-block;
90*93a5b18bSSascha Leib						width: 1.25em; height: 1.25em;
91*93a5b18bSSascha Leib						background: transparent url('img/chevron.svg') center no-repeat;
92*93a5b18bSSascha Leib						background-size: 1.25em;
93*93a5b18bSSascha Leib						transform: rotate(-90deg);
94*93a5b18bSSascha Leib						transition-duration: .25s;
959bc80cc5SSascha Leib					}
969bc80cc5SSascha Leib				}
979bc80cc5SSascha Leib				&[open] {
98*93a5b18bSSascha Leib					summary::before {
99*93a5b18bSSascha Leib						transform: rotate(0deg);
1009bc80cc5SSascha Leib					}
1019bc80cc5SSascha Leib				}
1029bc80cc5SSascha Leib				& > div {
1039bc80cc5SSascha Leib					padding: .5rem;
104*93a5b18bSSascha Leib					border: #CCC solid 1px;
105*93a5b18bSSascha Leib					border-top-width: 0;
106*93a5b18bSSascha Leib					border-radius: 0 0 .25rem .25rem;
1079bc80cc5SSascha Leib				}
108*93a5b18bSSascha Leib				& details summary {
109*93a5b18bSSascha Leib					background-color: transparent;
110*93a5b18bSSascha Leib					border: transparent none 0;
111*93a5b18bSSascha Leib				}
112*93a5b18bSSascha Leib			}
113*93a5b18bSSascha Leib			& > details > summary {
114*93a5b18bSSascha Leib				background-color: #F0F0F0;
115*93a5b18bSSascha Leib				border: #CCC solid 1px;
1169bc80cc5SSascha Leib			}
1179bc80cc5SSascha Leib		}
1189bc80cc5SSascha Leib
119*93a5b18bSSascha Leib		/* visitor lists: */
120*93a5b18bSSascha Leib		#botmon__today__visitorlists {
121*93a5b18bSSascha Leib			details ul {
122*93a5b18bSSascha Leib				margin: 0;
123*93a5b18bSSascha Leib				padding: 0;
124*93a5b18bSSascha Leib				list-style: none;
125*93a5b18bSSascha Leib			}
126*93a5b18bSSascha Leib			details ul > li {
127*93a5b18bSSascha Leib				margin: 0 0 0 .75rem;
128*93a5b18bSSascha Leib				padding: 0;
129*93a5b18bSSascha Leib				color: #000;
130*93a5b18bSSascha Leib			}
131*93a5b18bSSascha Leib			details ul > li > details {
132*93a5b18bSSascha Leib				border: red dotted 1px;
133*93a5b18bSSascha Leib			}
134*93a5b18bSSascha Leib			details ul > li > details > summary {
135*93a5b18bSSascha Leib				display: flex;
136*93a5b18bSSascha Leib				justify-content: space-between;
137*93a5b18bSSascha Leib				align-items: center;
138*93a5b18bSSascha Leib				column-gap: .5em;
139*93a5b18bSSascha Leib				font-weight: normal;
140*93a5b18bSSascha Leib				font-size: 1rem;
141*93a5b18bSSascha Leib				line-height: 1.5;
142*93a5b18bSSascha Leib				border: blue dashed 1px;
143*93a5b18bSSascha Leib			}
144*93a5b18bSSascha Leib
145*93a5b18bSSascha Leib			details ul > li > details > summary > span {
146*93a5b18bSSascha Leib				display: flex;
147*93a5b18bSSascha Leib				column-gap: .25em;
148*93a5b18bSSascha Leib			}
149*93a5b18bSSascha Leib			details ul > li > details > summary > span:first-child {
150*93a5b18bSSascha Leib				flex-grow: 1;
151*93a5b18bSSascha Leib			}
152*93a5b18bSSascha Leib			details ul > li > details > summary > span > span {
153*93a5b18bSSascha Leib				height: 1.5em;
154*93a5b18bSSascha Leib				overflow: hidden;
155*93a5b18bSSascha Leib			}
156*93a5b18bSSascha Leib			details ul > li > details > summary > span > span::before {
157*93a5b18bSSascha Leib				content: '';
158*93a5b18bSSascha Leib				display: inline-block;
159*93a5b18bSSascha Leib				width: 1.25em; height: 1em;
160*93a5b18bSSascha Leib				text-align: center;
161*93a5b18bSSascha Leib				background: transparent url('img/placeholder.svg') center no-repeat;
162*93a5b18bSSascha Leib				background-size: 1em;
163*93a5b18bSSascha Leib			}
164*93a5b18bSSascha Leib			details ul > li > details > summary > span > span.icon {
165*93a5b18bSSascha Leib				width: 1.25em;
166*93a5b18bSSascha Leib				overflow: hidden;
167*93a5b18bSSascha Leib			}
168*93a5b18bSSascha Leib			details ul > li > details > summary > span > span[title] {
169*93a5b18bSSascha Leib				cursor: help;
170*93a5b18bSSascha Leib			}
171*93a5b18bSSascha Leib
172*93a5b18bSSascha Leib			dl.visitor_details {
173*93a5b18bSSascha Leib				& {
174*93a5b18bSSascha Leib					border: green dotted 1px;
175*93a5b18bSSascha Leib					display: grid;
176*93a5b18bSSascha Leib					grid-template-columns: min-content auto;
177*93a5b18bSSascha Leib				}
178*93a5b18bSSascha Leib				dt {
179*93a5b18bSSascha Leib					grid-column: 1;
180*93a5b18bSSascha Leib					white-space: nowrap;
181*93a5b18bSSascha Leib				}
182*93a5b18bSSascha Leib				dd {
183*93a5b18bSSascha Leib					grid-column: 2;
184*93a5b18bSSascha Leib					display: inline-block;
185*93a5b18bSSascha Leib					background-color: transparent;
186*93a5b18bSSascha Leib				}
187*93a5b18bSSascha Leib			}
188*93a5b18bSSascha Leib			dd.has_icon::before {
189*93a5b18bSSascha Leib				content: '';
190*93a5b18bSSascha Leib				display: inline-block;
191*93a5b18bSSascha Leib				width: 1.25em; height: 1.25em;
192*93a5b18bSSascha Leib				background: transparent url('img/placeholder.svg') center no-repeat;
193*93a5b18bSSascha Leib				background-size: 1em;
194*93a5b18bSSascha Leib			}
195*93a5b18bSSascha Leib
196*93a5b18bSSascha Leib			/* type icons */
197*93a5b18bSSascha Leib			span.type_dw::before, dd.type_dw::before { background-image: url('img/incognito.svg'); }
198*93a5b18bSSascha Leib			span.type_php::before, dd.type_php::before { background-image: url('img/cogs.svg'); }
199*93a5b18bSSascha Leib
200*93a5b18bSSascha Leib			/* platform icons */
201*93a5b18bSSascha Leib			span.platform_macos::before, dd.platform_macos::before { background-image: url('img/macos.svg'); }
202*93a5b18bSSascha Leib			span.platform_win10::before, dd.platform_win10::before { background-image: url('img/win11.svg'); }
203*93a5b18bSSascha Leib			span.platform_linux::before, dd.platform_linux::before { background-image: url('img/linux.svg'); }
204*93a5b18bSSascha Leib			span.platform_ios::before, dd.platform_ios::before { background-image: url('img/ios.svg'); }
205*93a5b18bSSascha Leib			span.platform_android::before, dd.platform_android::before { background-image: url('img/android.svg'); }
206*93a5b18bSSascha Leib			span.platform_winold::before, dd.platform_winold::before { background-image: url('img/winold.svg'); }
207*93a5b18bSSascha Leib			span.platform_tizen::before, dd.platform_tizen::before { background-image: url('img/tizen.png'); }
208*93a5b18bSSascha Leib			span.platform_hmos::before, dd.platform_hmos::before { background-image: url('img/hmos.svg'); }
209*93a5b18bSSascha Leib			span.platform_chromium::before, dd.platform_chromium::before { background-image: url('img/chromium.svg'); }
210*93a5b18bSSascha Leib
211*93a5b18bSSascha Leib
212*93a5b18bSSascha Leib			/* browser icons */
213*93a5b18bSSascha Leib			span.client_opera::before, dd.client_opera::before { background-image: url('img/opera.svg'); }
214*93a5b18bSSascha Leib			span.client_msie::before, dd.client_msie::before { background-image: url('img/msie.svg'); }
215*93a5b18bSSascha Leib			span.client_brave::before, dd.client_brave::before { background-image: url('img/brave.svg'); }
216*93a5b18bSSascha Leib			span.client_msedge::before, dd.client_msedge::before { background-image: url('img/msedge.svg'); }
217*93a5b18bSSascha Leib			span.client_chrome::before, dd.client_chrome::before { background-image: url('img/chrome.svg'); }
218*93a5b18bSSascha Leib			span.client_chromeold::before, dd.client_chromeold::before { background-image: url('img/chromeold.svg'); }
219*93a5b18bSSascha Leib			span.client_safari::before, dd.client_safari::before { background-image: url('img/safari.svg'); }
220*93a5b18bSSascha Leib			span.client_ddg::before, dd.client_ddg::before { background-image: url('img/ddg.svg'); }
221*93a5b18bSSascha Leib			span.client_firefox::before, dd.client_firefox::before { background-image: url('img/firefox.svg'); }
222*93a5b18bSSascha Leib			span.client_samsung::before, dd.client_samsung::before { background-image: url('img/samsung.svg'); }
223*93a5b18bSSascha Leib			span.client_uc::before, dd.client_uc::before { background-image: url('img/uc.svg'); }
224*93a5b18bSSascha Leib			span.client_huawei::before, dd.client_huawei::before { background-image: url('img/huawei.png'); }
225*93a5b18bSSascha Leib
226*93a5b18bSSascha Leib			/* ip address type */
227*93a5b18bSSascha Leib			span.ip6::before, dd.ip6::before { background-image: url('img/ip6.svg'); }
228*93a5b18bSSascha Leib			span.ip4::before, dd.ip4::before { background-image: url('img/ip4.svg'); }
229*93a5b18bSSascha Leib			span.ip0::before, dd.ip0::before { background-image: url('img/localhost.svg'); }
230*93a5b18bSSascha Leib
231*93a5b18bSSascha Leib			/* user agent */
232*93a5b18bSSascha Leib			span.agent::before { background-image: url('img/info.svg'); }
233*93a5b18bSSascha Leib
234*93a5b18bSSascha Leib		}
235*93a5b18bSSascha Leib
236*93a5b18bSSascha Leib		/* item footer */
237f125bc8dSSascha Leib		footer {
238f125bc8dSSascha Leib			& {
239f125bc8dSSascha Leib				display: flex;
240f125bc8dSSascha Leib				align-items: center;
241f125bc8dSSascha Leib				column-gap: .25rem;
2429bc80cc5SSascha Leib				background-color: #F0F0F0;
243f125bc8dSSascha Leib				color: #333;
2449bc80cc5SSascha Leib				border: #CCC solid 1px;
2459bc80cc5SSascha Leib				border-radius: 0 0 .5rem .5rem;
2469bc80cc5SSascha Leib				margin: 1pt 0 0 0;
247f125bc8dSSascha Leib				padding: .25rem .5rem;
248454b7f55SSascha Leib				line-height: 1.25;
249f125bc8dSSascha Leib			}
250f125bc8dSSascha Leib			& > svg {
251f125bc8dSSascha Leib				width: 1.25em; height: 1.25em;
252f125bc8dSSascha Leib				fill: #333;
253f125bc8dSSascha Leib				flex-shrink: 0;
254f125bc8dSSascha Leib			}
255f125bc8dSSascha Leib			& > span {
256f125bc8dSSascha Leib				font-size: .96rem;
257f125bc8dSSascha Leib				line-height: 1.25rem;
258f125bc8dSSascha Leib			}
259f125bc8dSSascha Leib			& > span.error {
260f125bc8dSSascha Leib				color: #961D1B;
261f125bc8dSSascha Leib				font-weight: bold;
262f125bc8dSSascha Leib			}
263f125bc8dSSascha Leib		}
264f125bc8dSSascha Leib	}
265f125bc8dSSascha Leib}
266454b7f55SSascha Leib
267454b7f55SSascha Leib/* dark mode overrides */
268454b7f55SSascha Leib@media (prefers-color-scheme: dark) {
269454b7f55SSascha Leib	body.darkmode.mode_admin #botmon__admin {
270454b7f55SSascha Leib
271454b7f55SSascha Leib		#botmon__today {
272454b7f55SSascha Leib
273454b7f55SSascha Leib			header {
274454b7f55SSascha Leib				background-color: #0c0c0d;
275454b7f55SSascha Leib				color: #adadb3;
276454b7f55SSascha Leib				border-color: #666;
277454b7f55SSascha Leib			}
278454b7f55SSascha Leib
279454b7f55SSascha Leib			/* list formatting */
280454b7f55SSascha Leib			dl {
281454b7f55SSascha Leib				& {
282454b7f55SSascha Leib					border-left-color: #777;
283454b7f55SSascha Leib				}
284454b7f55SSascha Leib				dt {
285454b7f55SSascha Leib					color: #adadb3;
286454b7f55SSascha Leib				}
287454b7f55SSascha Leib				dd:nth-child(even) {
288*93a5b18bSSascha Leib					background-color: #333337;
289454b7f55SSascha Leib				}
290454b7f55SSascha Leib			}
291454b7f55SSascha Leib
292*93a5b18bSSascha Leib			#botmon__today__content > details {
293*93a5b18bSSascha Leib				summary {
294454b7f55SSascha Leib					& {
295454b7f55SSascha Leib						background-color: #0c0c0d;
296454b7f55SSascha Leib						color: #adadb3;
297454b7f55SSascha Leib						border-color: #666;
298454b7f55SSascha Leib					}
299454b7f55SSascha Leib					&::after {
300454b7f55SSascha Leib						color: #76b0fd;
301454b7f55SSascha Leib					}
302454b7f55SSascha Leib				}
303*93a5b18bSSascha Leib				& > div {
304*93a5b18bSSascha Leib					border-color: #666;
305*93a5b18bSSascha Leib				}
306*93a5b18bSSascha Leib			}
307454b7f55SSascha Leib
308454b7f55SSascha Leib			footer {
309454b7f55SSascha Leib				& {
310454b7f55SSascha Leib					background-color: #0c0c0d;
311454b7f55SSascha Leib					color: #adadb3;
312454b7f55SSascha Leib					border-color: #CCC;
313454b7f55SSascha Leib				}
314454b7f55SSascha Leib				& > svg {
315454b7f55SSascha Leib					fill: #777;
316454b7f55SSascha Leib				}
317454b7f55SSascha Leib				& > span.error {
318454b7f55SSascha Leib					color: #961D1B;
319454b7f55SSascha Leib				}
320454b7f55SSascha Leib			}
321454b7f55SSascha Leib		}
322454b7f55SSascha Leib	}
323454b7f55SSascha Leib}
324*93a5b18bSSascha Leib/* layout overrides for narrow screens: */
325*93a5b18bSSascha Leib@media (max-width: 670px) {
326*93a5b18bSSascha Leib	#botmon__admin {
327*93a5b18bSSascha Leib		.grid-2-columns,
328*93a5b18bSSascha Leib		.grid-3-columns {
329*93a5b18bSSascha Leib			grid-template-columns: 100%;
330*93a5b18bSSascha Leib		}
331*93a5b18bSSascha Leib	}
332*93a5b18bSSascha Leib}
333