xref: /plugin/botmon/style.less (revision bc55f6a6687982bead592e624dcba342b81ec9c6)
17bd08c30SSascha Leib#botmon__admin {
2f125bc8dSSascha Leib
3f125bc8dSSascha Leib	section[role="tabpanel"] {
4f125bc8dSSascha Leib		margin: .25rem 0;
5f125bc8dSSascha Leib	}
6f125bc8dSSascha Leib
793a5b18bSSascha Leib	/* grid layout classes (taken from the Ad-Hoc Wrap plugin) */
893a5b18bSSascha Leib	.grid-2-columns,
993a5b18bSSascha Leib	.grid-3-columns {
1093a5b18bSSascha Leib		display: grid;
1193a5b18bSSascha Leib	}
1293a5b18bSSascha Leib	.grid-2-columns {
1393a5b18bSSascha Leib		grid-template-columns: 1fr 1fr;
1493a5b18bSSascha Leib		grid-gap: 0 .5em;
1593a5b18bSSascha Leib	}
1693a5b18bSSascha Leib	.grid-3-columns {
1793a5b18bSSascha Leib		grid-template-columns: 1fr 1fr 1fr;
1893a5b18bSSascha Leib		grid-gap: 0 .33em;
1993a5b18bSSascha Leib	}
2093a5b18bSSascha Leib
2193a5b18bSSascha Leib	/* the "today" tab: */
227bd08c30SSascha Leib	#botmon__today {
23f125bc8dSSascha Leib
2493a5b18bSSascha 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
6293a5b18bSSascha Leib		/* Content */
637bd08c30SSascha Leib		#botmon__today__content {
6493a5b18bSSascha Leib			& details {
659bc80cc5SSascha Leib				& {
669bc80cc5SSascha Leib					margin: 0 0 1pt 0;
67454b7f55SSascha Leib					text-align: left;
689bc80cc5SSascha Leib				}
699bc80cc5SSascha Leib				summary {
709bc80cc5SSascha Leib					& {
7193a5b18bSSascha Leib						display: flex;
7293a5b18bSSascha Leib						justify-content: flex-start;
7393a5b18bSSascha Leib						align-items: center;
7493a5b18bSSascha Leib						column-gap: .25em;
759bc80cc5SSascha Leib						font-weight: bold;
769bc80cc5SSascha Leib						font-size: 1rem;
77454b7f55SSascha Leib						line-height: 1.5;
789bc80cc5SSascha Leib						margin: 0;
7993a5b18bSSascha Leib						padding: .25em;
8093a5b18bSSascha Leib						color: #333;
8193a5b18bSSascha Leib						cursor: pointer;
829bc80cc5SSascha Leib					}
83454b7f55SSascha Leib					&::marker, &::before {
8493a5b18bSSascha Leib						content: none;
85454b7f55SSascha Leib						display: none;
869bc80cc5SSascha Leib					}
8793a5b18bSSascha Leib					&::before {
8893a5b18bSSascha Leib						content: '';
899bc80cc5SSascha Leib						display: inline-block;
9093a5b18bSSascha Leib						width: 1.25em; height: 1.25em;
9193a5b18bSSascha Leib						background: transparent url('img/chevron.svg') center no-repeat;
9293a5b18bSSascha Leib						background-size: 1.25em;
9393a5b18bSSascha Leib						transform: rotate(-90deg);
9493a5b18bSSascha Leib						transition-duration: .25s;
959bc80cc5SSascha Leib					}
969bc80cc5SSascha Leib				}
979bc80cc5SSascha Leib				&[open] {
9843d9de6bSSascha Leib					& > summary::before {
9993a5b18bSSascha Leib						transform: rotate(0deg);
1009bc80cc5SSascha Leib					}
1019bc80cc5SSascha Leib				}
1029bc80cc5SSascha Leib				& > div {
1039bc80cc5SSascha Leib					padding: .5rem;
10493a5b18bSSascha Leib					border: #CCC solid 1px;
10593a5b18bSSascha Leib					border-top-width: 0;
10693a5b18bSSascha Leib					border-radius: 0 0 .25rem .25rem;
1079bc80cc5SSascha Leib				}
10893a5b18bSSascha Leib				& details summary {
10993a5b18bSSascha Leib					background-color: transparent;
11093a5b18bSSascha Leib					border: transparent none 0;
11193a5b18bSSascha Leib				}
11293a5b18bSSascha Leib			}
11393a5b18bSSascha Leib			& > details > summary {
11493a5b18bSSascha Leib				background-color: #F0F0F0;
11593a5b18bSSascha Leib				border: #CCC solid 1px;
1169bc80cc5SSascha Leib			}
1179bc80cc5SSascha Leib		}
1189bc80cc5SSascha Leib
11993a5b18bSSascha Leib		/* visitor lists: */
12093a5b18bSSascha Leib		#botmon__today__visitorlists {
12193a5b18bSSascha Leib			details ul {
12293a5b18bSSascha Leib				margin: 0;
12393a5b18bSSascha Leib				padding: 0;
12493a5b18bSSascha Leib				list-style: none;
12593a5b18bSSascha Leib			}
12693a5b18bSSascha Leib			details ul > li {
12793a5b18bSSascha Leib				margin: 0 0 0 .75rem;
12893a5b18bSSascha Leib				padding: 0;
12993a5b18bSSascha Leib				color: #000;
13093a5b18bSSascha Leib			}
13193a5b18bSSascha Leib			details ul > li > details {
132f4417fdeSSascha Leib				border: #ccc solid 1px;
133f4417fdeSSascha Leib				border-radius: .5em;
13493a5b18bSSascha Leib			}
13593a5b18bSSascha Leib			details ul > li > details > summary {
13693a5b18bSSascha Leib				display: flex;
13793a5b18bSSascha Leib				justify-content: space-between;
13893a5b18bSSascha Leib				align-items: center;
13993a5b18bSSascha Leib				column-gap: .5em;
14093a5b18bSSascha Leib				font-weight: normal;
14193a5b18bSSascha Leib				font-size: 1rem;
14293a5b18bSSascha Leib				line-height: 1.5;
143f4417fdeSSascha Leib				background-color: #F0F0F0;
144f4417fdeSSascha Leib				border-bottom: #CCC solid 1px;
145f4417fdeSSascha Leib				border-radius: .5em;
14693a5b18bSSascha Leib			}
14793a5b18bSSascha Leib
14893a5b18bSSascha Leib			details ul > li > details > summary > span {
14993a5b18bSSascha Leib				display: flex;
150f4417fdeSSascha Leib				align-items: center;
15193a5b18bSSascha Leib				column-gap: .25em;
15293a5b18bSSascha Leib			}
15393a5b18bSSascha Leib			details ul > li > details > summary > span:first-child {
15493a5b18bSSascha Leib				flex-grow: 1;
15593a5b18bSSascha Leib			}
15693a5b18bSSascha Leib			details ul > li > details > summary > span > span {
157f4417fdeSSascha Leib				display: flex;
158f4417fdeSSascha Leib				align-items: center;
159f4417fdeSSascha Leib				column-gap: .25em;
16093a5b18bSSascha Leib				height: 1.5em;
16193a5b18bSSascha Leib				overflow: hidden;
16293a5b18bSSascha Leib			}
16393a5b18bSSascha Leib			details ul > li > details > summary > span > span::before {
16493a5b18bSSascha Leib				content: '';
16593a5b18bSSascha Leib				display: inline-block;
166f4417fdeSSascha Leib				min-width: 1.25em; height: 1em;
16793a5b18bSSascha Leib				text-align: center;
16893a5b18bSSascha Leib				background: transparent url('img/placeholder.svg') center no-repeat;
16993a5b18bSSascha Leib				background-size: 1em;
17093a5b18bSSascha Leib			}
17193a5b18bSSascha Leib			details ul > li > details > summary > span > span.icon {
17293a5b18bSSascha Leib				width: 1.25em;
17393a5b18bSSascha Leib				overflow: hidden;
17493a5b18bSSascha Leib			}
17593a5b18bSSascha Leib			details ul > li > details > summary > span > span[title] {
17693a5b18bSSascha Leib				cursor: help;
17793a5b18bSSascha Leib			}
17893a5b18bSSascha Leib
17993a5b18bSSascha Leib			dl.visitor_details {
18093a5b18bSSascha Leib				& {
18193a5b18bSSascha Leib					display: grid;
18293a5b18bSSascha Leib					grid-template-columns: min-content auto;
183f4417fdeSSascha Leib					border-left: transparent none 0;
18493a5b18bSSascha Leib				}
18593a5b18bSSascha Leib				dt {
18693a5b18bSSascha Leib					grid-column: 1;
18793a5b18bSSascha Leib					white-space: nowrap;
18893a5b18bSSascha Leib				}
18993a5b18bSSascha Leib				dd {
19093a5b18bSSascha Leib					grid-column: 2;
19193a5b18bSSascha Leib					display: inline-block;
19293a5b18bSSascha Leib					background-color: transparent;
19393a5b18bSSascha Leib				}
194f4417fdeSSascha Leib				dd.pages {
195f4417fdeSSascha Leib					& {
196f4417fdeSSascha Leib					}
197f4417fdeSSascha Leib					ul {
198f4417fdeSSascha Leib						li {
199f4417fdeSSascha Leib							& {
200f4417fdeSSascha Leib								display: flex;
201f4417fdeSSascha Leib								justify-content: space-between;
202f4417fdeSSascha Leib								align-items: center;
203f4417fdeSSascha Leib							}
204f4417fdeSSascha Leib						}
205f4417fdeSSascha Leib					}
206f4417fdeSSascha Leib				}
20793a5b18bSSascha Leib			}
20893a5b18bSSascha Leib			dd.has_icon::before {
20993a5b18bSSascha Leib				content: '';
21093a5b18bSSascha Leib				display: inline-block;
21193a5b18bSSascha Leib				width: 1.25em; height: 1.25em;
21293a5b18bSSascha Leib				background: transparent url('img/placeholder.svg') center no-repeat;
21393a5b18bSSascha Leib				background-size: 1em;
21493a5b18bSSascha Leib			}
21593a5b18bSSascha Leib
216*bc55f6a6SSascha Leib			ul.eval {
217*bc55f6a6SSascha Leib				li {
218*bc55f6a6SSascha Leib					display: flex;
219*bc55f6a6SSascha Leib					justify-content: space-between;
220*bc55f6a6SSascha Leib					align-items: center;
221*bc55f6a6SSascha Leib				}
222*bc55f6a6SSascha Leib				li:nth-child(odd) {
223*bc55f6a6SSascha Leib					background-color: #EEE;
224*bc55f6a6SSascha Leib				}
225*bc55f6a6SSascha Leib				li.total {
226*bc55f6a6SSascha Leib					border-top: #333 solid 1px;
227*bc55f6a6SSascha Leib					font-style: italic;
228*bc55f6a6SSascha Leib				}
229*bc55f6a6SSascha Leib			}
230*bc55f6a6SSascha Leib
23143d9de6bSSascha Leib			/* bot icons */
23243d9de6bSSascha Leib			span.bot::before, dd.bot::before { background-image: url('img/robot.svg') }
23343d9de6bSSascha Leib			span.bot_bingbot::before, dd.bot_bingbot::before { background-image: url('img/bing.svg') }
23443d9de6bSSascha Leib			span.bot_googlebot::before, dd.bot_googlebot::before,
23543d9de6bSSascha Leib			span.bot_googleads::before, dd.bot_googleads::before,
23643d9de6bSSascha Leib			span.bot_googleapi::before, dd.bot_googleapi::before { background-image: url('img/google.svg') }
23743d9de6bSSascha Leib			span.bot_applebot::before, dd.bot_applebot::before { background-image: url('img/apple.svg') }
238f4417fdeSSascha Leib			span.bot_openai::before, dd.bot_openai::before { background-image: url('img/openai.svg') }
23943d9de6bSSascha Leib			span.bot_metabots::before, dd.bot_metabots::before { background-image: url('img/meta.svg') }
24043d9de6bSSascha Leib			span.bot_yandexbots::before, dd.bot_yandexbots::before { background-image: url('img/yandex.svg') }
24143d9de6bSSascha Leib			span.bot_seznambot::before, dd.bot_seznambot::before { background-image: url('img/seznam.svg') }
24243d9de6bSSascha Leib
24343d9de6bSSascha Leib			/* user info */
244f4417fdeSSascha Leib			span.user_known::before { background-image: url('img/user.svg') }
24593a5b18bSSascha Leib
24693a5b18bSSascha Leib			/* platform icons */
24743d9de6bSSascha Leib			span.platform_win10::before, dd.platform_win10::before { background-image: url('img/win11.svg') }
248259d3b85SSascha Leib			span.platform_macos::before, dd.platform_macos::before { background-image: url('img/apple.svg') }
24943d9de6bSSascha Leib			span.platform_linux::before, dd.platform_linux::before { background-image: url('img/linux.svg') }
25043d9de6bSSascha Leib			span.platform_ios::before, dd.platform_ios::before { background-image: url('img/ios.svg') }
25143d9de6bSSascha Leib			span.platform_android::before, dd.platform_android::before { background-image: url('img/android.svg') }
25243d9de6bSSascha Leib			span.platform_winold::before, dd.platform_winold::before { background-image: url('img/winold.png') }
253259d3b85SSascha Leib			span.platform_macosold::before, dd.platform_macosold::before { background-image: url('img/macos.svg') }
25443d9de6bSSascha Leib			span.platform_tizen::before, dd.platform_tizen::before { background-image: url('img/tizen.png') }
25543d9de6bSSascha Leib			span.platform_hmos::before, dd.platform_hmos::before { background-image: url('img/hmos.svg') }
25643d9de6bSSascha Leib			span.platform_chromium::before, dd.platform_chromium::before { background-image: url('img/chromium.svg') }
257f4417fdeSSascha Leib			span.platform_bsd::before, dd.platform_bsd::before { background-image: url('img/freebsd.png') }
25893a5b18bSSascha Leib
25993a5b18bSSascha Leib			/* browser icons */
26043d9de6bSSascha Leib			span.client_opera::before, dd.client_opera::before { background-image: url('img/opera.svg') }
26143d9de6bSSascha Leib			span.client_msie::before, dd.client_msie::before { background-image: url('img/msie.svg') }
26243d9de6bSSascha Leib			span.client_brave::before, dd.client_brave::before { background-image: url('img/brave.svg') }
26343d9de6bSSascha Leib			span.client_msedge::before, dd.client_msedge::before { background-image: url('img/msedge.svg') }
26443d9de6bSSascha Leib			span.client_chrome::before, dd.client_chrome::before { background-image: url('img/chrome.svg') }
26543d9de6bSSascha Leib			span.client_chromeold::before, dd.client_chromeold::before { background-image: url('img/chromeold.svg') }
26643d9de6bSSascha Leib			span.client_safari::before, dd.client_safari::before { background-image: url('img/safari.png') }
26743d9de6bSSascha Leib			span.client_ddg::before, dd.client_ddg::before { background-image: url('img/ddg.svg') }
26843d9de6bSSascha Leib			span.client_firefox::before, dd.client_firefox::before { background-image: url('img/firefox.png') }
26943d9de6bSSascha Leib			span.client_samsung::before, dd.client_samsung::before { background-image: url('img/samsung.svg') }
27043d9de6bSSascha Leib			span.client_uc::before, dd.client_uc::before { background-image: url('img/uc.svg') }
27143d9de6bSSascha Leib			span.client_huawei::before, dd.client_huawei::before { background-image: url('img/huawei.png') }
272259d3b85SSascha Leib			span.client_vivaldi::before, dd.client_vivaldi::before { background-image: url('img/vivaldi.svg') }
273259d3b85SSascha Leib			span.client_aol::before, dd.client_aol::before { background-image: url('img/aol.png') }
27493a5b18bSSascha Leib
27593a5b18bSSascha Leib			/* ip address type */
27643d9de6bSSascha Leib			span.ip6::before, dd.ip6::before { background-image: url('img/ip6.svg') }
27743d9de6bSSascha Leib			span.ip4::before, dd.ip4::before { background-image: url('img/ip4.svg') }
27843d9de6bSSascha Leib			span.ip0::before, dd.ip0::before { background-image: url('img/localhost.svg') }
27993a5b18bSSascha Leib
28093a5b18bSSascha Leib			/* user agent */
28143d9de6bSSascha Leib			span.agent::before { background-image: url('img/info.svg') }
28293a5b18bSSascha Leib
283f4417fdeSSascha Leib			/* pageviews */
284f4417fdeSSascha Leib			span.pageviews {
285f4417fdeSSascha Leib				border: #999 solid 1px;
286f4417fdeSSascha Leib				padding: 0 2px;
287f4417fdeSSascha Leib				font-size: smaller;
288f4417fdeSSascha Leib				border-radius: .25em;
289f4417fdeSSascha Leib			}
290f4417fdeSSascha Leib			span.pageviews::before { background-image: url('img/page.svg') }
291f4417fdeSSascha Leib
29293a5b18bSSascha Leib		}
29393a5b18bSSascha Leib
29493a5b18bSSascha Leib		/* item footer */
295f125bc8dSSascha Leib		footer {
296f125bc8dSSascha Leib			& {
297f125bc8dSSascha Leib				display: flex;
298f125bc8dSSascha Leib				align-items: center;
299f125bc8dSSascha Leib				column-gap: .25rem;
3009bc80cc5SSascha Leib				background-color: #F0F0F0;
301f125bc8dSSascha Leib				color: #333;
3029bc80cc5SSascha Leib				border: #CCC solid 1px;
3039bc80cc5SSascha Leib				border-radius: 0 0 .5rem .5rem;
3049bc80cc5SSascha Leib				margin: 1pt 0 0 0;
305f125bc8dSSascha Leib				padding: .25rem .5rem;
306454b7f55SSascha Leib				line-height: 1.25;
307f125bc8dSSascha Leib			}
308f125bc8dSSascha Leib			& > svg {
309f125bc8dSSascha Leib				width: 1.25em; height: 1.25em;
310f125bc8dSSascha Leib				fill: #333;
311f125bc8dSSascha Leib				flex-shrink: 0;
312f125bc8dSSascha Leib			}
313f125bc8dSSascha Leib			& > span {
314f125bc8dSSascha Leib				font-size: .96rem;
315f125bc8dSSascha Leib				line-height: 1.25rem;
316f125bc8dSSascha Leib			}
317f125bc8dSSascha Leib			& > span.error {
318f125bc8dSSascha Leib				color: #961D1B;
319f125bc8dSSascha Leib				font-weight: bold;
320f125bc8dSSascha Leib			}
321f125bc8dSSascha Leib		}
322f125bc8dSSascha Leib	}
323f125bc8dSSascha Leib}
324454b7f55SSascha Leib
325454b7f55SSascha Leib/* dark mode overrides */
326454b7f55SSascha Leib@media (prefers-color-scheme: dark) {
327454b7f55SSascha Leib	body.darkmode.mode_admin #botmon__admin {
328454b7f55SSascha Leib
329454b7f55SSascha Leib		#botmon__today {
330454b7f55SSascha Leib
331454b7f55SSascha Leib			header {
332454b7f55SSascha Leib				background-color: #0c0c0d;
333454b7f55SSascha Leib				color: #adadb3;
334454b7f55SSascha Leib				border-color: #666;
335454b7f55SSascha Leib			}
336454b7f55SSascha Leib
337454b7f55SSascha Leib			/* list formatting */
338454b7f55SSascha Leib			dl {
339454b7f55SSascha Leib				& {
340454b7f55SSascha Leib					border-left-color: #777;
341454b7f55SSascha Leib				}
342454b7f55SSascha Leib				dt {
343454b7f55SSascha Leib					color: #adadb3;
344454b7f55SSascha Leib				}
345454b7f55SSascha Leib				dd:nth-child(even) {
34693a5b18bSSascha Leib					background-color: #333337;
347454b7f55SSascha Leib				}
348454b7f55SSascha Leib			}
349454b7f55SSascha Leib
35093a5b18bSSascha Leib			#botmon__today__content > details {
35193a5b18bSSascha Leib				summary {
352454b7f55SSascha Leib					& {
353454b7f55SSascha Leib						background-color: #0c0c0d;
354454b7f55SSascha Leib						color: #adadb3;
355454b7f55SSascha Leib						border-color: #666;
356454b7f55SSascha Leib					}
357454b7f55SSascha Leib					&::after {
358454b7f55SSascha Leib						color: #76b0fd;
359454b7f55SSascha Leib					}
360454b7f55SSascha Leib				}
36193a5b18bSSascha Leib				& > div {
36293a5b18bSSascha Leib					border-color: #666;
36393a5b18bSSascha Leib				}
36493a5b18bSSascha Leib			}
365454b7f55SSascha Leib
36643d9de6bSSascha Leib			/* visitor lists: */
36743d9de6bSSascha Leib			#botmon__today__visitorlists {
36843d9de6bSSascha Leib				details ul > li {
36943d9de6bSSascha Leib					color: #aeaeae;
37043d9de6bSSascha Leib				}
37143d9de6bSSascha Leib			}
37243d9de6bSSascha Leib
373454b7f55SSascha Leib			footer {
374454b7f55SSascha Leib				& {
375454b7f55SSascha Leib					background-color: #0c0c0d;
376454b7f55SSascha Leib					color: #adadb3;
377454b7f55SSascha Leib					border-color: #CCC;
378454b7f55SSascha Leib				}
379454b7f55SSascha Leib				& > svg {
380454b7f55SSascha Leib					fill: #777;
381454b7f55SSascha Leib				}
382454b7f55SSascha Leib				& > span.error {
383454b7f55SSascha Leib					color: #961D1B;
384454b7f55SSascha Leib				}
385454b7f55SSascha Leib			}
386454b7f55SSascha Leib		}
387454b7f55SSascha Leib	}
388454b7f55SSascha Leib}
38993a5b18bSSascha Leib/* layout overrides for narrow screens: */
39093a5b18bSSascha Leib@media (max-width: 670px) {
39193a5b18bSSascha Leib	#botmon__admin {
39293a5b18bSSascha Leib		.grid-2-columns,
39393a5b18bSSascha Leib		.grid-3-columns {
39493a5b18bSSascha Leib			grid-template-columns: 100%;
39593a5b18bSSascha Leib		}
39693a5b18bSSascha Leib	}
39793a5b18bSSascha Leib}
398