:root{
  --bg:#04101d;
  --panel:#071a2c;
  --panel2:#09243b;
  --line:#17608f;
  --cyan:#00b8f4;
  --orange:#ff7600;
  --green:#00d982;
  --text:#edf7ff;
  --muted:#8fa9bd;
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  background:
    radial-gradient(circle at 50% 0,#0b2c47 0,#04101d 42%,#020a12 100%) !important;
}

body{
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
}

.wrap{
  width:100% !important;
  max-width:1600px !important;
  margin:0 auto !important;
  padding:5px !important;
}

.v3-app{
  width:100%;
  border:1px solid #0e4e79;
  background:#04111e;
  box-shadow:0 0 45px rgba(0,0,0,.34);
}

/* ======================================================
   HEADER
   ====================================================== */

.v3-header{
  min-height:112px;
  display:grid;
  grid-template-columns:minmax(465px,1.3fr)
                        minmax(430px,1.15fr)
                        minmax(410px,.92fr);
  align-items:center;
  gap:8px;
  padding:7px 10px;
  background:
    linear-gradient(90deg,#06192b,#092b47 54%,#061827);
  border-bottom:1px solid var(--line);
}

.v3-brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}

.v3-logo{
  width:91px;
  height:91px;
  object-fit:contain;
  flex:0 0 91px;
}

.v3-brand-copy{
  min-width:0;
}

.v3-brand h1{
  margin:0;
  color:#fff;
  font-size:35px;
  line-height:.95;
  font-weight:950;
  white-space:nowrap;
  letter-spacing:.4px;
}

.v3-brand-sub{
  margin-top:7px;
  color:#e9f1f7;
  font-size:11px;
  font-weight:900;
  letter-spacing:2.3px;
  white-space:nowrap;
}

.v3-brand-line{
  margin-top:6px;
  color:#5cc8ee;
  font-size:9px;
  font-weight:800;
  letter-spacing:.75px;
}

.v3-protocols{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:5px 7px;
  align-items:center;
}

.v3-protocol{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:3px;
  color:#b9cfde;
  font-size:9px;
  white-space:nowrap;
}

.v3-protocol b{
  color:#07baf5;
  font-size:14px;
}

.v3-header-status{
  height:94px;
  display:grid;
  grid-template-columns:1.05fr .78fr 1.2fr;
  gap:4px;
}

.v3-status-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #15577f;
  background:linear-gradient(180deg,#09243b,#061725);
  border-radius:4px;
}

.v3-status-card small{
  color:#9fb2c1;
  font-size:9px;
  text-transform:uppercase;
}

.v3-status-card strong{
  color:#fff;
  font-size:20px;
  margin-top:4px;
}

.v3-status-card span{
  color:#7895a9;
  font-size:8px;
  font-weight:800;
  margin-top:5px;
}

.v3-users-card #heroCount{
  font-size:31px !important;
  font-weight:950 !important;
  color:#fff !important;
  line-height:1 !important;
}

.v3-network-card i{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#00ef8b;
  box-shadow:0 0 13px rgba(0,239,139,.8);
}

.v3-network-card strong{
  color:#00e98a;
  font-size:11px;
}

/* ======================================================
   NAV
   ====================================================== */

.v3-nav{
  display:grid;
  grid-template-columns:repeat(11,minmax(0,1fr));
  gap:4px;
  padding:5px;
  background:#051522;
  border-bottom:1px solid #155b88;
}

.v3-nav-btn{
  width:100% !important;
  min-width:0 !important;
  height:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 4px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:4px !important;
  border:1px solid rgba(255,255,255,.08) !important;

  font-size:8.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:nowrap !important;

  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.v3-home{
  background:#ec7e00 !important;
  color:#16110b !important;
}

/* ======================================================
   TX
   ====================================================== */

.v3-tx{
  display:grid;
  grid-template-columns:minmax(0,1.35fr)
                        minmax(280px,.64fr)
                        minmax(310px,.62fr);
  min-height:142px;
  border-bottom:1px solid #175b86;
  background:#071727;
}

.v3-tx-primary,
.v3-tx-meta,
.v3-tx-profile{
  min-width:0;
  min-height:142px;
}

.v3-tx-primary{
  border-right:1px solid #185a82;
  position:relative;
}

.v3-tx-idle{
  height:100%;
  min-height:142px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  color:#9bb3c5;
}

.v3-mic{
  font-size:36px;
}

.v3-tx-idle small,
.v3-tx-idle span{
  display:block;
  color:#7291a7;
  font-size:9px;
}

.v3-tx-idle strong{
  display:block;
  margin:4px 0;
  color:#dce8f0;
  font-size:21px;
}

.v3-tx-primary #txBanner{
  width:100% !important;
  min-height:142px !important;
  height:100% !important;
  margin:0 !important;
  padding:17px 20px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:
    linear-gradient(100deg,#ff8300,#ef6500 62%,#b64400) !important;
  color:#fff !important;
  font-weight:950 !important;
}

.v3-tx-primary #txBanner > div:first-child{
  color:#18100a !important;
  font-size:31px !important;
  line-height:1.05 !important;
}

.v3-tx-primary #txBanner > div:nth-child(2){
  margin-top:9px !important;
  font-size:14px !important;
  color:#fff !important;
}

.v3-tx-meta{
  display:none;
  padding:11px 13px;
  grid-template-columns:1fr 1fr;
  gap:7px 11px;
  align-content:center;
  background:
    linear-gradient(135deg,#612b09,#442006);
  border-right:1px solid #875122;
}

.v3-tx-meta.show{
  display:grid;
}

.v3-tx-meta div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.v3-tx-meta span{
  color:#ffc98d;
  font-size:8px;
  font-weight:900;
  letter-spacing:.7px;
}

.v3-tx-meta strong{
  color:#fff;
  font-size:11px;
}

.v3-meta-wide{
  grid-column:1/-1;
}

.v3-tx-profile{
  background:
    radial-gradient(circle at 75% 15%,rgba(0,181,245,.10),transparent 52%),
    #071727;
}

.v3-tx-profile #qrzLiveCard{
  width:100% !important;
  min-height:142px !important;
  height:100% !important;
  margin:0 !important;
  padding:11px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.v3-tx-profile #qrzLiveCard.show{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
}

.v3-tx-profile .qrz-live-photo{
  width:92px !important;
  height:92px !important;
  border-radius:6px !important;
  object-fit:cover !important;
}

.v3-tx-profile .qrz-live-call{
  font-size:23px !important;
}

.v3-node-card{
  height:100%;
  min-height:142px;
  padding:14px 17px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.v3-node-card[hidden]{
  display:none !important;
}

.v3-node-card small{
  color:#f4c965;
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
}

.v3-node-card > strong{
  margin-top:5px;
  color:#fff;
  font-size:28px;
}

.v3-node-card > span{
  margin-top:5px;
  color:#b6cad7;
  font-size:11px;
}

.v3-node-live{
  margin-top:8px;
  color:#ff9a36;
  font-size:10px;
  font-weight:900;
}

.v3-node-live i{
  display:inline-block;
  width:9px;
  height:9px;
  margin-right:5px;
  border-radius:50%;
  background:#ff7600;
  box-shadow:0 0 10px #ff7600;
}

.v3-node-source{
  margin-top:8px;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.1);
}

.v3-node-source b{
  display:block;
  color:#fff;
  font-size:10px;
}

/* ======================================================
   INFO STRIP
   ====================================================== */

.v3-info-strip{
  display:grid !important;
  grid-template-columns:auto auto minmax(200px,1fr) minmax(220px,1fr) auto !important;
  gap:2px !important;
  margin:0 !important;
  padding:3px !important;
  background:#051522 !important;
}

.v3-info-strip .pill{
  margin:0 !important;
  padding:5px 7px !important;
  border-radius:3px !important;
  font-size:8.5px !important;
}

/* ======================================================
   3 CARD PRINCIPALI
   ====================================================== */

.v3-cards{
  display:grid;
  grid-template-columns:1fr .92fr 1.22fr;
  gap:5px;
  padding:5px;
}

.v3-cards > .card{
  height:255px !important;
  min-height:255px !important;
  margin:0 !important;
  border:1px solid #175d89 !important;
  border-radius:4px !important;
  overflow:hidden !important;
  background:#071929 !important;
  box-shadow:none !important;
}

.v3-cards > .card h2{
  margin:0 !important;
  padding:7px 9px !important;
  color:#f1f8fd !important;
  font-size:13px !important;
  background:#09243c !important;
  border-bottom:1px solid #17608c !important;
}

.v3-cards .card-body{
  padding:7px !important;
}

.v3-cards .events-scroll{
  max-height:215px !important;
  overflow:auto !important;
}

.v3-cards table{
  font-size:9px !important;
}

/* ======================================================
   SERVIZI
   ====================================================== */

.v3-services{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:5px;
  padding:0 5px 5px;
}

.v3-service{
  min-height:91px;
  border:1px solid #165c89;
  border-radius:4px;
  overflow:hidden;
  background:#071a2c;
}

.v3-service-head{
  min-height:31px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  background:#09243c;
  border-bottom:1px solid #175b86;
}

.v3-service-head span{
  color:#00baf6;
  font-size:17px;
}

.v3-service-head b{
  flex:1;
  color:#fff;
  font-size:10px;
}

.v3-service-head i{
  color:#00dc82;
  font-size:8px;
  font-style:normal;
}

.v3-service-body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  padding:9px;
}

.v3-service-body strong{
  color:#9db7c8;
  font-size:9px;
}

.v3-service-body button{
  border:1px solid #1674a7;
  border-radius:3px;
  padding:5px 7px;
  background:#092b45;
  color:#c9efff;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}

/* ======================================================
   MAPPA + LINK
   ====================================================== */

.v3-lower{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);
  gap:5px;
  padding:0 5px 5px;
}

.v3-map-wrap,
.v3-quick{
  border:1px solid #175e8b;
  background:#071929;
  border-radius:4px;
  overflow:hidden;
}

.v3-map-wrap .map-card{
  width:100% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.v3-map-wrap #liveMap{
  height:390px !important;
  min-height:390px !important;
}

.v3-map-wrap .map-head{
  padding:8px 10px !important;
  background:#081c30 !important;
}

.v3-map-wrap .map-title{
  font-size:13px !important;
}

.v3-panel-title{
  padding:8px 9px;
  background:#09243c;
  border-bottom:1px solid #175d89;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.v3-quick-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:5px;
  padding:6px;
}

.v3-quick-grid a{
  min-height:69px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid #15587f;
  border-radius:4px;
  background:#092238;
  color:#0fc2fb;
  text-decoration:none;
  font-size:19px;
}

.v3-quick-grid a span{
  color:#d2e0e9;
  font-size:9px;
  font-weight:800;
}

.v3-network-box{
  margin:0 6px 6px;
  padding:12px;
  border:1px solid #145982;
  background:#061624;
}

.v3-network-box small{
  color:#00bdf6;
  font-size:8px;
}

.v3-network-box strong{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:13px;
}

.v3-network-box span{
  display:block;
  margin-top:6px;
  color:#7997ab;
  font-size:8px;
  line-height:1.4;
}

/* ======================================================
   SYSOP
   ====================================================== */

.v3-sysop{
  margin:0 5px 5px;
  border:1px solid #175d89;
  border-radius:4px;
  background:#071929;
}

.v3-sysop > summary{
  min-height:36px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 10px;
  cursor:pointer;
  background:#09243c;
  color:#fff;
}

.v3-sysop > summary span{
  color:#8ba5b7;
  font-size:9px;
}

/* ======================================================
   vecchi elementi
   ====================================================== */

.hero{
  display:none !important;
}

.conf-logo-box,
.site-home-btn-wrap{
  display:none !important;
}

/* ======================================================
   RESPONSIVE
   ====================================================== */

@media(max-width:1250px){

  .v3-header{
    grid-template-columns:1fr 1fr;
  }

  .v3-header-status{
    grid-column:1/-1;
  }

  .v3-nav{
    overflow-x:auto;
    grid-template-columns:repeat(11,115px);
  }

  .v3-tx{
    grid-template-columns:1fr;
  }

  .v3-cards{
    grid-template-columns:1fr;
  }

  .v3-services{
    grid-template-columns:1fr 1fr;
  }

  .v3-lower{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){

  .v3-header{
    grid-template-columns:1fr;
  }

  .v3-brand h1{
    font-size:27px;
  }

  .v3-brand-sub{
    white-space:normal;
  }

  .v3-protocols{
    grid-template-columns:repeat(2,1fr);
  }

  .v3-header-status{
    grid-column:auto;
  }

  .v3-services{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   MASTER MOCKUP DEFINITIVO
   ============================================================ */

html,
body{
  background:#06121f !important;
}

body{
  margin:0 !important;
  overflow-x:auto;
}

.wrap{
  width:100% !important;
  max-width:1440px !important;
  margin:0 auto !important;
  padding:4px !important;
}

.v3-app{
  border:1px solid #0b4772 !important;
  border-radius:2px !important;
  overflow:hidden !important;
  background:#03111f !important;
}


/* ============================================================
   HEADER
   ============================================================ */

.v3-header{
  height:104px !important;
  min-height:104px !important;

  display:grid !important;
  grid-template-columns:
    minmax(650px,1.55fr)
    minmax(240px,.58fr)
    minmax(365px,.9fr) !important;

  gap:5px !important;
  padding:4px 7px !important;

  background:
    radial-gradient(circle at 52% 30%,#0c3558 0,#05213b 30%,#021224 78%) !important;

  border-bottom:1px solid #0867a4 !important;
}


/* LOGO */

.v3-brand{
  display:grid !important;
  grid-template-columns:112px 1fr !important;
  align-items:center !important;
  gap:9px !important;
  height:95px !important;
}

.v3-logo{
  width:108px !important;
  height:92px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 7px rgba(0,185,255,.35));
}


/* titolo */

.v3-brand-copy{
  min-width:0 !important;
  align-self:center !important;
}

.v3-brand h1{
  margin:0 !important;

  font-size:36px !important;
  line-height:.9 !important;

  font-family:Arial Black,Arial,sans-serif !important;
  font-weight:950 !important;

  white-space:nowrap !important;
  letter-spacing:-1.3px !important;

  text-shadow:
    0 2px 0 #00101d,
    0 0 12px rgba(0,170,255,.35) !important;
}

.master-title-white{
  color:#f8fbff !important;
}

.master-title-green{
  color:#00a84f !important;
}

.master-title-red{
  color:#ef3030 !important;
}


/* sottotitolo */

.v3-brand-sub{
  display:block !important;

  margin-top:5px !important;
  padding-bottom:4px !important;

  color:#f4f7fa !important;

  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:2.3px !important;

  white-space:nowrap !important;

  border-bottom:3px solid transparent !important;

  border-image:
    linear-gradient(
      90deg,
      #009c51 0 32%,
      #f6f6f6 32% 66%,
      #e63232 66% 100%
    ) 1 !important;
}


/* protocolli */

.v3-protocols{
  margin-top:5px !important;

  display:flex !important;
  align-items:center !important;

  gap:10px !important;

  overflow:hidden !important;
}

.v3-protocol{
  min-height:20px !important;

  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;

  gap:3px !important;

  padding:0 !important;

  color:#d6e7f4 !important;

  font-size:7.8px !important;
  font-weight:700 !important;

  white-space:nowrap !important;
}

.v3-protocol b{
  color:#04aef0 !important;
  font-size:13px !important;
}


/* ============================================================
   SLOGAN + ITALIA
   ============================================================ */

.master-slogan{
  height:95px;

  display:grid;
  grid-template-columns:1fr 102px;
  align-items:center;

  padding:3px 7px;

  border-left:1px solid rgba(0,136,214,.2);
  border-right:1px solid rgba(0,136,214,.3);
}

.master-slogan-text{
  color:#f5f8fb;

  text-align:center;

  font-family:"Segoe Script","Comic Sans MS",cursive;
  font-size:13px;
  font-style:italic;

  line-height:1.02;

  transform:rotate(-3deg);

  text-shadow:0 0 7px rgba(255,255,255,.2);
}

.master-italy{
  height:88px;
}

.master-italy svg{
  width:100%;
  height:100%;
}

.master-italy path{
  fill:none;

  stroke:#00b8ff;
  stroke-width:2.3;

  filter:drop-shadow(0 0 5px #008cd1);
}


/* ============================================================
   STATUS DESTRA
   ============================================================ */

.v3-header-status{
  height:95px !important;

  display:grid !important;
  grid-template-columns:1.15fr .72fr 1fr !important;
  grid-template-rows:1fr 1fr !important;

  gap:3px !important;
}

.v3-status-card{
  height:auto !important;

  border:1px solid #0b5e91 !important;
  border-radius:3px !important;

  background:
    linear-gradient(180deg,#073052,#041a2e) !important;
}

.v3-status-card small{
  font-size:8px !important;
}

.v3-status-card strong{
  font-size:18px !important;
}

.v3-status-card span{
  font-size:7px !important;
}

.v3-users-card{
  grid-row:1 / 3 !important;
}

.v3-users-card #heroCount{
  font-size:28px !important;
}

.v3-network-card{
  grid-column:1 !important;
  grid-row:2 !important;
}

.v3-network-card strong{
  font-size:9px !important;
}


/* ============================================================
   NAV
   ============================================================ */

.v3-nav{
  height:37px !important;

  display:grid !important;
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;

  gap:4px !important;

  padding:4px 6px !important;

  background:#031323 !important;
}

.v3-nav-btn{
  height:29px !important;
  min-height:29px !important;

  border-radius:4px !important;

  border:
    1px solid #0963a0 !important;

  background:
    linear-gradient(180deg,#07538d,#04345f) !important;

  color:#fff !important;

  font-size:8.5px !important;
  font-weight:900 !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.v3-nav-btn:hover{
  filter:brightness(1.15);
}

.v3-home{
  background:
    linear-gradient(180deg,#12aef8,#057ac7) !important;
  color:#fff !important;
}

.master-admin-hidden{
  display:none !important;
}


/* ============================================================
   TX
   ============================================================ */

.v3-tx{
  min-height:126px !important;
  height:126px !important;

  margin:0 7px !important;

  grid-template-columns:
    37% 29% 34% !important;

  border:
    3px solid #ff7200 !important;

  border-radius:11px !important;

  overflow:hidden !important;

  background:#0b1927 !important;

  box-shadow:
    0 0 10px rgba(255,112,0,.45) !important;
}

.v3-tx-primary,
.v3-tx-meta,
.v3-tx-profile{
  height:120px !important;
  min-height:120px !important;
}


/* idle */

.v3-tx-idle{
  min-height:120px !important;
}


/* banner */

.v3-tx-primary #txBanner{
  height:120px !important;
  min-height:120px !important;

  padding:12px 18px !important;

  background:
    linear-gradient(
      100deg,
      #fa7f00 0%,
      #e95e00 62%,
      #b34405 100%
    ) !important;
}

.v3-tx-primary #txBanner > div:first-child{
  font-size:30px !important;
  line-height:1.02 !important;

  color:#fff !important;
}

.v3-tx-primary #txBanner > div:nth-child(2){
  margin-top:5px !important;

  font-size:12px !important;
}


/* META */

.v3-tx-meta{
  height:120px !important;

  padding:10px 13px !important;

  grid-template-columns:1fr 1fr !important;

  background:
    linear-gradient(
      145deg,
      #923707,
      #5c2508 70%
    ) !important;
}

.v3-tx-meta span{
  color:#ffcf96 !important;
  font-size:7.5px !important;
}

.v3-tx-meta strong{
  font-size:10px !important;
}


/* ============================================================
   QRZ
   ============================================================ */

.v3-tx-profile{
  position:relative;

  display:grid !important;
  grid-template-columns:minmax(0,1fr) 105px !important;

  background:
    linear-gradient(90deg,#09203a,#061626) !important;
}

.v3-tx-profile #qrzLiveCard{
  min-height:120px !important;
  height:120px !important;

  padding:7px !important;
}

.v3-tx-profile #qrzLiveCard.show{
  display:grid !important;

  grid-template-columns:88px 1fr !important;

  gap:7px !important;
}

.v3-tx-profile .qrz-live-photo{
  width:86px !important;
  height:105px !important;

  border-radius:5px !important;

  border:
    2px solid #ffb31a !important;
}

.v3-tx-profile .qrz-live-kicker{
  font-size:7px !important;
}

.v3-tx-profile .qrz-live-call{
  font-size:20px !important;
  margin:0 !important;
}

.v3-tx-profile .qrz-live-sub{
  font-size:9px !important;
  margin-top:2px !important;
}

.v3-tx-profile .qrz-live-link{
  font-size:8px !important;
  padding:4px 7px !important;
}


/* buon ascolto */

.master-listen-card{
  min-height:120px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  border-left:
    1px solid rgba(255,143,0,.65);

  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(255,117,0,.16),
      transparent 70%
    );
}

.master-listen-logo{
  font-size:26px;

  opacity:.45;
}

.master-listen-script{
  color:#fff5dd;

  font-family:"Segoe Script","Comic Sans MS",cursive;

  font-size:12px;
  line-height:1.05;

  text-align:center;

  transform:rotate(-5deg);
}

.master-bars{
  height:25px;

  display:flex;
  align-items:flex-end;

  gap:3px;

  margin-top:3px;
}

.master-bars i{
  width:3px;
  background:#ff9100;
}

.master-bars i:nth-child(1){height:7px}
.master-bars i:nth-child(2){height:12px}
.master-bars i:nth-child(3){height:17px}
.master-bars i:nth-child(4){height:22px}
.master-bars i:nth-child(5){height:13px}
.master-bars i:nth-child(6){height:19px}
.master-bars i:nth-child(7){height:10px}
.master-bars i:nth-child(8){height:24px}
.master-bars i:nth-child(9){height:16px}
.master-bars i:nth-child(10){height:21px}


/* nodo/repeater */

.v3-node-card{
  min-height:120px !important;
  height:120px !important;

  padding:10px !important;
}


/* ============================================================
   STRISCIA INFO
   ============================================================ */

.v3-info-strip{
  min-height:28px !important;

  grid-template-columns:
    1fr 1fr 2fr 1.8fr 1fr !important;

  gap:4px !important;

  padding:4px 7px !important;
}

.v3-info-strip .pill{
  min-height:20px !important;

  display:flex !important;
  align-items:center !important;

  border:
    1px solid #0a5587 !important;

  background:#06223c !important;

  color:#dbe8f2 !important;

  font-size:8px !important;
}


/* ============================================================
   TRE PANNELLI
   ============================================================ */

.v3-cards{
  grid-template-columns:
    32% 31% 37% !important;

  gap:5px !important;

  padding:0 7px 5px !important;
}

.v3-cards > .card{
  height:181px !important;
  min-height:181px !important;

  border:
    1px solid #0765a1 !important;

  border-radius:4px !important;
}

.v3-cards > .card h2{
  height:29px !important;

  display:flex !important;
  align-items:center !important;

  padding:5px 8px !important;

  font-size:11px !important;

  background:
    linear-gradient(180deg,#073152,#05213b) !important;
}

.v3-cards .card-body{
  height:151px !important;
  padding:5px !important;

  overflow:auto !important;
}

.v3-cards .events-scroll{
  max-height:140px !important;
}

.v3-cards table{
  font-size:8px !important;
}

.v3-cards th,
.v3-cards td{
  padding:3px 5px !important;
}

.v3-cards .user-list{
  font-size:9px !important;
}


/* ============================================================
   SERVICES
   ============================================================ */

.v3-services{
  height:82px !important;

  grid-template-columns:repeat(4,1fr) !important;

  gap:5px !important;

  padding:0 7px 5px !important;
}

.v3-service{
  height:77px !important;
  min-height:77px !important;

  border:
    1px solid #0766a1 !important;
}

.v3-service-head{
  height:25px !important;
  min-height:25px !important;

  padding:3px 7px !important;
}

.v3-service-head b{
  font-size:9px !important;
}

.v3-service-head span{
  font-size:13px !important;
}

.v3-service-body{
  height:48px !important;

  padding:5px 8px !important;
}

.v3-service-body strong{
  font-size:8px !important;
}

.v3-service-body button{
  font-size:7px !important;

  padding:4px 7px !important;
}


/* ============================================================
   MAPPA + LINK RAPIDI
   ============================================================ */

.v3-lower{
  height:152px !important;

  grid-template-columns:
    58% 42% !important;

  gap:5px !important;

  padding:0 7px 5px !important;
}

.v3-map-wrap,
.v3-quick{
  height:147px !important;

  border:
    1px solid #0766a1 !important;
}

.v3-map-wrap .map-card{
  height:145px !important;
}

.v3-map-wrap .map-head{
  height:25px !important;

  padding:4px 8px !important;
}

.v3-map-wrap .map-title{
  font-size:9px !important;
}

.v3-map-wrap #liveMap{
  height:115px !important;
  min-height:115px !important;
}

.v3-map-wrap .map-status{
  display:none !important;
}


/* link rapidi */

.v3-panel-title{
  height:25px !important;

  padding:5px 8px !important;

  font-size:9px !important;
}

.v3-quick-grid{
  height:116px !important;

  display:grid !important;

  grid-template-columns:
    repeat(6,1fr) !important;

  gap:3px !important;

  padding:4px !important;
}

.v3-quick-grid a{
  min-height:52px !important;

  gap:1px !important;

  font-size:18px !important;
}

.v3-quick-grid a span{
  font-size:7px !important;
}

.v3-network-box{
  display:none !important;
}


/* ============================================================
   SYSOP
   ============================================================ */

.v3-sysop{
  margin:0 7px 6px !important;

  border:
    1px solid #0766a1 !important;

  border-radius:4px !important;

  background:#041726 !important;
}

.v3-sysop > summary{
  height:31px !important;

  padding:5px 9px !important;

  background:
    linear-gradient(180deg,#08345a,#05213a) !important;
}

.v3-sysop > summary b{
  font-size:10px !important;
}

.v3-sysop > summary span{
  font-size:8px !important;
}


/* strumenti admin */

.master-sysop-tools{
  display:flex;

  align-items:center;

  gap:6px;

  padding:5px 8px;

  border-bottom:
    1px solid #0a4c78;

  background:#041a2d;
}

.master-sysop-tools > span{
  color:#7da0b7;

  font-size:8px;

  font-weight:900;
}

.master-sysop-btn{
  display:inline-flex !important;

  width:auto !important;

  min-width:95px !important;

  min-height:25px !important;

  align-items:center;
  justify-content:center;

  padding:4px 8px !important;

  border:
    1px solid #0876ba !important;

  border-radius:3px !important;

  background:#073a62 !important;

  color:#fff !important;

  font-size:8px !important;
}


/* box vero SYSOP */

.v3-sysop .note-box{
  margin:5px !important;

  border-radius:3px !important;
}


/* ============================================================
   FOOTER VISIVO
   ============================================================ */

.v3-app::after{
  content:
    "CONFERENZA ITALIA   |   Rete Multiprotocollo per i Radioamatori                         🇮🇹   Una sola passione... comunicare !";

  min-height:30px;

  display:flex;
  align-items:center;

  padding:0 12px;

  color:#d4e4ef;

  font-size:8px;

  letter-spacing:.2px;

  border-top:
    1px solid #075782;

  background:#02101d;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(max-width:1250px){

  .wrap{
    min-width:1180px !important;
  }

  .v3-header{
    grid-template-columns:
      650px 240px 365px !important;
  }

  .v3-nav{
    grid-template-columns:
      repeat(10,120px) !important;
  }

  .v3-tx{
    grid-template-columns:
      440px 340px 390px !important;
  }

  .v3-cards{
    grid-template-columns:
      380px 365px 425px !important;
  }

  .v3-services{
    grid-template-columns:
      repeat(4,290px) !important;
  }

  .v3-lower{
    grid-template-columns:
      680px 490px !important;
  }
}


/* ============================================================
   V3 MASTER - CORREZIONE TX + MAPPA
   ============================================================ */

/*
 * TX:
 * più spazio al banner arancione.
 * Manteniamo metadata e QRZ sulla destra.
 */
.v3-tx{
  grid-template-columns:
    43% 25% 32% !important;
}

/*
 * Il testo principale deve respirare e non essere tagliato.
 */
.v3-tx-primary #txBanner{
  padding-left:20px !important;
  padding-right:15px !important;
  overflow:hidden !important;
}

.v3-tx-primary #txBanner > div:first-child{
  font-size:28px !important;
  line-height:1.02 !important;
  letter-spacing:-.4px !important;
}

/*
 * Evita larghezze anomale dei figli.
 */
.v3-tx-primary,
.v3-tx-meta,
.v3-tx-profile{
  min-width:0 !important;
}


/* ============================================================
   MAPPA PIU ALTA
   ============================================================ */

.v3-lower{
  height:196px !important;
  min-height:196px !important;
}

.v3-map-wrap,
.v3-quick{
  height:191px !important;
  min-height:191px !important;
}

.v3-map-wrap .map-card{
  height:189px !important;
  min-height:189px !important;
}

.v3-map-wrap #liveMap{
  height:159px !important;
  min-height:159px !important;
}

/*
 * Link rapidi della stessa altezza della mappa.
 */
.v3-quick-grid{
  height:160px !important;
  min-height:160px !important;
}

.v3-quick-grid a{
  min-height:72px !important;
}


/* ============================================================
   SCHERMI 1180-1250
   ============================================================ */

@media(max-width:1250px){

  .v3-tx{
    grid-template-columns:
      505px 295px 370px !important;
  }

  .v3-lower{
    grid-template-columns:
      680px 490px !important;
  }
}


/* ============================================================
   V3 - ITALIA GIF + MAPPA DEFINITIVA
   ============================================================ */

.master-slogan{
  grid-template-columns:1fr 145px !important;
}

.master-italy{
  width:145px !important;
  height:96px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  overflow:visible !important;
}

.master-italy svg{
  display:none !important;
}

.master-italy-gif{
  display:block !important;

  width:142px !important;
  height:96px !important;

  object-fit:contain !important;

  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,.65))
    drop-shadow(0 0 3px rgba(0,190,255,.30)) !important;
}


/* MAPPA PIU ALTA E PIU LARGA */

.v3-lower{
  height:305px !important;
  min-height:305px !important;

  grid-template-columns:
    67% 33% !important;
}

.v3-map-wrap,
.v3-quick{
  height:300px !important;
  min-height:300px !important;
}

.v3-map-wrap .map-card{
  height:298px !important;
  min-height:298px !important;
}

.v3-map-wrap #liveMap{
  height:268px !important;
  min-height:268px !important;
}


/* link rapidi stessa fascia */

.v3-quick-grid{
  height:269px !important;
  min-height:269px !important;

  grid-template-columns:repeat(6,1fr) !important;
}

.v3-quick-grid a{
  min-height:122px !important;
}


/* RISOLUZIONE DEL TUO PC */

@media(max-width:1250px){

  .v3-lower{
    grid-template-columns:
      790px 380px !important;

    height:305px !important;
  }

  .v3-map-wrap,
  .v3-quick{
    height:300px !important;
  }

  .v3-map-wrap #liveMap{
    height:268px !important;
    min-height:268px !important;
  }
}

/* ============================================================
   V3 - MAPPA ALTA DEFINITIVA
   ============================================================ */

.v3-lower{
    height:480px !important;
    min-height:480px !important;
    grid-template-columns:67% 33% !important;
}

.v3-map-wrap,
.v3-quick{
    height:475px !important;
    min-height:475px !important;
}

.v3-map-wrap .map-card{
    height:473px !important;
    min-height:473px !important;
}

.v3-map-wrap #liveMap{
    height:443px !important;
    min-height:443px !important;
}

.v3-quick-grid{
    height:444px !important;
    min-height:444px !important;
}

.v3-quick-grid a{
    min-height:207px !important;
}

.master-italy{
    width:155px !important;
    height:105px !important;
    overflow:visible !important;
}

.master-italy-gif{
    width:150px !important;
    height:103px !important;
    object-fit:contain !important;
}

@media(max-width:1250px){

    .v3-lower{
        grid-template-columns:790px 380px !important;
        height:480px !important;
        min-height:480px !important;
    }

    .v3-map-wrap,
    .v3-quick{
        height:475px !important;
        min-height:475px !important;
    }

    .v3-map-wrap .map-card{
        height:473px !important;
    }

    .v3-map-wrap #liveMap{
        height:443px !important;
        min-height:443px !important;
    }

    .v3-quick-grid{
        height:444px !important;
        min-height:444px !important;
    }
}

/* =========================================================
   V3 - LOGHI QUICK DEFINITIVI
   NON MODIFICA DIMENSIONI MAPPA
   ========================================================= */

.v3-quick-grid a{
    justify-content:center !important;
    align-items:center !important;
    gap:7px !important;
    overflow:hidden !important;
}

.v3-quick-grid a .v3-quick-logo{
    display:block !important;
    width:88px !important;
    height:82px !important;
    object-fit:contain !important;
    flex:0 0 auto !important;
    margin:0 auto !important;
}

.v3-quick-grid a .v3-quick-logo-wide{
    width:132px !important;
    height:70px !important;
}

.v3-quick-grid a span{
    display:block !important;
    font-size:11px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    text-align:center !important;
    color:#dce9f2 !important;
}

/* =========================================================
   V3 - LOGHI QUICK PIU' GRANDI
   SOLO IMMAGINI - MAPPA E RIQUADRI INVARIATI
   ========================================================= */

.v3-quick-grid a .v3-quick-logo{
    width:112px !important;
    height:105px !important;
    max-width:92% !important;
    object-fit:contain !important;
}

/* EchoLink */
.v3-quick-grid a img[src*="echolink.png"]{
    width:125px !important;
    height:105px !important;
}

/* AllStarLink */
.v3-quick-grid a img[src*="allstar.png"]{
    width:112px !important;
    height:105px !important;
}

/* YSF - logo molto orizzontale */
.v3-quick-grid a img[src*="ysf.jpg"]{
    width:130px !important;
    height:90px !important;
}

/* ITALIASVX */
.v3-quick-grid a img[src*="italiasvx.png"]{
    width:108px !important;
    height:108px !important;
}

/* Telegram */
.v3-quick-grid a img[src*="telegram.png"]{
    width:105px !important;
    height:105px !important;
}

/* Chat Live */
.v3-quick-grid a img[src*="chat-live.png"]{
    width:108px !important;
    height:108px !important;
}

.v3-quick-grid a span{
    font-size:11px !important;
    line-height:1.1 !important;
    margin-top:2px !important;
}

/* =========================================================
   V3 - 3 PANNELLI CENTRALI PIU' ALTI
   Utenti connessi / Ultimo evento / Eventi recenti
   NON modifica mappa, servizi o link rapidi
   ========================================================= */

.v3-cards > .card{
    height:950px !important;
    min-height:950px !important;
}

.v3-cards .card-body{
    height:911px !important;
    min-height:911px !important;
    overflow:auto !important;
}

.v3-cards .events-scroll{
    height:900px !important;
    max-height:900px !important;
    overflow:auto !important;
}



/* =========================================================
   EVENTI RECENTI - TESTO PIU' GRANDE E LEGGIBILE
   ========================================================= */

.v3-cards .events-scroll table{
    font-size:14px !important;
}

.v3-cards .events-scroll table th{
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
}

.v3-cards .events-scroll table td{
    font-size:14px !important;
    line-height:1.35 !important;
}



/* =========================================================
   TX LIVE - BANNER ARANCIONE PIU' LARGO
   ========================================================= */

.v3-tx{
    grid-template-columns:52% 17% 31% !important;
}

/* testo principale su una sola riga quando c'e spazio */
.v3-tx-primary #txBanner > div:first-child{
    font-size:28px !important;
    line-height:1.05 !important;
    letter-spacing:-0.5px !important;
}

/* RISOLUZIONE PC */
@media(max-width:1250px){

    .v3-tx{
        grid-template-columns:610px 190px 370px !important;
    }

    .v3-tx-primary #txBanner > div:first-child{
        font-size:28px !important;
        line-height:1.05 !important;
        letter-spacing:-0.5px !important;
    }
}



/* =========================================================
   MAPPA ADMIN - PULSANTE SEMPRE VISIBILE
   ========================================================= */

#adminMapToggleBtn.v3-admin-map-visible{
    display:flex !important;
    position:fixed !important;

    top:145px !important;
    right:18px !important;

    width:auto !important;
    min-width:145px !important;
    height:38px !important;

    padding:0 16px !important;

    align-items:center !important;
    justify-content:center !important;

    background:
        linear-gradient(180deg,#ffb300 0%,#ff7a00 100%) !important;

    color:#111827 !important;

    border:2px solid #ffd166 !important;
    border-radius:8px !important;

    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;

    cursor:pointer !important;

    box-shadow:
        0 0 8px rgba(255,160,0,.75),
        0 4px 12px rgba(0,0,0,.45) !important;

    z-index:99998 !important;
}

#adminMapToggleBtn.v3-admin-map-visible::before{
    content:"🗺️ " !important;
}

#adminMapToggleBtn.v3-admin-map-visible:hover{
    transform:translateY(-1px) !important;
    filter:brightness(1.12) !important;
}



/* =========================================================
   ADMIN MAP - INTEGRATO NELLA BARRA SUPERIORE
   annulla il precedente pulsante flottante
   ========================================================= */

#adminMapToggleBtn.v3-admin-map-visible{
    position:static !important;
    top:auto !important;
    right:auto !important;

    width:auto !important;
    min-width:0 !important;
    height:36px !important;

    margin:0 !important;
    padding:0 8px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:
        linear-gradient(180deg,#ffb300 0%,#ff7a00 100%) !important;

    color:#111827 !important;

    border:1px solid #ffd166 !important;
    border-radius:6px !important;

    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:0 !important;

    white-space:nowrap !important;

    box-shadow:
        0 0 5px rgba(255,160,0,.55) !important;

    transform:none !important;
    z-index:auto !important;
}

#adminMapToggleBtn.v3-admin-map-visible:hover{
    transform:none !important;
    filter:brightness(1.10) !important;
}

/* stringe leggermente TUTTA la barra */
.v3-nav{
    grid-template-columns:repeat(11,minmax(0,1fr)) !important;
    gap:4px !important;
}

/* pulsanti normali leggermente più compatti */
.v3-nav > a,
.v3-nav > button{
    min-width:0 !important;
    padding-left:5px !important;
    padding-right:5px !important;
    font-size:10px !important;
    white-space:nowrap !important;
}

@media(max-width:1250px){

    .v3-nav{
        grid-template-columns:repeat(11,106px) !important;
        gap:3px !important;
    }

    .v3-nav > a,
    .v3-nav > button{
        padding-left:3px !important;
        padding-right:3px !important;
        font-size:9px !important;
    }
}



/* =========================================================
   BARRA INFO SOTTO TX - TESTO PIU' GRANDE
   Conference / Display / Location / TX LIVE / Aggiornamento
   ========================================================= */

.pillbar .pill{
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:500 !important;
}

.pillbar .pill b{
    font-size:12px !important;
    font-weight:900 !important;
}

.pillbar .pill span{
    font-size:12px !important;
    font-weight:600 !important;
}



/* =========================================================
   BARRA INFO - PROPORZIONI DEFINITIVE
   più spazio a Location
   ========================================================= */

.pillbar{
    display:grid !important;

    /* Conference | Display | Location | TX LIVE | Aggiornamento */
    grid-template-columns:
        15% 15% 29% 26% 15% !important;

    gap:4px !important;
}

.pillbar .pill{
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

/* Location: deve rimanere su una sola riga */
#pillLocation{
    white-space:nowrap !important;
}



/* =========================================================
   4 SERVIZI - VERSIONE GRANDE
   AllStar / YSF / SVXReflector / DVSwitch
   ========================================================= */

.v3-services{
    height:130px !important;
    min-height:130px !important;

    grid-template-columns:repeat(4,1fr) !important;

    gap:6px !important;
    padding:0 7px 5px !important;
}

.v3-service{
    height:125px !important;
    min-height:125px !important;

    border:1px solid #1674a7 !important;
    border-radius:5px !important;
    overflow:hidden !important;
}

/* intestazione */
.v3-service-head{
    height:34px !important;
    min-height:34px !important;

    padding:5px 9px !important;
    gap:7px !important;
}

.v3-service-head span{
    font-size:18px !important;
}

.v3-service-head b{
    font-size:12px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}

.v3-service-head i{
    font-size:9px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

/* parte inferiore */
.v3-service-body{
    height:86px !important;
    min-height:86px !important;

    padding:10px 10px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:10px !important;
}

.v3-service-body strong{
    font-size:11px !important;
    line-height:1.35 !important;
    font-weight:700 !important;

    color:#d3e5f0 !important;
}

/* pulsante */
.v3-service-body button{
    font-size:9px !important;
    font-weight:900 !important;

    padding:7px 10px !important;

    min-height:30px !important;

    white-space:nowrap !important;

    border-radius:4px !important;
}



/* =========================================================
   4 SERVIZI - STRUTTURA COME FOTO DI RIFERIMENTO
   ========================================================= */

.v3-services{
    height:130px !important;
    min-height:130px !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:5px !important;
    padding:0 7px 5px !important;
}

.v3-service{
    height:125px !important;
    min-height:125px !important;
    background:#071a2c !important;
    border:1px solid #1674a7 !important;
    border-radius:5px !important;
    overflow:hidden !important;
}

.v3-service-head{
    height:31px !important;
    min-height:31px !important;
    box-sizing:border-box !important;
    padding:5px 9px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    background:#09243c !important;
}

.v3-service-head span{
    font-size:15px !important;
    color:#00baf6 !important;
}

.v3-service-head b{
    flex:1 !important;
    font-size:11px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    color:white !important;
}

.v3-service-head i{
    font-size:8px !important;
    font-style:normal !important;
    font-weight:900 !important;
    color:#00dc82 !important;
    white-space:nowrap !important;
}

.v3-service-body{
    height:89px !important;
    min-height:89px !important;
    box-sizing:border-box !important;

    padding:6px 9px !important;

    display:grid !important;
    grid-template-columns:95px minmax(80px,1fr) auto !important;
    align-items:center !important;
    gap:9px !important;
}

.v3-service-logo-wrap{
    width:95px !important;
    height:67px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    overflow:hidden !important;
}

.v3-service-logo{
    display:block !important;
    width:90px !important;
    height:64px !important;
    object-fit:contain !important;
}

.v3-service.ysf .v3-service-logo{
    width:105px !important;
    height:55px !important;
}

.v3-service.svx .v3-service-logo{
    width:70px !important;
    height:70px !important;
}

.v3-service.dmr .v3-service-logo{
    width:100px !important;
    height:58px !important;
}

.v3-service-info{
    min-width:0 !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;

    gap:4px !important;
}

.v3-service-info strong{
    display:block !important;
    font-size:10px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    color:#dceaf3 !important;
    white-space:nowrap !important;
}

.v3-service-info small{
    display:block !important;
    font-size:9px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    color:#c0d2de !important;
    white-space:nowrap !important;
}

.v3-service-body button{
    align-self:end !important;

    min-height:27px !important;
    padding:5px 8px !important;

    font-size:8px !important;
    font-weight:900 !important;

    color:#d9f3ff !important;
    background:#092b45 !important;

    border:1px solid #1674a7 !important;
    border-radius:4px !important;

    white-space:nowrap !important;
    cursor:pointer !important;
}



/* =========================================================
   4 SERVIZI - RIFINITURA FINALE COME FOTO
   ========================================================= */

.v3-services{
    height:145px !important;
    min-height:145px !important;
}

.v3-service{
    height:140px !important;
    min-height:140px !important;
}

/* intestazione leggermente più alta */
.v3-service-head{
    height:33px !important;
    min-height:33px !important;
    padding:5px 9px !important;
}

.v3-service-head b{
    font-size:11px !important;
}

.v3-service-head i{
    font-size:8px !important;
}

/* corpo più spazioso */
.v3-service-body{
    height:102px !important;
    min-height:102px !important;

    grid-template-columns:112px minmax(80px,1fr) 112px !important;

    padding:8px 10px !important;
    gap:10px !important;
}

/* area logo */
.v3-service-logo-wrap{
    width:112px !important;
    height:82px !important;
}

/* logo base */
.v3-service-logo{
    width:105px !important;
    height:78px !important;
}

/* AllStar */
.v3-service.asl .v3-service-logo{
    width:105px !important;
    height:82px !important;
}

/* YSF - molto più grande */
.v3-service.ysf .v3-service-logo{
    width:118px !important;
    height:72px !important;
}

/* SVX */
.v3-service.svx .v3-service-logo{
    width:82px !important;
    height:82px !important;
}

/* DMR */
.v3-service.dmr .v3-service-logo{
    width:105px !important;
    height:76px !important;
}

/* testi centrali */
.v3-service-info strong{
    font-size:10px !important;
    line-height:1.2 !important;
}

.v3-service-info small{
    font-size:9px !important;
    line-height:1.2 !important;
}

/* pulsante più simile alla foto */
.v3-service-body button{
    width:112px !important;
    min-width:112px !important;

    height:30px !important;
    min-height:30px !important;

    align-self:center !important;

    padding:5px 7px !important;

    font-size:8px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}



/* =========================================================
   4 SERVIZI - FIX DEFINITIVO SPAZI INTERNI
   evita taglio pulsanti APRI DASHBOARD
   ========================================================= */

.v3-service-body{
    display:grid !important;

    /* LOGO | INFORMAZIONI | PULSANTE */
    grid-template-columns:
        100px minmax(0,1fr) 96px !important;

    align-items:center !important;

    padding:8px 7px !important;
    gap:7px !important;

    overflow:hidden !important;
}

/* area logo */
.v3-service-logo-wrap{
    width:100px !important;
    height:82px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    overflow:visible !important;
}

/* AllStar */
.v3-service.asl .v3-service-logo{
    width:98px !important;
    height:80px !important;
}

/* YSF: largo ma senza invadere il testo */
.v3-service.ysf .v3-service-logo{
    width:100px !important;
    height:68px !important;
}

/* SVX */
.v3-service.svx .v3-service-logo{
    width:80px !important;
    height:80px !important;
}

/* DMR */
.v3-service.dmr .v3-service-logo{
    width:94px !important;
    height:74px !important;
}

/* informazioni centrali */
.v3-service-info{
    min-width:0 !important;
    width:100% !important;
    overflow:hidden !important;
}

.v3-service-info strong{
    font-size:10px !important;
    line-height:1.25 !important;
}

.v3-service-info small{
    font-size:9px !important;
    line-height:1.25 !important;
}

/* pulsante: completamente dentro il riquadro */
.v3-service-body button{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;

    height:30px !important;
    min-height:30px !important;

    margin:0 !important;
    padding:4px 4px !important;

    font-size:8px !important;
    font-weight:900 !important;

    white-space:nowrap !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    justify-self:end !important;

    box-sizing:border-box !important;
}



/* =========================================================
   BOX SERVIZI - SOLO LOGO YSF PIU' GRANDE
   ========================================================= */

.v3-service.ysf .v3-service-logo-wrap{
    width:100px !important;
    height:88px !important;
    overflow:visible !important;
}

.v3-service.ysf .v3-service-logo{
    width:115px !important;
    height:82px !important;
    max-width:none !important;
    object-fit:contain !important;
}



/* =========================================================
   YSF - LOGO 140PX CON SPAZIO DEDICATO
   SOLO BOX YSF
   ========================================================= */

.v3-service.ysf .v3-service-body{
    grid-template-columns:
        140px minmax(0,1fr) 96px !important;

    gap:5px !important;
    padding-left:5px !important;
    padding-right:7px !important;
}

.v3-service.ysf .v3-service-logo-wrap{
    width:140px !important;
    height:82px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    overflow:visible !important;
}

.v3-service.ysf .v3-service-logo{
    width:140px !important;
    height:auto !important;

    max-width:none !important;
    max-height:none !important;

    object-fit:contain !important;

    display:block !important;
}

/* recupera spazio per le informazioni YSF */
.v3-service.ysf .v3-service-info{
    min-width:0 !important;
    overflow:visible !important;
}

.v3-service.ysf .v3-service-info strong{
    font-size:9px !important;
    white-space:nowrap !important;
}

.v3-service.ysf .v3-service-info small{
    font-size:8px !important;
    white-space:nowrap !important;
}



/* =========================================================
   YSF - SISTEMAZIONE SPAZI FINALE
   logo grande + testo leggibile + pulsante completo
   ========================================================= */

.v3-service.ysf .v3-service-body{
    grid-template-columns:
        128px minmax(0,1fr) 92px !important;

    gap:3px !important;
    padding:8px 5px !important;
}

/* area logo */
.v3-service.ysf .v3-service-logo-wrap{
    width:128px !important;
    height:82px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    overflow:visible !important;
}

/* logo YSF rimane grande */
.v3-service.ysf .v3-service-logo{
    width:128px !important;
    height:auto !important;

    max-width:none !important;
    max-height:none !important;

    object-fit:contain !important;
    display:block !important;
}

/* testo centrale */
.v3-service.ysf .v3-service-info{
    min-width:0 !important;
    width:100% !important;
    overflow:visible !important;
}

.v3-service.ysf .v3-service-info strong{
    font-size:9px !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
}

.v3-service.ysf .v3-service-info small{
    font-size:8px !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
}

/* pulsante YSF leggermente più compatto */
.v3-service.ysf .v3-service-body button{
    width:92px !important;
    min-width:92px !important;
    max-width:92px !important;

    height:30px !important;
    min-height:30px !important;

    padding:4px 2px !important;

    font-size:7.5px !important;
    white-space:nowrap !important;

    justify-self:end !important;
}



/* =========================================================
   YSF - TUTTO IL CONTENUTO DENTRO IL BOX
   ========================================================= */

.v3-service.ysf .v3-service-body{
    grid-template-columns:
        96px minmax(0,1fr) 82px !important;

    gap:4px !important;
    padding:8px 5px !important;

    overflow:hidden !important;
    box-sizing:border-box !important;
}

/* LOGO */
.v3-service.ysf .v3-service-logo-wrap{
    width:96px !important;
    height:82px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    overflow:hidden !important;
}

.v3-service.ysf .v3-service-logo{
    width:96px !important;
    height:auto !important;

    max-width:96px !important;
    max-height:70px !important;

    object-fit:contain !important;
    display:block !important;
}

/* TESTO */
.v3-service.ysf .v3-service-info{
    min-width:0 !important;
    width:100% !important;

    overflow:hidden !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;

    gap:2px !important;
}

.v3-service.ysf .v3-service-info strong{
    font-size:8.5px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
}

.v3-service.ysf .v3-service-info small{
    font-size:7.5px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
}

/* PULSANTE */
.v3-service.ysf .v3-service-body button{
    width:82px !important;
    min-width:82px !important;
    max-width:82px !important;

    height:30px !important;
    min-height:30px !important;

    padding:4px 2px !important;

    font-size:6.8px !important;
    font-weight:900 !important;

    white-space:nowrap !important;

    justify-self:end !important;
    align-self:center !important;

    box-sizing:border-box !important;
}


/* =========================================================
   TX LIVE - BANNER PRINCIPALE ANCORA PIU' LARGO
   più spazio a nominativo + display
   ========================================================= */

.v3-tx{
    grid-template-columns:44% 10% 46% !important;
}

@media(max-width:1250px){
    .v3-tx{
        grid-template-columns:520px 120px 530px !important;
    }
}

/* =========================================================
   TX PROFILE - PIU' SPAZIO AL NOME/DISPLAY
   Buon ascolto ridotto a 75px
   ========================================================= */

.v3-tx-profile{
    grid-template-columns:minmax(0,1fr) 60px !important;
}

.master-listen-card{
    width:60px !important;
    min-width:60px !important;
    padding-left:2px !important;
    padding-right:2px !important;
}


/* =========================================================
   FIX FINALE - TX BANNER PIU' ALTO
   ========================================================= */
.v3-tx-primary #txBanner{
    height:auto !important;
    min-height:170px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

/* =========================================================
   FIX DEFINITIVO ALTEZZA RIGA TX
   Allunga verticalmente banner e contenitori
   ========================================================= */

.v3-tx{
    height:176px !important;
    min-height:176px !important;
    overflow:visible !important;
}

.v3-tx-primary,
.v3-tx-meta,
.v3-tx-profile{
    height:170px !important;
    min-height:170px !important;
}

.v3-tx-primary #txBanner{
    height:170px !important;
    min-height:170px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

/* =========================================================
   FIX PROFILO TX - NOMINATIVI LUNGHI
   ========================================================= */

.v3-tx-profile{
    overflow:hidden !important;
}

.v3-tx-profile #qrzLiveCard{
    height:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.v3-tx-profile .qrz-live-call{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;

    line-height:1.05 !important;
    font-size:28px !important;

    margin-top:0 !important;
    margin-bottom:5px !important;
}

/* =========================================================
   CONFERENZA ITALIA MONITOR LITE
   PULSANTI DASHBOARD ESTERNE - NESSUN IFRAME
   ========================================================= */

.lite-dashboard-section{
    padding:22px 18px 28px;
    background:
      radial-gradient(circle at 50% 0%,rgba(0,153,255,.12),transparent 45%),
      #061522;
    border-top:1px solid #175b86;
    border-bottom:1px solid #175b86;
}

.lite-dashboard-title{
    text-align:center;
    font-size:22px;
    font-weight:950;
    letter-spacing:1.5px;
    color:#eaf8ff;
    margin:0 0 18px;
    text-shadow:0 0 14px rgba(0,174,255,.45);
}

.lite-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
    max-width:1600px;
    margin:0 auto;
}

.lite-dash-card{
    position:relative;
    min-height:205px;
    padding:18px 12px 15px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none !important;
    text-align:center;
    overflow:hidden;

    background:linear-gradient(155deg,#0b263b,#071725);
    border:1px solid #2679a7;
    border-radius:16px;

    box-shadow:
      0 8px 24px rgba(0,0,0,.38),
      inset 0 0 20px rgba(0,157,255,.05);

    transition:
      transform .22s ease,
      border-color .22s ease,
      box-shadow .22s ease;

    animation:liteCardGlow 3.2s ease-in-out infinite;
}

.lite-dash-card:hover{
    transform:translateY(-6px) scale(1.025);
    border-color:#5fd3ff;
    box-shadow:
      0 13px 30px rgba(0,0,0,.48),
      0 0 22px rgba(0,183,255,.30);
}

.lite-logo-wrap{
    width:100%;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.lite-logo-wrap img{
    display:block;
    max-width:150px;
    max-height:68px;
    object-fit:contain;
}

.lite-ysf .lite-logo-wrap img{
    max-width:180px;
}

.lite-card-text{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    width:100%;
}

.lite-card-text strong{
    color:#ffffff;
    font-size:16px;
    font-weight:950;
    line-height:1.15;
}

.lite-card-text span{
    color:#9ec8df;
    font-size:13px;
    font-weight:700;
}

.lite-card-text b{
    margin-top:5px;
    padding:7px 13px;
    border-radius:8px;
    background:#0b6da2;
    color:#ffffff;
    font-size:12px;
    font-weight:950;
    letter-spacing:.5px;
    box-shadow:0 0 12px rgba(0,166,255,.20);
}

.lite-dv-logo{
    width:72px;
    border-radius:50%;
    background:linear-gradient(145deg,#1588bd,#073957);
    border:2px solid #55d2ff;
    box-shadow:0 0 18px rgba(0,191,255,.32);
}

.lite-dv-logo span{
    color:#fff;
    font-size:27px;
    font-weight:950;
    letter-spacing:-1px;
}

@keyframes liteCardGlow{
    0%,100%{
        box-shadow:
          0 8px 24px rgba(0,0,0,.38),
          0 0 5px rgba(0,167,255,.08);
    }
    50%{
        box-shadow:
          0 8px 24px rgba(0,0,0,.38),
          0 0 16px rgba(0,167,255,.20);
    }
}

@media(max-width:1100px){
    .lite-dashboard-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .lite-dashboard-grid{
        grid-template-columns:1fr;
    }

    .lite-dash-card{
        min-height:175px;
    }
}



/* ============================================================
   LOGHI PROTOCOLLI HEADER
   ============================================================ */

.v3-protocol-logo{
  width:18px !important;
  height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  object-fit:contain !important;
  display:block !important;
  flex:0 0 18px !important;
}

.v3-protocol-logo-ysf,
.v3-protocol-logo-nxdn,
.v3-protocol-logo-svxlink,
.v3-protocol-logo-peanut,
.v3-protocol-logo-zello{
  width:28px !important;
  max-width:28px !important;
  flex-basis:28px !important;
}

