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] { 98*43d9de6bSSascha 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 { 13293a5b18bSSascha Leib border: red dotted 1px; 13393a5b18bSSascha Leib } 13493a5b18bSSascha Leib details ul > li > details > summary { 13593a5b18bSSascha Leib display: flex; 13693a5b18bSSascha Leib justify-content: space-between; 13793a5b18bSSascha Leib align-items: center; 13893a5b18bSSascha Leib column-gap: .5em; 13993a5b18bSSascha Leib font-weight: normal; 14093a5b18bSSascha Leib font-size: 1rem; 14193a5b18bSSascha Leib line-height: 1.5; 14293a5b18bSSascha Leib border: blue dashed 1px; 14393a5b18bSSascha Leib } 14493a5b18bSSascha Leib 14593a5b18bSSascha Leib details ul > li > details > summary > span { 14693a5b18bSSascha Leib display: flex; 14793a5b18bSSascha Leib column-gap: .25em; 14893a5b18bSSascha Leib } 14993a5b18bSSascha Leib details ul > li > details > summary > span:first-child { 15093a5b18bSSascha Leib flex-grow: 1; 15193a5b18bSSascha Leib } 15293a5b18bSSascha Leib details ul > li > details > summary > span > span { 15393a5b18bSSascha Leib height: 1.5em; 15493a5b18bSSascha Leib overflow: hidden; 15593a5b18bSSascha Leib } 15693a5b18bSSascha Leib details ul > li > details > summary > span > span::before { 15793a5b18bSSascha Leib content: ''; 15893a5b18bSSascha Leib display: inline-block; 15993a5b18bSSascha Leib width: 1.25em; height: 1em; 16093a5b18bSSascha Leib text-align: center; 16193a5b18bSSascha Leib background: transparent url('img/placeholder.svg') center no-repeat; 16293a5b18bSSascha Leib background-size: 1em; 16393a5b18bSSascha Leib } 16493a5b18bSSascha Leib details ul > li > details > summary > span > span.icon { 16593a5b18bSSascha Leib width: 1.25em; 16693a5b18bSSascha Leib overflow: hidden; 16793a5b18bSSascha Leib } 16893a5b18bSSascha Leib details ul > li > details > summary > span > span[title] { 16993a5b18bSSascha Leib cursor: help; 17093a5b18bSSascha Leib } 17193a5b18bSSascha Leib 17293a5b18bSSascha Leib dl.visitor_details { 17393a5b18bSSascha Leib & { 17493a5b18bSSascha Leib border: green dotted 1px; 17593a5b18bSSascha Leib display: grid; 17693a5b18bSSascha Leib grid-template-columns: min-content auto; 17793a5b18bSSascha Leib } 17893a5b18bSSascha Leib dt { 17993a5b18bSSascha Leib grid-column: 1; 18093a5b18bSSascha Leib white-space: nowrap; 18193a5b18bSSascha Leib } 18293a5b18bSSascha Leib dd { 18393a5b18bSSascha Leib grid-column: 2; 18493a5b18bSSascha Leib display: inline-block; 18593a5b18bSSascha Leib background-color: transparent; 18693a5b18bSSascha Leib } 18793a5b18bSSascha Leib } 18893a5b18bSSascha Leib dd.has_icon::before { 18993a5b18bSSascha Leib content: ''; 19093a5b18bSSascha Leib display: inline-block; 19193a5b18bSSascha Leib width: 1.25em; height: 1.25em; 19293a5b18bSSascha Leib background: transparent url('img/placeholder.svg') center no-repeat; 19393a5b18bSSascha Leib background-size: 1em; 19493a5b18bSSascha Leib } 19593a5b18bSSascha Leib 196*43d9de6bSSascha Leib /* bot icons */ 197*43d9de6bSSascha Leib span.bot::before, dd.bot::before { background-image: url('img/robot.svg') } 198*43d9de6bSSascha Leib span.bot_bingbot::before, dd.bot_bingbot::before { background-image: url('img/bing.svg') } 199*43d9de6bSSascha Leib span.bot_googlebot::before, dd.bot_googlebot::before, 200*43d9de6bSSascha Leib span.bot_googleads::before, dd.bot_googleads::before, 201*43d9de6bSSascha Leib span.bot_googleapi::before, dd.bot_googleapi::before { background-image: url('img/google.svg') } 202*43d9de6bSSascha Leib span.bot_applebot::before, dd.bot_applebot::before { background-image: url('img/apple.svg') } 203*43d9de6bSSascha Leib span.bot_metabots::before, dd.bot_metabots::before { background-image: url('img/meta.svg') } 204*43d9de6bSSascha Leib span.bot_yandexbots::before, dd.bot_yandexbots::before { background-image: url('img/yandex.svg') } 205*43d9de6bSSascha Leib span.bot_seznambot::before, dd.bot_seznambot::before { background-image: url('img/seznam.svg') } 206*43d9de6bSSascha Leib 207*43d9de6bSSascha Leib /* user info */ 208*43d9de6bSSascha Leib span.user::before { background-image: url('img/user.svg') } 20993a5b18bSSascha Leib 21093a5b18bSSascha Leib /* platform icons */ 211*43d9de6bSSascha Leib span.platform_macos::before, dd.platform_macos::before { background-image: url('img/apple.svg') } 212*43d9de6bSSascha Leib span.platform_win10::before, dd.platform_win10::before { background-image: url('img/win11.svg') } 213*43d9de6bSSascha Leib span.platform_linux::before, dd.platform_linux::before { background-image: url('img/linux.svg') } 214*43d9de6bSSascha Leib span.platform_ios::before, dd.platform_ios::before { background-image: url('img/ios.svg') } 215*43d9de6bSSascha Leib span.platform_android::before, dd.platform_android::before { background-image: url('img/android.svg') } 216*43d9de6bSSascha Leib span.platform_winold::before, dd.platform_winold::before { background-image: url('img/winold.png') } 217*43d9de6bSSascha Leib span.platform_tizen::before, dd.platform_tizen::before { background-image: url('img/tizen.png') } 218*43d9de6bSSascha Leib span.platform_hmos::before, dd.platform_hmos::before { background-image: url('img/hmos.svg') } 219*43d9de6bSSascha Leib span.platform_chromium::before, dd.platform_chromium::before { background-image: url('img/chromium.svg') } 22093a5b18bSSascha Leib 22193a5b18bSSascha Leib /* browser icons */ 222*43d9de6bSSascha Leib span.client_opera::before, dd.client_opera::before { background-image: url('img/opera.svg') } 223*43d9de6bSSascha Leib span.client_msie::before, dd.client_msie::before { background-image: url('img/msie.svg') } 224*43d9de6bSSascha Leib span.client_brave::before, dd.client_brave::before { background-image: url('img/brave.svg') } 225*43d9de6bSSascha Leib span.client_msedge::before, dd.client_msedge::before { background-image: url('img/msedge.svg') } 226*43d9de6bSSascha Leib span.client_chrome::before, dd.client_chrome::before { background-image: url('img/chrome.svg') } 227*43d9de6bSSascha Leib span.client_chromeold::before, dd.client_chromeold::before { background-image: url('img/chromeold.svg') } 228*43d9de6bSSascha Leib span.client_safari::before, dd.client_safari::before { background-image: url('img/safari.png') } 229*43d9de6bSSascha Leib span.client_ddg::before, dd.client_ddg::before { background-image: url('img/ddg.svg') } 230*43d9de6bSSascha Leib span.client_firefox::before, dd.client_firefox::before { background-image: url('img/firefox.png') } 231*43d9de6bSSascha Leib span.client_samsung::before, dd.client_samsung::before { background-image: url('img/samsung.svg') } 232*43d9de6bSSascha Leib span.client_uc::before, dd.client_uc::before { background-image: url('img/uc.svg') } 233*43d9de6bSSascha Leib span.client_huawei::before, dd.client_huawei::before { background-image: url('img/huawei.png') } 23493a5b18bSSascha Leib 23593a5b18bSSascha Leib /* ip address type */ 236*43d9de6bSSascha Leib span.ip6::before, dd.ip6::before { background-image: url('img/ip6.svg') } 237*43d9de6bSSascha Leib span.ip4::before, dd.ip4::before { background-image: url('img/ip4.svg') } 238*43d9de6bSSascha Leib span.ip0::before, dd.ip0::before { background-image: url('img/localhost.svg') } 23993a5b18bSSascha Leib 24093a5b18bSSascha Leib /* user agent */ 241*43d9de6bSSascha Leib span.agent::before { background-image: url('img/info.svg') } 24293a5b18bSSascha Leib 24393a5b18bSSascha Leib } 24493a5b18bSSascha Leib 24593a5b18bSSascha Leib /* item footer */ 246f125bc8dSSascha Leib footer { 247f125bc8dSSascha Leib & { 248f125bc8dSSascha Leib display: flex; 249f125bc8dSSascha Leib align-items: center; 250f125bc8dSSascha Leib column-gap: .25rem; 2519bc80cc5SSascha Leib background-color: #F0F0F0; 252f125bc8dSSascha Leib color: #333; 2539bc80cc5SSascha Leib border: #CCC solid 1px; 2549bc80cc5SSascha Leib border-radius: 0 0 .5rem .5rem; 2559bc80cc5SSascha Leib margin: 1pt 0 0 0; 256f125bc8dSSascha Leib padding: .25rem .5rem; 257454b7f55SSascha Leib line-height: 1.25; 258f125bc8dSSascha Leib } 259f125bc8dSSascha Leib & > svg { 260f125bc8dSSascha Leib width: 1.25em; height: 1.25em; 261f125bc8dSSascha Leib fill: #333; 262f125bc8dSSascha Leib flex-shrink: 0; 263f125bc8dSSascha Leib } 264f125bc8dSSascha Leib & > span { 265f125bc8dSSascha Leib font-size: .96rem; 266f125bc8dSSascha Leib line-height: 1.25rem; 267f125bc8dSSascha Leib } 268f125bc8dSSascha Leib & > span.error { 269f125bc8dSSascha Leib color: #961D1B; 270f125bc8dSSascha Leib font-weight: bold; 271f125bc8dSSascha Leib } 272f125bc8dSSascha Leib } 273f125bc8dSSascha Leib } 274f125bc8dSSascha Leib} 275454b7f55SSascha Leib 276454b7f55SSascha Leib/* dark mode overrides */ 277454b7f55SSascha Leib@media (prefers-color-scheme: dark) { 278454b7f55SSascha Leib body.darkmode.mode_admin #botmon__admin { 279454b7f55SSascha Leib 280454b7f55SSascha Leib #botmon__today { 281454b7f55SSascha Leib 282454b7f55SSascha Leib header { 283454b7f55SSascha Leib background-color: #0c0c0d; 284454b7f55SSascha Leib color: #adadb3; 285454b7f55SSascha Leib border-color: #666; 286454b7f55SSascha Leib } 287454b7f55SSascha Leib 288454b7f55SSascha Leib /* list formatting */ 289454b7f55SSascha Leib dl { 290454b7f55SSascha Leib & { 291454b7f55SSascha Leib border-left-color: #777; 292454b7f55SSascha Leib } 293454b7f55SSascha Leib dt { 294454b7f55SSascha Leib color: #adadb3; 295454b7f55SSascha Leib } 296454b7f55SSascha Leib dd:nth-child(even) { 29793a5b18bSSascha Leib background-color: #333337; 298454b7f55SSascha Leib } 299454b7f55SSascha Leib } 300454b7f55SSascha Leib 30193a5b18bSSascha Leib #botmon__today__content > details { 30293a5b18bSSascha Leib summary { 303454b7f55SSascha Leib & { 304454b7f55SSascha Leib background-color: #0c0c0d; 305454b7f55SSascha Leib color: #adadb3; 306454b7f55SSascha Leib border-color: #666; 307454b7f55SSascha Leib } 308454b7f55SSascha Leib &::after { 309454b7f55SSascha Leib color: #76b0fd; 310454b7f55SSascha Leib } 311454b7f55SSascha Leib } 31293a5b18bSSascha Leib & > div { 31393a5b18bSSascha Leib border-color: #666; 31493a5b18bSSascha Leib } 31593a5b18bSSascha Leib } 316454b7f55SSascha Leib 317*43d9de6bSSascha Leib /* visitor lists: */ 318*43d9de6bSSascha Leib #botmon__today__visitorlists { 319*43d9de6bSSascha Leib details ul > li { 320*43d9de6bSSascha Leib color: #aeaeae; 321*43d9de6bSSascha Leib } 322*43d9de6bSSascha Leib } 323*43d9de6bSSascha Leib 324454b7f55SSascha Leib footer { 325454b7f55SSascha Leib & { 326454b7f55SSascha Leib background-color: #0c0c0d; 327454b7f55SSascha Leib color: #adadb3; 328454b7f55SSascha Leib border-color: #CCC; 329454b7f55SSascha Leib } 330454b7f55SSascha Leib & > svg { 331454b7f55SSascha Leib fill: #777; 332454b7f55SSascha Leib } 333454b7f55SSascha Leib & > span.error { 334454b7f55SSascha Leib color: #961D1B; 335454b7f55SSascha Leib } 336454b7f55SSascha Leib } 337454b7f55SSascha Leib } 338454b7f55SSascha Leib } 339454b7f55SSascha Leib} 34093a5b18bSSascha Leib/* layout overrides for narrow screens: */ 34193a5b18bSSascha Leib@media (max-width: 670px) { 34293a5b18bSSascha Leib #botmon__admin { 34393a5b18bSSascha Leib .grid-2-columns, 34493a5b18bSSascha Leib .grid-3-columns { 34593a5b18bSSascha Leib grid-template-columns: 100%; 34693a5b18bSSascha Leib } 34793a5b18bSSascha Leib } 34893a5b18bSSascha Leib} 349