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 { 132*f4417fdeSSascha Leib border: #ccc solid 1px; 133*f4417fdeSSascha 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; 143*f4417fdeSSascha Leib background-color: #F0F0F0; 144*f4417fdeSSascha Leib border-bottom: #CCC solid 1px; 145*f4417fdeSSascha Leib border-radius: .5em; 14693a5b18bSSascha Leib } 14793a5b18bSSascha Leib 14893a5b18bSSascha Leib details ul > li > details > summary > span { 14993a5b18bSSascha Leib display: flex; 150*f4417fdeSSascha 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 { 157*f4417fdeSSascha Leib display: flex; 158*f4417fdeSSascha Leib align-items: center; 159*f4417fdeSSascha 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; 166*f4417fdeSSascha 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; 183*f4417fdeSSascha 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 } 194*f4417fdeSSascha Leib dd.pages { 195*f4417fdeSSascha Leib & { 196*f4417fdeSSascha Leib } 197*f4417fdeSSascha Leib ul { 198*f4417fdeSSascha Leib li { 199*f4417fdeSSascha Leib & { 200*f4417fdeSSascha Leib display: flex; 201*f4417fdeSSascha Leib justify-content: space-between; 202*f4417fdeSSascha Leib align-items: center; 203*f4417fdeSSascha Leib } 204*f4417fdeSSascha Leib } 205*f4417fdeSSascha Leib } 206*f4417fdeSSascha 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 21643d9de6bSSascha Leib /* bot icons */ 21743d9de6bSSascha Leib span.bot::before, dd.bot::before { background-image: url('img/robot.svg') } 21843d9de6bSSascha Leib span.bot_bingbot::before, dd.bot_bingbot::before { background-image: url('img/bing.svg') } 21943d9de6bSSascha Leib span.bot_googlebot::before, dd.bot_googlebot::before, 22043d9de6bSSascha Leib span.bot_googleads::before, dd.bot_googleads::before, 22143d9de6bSSascha Leib span.bot_googleapi::before, dd.bot_googleapi::before { background-image: url('img/google.svg') } 22243d9de6bSSascha Leib span.bot_applebot::before, dd.bot_applebot::before { background-image: url('img/apple.svg') } 223*f4417fdeSSascha Leib span.bot_openai::before, dd.bot_openai::before { background-image: url('img/openai.svg') } 22443d9de6bSSascha Leib span.bot_metabots::before, dd.bot_metabots::before { background-image: url('img/meta.svg') } 22543d9de6bSSascha Leib span.bot_yandexbots::before, dd.bot_yandexbots::before { background-image: url('img/yandex.svg') } 22643d9de6bSSascha Leib span.bot_seznambot::before, dd.bot_seznambot::before { background-image: url('img/seznam.svg') } 22743d9de6bSSascha Leib 22843d9de6bSSascha Leib /* user info */ 229*f4417fdeSSascha Leib span.user_known::before { background-image: url('img/user.svg') } 23093a5b18bSSascha Leib 23193a5b18bSSascha Leib /* platform icons */ 23243d9de6bSSascha Leib span.platform_macos::before, dd.platform_macos::before { background-image: url('img/apple.svg') } 23343d9de6bSSascha Leib span.platform_win10::before, dd.platform_win10::before { background-image: url('img/win11.svg') } 23443d9de6bSSascha Leib span.platform_linux::before, dd.platform_linux::before { background-image: url('img/linux.svg') } 23543d9de6bSSascha Leib span.platform_ios::before, dd.platform_ios::before { background-image: url('img/ios.svg') } 23643d9de6bSSascha Leib span.platform_android::before, dd.platform_android::before { background-image: url('img/android.svg') } 23743d9de6bSSascha Leib span.platform_winold::before, dd.platform_winold::before { background-image: url('img/winold.png') } 23843d9de6bSSascha Leib span.platform_tizen::before, dd.platform_tizen::before { background-image: url('img/tizen.png') } 23943d9de6bSSascha Leib span.platform_hmos::before, dd.platform_hmos::before { background-image: url('img/hmos.svg') } 24043d9de6bSSascha Leib span.platform_chromium::before, dd.platform_chromium::before { background-image: url('img/chromium.svg') } 241*f4417fdeSSascha Leib span.platform_bsd::before, dd.platform_bsd::before { background-image: url('img/freebsd.png') } 24293a5b18bSSascha Leib 24393a5b18bSSascha Leib /* browser icons */ 24443d9de6bSSascha Leib span.client_opera::before, dd.client_opera::before { background-image: url('img/opera.svg') } 24543d9de6bSSascha Leib span.client_msie::before, dd.client_msie::before { background-image: url('img/msie.svg') } 24643d9de6bSSascha Leib span.client_brave::before, dd.client_brave::before { background-image: url('img/brave.svg') } 24743d9de6bSSascha Leib span.client_msedge::before, dd.client_msedge::before { background-image: url('img/msedge.svg') } 24843d9de6bSSascha Leib span.client_chrome::before, dd.client_chrome::before { background-image: url('img/chrome.svg') } 24943d9de6bSSascha Leib span.client_chromeold::before, dd.client_chromeold::before { background-image: url('img/chromeold.svg') } 25043d9de6bSSascha Leib span.client_safari::before, dd.client_safari::before { background-image: url('img/safari.png') } 25143d9de6bSSascha Leib span.client_ddg::before, dd.client_ddg::before { background-image: url('img/ddg.svg') } 25243d9de6bSSascha Leib span.client_firefox::before, dd.client_firefox::before { background-image: url('img/firefox.png') } 25343d9de6bSSascha Leib span.client_samsung::before, dd.client_samsung::before { background-image: url('img/samsung.svg') } 25443d9de6bSSascha Leib span.client_uc::before, dd.client_uc::before { background-image: url('img/uc.svg') } 25543d9de6bSSascha Leib span.client_huawei::before, dd.client_huawei::before { background-image: url('img/huawei.png') } 256*f4417fdeSSascha Leib span.client_vivaldi::before, dd.client_vivaldi::before { background-image: url('img/vivaldi.png') } 25793a5b18bSSascha Leib 25893a5b18bSSascha Leib /* ip address type */ 25943d9de6bSSascha Leib span.ip6::before, dd.ip6::before { background-image: url('img/ip6.svg') } 26043d9de6bSSascha Leib span.ip4::before, dd.ip4::before { background-image: url('img/ip4.svg') } 26143d9de6bSSascha Leib span.ip0::before, dd.ip0::before { background-image: url('img/localhost.svg') } 26293a5b18bSSascha Leib 26393a5b18bSSascha Leib /* user agent */ 26443d9de6bSSascha Leib span.agent::before { background-image: url('img/info.svg') } 26593a5b18bSSascha Leib 266*f4417fdeSSascha Leib /* pageviews */ 267*f4417fdeSSascha Leib span.pageviews { 268*f4417fdeSSascha Leib border: #999 solid 1px; 269*f4417fdeSSascha Leib padding: 0 2px; 270*f4417fdeSSascha Leib font-size: smaller; 271*f4417fdeSSascha Leib border-radius: .25em; 272*f4417fdeSSascha Leib } 273*f4417fdeSSascha Leib span.pageviews::before { background-image: url('img/page.svg') } 274*f4417fdeSSascha Leib 27593a5b18bSSascha Leib } 27693a5b18bSSascha Leib 27793a5b18bSSascha Leib /* item footer */ 278f125bc8dSSascha Leib footer { 279f125bc8dSSascha Leib & { 280f125bc8dSSascha Leib display: flex; 281f125bc8dSSascha Leib align-items: center; 282f125bc8dSSascha Leib column-gap: .25rem; 2839bc80cc5SSascha Leib background-color: #F0F0F0; 284f125bc8dSSascha Leib color: #333; 2859bc80cc5SSascha Leib border: #CCC solid 1px; 2869bc80cc5SSascha Leib border-radius: 0 0 .5rem .5rem; 2879bc80cc5SSascha Leib margin: 1pt 0 0 0; 288f125bc8dSSascha Leib padding: .25rem .5rem; 289454b7f55SSascha Leib line-height: 1.25; 290f125bc8dSSascha Leib } 291f125bc8dSSascha Leib & > svg { 292f125bc8dSSascha Leib width: 1.25em; height: 1.25em; 293f125bc8dSSascha Leib fill: #333; 294f125bc8dSSascha Leib flex-shrink: 0; 295f125bc8dSSascha Leib } 296f125bc8dSSascha Leib & > span { 297f125bc8dSSascha Leib font-size: .96rem; 298f125bc8dSSascha Leib line-height: 1.25rem; 299f125bc8dSSascha Leib } 300f125bc8dSSascha Leib & > span.error { 301f125bc8dSSascha Leib color: #961D1B; 302f125bc8dSSascha Leib font-weight: bold; 303f125bc8dSSascha Leib } 304f125bc8dSSascha Leib } 305f125bc8dSSascha Leib } 306f125bc8dSSascha Leib} 307454b7f55SSascha Leib 308454b7f55SSascha Leib/* dark mode overrides */ 309454b7f55SSascha Leib@media (prefers-color-scheme: dark) { 310454b7f55SSascha Leib body.darkmode.mode_admin #botmon__admin { 311454b7f55SSascha Leib 312454b7f55SSascha Leib #botmon__today { 313454b7f55SSascha Leib 314454b7f55SSascha Leib header { 315454b7f55SSascha Leib background-color: #0c0c0d; 316454b7f55SSascha Leib color: #adadb3; 317454b7f55SSascha Leib border-color: #666; 318454b7f55SSascha Leib } 319454b7f55SSascha Leib 320454b7f55SSascha Leib /* list formatting */ 321454b7f55SSascha Leib dl { 322454b7f55SSascha Leib & { 323454b7f55SSascha Leib border-left-color: #777; 324454b7f55SSascha Leib } 325454b7f55SSascha Leib dt { 326454b7f55SSascha Leib color: #adadb3; 327454b7f55SSascha Leib } 328454b7f55SSascha Leib dd:nth-child(even) { 32993a5b18bSSascha Leib background-color: #333337; 330454b7f55SSascha Leib } 331454b7f55SSascha Leib } 332454b7f55SSascha Leib 33393a5b18bSSascha Leib #botmon__today__content > details { 33493a5b18bSSascha Leib summary { 335454b7f55SSascha Leib & { 336454b7f55SSascha Leib background-color: #0c0c0d; 337454b7f55SSascha Leib color: #adadb3; 338454b7f55SSascha Leib border-color: #666; 339454b7f55SSascha Leib } 340454b7f55SSascha Leib &::after { 341454b7f55SSascha Leib color: #76b0fd; 342454b7f55SSascha Leib } 343454b7f55SSascha Leib } 34493a5b18bSSascha Leib & > div { 34593a5b18bSSascha Leib border-color: #666; 34693a5b18bSSascha Leib } 34793a5b18bSSascha Leib } 348454b7f55SSascha Leib 34943d9de6bSSascha Leib /* visitor lists: */ 35043d9de6bSSascha Leib #botmon__today__visitorlists { 35143d9de6bSSascha Leib details ul > li { 35243d9de6bSSascha Leib color: #aeaeae; 35343d9de6bSSascha Leib } 35443d9de6bSSascha Leib } 35543d9de6bSSascha Leib 356454b7f55SSascha Leib footer { 357454b7f55SSascha Leib & { 358454b7f55SSascha Leib background-color: #0c0c0d; 359454b7f55SSascha Leib color: #adadb3; 360454b7f55SSascha Leib border-color: #CCC; 361454b7f55SSascha Leib } 362454b7f55SSascha Leib & > svg { 363454b7f55SSascha Leib fill: #777; 364454b7f55SSascha Leib } 365454b7f55SSascha Leib & > span.error { 366454b7f55SSascha Leib color: #961D1B; 367454b7f55SSascha Leib } 368454b7f55SSascha Leib } 369454b7f55SSascha Leib } 370454b7f55SSascha Leib } 371454b7f55SSascha Leib} 37293a5b18bSSascha Leib/* layout overrides for narrow screens: */ 37393a5b18bSSascha Leib@media (max-width: 670px) { 37493a5b18bSSascha Leib #botmon__admin { 37593a5b18bSSascha Leib .grid-2-columns, 37693a5b18bSSascha Leib .grid-3-columns { 37793a5b18bSSascha Leib grid-template-columns: 100%; 37893a5b18bSSascha Leib } 37993a5b18bSSascha Leib } 38093a5b18bSSascha Leib} 381