.topbar {
  width: 100%;
  background-color: rgb(3, 140, 127);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.1875rem 0.375rem;
  box-sizing: border-box;
  height: 50px;
  max-height: 50px;
}
.vpn-status-container {
    display: flex;
    flex-direction: column;
    width: 50%;
}

/* Header con icona e testo */
.vpn-status-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.vpn-status-title {
    font-weight: 600;
    font-size: 14px;
    color: #1f2937;
}

.vpn-status-description {
    font-size: 12px;
    color: #6b7280;
    font-style: italic;
}

/* Barra di stato (il tuo CSS esistente) */
.vpn-status-bar {
    position: relative;
    height: 12px;
    width: 100%;
    border-radius: 3px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.vpn-status-bar:hover {
    transform: scaleY(1.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.vpn-status-bar.disabled {
    cursor: default;
    opacity: 0.7;
}

.vpn-status-bar.disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Barra grigia - VPN non attiva (con tagli netti) */
.vpn-status-bar.gray {
    background: linear-gradient(90deg, 
        #3f3f46 0%, 
        #3f3f46 100%
    );
    background-size: 200% 100%;
    animation: scrollBar 3s linear infinite;  /* puoi regolare la velocità qui */
}

/* Barra arancione - VPN in connessione (con tagli netti) */
.vpn-status-bar.orange {
    background: linear-gradient(90deg, 
        #fb923c 0%,       /* chiaro */
        #fb923c 12.5%, 
        #ea580c 12.5%,    /* taglio netto */
        #ea580c 25%,      /* scuro */
        #fb923c 25%,      /* taglio netto */
        #fb923c 37.5%,    /* chiaro */
        #ea580c 37.5%,    /* taglio netto */
        #ea580c 50%,      /* scuro */
        #fb923c 50%,      /* taglio netto */
        #fb923c 62.5%,    /* chiaro */
        #ea580c 62.5%,    /* taglio netto */
        #ea580c 75%,      /* scuro */
        #fb923c 75%,      /* taglio netto */
        #fb923c 87.5%,    /* chiaro */
        #ea580c 87.5%,    /* taglio netto */
        #ea580c 100%      /* scuro - fine */
    );
    background-size: 200% 100%;
    animation: scrollBar 3s linear infinite;
}

/* Barra verde - VPN attiva (con tagli netti) */
.vpn-status-bar.green {
    background: linear-gradient(90deg, 
        #22c55e 0%,       /* chiaro - inizio */
        #22c55e 25%, 
        #15803d 25%,      /* taglio netto */
        #15803d 50%,      /* scuro */
        #22c55e 50%,      /* taglio netto */
        #22c55e 75%,      /* chiaro */
        #15803d 75%,      /* taglio netto */
        #15803d 100%      /* scuro - fine */
    );
    background-size: 200% 100%;
    animation: scrollBar 3s linear infinite;
}

/* Barra rossa - VPN disconnessa (con tagli netti) */
.vpn-status-bar.red {
    background: linear-gradient(90deg, 
        #991b1b 0%,    /* taglio netto */
        #991b1b 100%      /* scuro - fine */
    );
    background-size: 200% 100%;
    animation: scrollBar 3s linear infinite;
}

@keyframes scrollBar {
    0% {
        background-position: 0% 0%;
    }
    100% {
        background-position: 200% 0%;
    }
}

.vpn-bar-content {
    display: none;
}

.vpn-status-bar:hover .vpn-bar-content {
    display: none;
}

.custom-buttonsave {
  background-color: rgb(3, 140, 127) !important;
  border: 1px solid white !important;
  color: white !important;
  border-radius: 0 !important;  /* Make the button square */
  margin: 0 0.625rem;
  font-size: 1.1875rem;  /* 19px */
  width: 6.25rem;  /* 100px */
  height: 2.5rem;  /* 40px */
}

.custom-buttonsave-disabled {
  background-color: gray !important;
}

.custom-buttonsave .p-button-label {
  font-weight: normal !important;
}

.button-active {
    background-color: rgb(3, 140, 127) !important;
    border: solid 1px #333;
    border-radius: 0px;
}

.topbar-left, .topbar-right {
  display: flex;
  align-items: center;
}

.topbar-logo {
  height: 2.5rem;  /* 40px */
  margin-right: 0.625rem;  /* 10px */
}

.topbar-text {
  color: white;
  font-size: 1.1875rem;  /* 19px */
  margin-right: 1.25rem;  /* 20px */
}

.topbar-button {
  background-color: white;
  color: rgb(3, 140, 127);
  border: none;
  padding: 0.625rem 1.25rem;  /* 10px 20px */
  margin-left: 0.625rem;  /* 10px */
  cursor: pointer;
  transition: background-color 0.3s;
}

.topbar-button:hover {
  background-color: #f0f0f0;
}

.custom-button {
  color: white;
  font-weight: bold;
}

.custom-tool {
  margin: 0rem 0.2rem;  /* 3px */
  color: #4d4d4d;
}

.custom-tool.p-disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.nodelist-pulsante:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: rgba(0, 0, 0, 0.2);
}

/* Dialog styles */
.info-dialog .p-dialog-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dialog-content {
  text-align: center;
  padding: 1.25rem;  /* 20px */
}

.dialog-logo {
  width: 6.25rem;  /* 100px */
  border-radius: 0.625rem;  /* 10px */
  margin-bottom: 0.625rem;  /* 10px */
}

.info-content {
  font-size: 1.1875rem;  /* 19px */
  margin: 0.625rem 0;  /* 10px */
}

.highlight {
  font-weight: bold;
  color: rgb(3, 140, 127);
}

.dialog-footer {
  margin-top: 1.25rem;  /* 20px */
}

.close-b {
  padding: 0.9375rem 5.625rem !important;  /* 15px 90px */
}

.custom-divider {
  border-left: 1px solid #fff;
  height: 2.5rem;  /* 40px */
  margin: 0 1.25rem;  /* 20px */
}

/* src/components/DownBar.css */
.custom-toolbar {
  background-color: rgb(99, 206, 193);
  color: rgb(77, 77, 77);
  padding: 0.625rem;  /* 10px */
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  height: 60px;
  max-height: 60px;
}

.downbar-text {
  width: 15rem;  /* 240px */
  text-align: center;
  font-weight: bold;
  font-size: 1.1875rem;  /* 19px */
  color: rgb(77, 77, 77);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-dividerw {
  border-left: 1px solid white;
  height: 2.5rem;  /* 40px */
  margin: 0 0.625rem;  /* 10px */
}

.custom-dividerb {
  border-left: 1px solid rgb(77, 77, 77);
  height: 0.625rem;  /* 10px */
  margin: 0 1.25rem;  /* 20px */
}

.custom-dividerb.p-divider.p-divider-vertical {
  padding: 0.75rem 0;
}

.custom-dividerb.p-divider-content {
  background-color: rgb(77, 77, 77) !important;
}

.custom-dividerb.p-divider.p-divider-vertical:before {
  border-color: rgb(77, 77, 77);
}

.custom-buttonw {
  font-size: 1.1875rem;  /* 19px */
  color: white;
  margin: 0 0.3125rem;  /* 5px */
}

.custom-buttonb {
  color: rgb(77, 77, 77);
  margin: 0 0.3125rem;  /* 5px */
}

.left-contents, .right-contents {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.desktop-top {
  display: flex; /* Hide toolbar on small screens */
}

@media (max-width: 1279px) {
  .desktop-top {
    display: none !important; /* Hide toolbar on small screens */
  }

  .hamburger-menu {
    display: flex !important;
  }

}

@media (max-width: 650px) {
  .downbar-text {
    width: 10rem !important;  /* 240px */
  }
}

@media (max-width: 580px) {
  .downbar-text {
    width: 5rem !important;  /* 240px */
  }
}

.p-sidebar .p-sidebar-header .p-sidebar-close, .p-sidebar .p-sidebar-header .p-sidebar-icon {
  color: #fff;
}

.p-toolbar {
  border: 0;
  border-radius: 0;
}

.hamburger-menu {
  display: none;
  z-index: 1000;
  border-color: rgb(77, 77, 77);
  background-color: rgb(99, 206, 193);
  color: rgb(77, 77, 77);
  padding: 0.625rem !important;  /* 10px */
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 2.5rem; /* 40px */
  margin: 0 0.625rem; /* 10px */
}

.sidebar-content {
  display: flex;
  flex-direction: column;
  align-items: start;
}

.tool-hover:hover {
  background-color: rgb(0, 169, 157);
  border-radius: 0px;
}

.custom-help-button {
  width: 1.875rem; /* 30px */
  height: 1.875rem; /* 30px */
  border: 1px solid rgb(77, 77, 77);
  border-radius: 0; /* Rimuove angoli arrotondati */
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent; /* Sfondo trasparente */
  color: rgb(77, 77, 77); /* Colore dell'icona */
  font-size: 1.5rem; /* Dimensione dell'icona */
  cursor: pointer;
  margin: 0px 10px;
}

.custom-tool .orange {
  background-color: #f7931e;
}

.custom-tool .green {
  background-color: #00ff00;
}

.custom-tool .red {
  background-color: #ff0000;
}

.custom-tool.default {
  background-color: transparent;
  border-color: rgb(77, 77, 77);
  color: rgb(77, 77, 77);
}

.side-menu .p-card .p-card-content {
  padding: 0rem !important; 
}

/* Hover sugli item */
.p-tieredmenu .p-menuitem:not(.p-disabled) > .p-menuitem-content:hover {
    background: rgb(99, 206, 193) !important;
    color: white !important;
    border-radius: 0px;
}

/* Item selezionato/evidenziato */
.p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content {
    background: rgb(0, 169, 157) !important;
    color: white !important;
    border-radius: 0px
}

/* Focus */
.p-tieredmenu .p-menuitem:not(.p-disabled) > .p-menuitem-content:focus {
    box-shadow: inset 0 0 0 0.15rem rgb(0, 169, 157) !important;
    border-radius: 0px
}

.p-tieredmenu .p-menuitem-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}