/* Geekom dashboard: restrained, responsive LAN overview. */
body { background: radial-gradient(ellipse at 15% 0%, #172b46 0%, #0b1423 48%, #080e18 100%) !important; }
#information-widgets { gap: .7rem; align-items: center; flex-wrap: wrap; }
.service-card { border: 1px solid rgba(148,163,184,.14); border-radius: 14px; transition: transform .15s ease, border-color .15s ease; }
.service-card:hover { transform: translateY(-2px); border-color: rgba(56,189,248,.5); }
.service-group-name { letter-spacing: .02em; }

/* Center date and clock beneath the disk overview. */
#widgets-wrap {
  flex-wrap: wrap !important;
}
#widgets-wrap > #information-widgets-right {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin: .75rem 0 0 !important;
  justify-content: center !important;
  align-items: center !important;
}
#information-widgets-right .information-widget-datetime {
  width: 100% !important;
  max-width: none !important;
  align-items: center !important;
  text-align: center !important;
}
#information-widgets-right .information-widget-datetime > div {
  width: 100% !important;
  justify-content: center !important;
}

/* Half-width service tiles; preserve typography and height. */
.services-list { --half-columns: 2; --half-gap: 0px; grid-template-columns: repeat(var(--half-columns), minmax(0, 1fr)) !important; column-gap: var(--half-gap) !important; }
@media (min-width: 768px) { .services-list { --half-columns: 4; --half-gap: 2.666666667px; } }
@media (min-width: 1024px) {
 .services-list[class~="lg:grid-cols-4"] { --half-columns: 8; --half-gap: 3.428571429px; }
 .services-list[class~="lg:grid-cols-3"] { --half-columns: 6; --half-gap: 3.2px; }
}
.services-list .service-title-text, .services-list .service-name { min-width: 0; }
.services-list .service-name, .services-list .service-description { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
