:root{
  --dash-bg:#eef6fb;
  --dash-panel:rgba(255,255,255,0.96);
  --dash-text:#17324d;
  --dash-muted:#5d7388;
  --dash-brand:#0d5eaf;
  --dash-cyan:#34b5e5;
  --dash-accent:#ff6b2c;
  --dash-success:#108a4b;
  --dash-border:rgba(13,94,175,0.12);
  --dash-shadow:0 26px 68px rgba(14,44,74,0.14);
}

*{box-sizing:border-box}
body.scanmap-dashboard-body{
  margin:0;
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--dash-text);
  background:
    radial-gradient(circle at top left, rgba(52,181,229,0.18), transparent 30%),
    radial-gradient(circle at top right, rgba(255,107,44,0.14), transparent 25%),
    linear-gradient(180deg, #f8fbfe 0%, var(--dash-bg) 100%);
}

.dash-shell{
  width:min(1320px,calc(100% - 28px));
  margin:26px auto 40px;
  display:grid;
  gap:22px;
}

.dash-topbar,.dash-hero,.dash-card,.dash-banner{
  background:var(--dash-panel);
  border:1px solid var(--dash-border);
  border-radius:28px;
  box-shadow:var(--dash-shadow);
}

.dash-topbar{
  padding:18px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.dash-brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:inherit;
}

.dash-brand-mark{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--dash-brand),var(--dash-cyan));
  color:#fff;
  font-size:24px;
}

.dash-top-actions,.dash-inline-actions,.dash-share-links,.dash-chat-actions,.dash-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dash-btn,.dash-link-btn,.dash-card .dash-submit{
  border:none;
  text-decoration:none;
  border-radius:999px;
  padding:12px 18px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.dash-btn-primary,.dash-submit{
  background:linear-gradient(135deg,var(--dash-brand),var(--dash-cyan));
  color:#fff;
  box-shadow:0 16px 32px rgba(13,94,175,0.22);
}

.dash-btn-secondary,.dash-link-btn{
  background:#edf4fb;
  color:var(--dash-text);
}

.dash-btn-accent{
  background:linear-gradient(135deg,var(--dash-accent),#ff9a54);
  color:#fff;
}

.dash-hero{
  padding:28px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(290px,430px);
  gap:20px;
}

.dash-hero h1{margin:0 0 8px;font-size:clamp(2rem,3vw,3rem);line-height:1.04}
.dash-hero p,.dash-muted{color:var(--dash-muted);line-height:1.6}

.dash-stat-grid,.dash-grid{
  display:grid;
  gap:16px;
}

.dash-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.dash-col-4{grid-column:span 4}
.dash-col-5{grid-column:span 5}
.dash-col-6{grid-column:span 6}
.dash-col-7{grid-column:span 7}
.dash-col-8{grid-column:span 8}
.dash-col-12{grid-column:1 / -1}

.dash-stat{
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(13,94,175,0.07),rgba(13,94,175,0.015));
  border:1px solid rgba(13,94,175,0.08);
}

.dash-stat strong{
  display:block;
  margin-top:6px;
  font-size:1.75rem;
}

.dash-card{
  padding:22px;
  display:grid;
  gap:18px;
  align-content:start;
}

.dash-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.dash-card h2,.dash-card h3{margin:0}

.dash-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.dash-field,.dash-field-full{
  display:grid;
  gap:8px;
}

.dash-field-full{grid-column:1 / -1}

.dash-field label,.dash-field-full label{
  font-weight:700;
  font-size:0.95rem;
}

.dash-input,.dash-textarea,.dash-select{
  width:100%;
  border:1px solid rgba(13,94,175,0.14);
  border-radius:18px;
  padding:14px 15px;
  font:inherit;
  background:#fff;
  color:var(--dash-text);
}

.dash-textarea{min-height:116px;resize:vertical}

.dash-switch{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  background:#f8fbfe;
  border:1px solid rgba(13,94,175,0.08);
}

.dash-profile-hero{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}

.dash-avatar-preview{
  width:110px;
  height:110px;
  border-radius:28px;
  overflow:hidden;
  display:grid;
  place-items:center;
  font-size:2rem;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,var(--dash-brand),var(--dash-cyan));
  box-shadow:0 18px 34px rgba(13,94,175,0.24);
}

.dash-avatar-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.dash-status{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(13,94,175,0.1);
  background:#f8fbfe;
  color:var(--dash-muted);
}

.dash-status.is-success{color:var(--dash-success);border-color:rgba(16,138,75,0.18);background:rgba(16,138,75,0.08)}
.dash-status.is-error{color:#af2f2f;border-color:rgba(194,48,48,0.18);background:rgba(194,48,48,0.08)}

.dash-icon-grid,.dash-badge-grid,.dash-user-list,.dash-itinerary-grid{
  display:grid;
  gap:14px;
}

.dash-icon-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.dash-badge-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.dash-user-list,.dash-itinerary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

.dash-icon-option{
  position:relative;
  border:1px solid rgba(13,94,175,0.12);
  border-radius:20px;
  padding:14px;
  background:#fff;
  cursor:pointer;
  text-align:left;
}

.dash-icon-option input{position:absolute;opacity:0;pointer-events:none}
.dash-icon-option.is-active{border-color:rgba(13,94,175,0.32);box-shadow:0 10px 22px rgba(13,94,175,0.14)}
.dash-icon-badge{
  width:50px;
  height:50px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:24px;
  margin-bottom:10px;
}

.dash-badge-card,.dash-user-card,.dash-itinerary-card{
  border:1px solid rgba(13,94,175,0.08);
  background:#fff;
  border-radius:24px;
  padding:18px;
  display:grid;
  gap:12px;
}

.dash-badge-card.is-locked{opacity:.65}

.dash-banner{
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:14px;
}

.dash-banner-icon{
  width:54px;
  height:54px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:#fff7d6;
}

.dash-map{
  width:100%;
  min-height:360px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(13,94,175,0.08);
}

.dash-map-note{
  padding:14px 16px;
  border-radius:18px;
  background:#f8fbfe;
  border:1px solid rgba(13,94,175,0.08);
}

.dash-user-card-head,.dash-chat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.dash-user-chip{
  display:flex;
  align-items:center;
  gap:12px;
}

.dash-user-chip-media{
  width:56px;
  height:56px;
  border-radius:18px;
  overflow:hidden;
  display:grid;
  place-items:center;
  font-size:24px;
  color:#fff;
  background:linear-gradient(135deg,var(--dash-brand),var(--dash-cyan));
}

.dash-user-chip-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.dash-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,107,44,0.12);
  color:#ab4b1a;
  font-weight:800;
  font-size:.82rem;
}

.dash-pill.is-success{
  background:rgba(16,138,75,0.12);
  color:var(--dash-success);
}

.dash-pending-save{
  display:none;
}

.dash-pending-save.is-visible{
  display:grid;
  gap:12px;
}

.dash-empty{
  padding:18px;
  border-radius:20px;
  border:1px dashed rgba(13,94,175,0.18);
  color:var(--dash-muted);
  text-align:center;
}

.dash-modal{
  position:fixed;
  inset:0;
  background:rgba(10,26,43,0.48);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:4000;
}

.dash-modal.is-open{display:flex}

.dash-modal-card{
  width:min(620px,100%);
  max-height:min(88vh,860px);
  overflow:auto;
  border-radius:28px;
  background:#fff;
  padding:22px;
  box-shadow:0 30px 70px rgba(0,0,0,0.22);
  display:grid;
  gap:16px;
}

.dash-chat{
  position:fixed;
  right:18px;
  bottom:18px;
  width:min(390px,calc(100vw - 24px));
  max-height:min(72vh,620px);
  background:#fff;
  border-radius:26px;
  border:1px solid rgba(13,94,175,0.12);
  box-shadow:0 24px 60px rgba(11,45,78,0.22);
  display:none;
  flex-direction:column;
  overflow:hidden;
  z-index:4200;
}

.dash-chat.is-open{display:flex}

.dash-chat-head{
  padding:16px 18px;
  border-bottom:1px solid rgba(13,94,175,0.08);
}

.dash-chat-body{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:auto;
  background:#f8fbfe;
}

.dash-chat-message{
  max-width:82%;
  padding:12px 14px;
  border-radius:18px;
  background:#fff;
  color:var(--dash-text);
  align-self:flex-start;
}

.dash-chat-message.is-own{
  align-self:flex-end;
  background:linear-gradient(135deg,var(--dash-brand),var(--dash-cyan));
  color:#fff;
}

.dash-chat-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:16px;
  border-top:1px solid rgba(13,94,175,0.08);
}

.dash-chat-close{
  width:38px;
  height:38px;
  border:none;
  border-radius:50%;
  background:#edf4fb;
  color:var(--dash-text);
  cursor:pointer;
}

.dash-note{
  font-size:.9rem;
  color:var(--dash-muted);
}

.dash-share-links a,.dash-share-links button{
  border:none;
  border-radius:999px;
  padding:10px 14px;
  background:#edf4fb;
  color:var(--dash-text);
  font:inherit;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}

@media (max-width: 1100px){
  .dash-hero{grid-template-columns:1fr}
  .dash-col-4,.dash-col-5,.dash-col-6,.dash-col-7,.dash-col-8{grid-column:1 / -1}
}

@media (max-width: 760px){
  .dash-stat-grid,.dash-form-grid{grid-template-columns:1fr}
  .dash-shell{width:min(100% - 18px,1320px);margin:18px auto 28px}
  .dash-topbar,.dash-hero,.dash-card,.dash-banner{border-radius:24px}
  .dash-chat{right:12px;bottom:12px}
}

/* =========================================================
   ScanMAP User Dashboard - Compact Mode
   Added for /user/dashboard.php
   ========================================================= */

.scanmap-dashboard-body {
  background: #f4f7fb;
}

.dash-shell {
  max-width: 1180px;
  padding: 14px;
}

/* Topbar più bassa */
.dash-topbar {
  min-height: auto;
  padding: 10px 14px;
  margin-bottom: 12px;
  border-radius: 18px;
}

.dash-brand {
  gap: 10px;
}

.dash-brand-mark {
  width: 38px;
  height: 38px;
  font-size: 21px;
}

.dash-brand strong {
  font-size: 15px;
}

.dash-brand small,
.dash-muted,
.dash-note {
  font-size: 12px;
  line-height: 1.35;
}

/* Azioni topbar più compatte */
.dash-top-actions {
  gap: 7px;
}

.dash-user-chip {
  padding: 6px 9px;
  border-radius: 999px;
}

.dash-user-chip-media {
  width: 34px;
  height: 34px;
  font-size: 17px;
}

.dash-link-btn,
.dash-btn,
.dash-submit,
.dash-share-links a,
.dash-share-links button {
  min-height: 34px;
  padding: 8px 11px;
  font-size: 12px;
  border-radius: 999px;
}

/* Hero più compatta */
.dash-hero {
  padding: 16px 18px;
  margin-bottom: 12px;
  border-radius: 20px;
  gap: 14px;
}

.dash-hero h1 {
  font-size: 25px;
  line-height: 1.12;
  margin-bottom: 6px;
}

.dash-hero p {
  font-size: 13px;
  line-height: 1.4;
  max-width: 720px;
}

/* Statistiche compatte */
.dash-stat-grid {
  gap: 8px;
}

.dash-stat {
  min-width: 130px;
  padding: 10px 12px;
  border-radius: 15px;
}

.dash-stat span {
  font-size: 11px;
}

.dash-stat strong {
  font-size: 22px;
  line-height: 1;
}

/* Banner più bassi */
.dash-banner {
  padding: 10px 14px;
  margin-bottom: 10px;
  border-radius: 16px;
}

.dash-banner-icon {
  width: 34px;
  height: 34px;
  font-size: 18px;
}

/* Griglia generale più stretta */
.dash-grid {
  gap: 12px;
}

.dash-card {
  padding: 14px;
  border-radius: 18px;
}

.dash-card-head {
  margin-bottom: 10px;
  gap: 10px;
}

.dash-card-head h2 {
  font-size: 18px;
  margin-bottom: 2px;
}

.dash-card-head h3 {
  font-size: 15px;
  margin-bottom: 2px;
}

.dash-pill {
  padding: 5px 9px;
  font-size: 11px;
}

/* Profilo più compatto */
.dash-profile-hero {
  padding: 10px;
  gap: 10px;
  border-radius: 16px;
  margin-bottom: 12px;
}

.dash-avatar-preview {
  width: 58px;
  height: 58px;
  font-size: 28px;
}

/* Form più compatto */
.dash-form-grid {
  gap: 10px;
}

.dash-field label,
.dash-field-full label {
  font-size: 12px;
  margin-bottom: 5px;
}

.dash-input,
.dash-textarea {
  min-height: 36px;
  padding: 8px 10px;
  font-size: 13px;
  border-radius: 12px;
}

.dash-textarea {
  min-height: 70px;
  resize: vertical;
}

/* Icone profilo più piccole */
.dash-icon-grid {
  gap: 8px;
}

.dash-icon-option {
  padding: 8px 9px;
  border-radius: 14px;
  gap: 7px;
}

.dash-icon-badge {
  width: 30px;
  height: 30px;
  font-size: 16px;
}

.dash-icon-option strong {
  font-size: 12px;
}

/* Switch compatto */
.dash-switch {
  padding: 10px;
  border-radius: 15px;
  margin: 10px 0;
}

/* Premi e milestone più bassi */
.dash-badge-grid {
  gap: 8px;
}

.dash-badge-card {
  padding: 10px;
  border-radius: 14px;
}

.dash-badge-card strong {
  font-size: 13px;
}

/* Mappa social meno alta */
.dash-map {
  height: 320px;
  border-radius: 18px;
}

.dash-map-note {
  padding: 10px 12px;
  margin-top: 10px;
  border-radius: 14px;
}

/* Liste utenti compatte */
.dash-user-list {
  gap: 8px;
}

.dash-user-card,
.dash-user-row,
.dash-request-card,
.dash-friend-card {
  padding: 9px 10px;
  border-radius: 14px;
}

/* Itinerari salvati più compatti */
.dash-itinerary-grid {
  gap: 10px;
}

.dash-itinerary-card {
  padding: 12px;
  border-radius: 16px;
}

.dash-itinerary-card .dash-muted {
  font-size: 12px;
  line-height: 1.35;
}

.dash-inline-actions,
.dash-share-links {
  gap: 7px;
  margin-top: 9px;
}

/* Chat meno invasiva */
.dash-chat {
  width: min(360px, calc(100vw - 24px));
  border-radius: 18px;
}

.dash-chat-head {
  padding: 10px 12px;
}

.dash-chat-body {
  max-height: 280px;
}

.dash-chat-form {
  padding: 9px;
  gap: 7px;
}

/* Mobile */
@media (max-width: 900px) {
  .dash-shell {
    padding: 10px;
  }

  .dash-topbar {
    align-items: flex-start;
  }

  .dash-top-actions {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }

  .dash-user-chip {
    min-width: max-content;
  }

  .dash-hero {
    padding: 14px;
  }

  .dash-hero h1 {
    font-size: 21px;
  }

  .dash-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dash-stat {
    min-width: 0;
  }

  .dash-stat strong {
    font-size: 18px;
  }

  .dash-card {
    padding: 12px;
  }

  .dash-map {
    height: 280px;
  }

  .dash-textarea {
    min-height: 62px;
  }
}

@media (max-width: 560px) {
  .dash-brand strong {
    font-size: 14px;
  }

  .dash-stat-grid {
    grid-template-columns: 1fr;
  }

  .dash-hero p {
    display: none;
  }

  .dash-map {
    height: 245px;
  }

  .dash-card-head {
    align-items: flex-start;
  }
}


/* =========================================================
   ScanMAP User Dashboard - Compact Mode 2
   Stronger compression
   ========================================================= */

/* Riduce ancora il blocco hero */
.dash-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  align-items: center;
}

.dash-hero h1 {
  max-width: 760px;
}

.dash-hero p {
  max-height: 38px;
  overflow: hidden;
}

/* Le statistiche diventano più “badge” che card */
.dash-stat-grid {
  align-items: stretch;
}

.dash-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Profilo: meno altezza nei testi */
.dash-card-head .dash-muted {
  max-height: 34px;
  overflow: hidden;
}

.dash-profile-hero .dash-note {
  display: none;
}

/* Textarea molto meno invadenti */
.dash-textarea {
  min-height: 54px;
  max-height: 90px;
}

/* Griglie icone più dense */
.dash-icon-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}

.dash-icon-option {
  min-height: 46px;
}

.dash-icon-option strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Switch più asciutto */
.dash-switch .dash-note {
  display: none;
}

/* Premi e milestone: trasformati in lista compatta */
.dash-badge-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.dash-badge-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.dash-badge-card .dash-muted {
  display: none;
}

.dash-badge-card .dash-pill {
  white-space: nowrap;
}

/* Mappa social più compatta */
#socialMapSection .dash-map-note {
  display: none;
}

#socialMapSection .dash-map {
  height: 300px;
}

/* Liste utenti più compatte anche se generate via JS */
.dash-user-list > * {
  margin-bottom: 8px;
}

.dash-user-list img,
.dash-user-list .avatar,
.dash-user-list .dash-avatar,
.dash-user-list .dash-user-avatar {
  width: 38px !important;
  height: 38px !important;
}

/* Sezioni richieste/amici meno alte */
#nearbyUsersList,
#pendingRequestsList,
#friendsList {
  max-height: 260px;
  overflow-y: auto;
  padding-right: 3px;
}

/* Percorsi salvati: card più orizzontali */
.dash-itinerary-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.dash-itinerary-card > .dash-card-head,
.dash-itinerary-card > .dash-muted {
  grid-column: 1 / -1;
}

.dash-itinerary-card > .dash-form-grid {
  grid-column: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dash-itinerary-card > .dash-inline-actions,
.dash-itinerary-card > .dash-share-links {
  grid-column: 2;
  flex-direction: column;
  align-items: stretch;
  margin-top: 0;
}

.dash-share-links a,
.dash-share-links button {
  text-align: center;
  justify-content: center;
}

/* Riduzione generale delle ombre per aspetto più pulito */
.dash-card,
.dash-hero,
.dash-topbar,
.dash-banner {
  box-shadow: 0 10px 30px rgba(15, 23, 42, .07);
}

/* Desktop: alza la densità della griglia */
@media (min-width: 901px) {
  .dash-col-7 {
    grid-column: span 8;
  }

  .dash-col-5 {
    grid-column: span 4;
  }

  .dash-col-8 {
    grid-column: span 8;
  }

  .dash-col-4 {
    grid-column: span 4;
  }

  .dash-col-6 {
    grid-column: span 6;
  }

  .dash-col-12 {
    grid-column: span 12;
  }
}

/* Mobile: evita layout troppo schiacciati */
@media (max-width: 900px) {
  .dash-hero {
    grid-template-columns: 1fr;
  }

  .dash-hero p {
    display: block;
    max-height: 42px;
  }

  .dash-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dash-itinerary-card {
    display: block;
  }

  .dash-itinerary-card > .dash-inline-actions,
  .dash-itinerary-card > .dash-share-links {
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 9px;
  }

  #nearbyUsersList,
  #pendingRequestsList,
  #friendsList {
    max-height: none;
  }
}


/* ===== Compact fix: statistiche hero sempre su una riga ===== */
.dash-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.dash-stat{
  min-width:0;
  padding:10px 10px;
}

.dash-stat span{
  font-size:11px;
  line-height:1.2;
}

.dash-stat strong{
  font-size:18px;
  line-height:1.05;
}

@media (max-width: 900px){
  .dash-stat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .dash-stat{
    padding:9px 8px;
  }

  .dash-stat span{
    font-size:10px;
  }

  .dash-stat strong{
    font-size:16px;
  }
}

@media (max-width: 560px){
  .dash-stat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px;
  }

  .dash-stat{
    padding:8px 7px;
    border-radius:12px;
  }

  .dash-stat span{
    font-size:9px;
  }

  .dash-stat strong{
    font-size:14px;
  }
}


/* ===== Compact3: statistiche hero sempre su una riga ===== */
.dash-stat-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}

.dash-stat{
  min-width:0 !important;
  padding:10px 10px !important;
}

.dash-stat span{
  font-size:11px !important;
  line-height:1.2 !important;
}

.dash-stat strong{
  font-size:18px !important;
  line-height:1.05 !important;
}

@media (max-width: 900px){
  .dash-stat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .dash-stat{
    padding:9px 8px !important;
  }

  .dash-stat span{
    font-size:10px !important;
  }

  .dash-stat strong{
    font-size:16px !important;
  }
}

@media (max-width: 560px){
  .dash-stat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }

  .dash-stat{
    padding:8px 6px !important;
    border-radius:12px !important;
  }

  .dash-stat span{
    font-size:9px !important;
    line-height:1.15 !important;
  }

  .dash-stat strong{
    font-size:14px !important;
    line-height:1 !important;
  }
}


/* ===== Compact4 definitivo: statistiche hero su una sola riga ===== */

.dash-hero .dash-stat-grid,
section.dash-hero .dash-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
}

.dash-hero .dash-stat,
section.dash-hero .dash-stat {
  min-width: 0 !important;
  width: auto !important;
  padding: 8px 6px !important;
  border-radius: 13px !important;
}

.dash-hero .dash-stat span,
section.dash-hero .dash-stat span {
  display: block !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

.dash-hero .dash-stat strong,
section.dash-hero .dash-stat strong {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.05 !important;
  margin-top: 4px !important;
  word-break: keep-all !important;
}

/* Su mobile resta sempre a 3 colonne */
@media (max-width: 900px) {
  .dash-hero .dash-stat-grid,
  section.dash-hero .dash-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .dash-hero .dash-stat-grid,
  section.dash-hero .dash-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .dash-hero .dash-stat,
  section.dash-hero .dash-stat {
    padding: 7px 5px !important;
  }

  .dash-hero .dash-stat span,
  section.dash-hero .dash-stat span {
    font-size: 8.5px !important;
  }

  .dash-hero .dash-stat strong,
  section.dash-hero .dash-stat strong {
    font-size: 13px !important;
  }
}


/* ===== Compact Icons Cards ===== */
.dash-icon-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}

.dash-icon-option{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:8px 10px !important;
  min-height:unset !important;
  border-radius:14px !important;
}

.dash-icon-option input[type="radio"]{
  margin:0 !important;
  transform:scale(.9);
  flex:0 0 auto;
}

.dash-icon-badge{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  font-size:14px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
}

.dash-icon-option strong{
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.dash-icon-option:hover{
  transform:none !important;
}

.dash-icon-option:has(input:checked){
  border-width:2px !important;
  box-shadow:none !important;
  background:#f4f9ff !important;
}

@media (min-width: 901px){
  .dash-icon-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 560px){
  .dash-icon-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .dash-icon-option{
    padding:7px 8px !important;
    gap:7px !important;
    border-radius:12px !important;
  }

  .dash-icon-badge{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    font-size:13px !important;
  }

  .dash-icon-option strong{
    font-size:11px !important;
  }
}


/* ===== Compact Icons Minimal v2 ===== */

/* Contenitore icone: più simile a lista compatta */
.dash-icon-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
  margin-top:6px !important;
}

/* Singola opzione: non più card grande */
.dash-icon-option{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  min-height:32px !important;
  padding:5px 7px !important;
  border-radius:999px !important;
  border:1px solid rgba(13,83,136,.16) !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:none !important;
}

/* Radio piccolissimo */
.dash-icon-option input[type="radio"]{
  width:12px !important;
  height:12px !important;
  margin:0 !important;
  accent-color:#0b8fd8 !important;
  flex:0 0 auto !important;
}

/* Badge icona molto piccolo */
.dash-icon-badge{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  font-size:12px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
}

/* Testo compatto */
.dash-icon-option strong{
  font-size:11px !important;
  line-height:1 !important;
  font-weight:600 !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Stato selezionato */
.dash-icon-option:has(input:checked){
  border-color:#0b8fd8 !important;
  background:rgba(11,143,216,.08) !important;
  box-shadow:inset 0 0 0 1px rgba(11,143,216,.18) !important;
}

/* Hover senza salti */
.dash-icon-option:hover{
  transform:none !important;
  background:rgba(11,143,216,.05) !important;
}

/* Desktop: più colonne */
@media (min-width:901px){
  .dash-icon-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

/* Mobile stretto */
@media (max-width:560px){
  .dash-icon-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .dash-icon-option{
    min-height:30px !important;
    padding:5px 6px !important;
  }

  .dash-icon-badge{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    font-size:11px !important;
  }

  .dash-icon-option strong{
    font-size:10.5px !important;
  }
}


/* ===== Awards compact: Premi e milestone subito dopo hero ===== */
.dash-awards-compact{
  padding:12px 14px !important;
  border-radius:18px !important;
  margin-bottom:12px !important;
}

.dash-awards-compact .dash-card-head{
  margin-bottom:8px !important;
}

.dash-awards-compact .dash-card-head h2{
  font-size:17px !important;
  margin:0 0 2px !important;
}

.dash-awards-compact .dash-card-head .dash-muted{
  font-size:11px !important;
  line-height:1.25 !important;
  max-height:none !important;
}

.dash-awards-compact .dash-badge-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
}

.dash-awards-compact .dash-badge-card{
  min-height:38px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}

.dash-awards-compact .dash-badge-card strong{
  font-size:12px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.dash-awards-compact .dash-badge-card .dash-muted{
  display:none !important;
}

.dash-awards-compact .dash-badge-card .dash-pill{
  padding:4px 8px !important;
  font-size:10px !important;
  white-space:nowrap !important;
}

.dash-awards-compact .dash-map-note{
  margin-top:8px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
}

.dash-awards-compact .dash-map-note strong{
  font-size:13px !important;
}

.dash-awards-compact .dash-map-note .dash-muted{
  font-size:11px !important;
  line-height:1.25 !important;
}

@media (max-width:560px){
  .dash-awards-compact{
    padding:10px 12px !important;
  }

  .dash-awards-compact .dash-badge-grid{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .dash-awards-compact .dash-badge-card{
    min-height:34px !important;
    padding:7px 9px !important;
  }

  .dash-awards-compact .dash-map-note{
    padding:7px 9px !important;
  }
}


/* ===== Awards compact tighter v2 ===== */
.dash-awards-compact{
  padding:10px 12px !important;
  margin-bottom:10px !important;
}

.dash-awards-compact .dash-card-head{
  margin-bottom:6px !important;
}

.dash-awards-compact .dash-card-head h2{
  font-size:16px !important;
  line-height:1.05 !important;
  margin:0 0 2px !important;
}

.dash-awards-compact .dash-card-head .dash-muted{
  font-size:10.5px !important;
  line-height:1.15 !important;
}

.dash-awards-compact .dash-badge-grid{
  gap:4px !important;
}

.dash-awards-compact .dash-badge-card{
  min-height:28px !important;
  height:28px !important;
  padding:4px 8px !important;
  border-radius:12px !important;
}

.dash-awards-compact .dash-badge-card strong{
  font-size:11px !important;
  line-height:1 !important;
}

.dash-awards-compact .dash-badge-card .dash-pill{
  padding:3px 7px !important;
  font-size:9.5px !important;
  line-height:1 !important;
}

.dash-awards-compact .dash-map-note{
  margin-top:6px !important;
  padding:6px 9px !important;
  border-radius:12px !important;
}

.dash-awards-compact .dash-map-note strong{
  font-size:12px !important;
  line-height:1 !important;
}

.dash-awards-compact .dash-map-note .dash-muted{
  font-size:10.5px !important;
  line-height:1.15 !important;
}

@media (max-width:560px){
  .dash-awards-compact{
    padding:9px 10px !important;
  }

  .dash-awards-compact .dash-badge-grid{
    gap:3px !important;
  }

  .dash-awards-compact .dash-badge-card{
    min-height:26px !important;
    height:26px !important;
    padding:3px 7px !important;
  }

  .dash-awards-compact .dash-map-note{
    margin-top:5px !important;
    padding:5px 8px !important;
  }
}


/* =========================================================
   Saved Routes UI - mockup style
   ========================================================= */
.dash-saved-routes-card{
  padding:18px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(200,214,232,.85) !important;
  box-shadow:0 16px 40px rgba(34,72,120,.08) !important;
}

.dash-saved-routes-card > .dash-card-head{
  position:relative !important;
  padding-left:72px !important;
  min-height:58px !important;
  margin-bottom:16px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}

.dash-saved-routes-card > .dash-card-head::before{
  content:"🔖" !important;
  position:absolute !important;
  left:0 !important;
  top:2px !important;
  width:52px !important;
  height:52px !important;
  border-radius:50% !important;
  background:#eef4ff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:24px !important;
  box-shadow:inset 0 0 0 1px rgba(88,126,235,.08) !important;
}

.dash-saved-routes-card > .dash-card-head h2{
  font-size:26px !important;
  line-height:1.1 !important;
  margin:0 0 6px !important;
  color:#071744 !important;
}

.dash-saved-routes-card > .dash-card-head .dash-muted{
  font-size:14px !important;
  line-height:1.35 !important;
  color:#5d6f8f !important;
  max-width:740px !important;
}

.dash-saved-routes-card .dash-itinerary-grid{
  gap:14px !important;
}

.dash-saved-routes-card .dash-itinerary-card{
  padding:18px !important;
  border-radius:24px !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 8px 20px rgba(53,86,135,.05) !important;
}

.dash-saved-routes-card .dash-itinerary-card .dash-card-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:10px !important;
}

.dash-saved-routes-card .dash-itinerary-card h3{
  font-size:20px !important;
  line-height:1.24 !important;
  margin:0 0 6px !important;
  color:#071744 !important;
}

.dash-saved-routes-card .dash-itinerary-card .dash-note{
  font-size:13px !important;
  line-height:1.25 !important;
  color:#62748f !important;
}

.dash-saved-routes-card .dash-itinerary-card .dash-pill{
  background:#fff1e8 !important;
  color:#d86a17 !important;
  border:1px solid #ffd8bf !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  align-self:flex-start !important;
}

.dash-saved-routes-card .dash-itinerary-card > .dash-muted{
  font-size:15px !important;
  line-height:1.55 !important;
  color:#394d6a !important;
  margin:10px 0 14px !important;
}

.dash-saved-routes-card .dash-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 16px !important;
}

.dash-saved-routes-card .dash-badge-card{
  padding:14px 16px !important;
  border-radius:20px !important;
  background:#fbfdff !important;
  border:1px solid #d6e1ef !important;
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:6px !important;
  box-shadow:none !important;
}

.dash-saved-routes-card .dash-badge-card strong{
  display:block !important;
  font-size:18px !important;
  line-height:1.1 !important;
  color:#071744 !important;
}

.dash-saved-routes-card .dash-badge-card .dash-note{
  display:block !important;
  font-size:15px !important;
  line-height:1.3 !important;
  color:#50627f !important;
}

.dash-saved-routes-card .dash-form-grid .dash-badge-card:first-child strong::before{
  content:"→" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  margin-right:10px !important;
  border-radius:50% !important;
  border:2px solid #4f87ff !important;
  color:#2f73ff !important;
  font-size:16px !important;
  vertical-align:middle !important;
}

.dash-saved-routes-card .dash-form-grid .dash-badge-card:last-child strong::before{
  content:"←" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  margin-right:10px !important;
  border-radius:50% !important;
  border:2px solid #4f87ff !important;
  color:#2f73ff !important;
  font-size:16px !important;
  vertical-align:middle !important;
}

.dash-saved-routes-card .dash-inline-actions{
  margin:0 0 14px !important;
  display:flex !important;
}

.dash-saved-routes-card .dash-inline-actions .dash-btn-primary{
  width:100% !important;
  min-height:64px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#1576ff 0%, #0d63e5 100%) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:700 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:16px 22px !important;
  box-shadow:0 10px 26px rgba(20,95,220,.25) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  text-decoration:none !important;
}

.dash-saved-routes-card .dash-inline-actions .dash-btn-primary::before{
  content:"🗺️  " !important;
  font-size:22px !important;
  line-height:1 !important;
}

.dash-saved-routes-card .dash-inline-actions .dash-btn-primary::after{
  content:"›" !important;
  font-size:38px !important;
  line-height:1 !important;
  opacity:.95 !important;
}

.dash-saved-routes-card .dash-share-links{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:0 !important;
  padding-top:14px !important;
  border-top:1px solid #dbe5f0 !important;
}

.dash-saved-routes-card .dash-share-links a,
.dash-saved-routes-card .dash-share-links button{
  min-height:50px !important;
  border-radius:18px !important;
  background:#fdfefe !important;
  border:1px solid #d8e3f0 !important;
  color:#2d4262 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:10px 12px !important;
  font-size:14px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.dash-saved-routes-card .dash-share-links a[href*="wa.me"]{
  color:#1f9a45 !important;
}

.dash-saved-routes-card .dash-share-links a[href*="mailto:"]{
  color:#2368cc !important;
}

.dash-saved-routes-card .dash-empty{
  padding:18px !important;
  border-radius:20px !important;
  border:1px dashed #cfdceb !important;
  background:#fbfdff !important;
}

@media (max-width: 900px){
  .dash-saved-routes-card{
    padding:16px !important;
    border-radius:24px !important;
  }

  .dash-saved-routes-card > .dash-card-head{
    padding-left:62px !important;
  }

  .dash-saved-routes-card > .dash-card-head::before{
    width:46px !important;
    height:46px !important;
    font-size:21px !important;
  }

  .dash-saved-routes-card > .dash-card-head h2{
    font-size:22px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card{
    padding:16px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card h3{
    font-size:18px !important;
  }

  .dash-saved-routes-card .dash-badge-card{
    min-height:82px !important;
  }

  .dash-saved-routes-card .dash-inline-actions .dash-btn-primary{
    min-height:58px !important;
    font-size:17px !important;
  }

  .dash-saved-routes-card .dash-share-links{
    gap:8px !important;
  }

  .dash-saved-routes-card .dash-share-links a,
  .dash-saved-routes-card .dash-share-links button{
    min-height:46px !important;
    font-size:13px !important;
    padding:10px 8px !important;
  }
}

@media (max-width: 560px){
  .dash-saved-routes-card{
    padding:14px !important;
  }

  .dash-saved-routes-card > .dash-card-head{
    padding-left:0 !important;
    min-height:auto !important;
  }

  .dash-saved-routes-card > .dash-card-head::before{
    display:none !important;
  }

  .dash-saved-routes-card > .dash-card-head h2{
    font-size:18px !important;
  }

  .dash-saved-routes-card > .dash-card-head .dash-muted{
    font-size:12px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card{
    padding:14px !important;
    border-radius:20px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card .dash-card-head{
    gap:8px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card h3{
    font-size:15px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card .dash-pill{
    padding:7px 10px !important;
    font-size:12px !important;
  }

  .dash-saved-routes-card .dash-itinerary-card > .dash-muted{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .dash-saved-routes-card .dash-form-grid{
    gap:8px !important;
  }

  .dash-saved-routes-card .dash-badge-card{
    min-height:74px !important;
    padding:12px !important;
    border-radius:16px !important;
  }

  .dash-saved-routes-card .dash-badge-card strong{
    font-size:15px !important;
  }

  .dash-saved-routes-card .dash-badge-card .dash-note{
    font-size:12px !important;
  }

  .dash-saved-routes-card .dash-inline-actions .dash-btn-primary{
    min-height:52px !important;
    padding:14px 16px !important;
    font-size:16px !important;
    border-radius:18px !important;
  }

  .dash-saved-routes-card .dash-share-links{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
    overflow-x:auto !important;
  }

  .dash-saved-routes-card .dash-share-links a,
  .dash-saved-routes-card .dash-share-links button{
    min-height:42px !important;
    border-radius:14px !important;
    font-size:11px !important;
    padding:8px 6px !important;
  }
}


/* =========================================================
   Uniforma tutti gli itinerari salvati
   ========================================================= */

.dash-itinerary-grid{
  gap:14px !important;
}

.dash-itinerary-card{
  padding:18px !important;
  border-radius:24px !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 8px 20px rgba(53,86,135,.05) !important;
}

.dash-itinerary-card .dash-card-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:10px !important;
}

.dash-itinerary-card h3{
  font-size:20px !important;
  line-height:1.24 !important;
  margin:0 0 6px !important;
  color:#071744 !important;
}

.dash-itinerary-card .dash-note{
  font-size:13px !important;
  line-height:1.25 !important;
  color:#62748f !important;
}

.dash-itinerary-card .dash-pill{
  background:#fff1e8 !important;
  color:#d86a17 !important;
  border:1px solid #ffd8bf !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  align-self:flex-start !important;
}

.dash-itinerary-card > .dash-muted{
  font-size:15px !important;
  line-height:1.55 !important;
  color:#394d6a !important;
  margin:10px 0 14px !important;
}

.dash-itinerary-card .dash-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 16px !important;
}

.dash-itinerary-card .dash-badge-card{
  padding:14px 16px !important;
  border-radius:20px !important;
  background:#fbfdff !important;
  border:1px solid #d6e1ef !important;
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:6px !important;
  box-shadow:none !important;
}

.dash-itinerary-card .dash-badge-card strong{
  display:block !important;
  font-size:18px !important;
  line-height:1.1 !important;
  color:#071744 !important;
}

.dash-itinerary-card .dash-badge-card .dash-note{
  display:block !important;
  font-size:15px !important;
  line-height:1.3 !important;
  color:#50627f !important;
}

.dash-itinerary-card .dash-form-grid .dash-badge-card:first-child strong::before{
  content:"→" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  margin-right:10px !important;
  border-radius:50% !important;
  border:2px solid #4f87ff !important;
  color:#2f73ff !important;
  font-size:16px !important;
  vertical-align:middle !important;
}

.dash-itinerary-card .dash-form-grid .dash-badge-card:last-child strong::before{
  content:"←" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  margin-right:10px !important;
  border-radius:50% !important;
  border:2px solid #4f87ff !important;
  color:#2f73ff !important;
  font-size:16px !important;
  vertical-align:middle !important;
}

.dash-itinerary-card .dash-inline-actions{
  margin:0 0 14px !important;
  display:flex !important;
}

.dash-itinerary-card .dash-inline-actions .dash-btn-primary{
  width:100% !important;
  min-height:64px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#1576ff 0%, #0d63e5 100%) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:700 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:16px 22px !important;
  box-shadow:0 10px 26px rgba(20,95,220,.25) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  text-decoration:none !important;
}

.dash-itinerary-card .dash-inline-actions .dash-btn-primary::before{
  content:"🗺️  " !important;
  font-size:22px !important;
  line-height:1 !important;
}

.dash-itinerary-card .dash-inline-actions .dash-btn-primary::after{
  content:"›" !important;
  font-size:38px !important;
  line-height:1 !important;
  opacity:.95 !important;
}

.dash-itinerary-card .dash-share-links{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:0 !important;
  padding-top:14px !important;
  border-top:1px solid #dbe5f0 !important;
}

.dash-itinerary-card .dash-share-links a,
.dash-itinerary-card .dash-share-links button{
  min-height:50px !important;
  border-radius:18px !important;
  background:#fdfefe !important;
  border:1px solid #d8e3f0 !important;
  color:#2d4262 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:10px 12px !important;
  font-size:14px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.dash-itinerary-card .dash-share-links a[href*="wa.me"]{
  color:#1f9a45 !important;
}

.dash-itinerary-card .dash-share-links a[href*="mailto:"]{
  color:#2368cc !important;
}

@media (max-width: 900px){
  .dash-itinerary-card{
    padding:16px !important;
  }

  .dash-itinerary-card h3{
    font-size:18px !important;
  }

  .dash-itinerary-card .dash-badge-card{
    min-height:82px !important;
  }

  .dash-itinerary-card .dash-inline-actions .dash-btn-primary{
    min-height:58px !important;
    font-size:17px !important;
  }

  .dash-itinerary-card .dash-share-links a,
  .dash-itinerary-card .dash-share-links button{
    min-height:46px !important;
    font-size:13px !important;
    padding:10px 8px !important;
  }
}

@media (max-width: 560px){
  .dash-itinerary-card{
    padding:14px !important;
    border-radius:20px !important;
  }

  .dash-itinerary-card .dash-card-head{
    gap:8px !important;
  }

  .dash-itinerary-card h3{
    font-size:15px !important;
  }

  .dash-itinerary-card .dash-pill{
    padding:7px 10px !important;
    font-size:12px !important;
  }

  .dash-itinerary-card > .dash-muted{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .dash-itinerary-card .dash-form-grid{
    gap:8px !important;
  }

  .dash-itinerary-card .dash-badge-card{
    min-height:74px !important;
    padding:12px !important;
    border-radius:16px !important;
  }

  .dash-itinerary-card .dash-badge-card strong{
    font-size:15px !important;
  }

  .dash-itinerary-card .dash-badge-card .dash-note{
    font-size:12px !important;
  }

  .dash-itinerary-card .dash-inline-actions .dash-btn-primary{
    min-height:52px !important;
    padding:14px 16px !important;
    font-size:16px !important;
    border-radius:18px !important;
  }

  .dash-itinerary-card .dash-share-links{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
    overflow-x:auto !important;
  }

  .dash-itinerary-card .dash-share-links a,
  .dash-itinerary-card .dash-share-links button{
    min-height:42px !important;
    border-radius:14px !important;
    font-size:11px !important;
    padding:8px 6px !important;
  }
}


/* =========================================================
   Saved itineraries compact v2 + delete button
   ========================================================= */

.dash-saved-routes-card{
  padding:14px !important;
}

.dash-saved-routes-card > .dash-card-head{
  margin-bottom:10px !important;
}

.dash-saved-routes-card > .dash-card-head h2{
  font-size:18px !important;
}

.dash-saved-routes-card > .dash-card-head .dash-muted{
  font-size:12px !important;
  line-height:1.25 !important;
}

/* Card itinerario più compatta */
.dash-itinerary-card{
  padding:12px 14px !important;
  border-radius:18px !important;
}

.dash-itinerary-card .dash-card-head{
  margin-bottom:6px !important;
}

.dash-itinerary-card h3{
  font-size:15px !important;
  line-height:1.18 !important;
  margin-bottom:4px !important;
}

.dash-itinerary-card .dash-note{
  font-size:11px !important;
  line-height:1.2 !important;
}

.dash-itinerary-card .dash-pill{
  padding:6px 10px !important;
  font-size:11px !important;
}

/* Descrizione più bassa */
.dash-itinerary-card > .dash-muted{
  font-size:12px !important;
  line-height:1.35 !important;
  margin:6px 0 10px !important;
  max-height:50px !important;
  overflow:hidden !important;
}

/* Andata/Ritorno più piccoli */
.dash-itinerary-card .dash-form-grid{
  gap:8px !important;
  margin-bottom:10px !important;
}

.dash-itinerary-card .dash-badge-card{
  min-height:58px !important;
  padding:9px 10px !important;
  border-radius:14px !important;
  gap:3px !important;
}

.dash-itinerary-card .dash-badge-card strong{
  font-size:14px !important;
}

.dash-itinerary-card .dash-badge-card .dash-note{
  font-size:11px !important;
}

.dash-itinerary-card .dash-form-grid .dash-badge-card:first-child strong::before,
.dash-itinerary-card .dash-form-grid .dash-badge-card:last-child strong::before{
  width:22px !important;
  height:22px !important;
  margin-right:7px !important;
  font-size:13px !important;
  border-width:2px !important;
}

/* Bottone Apri itinerario ridotto */
.dash-itinerary-card .dash-inline-actions{
  margin:0 0 10px !important;
}

.dash-itinerary-card .dash-inline-actions .dash-btn-primary{
  min-height:42px !important;
  height:42px !important;
  border-radius:15px !important;
  padding:10px 14px !important;
  font-size:14px !important;
  box-shadow:0 7px 18px rgba(20,95,220,.20) !important;
}

.dash-itinerary-card .dash-inline-actions .dash-btn-primary::before{
  font-size:17px !important;
}

.dash-itinerary-card .dash-inline-actions .dash-btn-primary::after{
  font-size:28px !important;
}

/* Azioni: WhatsApp, Email, Social, Copia, Cancella */
.dash-itinerary-card .dash-share-links{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:6px !important;
  padding-top:9px !important;
  border-top:1px solid #dbe5f0 !important;
}

.dash-itinerary-card .dash-share-links a,
.dash-itinerary-card .dash-share-links button,
.dash-delete-itinerary-form,
.dash-delete-itinerary-btn{
  width:100% !important;
}

.dash-itinerary-card .dash-share-links a,
.dash-itinerary-card .dash-share-links button,
.dash-delete-itinerary-btn{
  min-height:34px !important;
  height:34px !important;
  border-radius:13px !important;
  padding:6px 6px !important;
  font-size:11px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}

.dash-delete-itinerary-form{
  margin:0 !important;
  padding:0 !important;
}

.dash-delete-itinerary-btn{
  border:1px solid #ffd0d0 !important;
  background:#fff5f5 !important;
  color:#c62828 !important;
  cursor:pointer !important;
}

.dash-delete-itinerary-btn:hover{
  background:#ffecec !important;
}

/* Mobile: mantiene tutto compatto */
@media (max-width:560px){
  .dash-itinerary-card{
    padding:11px 12px !important;
  }

  .dash-itinerary-card h3{
    font-size:14px !important;
  }

  .dash-itinerary-card > .dash-muted{
    font-size:11.5px !important;
    max-height:44px !important;
  }

  .dash-itinerary-card .dash-badge-card{
    min-height:52px !important;
    padding:8px !important;
  }

  .dash-itinerary-card .dash-badge-card strong{
    font-size:13px !important;
  }

  .dash-itinerary-card .dash-badge-card .dash-note{
    font-size:10px !important;
  }

  .dash-itinerary-card .dash-inline-actions .dash-btn-primary{
    min-height:38px !important;
    height:38px !important;
    font-size:13px !important;
  }

  .dash-itinerary-card .dash-share-links{
    grid-template-columns:repeat(5,minmax(66px,1fr)) !important;
    overflow-x:auto !important;
  }

  .dash-itinerary-card .dash-share-links a,
  .dash-itinerary-card .dash-share-links button,
  .dash-delete-itinerary-btn{
    min-height:32px !important;
    height:32px !important;
    font-size:10.5px !important;
  }
}


/* =========================================================
   Friendly Topbar ScanMAP - dashboard iniziale
   ========================================================= */

.dash-topbar{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
  padding:22px 24px !important;
  border-radius:30px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 90% 10%, rgba(52,181,229,.16), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(248,252,255,.96) 55%, rgba(235,247,255,.92) 100%) !important;
  border:1px solid rgba(199,216,235,.9) !important;
  box-shadow:0 18px 45px rgba(25,70,120,.10) !important;
}

.dash-topbar::after{
  content:"" !important;
  position:absolute !important;
  right:22px !important;
  top:18px !important;
  width:180px !important;
  height:95px !important;
  opacity:.38 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 75% 30%, rgba(18,132,214,.22) 0 16px, transparent 17px),
    radial-gradient(circle at 75% 30%, rgba(18,132,214,.10) 0 34px, transparent 35px),
    linear-gradient(140deg, transparent 0 48%, rgba(18,132,214,.22) 49% 51%, transparent 52%) !important;
  border-radius:28px !important;
}

.dash-brand{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  color:#071744 !important;
}

.dash-brand::before{
  content:"✦" !important;
  position:absolute !important;
  left:-8px !important;
  top:-10px !important;
  color:#58aef2 !important;
  font-size:15px !important;
  opacity:.75 !important;
}

.dash-brand-mark{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:31px !important;
  background:linear-gradient(180deg,#1ea3f2 0%, #0876c8 100%) !important;
  box-shadow:0 12px 26px rgba(7,118,200,.25) !important;
  border:4px solid rgba(255,255,255,.9) !important;
}

.dash-brand strong{
  font-size:25px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  color:#071744 !important;
}

.dash-brand-scanmap{
  color:#147fe8 !important;
}

.dash-brand small{
  display:block !important;
  margin-top:6px !important;
  font-size:16px !important;
  line-height:1.2 !important;
  color:#60718d !important;
}

/* Riga profilo + azioni */
.dash-top-actions{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(105px,.42fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}

/* Profilo utente più umano e leggibile */
.dash-user-chip{
  min-height:104px !important;
  padding:14px 18px !important;
  border-radius:28px !important;
  background:
    linear-gradient(135deg, rgba(239,248,255,.96) 0%, rgba(255,255,255,.92) 100%) !important;
  border:1px solid rgba(205,220,238,.9) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}

.dash-user-chip-media{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  border-radius:50% !important;
  border:4px solid #fff !important;
  box-shadow:0 10px 24px rgba(20,60,110,.16) !important;
  overflow:hidden !important;
}

.dash-user-chip-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.dash-user-chip strong{
  display:block !important;
  font-size:26px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  color:#071744 !important;
  margin-bottom:8px !important;
}

.dash-user-chip .dash-note{
  position:relative !important;
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:3px !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#167ee8 !important;
}

.dash-user-chip .dash-note::before{
  content:"📍 Distanza percorsa" !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(210,224,240,.75) !important;
  color:#5f718d !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:600 !important;
}

/* Pulsanti come tile amichevoli */
.dash-top-actions > a{
  min-height:104px !important;
  border-radius:24px !important;
  padding:12px 10px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  text-align:center !important;
  font-size:15px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(207,220,236,.95) !important;
  color:#071744 !important;
  box-shadow:0 8px 18px rgba(25,70,120,.06) !important;
}

.dash-top-actions > a::before{
  display:block !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

.dash-top-actions > a[href="/maps/visitare.html"]{
  background:linear-gradient(180deg,#f3faff 0%, #e8f5ff 100%) !important;
  border-color:rgba(28,143,230,.55) !important;
  color:#137ee5 !important;
  box-shadow:0 10px 24px rgba(20,126,229,.12) !important;
}

.dash-top-actions > a[href="/maps/visitare.html"]::before{
  content:"🗺️" !important;
}

.dash-top-actions > a[href="#socialMapSection"]::before{
  content:"👥" !important;
}

.dash-top-actions > a[href="/logout.php"]{
  background:rgba(255,255,255,.76) !important;
  color:#51637f !important;
  border-color:rgba(207,220,236,.9) !important;
}

.dash-top-actions > a[href="/logout.php"]::before{
  content:"↪" !important;
  color:#61728c !important;
}

/* Mobile e tablet */
@media (max-width:900px){
  .dash-topbar{
    padding:18px !important;
    border-radius:26px !important;
    gap:13px !important;
  }

  .dash-brand-mark{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    font-size:26px !important;
  }

  .dash-brand strong{
    font-size:20px !important;
  }

  .dash-brand small{
    font-size:13px !important;
  }

  .dash-top-actions{
    grid-template-columns:minmax(150px,1.25fr) repeat(3,minmax(74px,.6fr)) !important;
    gap:8px !important;
  }

  .dash-user-chip{
    min-height:82px !important;
    padding:10px 11px !important;
    border-radius:22px !important;
    gap:10px !important;
  }

  .dash-user-chip-media{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    border-width:3px !important;
  }

  .dash-user-chip strong{
    font-size:17px !important;
    margin-bottom:5px !important;
  }

  .dash-user-chip .dash-note{
    font-size:15px !important;
  }

  .dash-user-chip .dash-note::before{
    content:"Distanza" !important;
    font-size:10px !important;
    padding:4px 7px !important;
  }

  .dash-top-actions > a{
    min-height:82px !important;
    border-radius:20px !important;
    font-size:12px !important;
    padding:9px 7px !important;
    gap:6px !important;
  }

  .dash-top-actions > a::before{
    font-size:24px !important;
  }
}

@media (max-width:560px){
  .dash-topbar{
    padding:14px !important;
    border-radius:22px !important;
  }

  .dash-topbar::after{
    display:none !important;
  }

  .dash-brand{
    gap:10px !important;
  }

  .dash-brand-mark{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    font-size:23px !important;
  }

  .dash-brand strong{
    font-size:15px !important;
    letter-spacing:-.02em !important;
  }

  .dash-brand small{
    font-size:11px !important;
    margin-top:4px !important;
  }

  .dash-top-actions{
    grid-template-columns:minmax(128px,1.25fr) repeat(3,minmax(63px,.55fr)) !important;
    gap:6px !important;
  }

  .dash-user-chip{
    min-height:68px !important;
    padding:8px !important;
    border-radius:18px !important;
    gap:8px !important;
  }

  .dash-user-chip-media{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
  }

  .dash-user-chip strong{
    font-size:14px !important;
    margin-bottom:4px !important;
  }

  .dash-user-chip .dash-note{
    font-size:12px !important;
  }

  .dash-user-chip .dash-note::before{
    display:none !important;
  }

  .dash-top-actions > a{
    min-height:68px !important;
    border-radius:18px !important;
    font-size:10.5px !important;
    padding:7px 5px !important;
  }

  .dash-top-actions > a::before{
    font-size:20px !important;
  }
}


/* =========================================================
   Profile User Modern UI - ScanMAP
   ========================================================= */

.dash-profile-card-modern{
  padding:18px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.97) !important;
  border:1px solid rgba(200,214,232,.9) !important;
  box-shadow:0 16px 40px rgba(34,72,120,.08) !important;
}

/* Header scheda */
.dash-profile-card-modern > .dash-card-head{
  align-items:flex-start !important;
  margin-bottom:16px !important;
}

.dash-profile-card-modern > .dash-card-head h2{
  font-size:26px !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
  color:#071744 !important;
  margin:0 0 5px !important;
}

.dash-profile-card-modern > .dash-card-head .dash-muted{
  font-size:14px !important;
  line-height:1.35 !important;
  color:#5d6f8f !important;
  max-height:none !important;
}

.dash-profile-card-modern > .dash-card-head .dash-pill{
  background:#fff1e8 !important;
  color:#d86a17 !important;
  border:1px solid #ffd8bf !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

/* Riquadro profilo superiore */
.dash-profile-card-modern .dash-profile-hero{
  position:relative !important;
  padding:18px !important;
  margin-bottom:18px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 92% 50%, rgba(67,155,239,.16), transparent 34%),
    linear-gradient(135deg, #f8fcff 0%, #eef7ff 100%) !important;
  border:1px solid #d7e7f6 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  overflow:hidden !important;
}

.dash-profile-card-modern .dash-profile-hero::after{
  content:"" !important;
  position:absolute !important;
  right:-45px !important;
  top:-40px !important;
  width:210px !important;
  height:150px !important;
  border-radius:50% !important;
  background:rgba(28,132,224,.08) !important;
  transform:rotate(-16deg) !important;
  pointer-events:none !important;
}

.dash-profile-card-modern .dash-avatar-preview{
  width:86px !important;
  height:86px !important;
  min-width:86px !important;
  border-radius:50% !important;
  border:4px solid #fff !important;
  box-shadow:0 10px 26px rgba(26,67,113,.17) !important;
  overflow:hidden !important;
  background:#eaf5ff !important;
  z-index:1 !important;
}

.dash-profile-card-modern .dash-avatar-preview img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.dash-profile-card-modern .dash-profile-hero strong{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  font-size:25px !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  color:#071744 !important;
  margin-bottom:5px !important;
}

.dash-profile-card-modern .dash-profile-hero .dash-muted{
  position:relative !important;
  z-index:1 !important;
  font-size:15px !important;
  color:#5b6d89 !important;
}

.dash-profile-card-modern .dash-profile-hero .dash-note{
  display:none !important;
}

/* Form generale */
.dash-profile-card-modern .dash-form-grid{
  gap:12px !important;
}

.dash-profile-card-modern .dash-field,
.dash-profile-card-modern .dash-field-full{
  position:relative !important;
}

.dash-profile-card-modern .dash-field label,
.dash-profile-card-modern .dash-field-full label{
  display:block !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#071744 !important;
  margin:0 0 6px !important;
}

/* Input moderni */
.dash-profile-card-modern .dash-input,
.dash-profile-card-modern .dash-textarea{
  width:100% !important;
  min-height:44px !important;
  padding:11px 13px 11px 48px !important;
  border-radius:16px !important;
  border:1px solid #d5e1ef !important;
  background:#ffffff !important;
  color:#071744 !important;
  font-size:14px !important;
  line-height:1.25 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.dash-profile-card-modern .dash-textarea{
  min-height:76px !important;
  resize:vertical !important;
}

.dash-profile-card-modern .dash-input:focus,
.dash-profile-card-modern .dash-textarea:focus{
  outline:none !important;
  border-color:#1590e8 !important;
  box-shadow:0 0 0 3px rgba(21,144,232,.12) !important;
}

/* Icone decorative nei campi */
.dash-profile-card-modern .dash-field::before,
.dash-profile-card-modern .dash-field-full::before{
  position:absolute !important;
  left:1px !important;
  top:27px !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:15px 0 0 15px !important;
  background:#f0f7ff !important;
  color:#0d63b8 !important;
  font-size:17px !important;
  z-index:2 !important;
  border-right:1px solid #dbe8f6 !important;
}

.dash-profile-card-modern .dash-field:has(#full_name)::before{
  content:"👤" !important;
}

.dash-profile-card-modern .dash-field:has(#email_display)::before{
  content:"✉️" !important;
}

.dash-profile-card-modern .dash-field:has(#phone)::before{
  content:"☎️" !important;
}

.dash-profile-card-modern .dash-field:has(#age)::before{
  content:"📅" !important;
}

.dash-profile-card-modern .dash-field-full:has(#travel_preferences)::before{
  content:"♡" !important;
  font-size:22px !important;
}

.dash-profile-card-modern .dash-field-full:has(#favorite_places)::before{
  content:"📍" !important;
}

.dash-profile-card-modern .dash-field-full:has(#profilePhotoInput)::before{
  content:"☁️" !important;
}

/* Upload foto */
.dash-profile-card-modern #profilePhotoInput{
  padding-left:48px !important;
  border-style:dashed !important;
  background:#fbfdff !important;
}

.dash-profile-card-modern #profilePhotoInput::file-selector-button{
  border:0 !important;
  border-radius:12px !important;
  background:#eef6ff !important;
  color:#071744 !important;
  padding:7px 10px !important;
  font-weight:800 !important;
  margin-right:10px !important;
  cursor:pointer !important;
}

/* Icone profilo/topbar: stile card premium compatto */
.dash-profile-card-modern .dash-icon-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:8px !important;
}

.dash-profile-card-modern .dash-icon-option{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-height:78px !important;
  padding:10px 7px !important;
  border-radius:18px !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 6px 14px rgba(40,83,130,.04) !important;
  cursor:pointer !important;
  text-align:center !important;
}

.dash-profile-card-modern .dash-icon-option input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.dash-profile-card-modern .dash-icon-badge{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  font-size:22px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
}

.dash-profile-card-modern .dash-icon-option strong{
  display:none !important;
}

.dash-profile-card-modern .dash-icon-option:has(input:checked){
  border-color:#118ded !important;
  box-shadow:0 0 0 2px rgba(17,141,237,.16), 0 8px 18px rgba(17,141,237,.10) !important;
  background:#f8fcff !important;
}

.dash-profile-card-modern .dash-icon-option:has(input:checked)::after{
  content:"✓" !important;
  position:absolute !important;
  right:-6px !important;
  top:-7px !important;
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  background:#1688ed !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:3px solid #fff !important;
  box-shadow:0 5px 12px rgba(22,136,237,.25) !important;
}

.dash-profile-card-modern .dash-icon-option:hover{
  transform:none !important;
  border-color:#9ecbf0 !important;
}

/* Switch posizione social più pulito */
.dash-profile-card-modern .dash-switch{
  padding:12px 14px !important;
  border-radius:18px !important;
  background:#f8fcff !important;
  border:1px solid #d8e3f0 !important;
}

.dash-profile-card-modern .dash-switch strong{
  font-size:14px !important;
  color:#071744 !important;
}

.dash-profile-card-modern .dash-switch .dash-note{
  font-size:12px !important;
  color:#5d6f8f !important;
}

/* Stato e bottone salvataggio */
.dash-profile-card-modern .dash-status{
  margin-top:12px !important;
  font-size:12px !important;
  border-radius:14px !important;
}

.dash-profile-card-modern .dash-submit{
  width:100% !important;
  margin-top:12px !important;
  min-height:46px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#1687ed 0%,#0e68d8 100%) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  box-shadow:0 9px 20px rgba(14,104,216,.22) !important;
}

/* Mobile */
@media (max-width:900px){
  .dash-profile-card-modern{
    padding:16px !important;
    border-radius:24px !important;
  }

  .dash-profile-card-modern > .dash-card-head h2{
    font-size:22px !important;
  }

  .dash-profile-card-modern .dash-profile-hero{
    padding:14px !important;
    border-radius:20px !important;
  }

  .dash-profile-card-modern .dash-avatar-preview{
    width:70px !important;
    height:70px !important;
    min-width:70px !important;
  }

  .dash-profile-card-modern .dash-profile-hero strong{
    font-size:20px !important;
  }

  .dash-profile-card-modern .dash-icon-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .dash-profile-card-modern .dash-icon-option{
    min-height:66px !important;
    border-radius:16px !important;
  }

  .dash-profile-card-modern .dash-icon-badge{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    font-size:19px !important;
  }
}

@media (max-width:560px){
  .dash-profile-card-modern{
    padding:14px !important;
  }

  .dash-profile-card-modern > .dash-card-head h2{
    font-size:18px !important;
  }

  .dash-profile-card-modern > .dash-card-head .dash-muted{
    font-size:12px !important;
  }

  .dash-profile-card-modern > .dash-card-head .dash-pill{
    padding:7px 10px !important;
    font-size:11px !important;
  }

  .dash-profile-card-modern .dash-profile-hero{
    padding:12px !important;
    gap:10px !important;
  }

  .dash-profile-card-modern .dash-avatar-preview{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
  }

  .dash-profile-card-modern .dash-profile-hero strong{
    font-size:16px !important;
  }

  .dash-profile-card-modern .dash-profile-hero .dash-muted{
    font-size:12px !important;
  }

  .dash-profile-card-modern .dash-form-grid{
    gap:10px !important;
  }

  .dash-profile-card-modern .dash-field label,
  .dash-profile-card-modern .dash-field-full label{
    font-size:12px !important;
    margin-bottom:5px !important;
  }

  .dash-profile-card-modern .dash-input,
  .dash-profile-card-modern .dash-textarea{
    min-height:40px !important;
    padding:9px 10px 9px 43px !important;
    font-size:12.5px !important;
    border-radius:14px !important;
  }

  .dash-profile-card-modern .dash-textarea{
    min-height:66px !important;
  }

  .dash-profile-card-modern .dash-field::before,
  .dash-profile-card-modern .dash-field-full::before{
    top:25px !important;
    width:38px !important;
    height:38px !important;
    font-size:15px !important;
    border-radius:13px 0 0 13px !important;
  }

  .dash-profile-card-modern .dash-icon-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
  }

  .dash-profile-card-modern .dash-icon-option{
    min-height:56px !important;
    padding:7px 4px !important;
    border-radius:14px !important;
  }

  .dash-profile-card-modern .dash-icon-badge{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    font-size:17px !important;
  }
}


/* =========================================================
   Icone profilo/map - grandi, compatte, tutte su un rigo
   ========================================================= */

/* I due gruppi di icone */
.dash-profile-card-modern .dash-icon-grid{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:4px 2px 2px !important;
  margin-top:8px !important;
  scrollbar-width:thin !important;
}

/* Singola tile molto compatta */
.dash-profile-card-modern .dash-icon-option{
  flex:0 0 58px !important;
  width:58px !important;
  min-width:58px !important;
  max-width:58px !important;
  height:54px !important;
  min-height:54px !important;
  padding:4px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 4px 10px rgba(40,83,130,.04) !important;
  position:relative !important;
}

/* Radio nascosto */
.dash-profile-card-modern .dash-icon-option input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Icona grande */
.dash-profile-card-modern .dash-icon-badge{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  font-size:24px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
}

/* Nasconde il testo sotto */
.dash-profile-card-modern .dash-icon-option strong{
  display:none !important;
}

/* Stato selezionato */
.dash-profile-card-modern .dash-icon-option:has(input:checked){
  border-color:#1190ee !important;
  background:#eef8ff !important;
  box-shadow:0 0 0 2px rgba(17,144,238,.14), 0 6px 14px rgba(17,144,238,.10) !important;
}

.dash-profile-card-modern .dash-icon-option:has(input:checked)::after{
  content:"✓" !important;
  position:absolute !important;
  right:-5px !important;
  top:-6px !important;
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  background:#1688ed !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:3px solid #fff !important;
  box-shadow:0 4px 10px rgba(22,136,237,.22) !important;
}

/* Hover leggero */
.dash-profile-card-modern .dash-icon-option:hover{
  transform:none !important;
  border-color:#a6cff1 !important;
}

/* Mobile */
@media (max-width:560px){
  .dash-profile-card-modern .dash-icon-grid{
    gap:6px !important;
    padding:3px 1px 1px !important;
  }

  .dash-profile-card-modern .dash-icon-option{
    flex:0 0 52px !important;
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:48px !important;
    min-height:48px !important;
    border-radius:12px !important;
  }

  .dash-profile-card-modern .dash-icon-badge{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    font-size:21px !important;
  }

  .dash-profile-card-modern .dash-icon-option:has(input:checked)::after{
    width:20px !important;
    height:20px !important;
    font-size:12px !important;
    right:-4px !important;
    top:-5px !important;
  }
}


/* =========================================================
   Icone profilo/map - 7 colonne, icone grandi, tile compatte
   ========================================================= */

/* Entrambi i gruppi icone */
.dash-profile-card-modern .dash-icon-grid{
  display:grid !important;
  grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
  gap:8px !important;
  overflow:visible !important;
  padding:4px 0 !important;
  margin-top:8px !important;
}

/* Singola tile: piccola, compatta */
.dash-profile-card-modern .dash-icon-option{
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:58px !important;
  min-height:58px !important;
  padding:2px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 4px 10px rgba(40,83,130,.04) !important;
  text-align:center !important;
}

/* Nasconde il radio */
.dash-profile-card-modern .dash-icon-option input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Icona grande: quasi riempie la tile */
.dash-profile-card-modern .dash-icon-badge{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  font-size:28px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Niente testo sotto */
.dash-profile-card-modern .dash-icon-option strong{
  display:none !important;
}

/* Selezione */
.dash-profile-card-modern .dash-icon-option:has(input:checked){
  border-color:#1190ee !important;
  background:#eef8ff !important;
  box-shadow:0 0 0 2px rgba(17,144,238,.14), 0 6px 14px rgba(17,144,238,.10) !important;
}

.dash-profile-card-modern .dash-icon-option:has(input:checked)::after{
  content:"✓" !important;
  position:absolute !important;
  right:-4px !important;
  top:-5px !important;
  width:20px !important;
  height:20px !important;
  border-radius:50% !important;
  background:#1688ed !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:3px solid #fff !important;
  box-shadow:0 4px 10px rgba(22,136,237,.22) !important;
}

/* Hover */
.dash-profile-card-modern .dash-icon-option:hover{
  transform:none !important;
  border-color:#a6cff1 !important;
}

/* Mobile: sempre 7 colonne, ma tile un po' più basse */
@media (max-width:560px){
  .dash-profile-card-modern .dash-icon-grid{
    grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
    gap:6px !important;
  }

  .dash-profile-card-modern .dash-icon-option{
    height:50px !important;
    min-height:50px !important;
    border-radius:12px !important;
    padding:1px !important;
  }

  .dash-profile-card-modern .dash-icon-badge{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    font-size:24px !important;
  }

  .dash-profile-card-modern .dash-icon-option:has(input:checked)::after{
    width:18px !important;
    height:18px !important;
    font-size:11px !important;
    right:-3px !important;
    top:-4px !important;
  }
}


/* =========================================================
   Friends & Direct Chat - Modern UI
   Solo grafica, nessuna modifica alla logica JS/PHP
   ========================================================= */

.dash-friends-card-modern{
  padding:18px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.97) !important;
  border:1px solid rgba(200,214,232,.9) !important;
  box-shadow:0 16px 40px rgba(34,72,120,.08) !important;
}

/* Header più amichevole */
.dash-friends-card-modern > .dash-card-head{
  position:relative !important;
  padding-left:58px !important;
  margin-bottom:16px !important;
  align-items:flex-start !important;
}

.dash-friends-card-modern > .dash-card-head::before{
  content:"👥" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  background:#eef6ff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
  box-shadow:inset 0 0 0 1px rgba(20,126,229,.08) !important;
}

.dash-friends-card-modern > .dash-card-head h2{
  font-size:24px !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
  color:#071744 !important;
  margin:0 0 5px !important;
}

.dash-friends-card-modern > .dash-card-head .dash-muted{
  font-size:14px !important;
  line-height:1.35 !important;
  color:#5d6f8f !important;
  max-height:none !important;
}

/* Lista amici */
.dash-friends-card-modern #friendsList{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Ogni elemento generato dal JS */
.dash-friends-card-modern #friendsList > *{
  position:relative !important;
  min-height:128px !important;
  padding:18px 18px 18px 112px !important;
  border-radius:24px !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 8px 20px rgba(53,86,135,.05) !important;
  overflow:hidden !important;
}

/* Badge stato Amici: qualunque sia la classe generata */
.dash-friends-card-modern #friendsList .dash-pill,
.dash-friends-card-modern #friendsList [class*="pill"],
.dash-friends-card-modern #friendsList [class*="badge"],
.dash-friends-card-modern #friendsList [class*="status"]{
  position:absolute !important;
  right:16px !important;
  top:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#e7f7ed !important;
  color:#17863b !important;
  border:0 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* Aggiunge il pallino verde al badge */
.dash-friends-card-modern #friendsList .dash-pill::before,
.dash-friends-card-modern #friendsList [class*="pill"]::before,
.dash-friends-card-modern #friendsList [class*="badge"]::before,
.dash-friends-card-modern #friendsList [class*="status"]::before{
  content:"" !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#39bd5a !important;
  display:inline-block !important;
}

/* Avatar: più grande e amichevole */
.dash-friends-card-modern #friendsList img,
.dash-friends-card-modern #friendsList .avatar,
.dash-friends-card-modern #friendsList .dash-avatar,
.dash-friends-card-modern #friendsList .dash-user-avatar,
.dash-friends-card-modern #friendsList [class*="avatar"],
.dash-friends-card-modern #friendsList [class*="media"]{
  position:absolute !important;
  left:18px !important;
  top:22px !important;
  width:76px !important;
  height:76px !important;
  min-width:76px !important;
  min-height:76px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  border:4px solid #fff !important;
  box-shadow:0 10px 24px rgba(20,60,110,.16) !important;
  background:#eaf5ff !important;
  overflow:hidden !important;
}

/* Pallino online sull'avatar */
.dash-friends-card-modern #friendsList > *::after{
  content:"" !important;
  position:absolute !important;
  left:78px !important;
  top:80px !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  background:#42c962 !important;
  border:4px solid #fff !important;
  box-shadow:0 4px 10px rgba(32,150,70,.20) !important;
}

/* Testi dentro la card */
.dash-friends-card-modern #friendsList strong,
.dash-friends-card-modern #friendsList h3,
.dash-friends-card-modern #friendsList h4,
.dash-friends-card-modern #friendsList .name,
.dash-friends-card-modern #friendsList [class*="name"]{
  display:block !important;
  max-width:calc(100% - 110px) !important;
  font-size:20px !important;
  line-height:1.15 !important;
  letter-spacing:-.025em !important;
  color:#071744 !important;
  font-weight:900 !important;
  margin:0 0 5px !important;
}

/* Anteprima messaggio */
.dash-friends-card-modern #friendsList p,
.dash-friends-card-modern #friendsList small,
.dash-friends-card-modern #friendsList .dash-note,
.dash-friends-card-modern #friendsList .dash-muted,
.dash-friends-card-modern #friendsList [class*="message"],
.dash-friends-card-modern #friendsList [class*="preview"]{
  display:block !important;
  max-width:calc(100% - 110px) !important;
  color:#5d6f8f !important;
  font-size:14px !important;
  line-height:1.25 !important;
  margin:0 0 12px !important;
}

/* Pulsanti azione */
.dash-friends-card-modern #friendsList .dash-inline-actions,
.dash-friends-card-modern #friendsList [class*="actions"]{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
  margin-top:10px !important;
}

/* Bottoni generici dentro friendsList */
.dash-friends-card-modern #friendsList button,
.dash-friends-card-modern #friendsList a{
  min-height:38px !important;
  padding:9px 15px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

/* Primo bottone = Apri chat */
.dash-friends-card-modern #friendsList button:first-of-type,
.dash-friends-card-modern #friendsList a:first-of-type{
  background:linear-gradient(180deg,#1687ed 0%,#0e68d8 100%) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(14,104,216,.20) !important;
}

.dash-friends-card-modern #friendsList button:first-of-type::before,
.dash-friends-card-modern #friendsList a:first-of-type::before{
  content:"💬 " !important;
}

/* Secondo bottone = Profilo */
.dash-friends-card-modern #friendsList button:nth-of-type(2),
.dash-friends-card-modern #friendsList a:nth-of-type(2){
  background:#eef6ff !important;
  color:#071744 !important;
  border:1px solid #d8e3f0 !important;
}

.dash-friends-card-modern #friendsList button:nth-of-type(2)::before,
.dash-friends-card-modern #friendsList a:nth-of-type(2)::before{
  content:"👤 " !important;
}

/* Footer link opzionale se in futuro vorrai aggiungerlo */
.dash-friends-card-modern .dash-friends-manage-link{
  margin-top:14px !important;
  padding-top:14px !important;
  border-top:1px solid #dbe5f0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  color:#167ee8 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

/* Mobile */
@media (max-width:560px){
  .dash-friends-card-modern{
    padding:14px !important;
    border-radius:22px !important;
  }

  .dash-friends-card-modern > .dash-card-head{
    padding-left:44px !important;
    margin-bottom:12px !important;
  }

  .dash-friends-card-modern > .dash-card-head::before{
    width:34px !important;
    height:34px !important;
    font-size:17px !important;
  }

  .dash-friends-card-modern > .dash-card-head h2{
    font-size:18px !important;
  }

  .dash-friends-card-modern > .dash-card-head .dash-muted{
    font-size:12px !important;
  }

  .dash-friends-card-modern #friendsList{
    gap:10px !important;
  }

  .dash-friends-card-modern #friendsList > *{
    min-height:104px !important;
    padding:13px 12px 13px 82px !important;
    border-radius:18px !important;
  }

  .dash-friends-card-modern #friendsList img,
  .dash-friends-card-modern #friendsList .avatar,
  .dash-friends-card-modern #friendsList .dash-avatar,
  .dash-friends-card-modern #friendsList .dash-user-avatar,
  .dash-friends-card-modern #friendsList [class*="avatar"],
  .dash-friends-card-modern #friendsList [class*="media"]{
    left:12px !important;
    top:18px !important;
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
    border-width:3px !important;
  }

  .dash-friends-card-modern #friendsList > *::after{
    left:55px !important;
    top:62px !important;
    width:14px !important;
    height:14px !important;
    border-width:3px !important;
  }

  .dash-friends-card-modern #friendsList strong,
  .dash-friends-card-modern #friendsList h3,
  .dash-friends-card-modern #friendsList h4,
  .dash-friends-card-modern #friendsList .name,
  .dash-friends-card-modern #friendsList [class*="name"]{
    max-width:calc(100% - 74px) !important;
    font-size:15px !important;
    margin-bottom:3px !important;
  }

  .dash-friends-card-modern #friendsList p,
  .dash-friends-card-modern #friendsList small,
  .dash-friends-card-modern #friendsList .dash-note,
  .dash-friends-card-modern #friendsList .dash-muted,
  .dash-friends-card-modern #friendsList [class*="message"],
  .dash-friends-card-modern #friendsList [class*="preview"]{
    max-width:calc(100% - 74px) !important;
    font-size:12px !important;
    margin-bottom:8px !important;
  }

  .dash-friends-card-modern #friendsList .dash-pill,
  .dash-friends-card-modern #friendsList [class*="pill"],
  .dash-friends-card-modern #friendsList [class*="badge"],
  .dash-friends-card-modern #friendsList [class*="status"]{
    right:10px !important;
    top:12px !important;
    padding:6px 9px !important;
    font-size:10px !important;
  }

  .dash-friends-card-modern #friendsList button,
  .dash-friends-card-modern #friendsList a{
    min-height:32px !important;
    padding:7px 11px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   Fix avatar amici: immagine contenuta nel cerchio
   ========================================================= */

/* Card amico */
.dash-friends-card-modern #friendsList > *{
  position:relative !important;
}

/* Contenitore avatar: cerchio fisso */
.dash-friends-card-modern #friendsList .dash-user-avatar,
.dash-friends-card-modern #friendsList .dash-avatar,
.dash-friends-card-modern #friendsList .avatar,
.dash-friends-card-modern #friendsList [class*="avatar"],
.dash-friends-card-modern #friendsList [class*="media"]{
  position:absolute !important;
  left:18px !important;
  top:22px !important;
  width:76px !important;
  height:76px !important;
  min-width:76px !important;
  min-height:76px !important;
  max-width:76px !important;
  max-height:76px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:4px solid #fff !important;
  background:#eaf5ff !important;
  box-shadow:0 10px 24px rgba(20,60,110,.16) !important;
}

/* Immagine interna: non assoluta, non fuori dal cerchio */
.dash-friends-card-modern #friendsList .dash-user-avatar img,
.dash-friends-card-modern #friendsList .dash-avatar img,
.dash-friends-card-modern #friendsList .avatar img,
.dash-friends-card-modern #friendsList [class*="avatar"] img,
.dash-friends-card-modern #friendsList [class*="media"] img{
  position:static !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:50% !important;
  border:0 !important;
  box-shadow:none !important;
  display:block !important;
}

/* Se l'immagine è direttamente dentro la card, la rendiamo avatar ma senza rompere */
.dash-friends-card-modern #friendsList > * > img{
  position:absolute !important;
  left:18px !important;
  top:22px !important;
  width:76px !important;
  height:76px !important;
  min-width:76px !important;
  min-height:76px !important;
  max-width:76px !important;
  max-height:76px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:50% !important;
  border:4px solid #fff !important;
  box-shadow:0 10px 24px rgba(20,60,110,.16) !important;
  background:#eaf5ff !important;
}

/* Pallino online riposizionato */
.dash-friends-card-modern #friendsList > *::after{
  left:78px !important;
  top:80px !important;
  z-index:5 !important;
}

/* Mobile */
@media (max-width:560px){
  .dash-friends-card-modern #friendsList .dash-user-avatar,
  .dash-friends-card-modern #friendsList .dash-avatar,
  .dash-friends-card-modern #friendsList .avatar,
  .dash-friends-card-modern #friendsList [class*="avatar"],
  .dash-friends-card-modern #friendsList [class*="media"],
  .dash-friends-card-modern #friendsList > * > img{
    left:12px !important;
    top:18px !important;
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
    max-width:56px !important;
    max-height:56px !important;
    border-width:3px !important;
  }

  .dash-friends-card-modern #friendsList > *::after{
    left:55px !important;
    top:62px !important;
  }
}


/* =========================================================
   Mobile center fix: schede dashboard centrate su smartphone
   ========================================================= */

@media (max-width: 760px){

  html,
  body.scanmap-dashboard-body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.scanmap-dashboard-body{
    margin:0 !important;
    padding:0 !important;
  }

  .dash-shell{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  .dash-topbar,
  .dash-hero,
  .dash-banner,
  .dash-card,
  .dash-awards-compact,
  .dash-saved-routes-card,
  .dash-profile-card-modern,
  .dash-friends-card-modern,
  .dash-pending-save{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  .dash-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .dash-grid > *{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-column:1 / -1 !important;
    box-sizing:border-box !important;
  }

  .dash-col-4,
  .dash-col-5,
  .dash-col-6,
  .dash-col-7,
  .dash-col-8,
  .dash-col-12{
    grid-column:1 / -1 !important;
  }

  .dash-card *,
  .dash-topbar *,
  .dash-hero *{
    box-sizing:border-box !important;
  }

  /* Evita che righe/pulsanti larghi spingano la card fuori centro */
  .dash-top-actions,
  .dash-share-links,
  .dash-inline-actions,
  .dash-icon-grid,
  .dash-form-grid,
  .dash-stat-grid{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  img,
  video,
  canvas,
  iframe{
    max-width:100% !important;
  }
}

/* Smartphone molto stretti */
@media (max-width: 420px){
  .dash-shell{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .dash-card,
  .dash-topbar,
  .dash-hero,
  .dash-awards-compact,
  .dash-saved-routes-card,
  .dash-profile-card-modern,
  .dash-friends-card-modern{
    border-radius:20px !important;
  }
}


/* =========================================================
   FIX MOBILE OVERFLOW - sezioni che sforano a destra
   Dashboard / Hero / Awards / Saved routes / Itinerari
   ========================================================= */

@media (max-width: 760px){

  html,
  body.scanmap-dashboard-body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.scanmap-dashboard-body{
    margin:0 !important;
    padding:0 !important;
  }

  .dash-shell{
    width:100% !important;
    max-width:100vw !important;
    margin:0 auto !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  /* Card principali che sforano */
  .dash-topbar,
  .dash-hero,
  .dash-awards-compact,
  .dash-saved-routes-card,
  .dash-saved-routes-card-after-awards,
  .dash-itinerary-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  /* Evita che padding + width allarghino le card */
  .dash-topbar *,
  .dash-hero *,
  .dash-awards-compact *,
  .dash-saved-routes-card *,
  .dash-saved-routes-card-after-awards *,
  .dash-itinerary-card *{
    box-sizing:border-box !important;
    min-width:0 !important;
  }

  /* Topbar: elimina griglia troppo larga */
  .dash-topbar{
    padding:14px !important;
    border-radius:22px !important;
  }

  .dash-top-actions{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    overflow:visible !important;
  }

  .dash-user-chip{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .dash-top-actions > a{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Hero: forza una sola colonna */
  .dash-hero{
    display:block !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .dash-hero h1{
    font-size:19px !important;
    line-height:1.12 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .dash-hero p{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .dash-stat-grid{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .dash-stat{
    width:100% !important;
    min-width:0 !important;
    padding:7px 5px !important;
  }

  .dash-stat span{
    font-size:8.5px !important;
    line-height:1.1 !important;
  }

  .dash-stat strong{
    font-size:12.5px !important;
    line-height:1 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  /* Premi e milestone */
  .dash-awards-compact{
    padding:9px 10px !important;
    border-radius:20px !important;
  }

  .dash-awards-compact .dash-badge-grid{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
  }

  .dash-awards-compact .dash-badge-card{
    width:100% !important;
    max-width:100% !important;
  }

  /* Percorsi salvati */
  .dash-saved-routes-card,
  .dash-saved-routes-card-after-awards{
    padding:12px !important;
    border-radius:20px !important;
  }

  .dash-saved-routes-card > .dash-card-head,
  .dash-saved-routes-card-after-awards > .dash-card-head{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
  }

  .dash-saved-routes-card > .dash-card-head::before,
  .dash-saved-routes-card-after-awards > .dash-card-head::before{
    display:none !important;
  }

  .dash-saved-routes-card > .dash-card-head h2,
  .dash-saved-routes-card-after-awards > .dash-card-head h2{
    font-size:18px !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
  }

  .dash-saved-routes-card > .dash-card-head .dash-muted,
  .dash-saved-routes-card-after-awards > .dash-card-head .dash-muted{
    font-size:11.5px !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  /* Itinerari */
  .dash-itinerary-grid{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .dash-itinerary-card{
    padding:11px !important;
    border-radius:18px !important;
  }

  .dash-itinerary-card .dash-card-head{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:8px !important;
  }

  .dash-itinerary-card .dash-card-head > div{
    min-width:0 !important;
    max-width:100% !important;
  }

  .dash-itinerary-card h3{
    font-size:14px !important;
    line-height:1.18 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .dash-itinerary-card .dash-note,
  .dash-itinerary-card .dash-muted{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .dash-itinerary-card .dash-pill{
    flex:0 0 auto !important;
    max-width:70px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .dash-itinerary-card .dash-form-grid{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }

  .dash-itinerary-card .dash-badge-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:8px !important;
  }

  .dash-itinerary-card .dash-badge-card strong,
  .dash-itinerary-card .dash-badge-card .dash-note{
    overflow-wrap:anywhere !important;
  }

  .dash-itinerary-card .dash-inline-actions{
    width:100% !important;
    max-width:100% !important;
  }

  .dash-itinerary-card .dash-inline-actions .dash-btn-primary{
    width:100% !important;
    max-width:100% !important;
  }

  /* Azioni condivisione: non devono allargare la card */
  .dash-itinerary-card .dash-share-links{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    overflow:visible !important;
  }

  .dash-itinerary-card .dash-share-links a,
  .dash-itinerary-card .dash-share-links button,
  .dash-delete-itinerary-form,
  .dash-delete-itinerary-btn{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

@media (max-width: 390px){
  .dash-shell{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .dash-stat strong{
    font-size:11.5px !important;
  }

  .dash-itinerary-card .dash-form-grid{
    grid-template-columns:1fr !important;
  }

  .dash-itinerary-card .dash-share-links{
    grid-template-columns:1fr 1fr !important;
  }
}


/* =========================================================
   ScanMAP topbar mockup v2 - scorciatoie + ordine bottoni
   ========================================================= */

.dash-topbar{
  position:relative !important;
  display:block !important;
  padding:18px !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 92% 18%, rgba(20,132,229,.18), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(239,249,255,.96) 100%) !important;
  border:1px solid rgba(190,213,235,.92) !important;
  box-shadow:0 16px 42px rgba(22,68,112,.10) !important;
}

.dash-topbar::after{
  content:"" !important;
  position:absolute !important;
  right:-40px !important;
  top:20px !important;
  width:220px !important;
  height:160px !important;
  border-radius:50% !important;
  background:rgba(38,145,229,.08) !important;
  pointer-events:none !important;
}

.dash-brand{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

.dash-brand-mark{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:25px !important;
  background:linear-gradient(180deg,#1fa6f3,#0878ca) !important;
  border:4px solid #fff !important;
  box-shadow:0 10px 22px rgba(7,118,200,.20) !important;
}

.dash-brand strong{
  font-size:22px !important;
  line-height:1.05 !important;
  color:#071744 !important;
  letter-spacing:-.035em !important;
}

.dash-brand-scanmap{
  color:#117fe8 !important;
}

.dash-brand small{
  display:block !important;
  margin-top:4px !important;
  font-size:13px !important;
  color:#5d6f8f !important;
}

/* Area contenuti topbar */
.dash-top-actions{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  width:100% !important;
}

/* Profilo + distanza */
.dash-user-chip{
  position:relative !important;
  min-height:128px !important;
  padding:18px 132px 18px 18px !important;
  border-radius:26px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(238,248,255,.86)) !important;
  border:1px solid rgba(205,224,242,.95) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.dash-user-chip::before{
  content:"Ciao, Paolo! 👋" !important;
  position:absolute !important;
  left:18px !important;
  top:14px !important;
  font-size:15px !important;
  font-weight:800 !important;
  color:#071744 !important;
}

.dash-user-chip-media{
  position:absolute !important;
  right:22px !important;
  top:28px !important;
  width:86px !important;
  height:86px !important;
  min-width:86px !important;
  border-radius:50% !important;
  border:5px solid #fff !important;
  box-shadow:0 12px 28px rgba(20,60,110,.16) !important;
  overflow:hidden !important;
  background:#eaf5ff !important;
}

.dash-user-chip-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.dash-user-chip > div{
  padding-top:28px !important;
  min-width:0 !important;
}

.dash-user-chip strong{
  display:block !important;
  font-size:30px !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
  color:#071744 !important;
  margin-bottom:12px !important;
}

.dash-user-chip .dash-note{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  min-width:210px !important;
  padding:10px 14px 10px 54px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(212,227,242,.95) !important;
  box-shadow:0 6px 16px rgba(40,83,130,.06) !important;
  color:#157ee8 !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:900 !important;
  position:relative !important;
}

.dash-user-chip .dash-note::before{
  content:"📍" !important;
  position:absolute !important;
  left:14px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#e8f3ff !important;
  font-size:17px !important;
}

.dash-user-chip .dash-note::after{
  content:"Distanza percorsa" !important;
  order:-1 !important;
  font-size:12px !important;
  color:#60718d !important;
  font-weight:800 !important;
}

/* Segnalibri interni */
.dash-top-shortcuts{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  padding-top:2px !important;
}

.dash-top-shortcuts a{
  min-height:92px !important;
  padding:12px 8px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(213,226,240,.95) !important;
  box-shadow:0 8px 18px rgba(30,72,120,.06) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-align:center !important;
  color:#071744 !important;
  text-decoration:none !important;
  font-size:13px !important;
  line-height:1.1 !important;
}

.dash-shortcut-icon{
  width:42px !important;
  height:42px !important;
  border-radius:15px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:24px !important;
  background:#eef6ff !important;
}

.dash-top-shortcuts a:nth-child(1) .dash-shortcut-icon{
  background:#eaf7f0 !important;
}

.dash-top-shortcuts a:nth-child(2) .dash-shortcut-icon{
  background:#edf7ff !important;
}

.dash-top-shortcuts a:nth-child(3) .dash-shortcut-icon{
  background:#f1ebff !important;
}

/* Bottoni principali: ordine Mappa social, Apri mappe, Esci */
.dash-main-social,
.dash-main-maps,
.dash-main-logout{
  min-height:72px !important;
  width:100% !important;
  border-radius:22px !important;
  padding:14px 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  font-size:21px !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
  text-decoration:none !important;
  box-shadow:0 8px 18px rgba(30,72,120,.06) !important;
}

.dash-main-social::before,
.dash-main-maps::before,
.dash-main-logout::before{
  font-size:34px !important;
  line-height:1 !important;
}

.dash-main-social::after,
.dash-main-maps::after,
.dash-main-logout::after{
  content:"›" !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.88) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:32px !important;
  line-height:1 !important;
  box-shadow:0 6px 14px rgba(20,60,110,.08) !important;
}

.dash-main-social{
  order:1 !important;
  background:linear-gradient(135deg,#effff6,#e6f9ef) !important;
  color:#0e9a4b !important;
  border:1px solid #bce9ce !important;
}

.dash-main-social::before{
  content:"👥" !important;
}

.dash-main-maps{
  order:2 !important;
  background:linear-gradient(135deg,#eff8ff,#e5f3ff) !important;
  color:#127fe8 !important;
  border:1px solid #acd7fb !important;
}

.dash-main-maps::before{
  content:"🗺️" !important;
}

.dash-main-logout{
  order:3 !important;
  background:linear-gradient(135deg,#fff4f4,#ffecec) !important;
  color:#db2d2d !important;
  border:1px solid #ffd0d0 !important;
}

.dash-main-logout::before{
  content:"🚪" !important;
}

/* Mobile */
@media (max-width:560px){
  .dash-topbar{
    padding:14px !important;
    border-radius:22px !important;
  }

  .dash-brand{
    margin-bottom:12px !important;
  }

  .dash-brand-mark{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    font-size:22px !important;
  }

  .dash-brand strong{
    font-size:17px !important;
  }

  .dash-brand small{
    font-size:11px !important;
  }

  .dash-user-chip{
    min-height:116px !important;
    padding:16px 100px 14px 14px !important;
    border-radius:22px !important;
  }

  .dash-user-chip::before{
    left:14px !important;
    top:12px !important;
    font-size:13px !important;
  }

  .dash-user-chip-media{
    right:16px !important;
    top:30px !important;
    width:70px !important;
    height:70px !important;
    min-width:70px !important;
  }

  .dash-user-chip > div{
    padding-top:26px !important;
  }

  .dash-user-chip strong{
    font-size:21px !important;
    margin-bottom:9px !important;
  }

  .dash-user-chip .dash-note{
    min-width:0 !important;
    max-width:180px !important;
    padding:9px 12px 9px 44px !important;
    font-size:18px !important;
    border-radius:16px !important;
  }

  .dash-user-chip .dash-note::before{
    left:10px !important;
    width:26px !important;
    height:26px !important;
    font-size:14px !important;
  }

  .dash-user-chip .dash-note::after{
    font-size:10px !important;
  }

  .dash-top-shortcuts{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .dash-top-shortcuts a{
    min-height:74px !important;
    border-radius:16px !important;
    padding:9px 5px !important;
    font-size:11px !important;
  }

  .dash-shortcut-icon{
    width:34px !important;
    height:34px !important;
    font-size:20px !important;
    border-radius:13px !important;
  }

  .dash-main-social,
  .dash-main-maps,
  .dash-main-logout{
    min-height:62px !important;
    border-radius:18px !important;
    padding:12px 14px !important;
    font-size:18px !important;
  }

  .dash-main-social::before,
  .dash-main-maps::before,
  .dash-main-logout::before{
    font-size:28px !important;
  }

  .dash-main-social::after,
  .dash-main-maps::after,
  .dash-main-logout::after{
    width:32px !important;
    height:32px !important;
    font-size:27px !important;
  }
}


/* =========================================================
   ScanMAP topbar exact mockup mobile
   Grafica dedicata, senza toccare logica dashboard
   ========================================================= */

.scanmap-mobile-home-redesign{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 0 14px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.scanmap-mobile-home-redesign,
.scanmap-mobile-home-redesign *{
  box-sizing:border-box !important;
}

.scanmap-home-brand-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:12px !important;
  padding:0 2px !important;
}

.scanmap-home-brand{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  text-decoration:none !important;
  color:#071744 !important;
}

.scanmap-home-logo{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:27px !important;
  background:#eef7ff !important;
}

.scanmap-home-wordmark{
  font-size:30px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.055em !important;
  color:#071744 !important;
}

.scanmap-home-wordmark span{
  color:#137fe8 !important;
}

.scanmap-home-notify{
  position:relative !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  background:#fff !important;
  border:1px solid #d9e5f2 !important;
  box-shadow:0 8px 18px rgba(30,72,120,.07) !important;
  font-size:24px !important;
}

.scanmap-home-notify span{
  position:absolute !important;
  right:4px !important;
  top:4px !important;
  width:19px !important;
  height:19px !important;
  border-radius:50% !important;
  background:#137fe8 !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:2px solid #fff !important;
}

/* Card principale */
.scanmap-home-welcome-card{
  position:relative !important;
  width:100% !important;
  padding:24px 22px 18px !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(20,132,229,.16), transparent 32%),
    linear-gradient(135deg,#f7fcff 0%,#edf8ff 100%) !important;
  border:1px solid #cfe2f5 !important;
  box-shadow:0 16px 36px rgba(32,76,120,.10) !important;
  overflow:hidden !important;
}

.scanmap-home-welcome-card::after{
  content:"" !important;
  position:absolute !important;
  right:-50px !important;
  top:-42px !important;
  width:230px !important;
  height:190px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.42) !important;
  pointer-events:none !important;
}

.scanmap-home-greeting{
  position:relative !important;
  z-index:2 !important;
  font-size:20px !important;
  line-height:1.1 !important;
  font-weight:850 !important;
  color:#071744 !important;
  margin-bottom:7px !important;
}

.scanmap-home-name{
  position:relative !important;
  z-index:2 !important;
  max-width:calc(100% - 120px) !important;
  font-size:38px !important;
  line-height:1.02 !important;
  font-weight:950 !important;
  letter-spacing:-.06em !important;
  color:#071744 !important;
  margin-bottom:20px !important;
}

.scanmap-home-avatar{
  position:absolute !important;
  z-index:3 !important;
  right:24px !important;
  top:76px !important;
  width:92px !important;
  height:92px !important;
  border-radius:50% !important;
  background:#eaf5ff !important;
  border:6px solid #fff !important;
  box-shadow:0 14px 32px rgba(20,60,110,.18) !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.scanmap-home-avatar img,
.scanmap-home-avatar span{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:38px !important;
}

.scanmap-home-distance{
  position:relative !important;
  z-index:2 !important;
  width:min(100%, 292px) !important;
  min-height:76px !important;
  padding:13px 14px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.90) !important;
  border:1px solid #d5e5f4 !important;
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  box-shadow:0 8px 20px rgba(40,83,130,.07) !important;
  margin-bottom:18px !important;
}

.scanmap-home-distance-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:17px !important;
  background:#e8f4ff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:27px !important;
}

.scanmap-home-distance small{
  display:block !important;
  font-size:14px !important;
  color:#60718d !important;
  font-weight:800 !important;
  line-height:1 !important;
  margin-bottom:6px !important;
}

.scanmap-home-distance strong{
  display:block !important;
  color:#137fe8 !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
}

/* Scorciatoie */
.scanmap-home-shortcuts{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:9px !important;
  padding-top:15px !important;
  border-top:1px solid rgba(190,213,235,.85) !important;
}

.scanmap-home-shortcuts a{
  min-height:92px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid #d9e5f2 !important;
  box-shadow:0 8px 18px rgba(30,72,120,.07) !important;
  color:#071744 !important;
  text-decoration:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-align:center !important;
}

.scanmap-home-shortcuts a span{
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:26px !important;
}

.scanmap-home-shortcuts a:nth-child(1) span{
  background:#e9f5ff !important;
}

.scanmap-home-shortcuts a:nth-child(2) span{
  background:#e9f8ef !important;
}

.scanmap-home-shortcuts a:nth-child(3) span{
  background:#f1ebff !important;
}

.scanmap-home-shortcuts a strong{
  font-size:13px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}

/* Bottoni principali */
.scanmap-home-main-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:11px !important;
  margin-top:14px !important;
}

.scanmap-home-action{
  min-height:74px !important;
  border-radius:23px !important;
  padding:13px 16px !important;
  display:grid !important;
  grid-template-columns:54px 1fr 40px !important;
  align-items:center !important;
  gap:14px !important;
  text-decoration:none !important;
  border:1px solid transparent !important;
  box-shadow:0 8px 20px rgba(30,72,120,.07) !important;
}

.scanmap-home-action-icon{
  width:54px !important;
  height:54px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:32px !important;
}

.scanmap-home-action strong{
  font-size:24px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
}

.scanmap-home-action em{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 6px 14px rgba(30,72,120,.08) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-style:normal !important;
  font-size:34px !important;
  line-height:1 !important;
}

.scanmap-home-action.is-social{
  order:1 !important;
  background:linear-gradient(135deg,#effff6,#e7f9ef) !important;
  border-color:#bfe8cf !important;
  color:#0d9b4d !important;
}

.scanmap-home-action.is-social .scanmap-home-action-icon{
  background:#dff6e9 !important;
}

.scanmap-home-action.is-maps{
  order:2 !important;
  background:linear-gradient(135deg,#eef8ff,#e4f3ff) !important;
  border-color:#add8fb !important;
  color:#137fe8 !important;
}

.scanmap-home-action.is-maps .scanmap-home-action-icon{
  background:#dff0ff !important;
}

.scanmap-home-action.is-logout{
  order:3 !important;
  background:linear-gradient(135deg,#fff4f4,#ffecec) !important;
  border-color:#ffd0d0 !important;
  color:#dc3030 !important;
}

.scanmap-home-action.is-logout .scanmap-home-action-icon{
  background:#ffe1e1 !important;
}

@media (max-width:560px){
  .scanmap-mobile-home-redesign{
    margin-bottom:12px !important;
  }

  .scanmap-home-brand-row{
    margin-bottom:10px !important;
  }

  .scanmap-home-logo{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    font-size:24px !important;
  }

  .scanmap-home-wordmark{
    font-size:25px !important;
  }

  .scanmap-home-notify{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    font-size:21px !important;
  }

  .scanmap-home-welcome-card{
    padding:20px 16px 15px !important;
    border-radius:24px !important;
  }

  .scanmap-home-greeting{
    font-size:17px !important;
  }

  .scanmap-home-name{
    max-width:calc(100% - 92px) !important;
    font-size:29px !important;
    margin-bottom:15px !important;
  }

  .scanmap-home-avatar{
    right:18px !important;
    top:67px !important;
    width:74px !important;
    height:74px !important;
    border-width:5px !important;
  }

  .scanmap-home-distance{
    width:calc(100% - 94px) !important;
    min-height:64px !important;
    padding:10px !important;
    gap:9px !important;
    border-radius:17px !important;
    margin-bottom:14px !important;
  }

  .scanmap-home-distance-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:14px !important;
    font-size:23px !important;
  }

  .scanmap-home-distance small{
    font-size:11px !important;
  }

  .scanmap-home-distance strong{
    font-size:21px !important;
  }

  .scanmap-home-shortcuts{
    gap:7px !important;
    padding-top:12px !important;
  }

  .scanmap-home-shortcuts a{
    min-height:74px !important;
    border-radius:17px !important;
    gap:6px !important;
  }

  .scanmap-home-shortcuts a span{
    width:34px !important;
    height:34px !important;
    border-radius:13px !important;
    font-size:21px !important;
  }

  .scanmap-home-shortcuts a strong{
    font-size:11px !important;
  }

  .scanmap-home-main-actions{
    gap:9px !important;
    margin-top:11px !important;
  }

  .scanmap-home-action{
    min-height:62px !important;
    border-radius:19px !important;
    grid-template-columns:44px 1fr 34px !important;
    gap:10px !important;
    padding:10px 12px !important;
  }

  .scanmap-home-action-icon{
    width:44px !important;
    height:44px !important;
    border-radius:15px !important;
    font-size:26px !important;
  }

  .scanmap-home-action strong{
    font-size:19px !important;
  }

  .scanmap-home-action em{
    width:32px !important;
    height:32px !important;
    font-size:28px !important;
  }
}

@media (max-width:380px){
  .scanmap-home-name{
    font-size:25px !important;
  }

  .scanmap-home-distance{
    width:100% !important;
    margin-top:76px !important;
  }

  .scanmap-home-avatar{
    top:82px !important;
  }

  .scanmap-home-shortcuts a strong{
    font-size:10px !important;
  }
}


/* =========================================================
   FIX Amici e chat dirette
   Isola la lista amici dagli stili della topbar
   ========================================================= */

.dash-friends-card-modern #friendsList{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Card amico pulita */
.dash-friends-card-modern #friendsList > *{
  position:relative !important;
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  column-gap:10px !important;
  row-gap:8px !important;
  min-height:auto !important;
  padding:12px !important;
  border-radius:18px !important;
  background:#ffffff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 6px 16px rgba(30,72,120,.05) !important;
  overflow:hidden !important;
}

/* Annulla gli stili della topbar se il JS usa dash-user-chip dentro friendsList */
.dash-friends-card-modern #friendsList .dash-user-chip{
  position:static !important;
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) auto !important;
  column-gap:10px !important;
  align-items:center !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip::before,
.dash-friends-card-modern #friendsList .dash-user-chip::after{
  content:none !important;
  display:none !important;
}

/* Avatar contenuto perfettamente nel cerchio */
.dash-friends-card-modern #friendsList .dash-user-chip-media,
.dash-friends-card-modern #friendsList .dash-avatar,
.dash-friends-card-modern #friendsList .avatar,
.dash-friends-card-modern #friendsList [class*="avatar"],
.dash-friends-card-modern #friendsList [class*="media"]{
  position:static !important;
  grid-column:1 !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  border:3px solid #fff !important;
  background:#eaf5ff !important;
  box-shadow:0 8px 18px rgba(20,60,110,.14) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip-media img,
.dash-friends-card-modern #friendsList .dash-avatar img,
.dash-friends-card-modern #friendsList .avatar img,
.dash-friends-card-modern #friendsList [class*="avatar"] img,
.dash-friends-card-modern #friendsList [class*="media"] img,
.dash-friends-card-modern #friendsList > * > img{
  position:static !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:50% !important;
  border:0 !important;
  box-shadow:none !important;
  display:block !important;
}

/* Se l'immagine è diretta nella card */
.dash-friends-card-modern #friendsList > * > img{
  position:absolute !important;
  left:12px !important;
  top:14px !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  border:3px solid #fff !important;
  box-shadow:0 8px 18px rgba(20,60,110,.14) !important;
}

/* Pallino online */
.dash-friends-card-modern #friendsList > *::after{
  content:"" !important;
  position:absolute !important;
  left:52px !important;
  top:52px !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:#42c962 !important;
  border:3px solid #fff !important;
  box-shadow:0 4px 10px rgba(32,150,70,.20) !important;
  z-index:5 !important;
}

/* Testi */
.dash-friends-card-modern #friendsList .dash-user-chip > div,
.dash-friends-card-modern #friendsList [class*="content"],
.dash-friends-card-modern #friendsList [class*="info"]{
  grid-column:2 !important;
  min-width:0 !important;
  padding:0 !important;
}

.dash-friends-card-modern #friendsList strong,
.dash-friends-card-modern #friendsList h3,
.dash-friends-card-modern #friendsList h4,
.dash-friends-card-modern #friendsList .name,
.dash-friends-card-modern #friendsList [class*="name"]{
  display:block !important;
  max-width:100% !important;
  font-size:15px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  color:#071744 !important;
  margin:0 0 3px !important;
  letter-spacing:-.02em !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.dash-friends-card-modern #friendsList p,
.dash-friends-card-modern #friendsList small,
.dash-friends-card-modern #friendsList .dash-note,
.dash-friends-card-modern #friendsList .dash-muted,
.dash-friends-card-modern #friendsList [class*="message"],
.dash-friends-card-modern #friendsList [class*="preview"]{
  display:block !important;
  max-width:100% !important;
  font-size:12px !important;
  line-height:1.25 !important;
  color:#5d6f8f !important;
  margin:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* Badge Amici */
.dash-friends-card-modern #friendsList .dash-pill,
.dash-friends-card-modern #friendsList [class*="pill"],
.dash-friends-card-modern #friendsList [class*="badge"],
.dash-friends-card-modern #friendsList [class*="status"]{
  position:static !important;
  grid-column:3 !important;
  align-self:start !important;
  justify-self:end !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  background:#e7f7ed !important;
  color:#17863b !important;
  border:0 !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.dash-friends-card-modern #friendsList .dash-pill::before,
.dash-friends-card-modern #friendsList [class*="pill"]::before,
.dash-friends-card-modern #friendsList [class*="badge"]::before,
.dash-friends-card-modern #friendsList [class*="status"]::before{
  content:"" !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#39bd5a !important;
  display:inline-block !important;
}

/* Azioni */
.dash-friends-card-modern #friendsList .dash-inline-actions,
.dash-friends-card-modern #friendsList [class*="actions"]{
  grid-column:2 / -1 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:7px !important;
  margin-top:2px !important;
}

.dash-friends-card-modern #friendsList button,
.dash-friends-card-modern #friendsList a{
  min-height:32px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

/* Primo bottone: Apri chat */
.dash-friends-card-modern #friendsList button:first-of-type,
.dash-friends-card-modern #friendsList a:first-of-type{
  background:linear-gradient(180deg,#1687ed 0%,#0e68d8 100%) !important;
  color:#fff !important;
  border:0 !important;
}

/* Secondo bottone: Profilo */
.dash-friends-card-modern #friendsList button:nth-of-type(2),
.dash-friends-card-modern #friendsList a:nth-of-type(2){
  background:#eef6ff !important;
  color:#071744 !important;
  border:1px solid #d8e3f0 !important;
}

/* Mobile stretto */
@media (max-width:560px){
  .dash-friends-card-modern #friendsList > *{
    grid-template-columns:50px minmax(0,1fr) auto !important;
    padding:11px !important;
    border-radius:17px !important;
  }

  .dash-friends-card-modern #friendsList .dash-user-chip{
    grid-template-columns:50px minmax(0,1fr) auto !important;
  }

  .dash-friends-card-modern #friendsList .dash-user-chip-media,
  .dash-friends-card-modern #friendsList .dash-avatar,
  .dash-friends-card-modern #friendsList .avatar,
  .dash-friends-card-modern #friendsList [class*="avatar"],
  .dash-friends-card-modern #friendsList [class*="media"],
  .dash-friends-card-modern #friendsList > * > img{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
  }

  .dash-friends-card-modern #friendsList > *::after{
    left:45px !important;
    top:45px !important;
  }
}


/* =========================================================
   FIX FINALE Amici e chat dirette
   Rimuove interferenze topbar: distanza percorsa / chip sovrapposti
   ========================================================= */

.dash-friends-card-modern #friendsList{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

/* Card amico */
.dash-friends-card-modern #friendsList > *{
  position:relative !important;
  display:grid !important;
  grid-template-columns:56px minmax(0,1fr) auto !important;
  grid-template-areas:
    "avatar info badge"
    "avatar actions actions" !important;
  column-gap:10px !important;
  row-gap:8px !important;
  padding:12px !important;
  min-height:auto !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 6px 16px rgba(30,72,120,.05) !important;
  overflow:hidden !important;
}

/* Blocco profilo amico: reset completo dagli stili topbar */
.dash-friends-card-modern #friendsList .dash-user-chip{
  grid-area:info !important;
  position:static !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip::before,
.dash-friends-card-modern #friendsList .dash-user-chip::after{
  content:none !important;
  display:none !important;
}

/* Avatar */
.dash-friends-card-modern #friendsList .dash-user-chip-media{
  grid-area:avatar !important;
  position:absolute !important;
  left:12px !important;
  top:14px !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  min-height:50px !important;
  max-width:50px !important;
  max-height:50px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  border:3px solid #fff !important;
  background:#eaf5ff !important;
  box-shadow:0 8px 18px rgba(20,60,110,.14) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip-media img{
  position:static !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:50% !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Pallino online */
.dash-friends-card-modern #friendsList > *::after{
  content:"" !important;
  position:absolute !important;
  left:49px !important;
  top:49px !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:#42c962 !important;
  border:3px solid #fff !important;
  box-shadow:0 4px 10px rgba(32,150,70,.20) !important;
  z-index:5 !important;
}

/* Nome */
.dash-friends-card-modern #friendsList .dash-user-chip strong{
  display:block !important;
  max-width:100% !important;
  font-size:15px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  color:#071744 !important;
  margin:0 0 4px !important;
  letter-spacing:-.02em !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* Messaggio: rimuove "Distanza percorsa" e stile chip */
.dash-friends-card-modern #friendsList .dash-user-chip .dash-note{
  position:static !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#5d6f8f !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip .dash-note::before,
.dash-friends-card-modern #friendsList .dash-user-chip .dash-note::after{
  content:none !important;
  display:none !important;
}

/* Badge Amici */
.dash-friends-card-modern #friendsList .dash-pill{
  grid-area:badge !important;
  position:static !important;
  justify-self:end !important;
  align-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  background:#e7f7ed !important;
  color:#17863b !important;
  border:0 !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.dash-friends-card-modern #friendsList .dash-pill::before{
  content:"" !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#39bd5a !important;
  display:inline-block !important;
}

/* Azioni */
.dash-friends-card-modern #friendsList .dash-inline-actions{
  grid-area:actions !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:7px !important;
  margin:2px 0 0 !important;
}

.dash-friends-card-modern #friendsList .dash-inline-actions button,
.dash-friends-card-modern #friendsList .dash-inline-actions a{
  min-height:31px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

.dash-friends-card-modern #friendsList .dash-inline-actions button:first-child,
.dash-friends-card-modern #friendsList .dash-inline-actions a:first-child{
  background:linear-gradient(180deg,#1687ed 0%,#0e68d8 100%) !important;
  color:#fff !important;
  border:0 !important;
}

.dash-friends-card-modern #friendsList .dash-inline-actions button:nth-child(2),
.dash-friends-card-modern #friendsList .dash-inline-actions a:nth-child(2){
  background:#eef6ff !important;
  color:#071744 !important;
  border:1px solid #d8e3f0 !important;
}

/* Mobile stretto */
@media (max-width:560px){
  .dash-friends-card-modern #friendsList > *{
    grid-template-columns:52px minmax(0,1fr) auto !important;
    column-gap:8px !important;
    padding:11px !important;
  }

  .dash-friends-card-modern #friendsList .dash-user-chip-media{
    left:11px !important;
    top:14px !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
  }

  .dash-friends-card-modern #friendsList > *::after{
    left:45px !important;
    top:45px !important;
  }
}


/* =========================================================
   Friends layout final: avatar a sinistra, testi e bottoni allineati
   ========================================================= */

.dash-friends-card-modern #friendsList > *{
  position:relative !important;
  display:block !important;
  min-height:112px !important;
  padding:14px 14px 14px 92px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid #d8e3f0 !important;
  box-shadow:0 6px 16px rgba(30,72,120,.05) !important;
  overflow:hidden !important;
}

/* Avatar fisso a sinistra */
.dash-friends-card-modern #friendsList .dash-user-chip-media{
  position:absolute !important;
  left:18px !important;
  top:28px !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  border:3px solid #fff !important;
  background:#eaf5ff !important;
  box-shadow:0 8px 18px rgba(20,60,110,.14) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:50% !important;
}

/* Pallino online */
.dash-friends-card-modern #friendsList > *::after{
  content:"" !important;
  position:absolute !important;
  left:60px !important;
  top:70px !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:#42c962 !important;
  border:3px solid #fff !important;
  box-shadow:0 4px 10px rgba(32,150,70,.20) !important;
  z-index:5 !important;
}

/* Reset chip interno */
.dash-friends-card-modern #friendsList .dash-user-chip{
  position:static !important;
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip::before,
.dash-friends-card-modern #friendsList .dash-user-chip::after{
  content:none !important;
  display:none !important;
}

/* Nome */
.dash-friends-card-modern #friendsList .dash-user-chip strong{
  display:block !important;
  padding-right:82px !important;
  font-size:15px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  color:#071744 !important;
  margin:0 0 5px !important;
  letter-spacing:-.02em !important;
}

/* Messaggio */
.dash-friends-card-modern #friendsList .dash-user-chip .dash-note{
  display:block !important;
  padding:0 !important;
  margin:0 0 10px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#5d6f8f !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.dash-friends-card-modern #friendsList .dash-user-chip .dash-note::before,
.dash-friends-card-modern #friendsList .dash-user-chip .dash-note::after{
  content:none !important;
  display:none !important;
}

/* Badge Amici in alto a destra */
.dash-friends-card-modern #friendsList .dash-pill{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  background:#e7f7ed !important;
  color:#17863b !important;
  border:0 !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.dash-friends-card-modern #friendsList .dash-pill::before{
  content:"" !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#39bd5a !important;
}

/* Bottoni allineati sotto il testo */
.dash-friends-card-modern #friendsList .dash-inline-actions{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
}

.dash-friends-card-modern #friendsList .dash-inline-actions button,
.dash-friends-card-modern #friendsList .dash-inline-actions a{
  min-height:31px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.dash-friends-card-modern #friendsList .dash-inline-actions button:first-child,
.dash-friends-card-modern #friendsList .dash-inline-actions a:first-child{
  background:linear-gradient(180deg,#1687ed 0%,#0e68d8 100%) !important;
  color:#fff !important;
  border:0 !important;
}

.dash-friends-card-modern #friendsList .dash-inline-actions button:nth-child(2),
.dash-friends-card-modern #friendsList .dash-inline-actions a:nth-child(2){
  background:#eef6ff !important;
  color:#071744 !important;
  border:1px solid #d8e3f0 !important;
}

/* Mobile stretto */
@media (max-width:560px){
  .dash-friends-card-modern #friendsList > *{
    min-height:104px !important;
    padding:12px 12px 12px 82px !important;
  }

  .dash-friends-card-modern #friendsList .dash-user-chip-media{
    left:15px !important;
    top:28px !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
  }

  .dash-friends-card-modern #friendsList > *::after{
    left:53px !important;
    top:65px !important;
  }

  .dash-friends-card-modern #friendsList .dash-user-chip strong{
    font-size:14px !important;
    padding-right:74px !important;
  }

  .dash-friends-card-modern #friendsList .dash-user-chip .dash-note{
    font-size:11.5px !important;
  }

  .dash-friends-card-modern #friendsList .dash-pill{
    top:12px !important;
    right:12px !important;
  }
}


/* =========================================================
   ScanMAP navbar user chip globale
   Mostra immagine/avatar utente nella navbar superiore
   ========================================================= */

.scanmap-navbar-user-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:40px !important;
  padding:5px 10px 5px 5px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(205,224,242,.95) !important;
  box-shadow:0 8px 18px rgba(25,70,120,.08) !important;
  color:#071744 !important;
  text-decoration:none !important;
  margin-left:8px !important;
  vertical-align:middle !important;
  z-index:9999 !important;
}

.scanmap-navbar-user-avatar{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#e8f3ff !important;
  border:2px solid #fff !important;
  box-shadow:0 4px 10px rgba(20,60,110,.13) !important;
  font-size:18px !important;
  font-weight:900 !important;
}

.scanmap-navbar-user-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

.scanmap-navbar-user-text{
  display:flex !important;
  flex-direction:column !important;
  line-height:1.05 !important;
}

.scanmap-navbar-user-text strong{
  max-width:105px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  font-weight:900 !important;
  color:#071744 !important;
}

.scanmap-navbar-user-text small{
  font-size:10px !important;
  color:#137fe8 !important;
  font-weight:800 !important;
  margin-top:2px !important;
}

@media (max-width:560px){
  .scanmap-navbar-user-chip{
    min-height:36px !important;
    padding:4px !important;
    gap:0 !important;
  }

  .scanmap-navbar-user-avatar{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }

  .scanmap-navbar-user-text{
    display:none !important;
  }
}


/* =========================================================
   ScanMAP navbar user avatar TOP ONLY
   Sostituisce immagine/placeholder nella navbar superiore
   ========================================================= */

#scanmapNavbarUserAvatarTop,
.scanmap-navbar-user-avatar-top{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#e8f3ff !important;
  border:2px solid #fff !important;
  box-shadow:0 6px 14px rgba(20,60,110,.16) !important;
  text-decoration:none !important;
  vertical-align:middle !important;
  flex:0 0 auto !important;
  padding:0 !important;
  margin:0 6px !important;
  z-index:9999 !important;
}

#scanmapNavbarUserAvatarTop img,
.scanmap-navbar-user-avatar-top img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:50% !important;
}

#scanmapNavbarUserAvatarTop span,
.scanmap-navbar-user-avatar-top span{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  border-radius:50% !important;
}

/* Nasconde eventuale vecchia barra utente se rimasta in cache */
.scanmap-navbar-user-chip{
  display:none !important;
}

@media (max-width:560px){
  #scanmapNavbarUserAvatarTop,
  .scanmap-navbar-user-avatar-top{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    margin:0 4px !important;
  }
}


/* =========================================================
   ScanMAP sostituzione icona utente standard navbar superiore
   ========================================================= */

.scanmap-navbar-user-replaced,
.scanmap-navbar-user-avatar-top{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#e8f3ff !important;
  border:2px solid rgba(255,255,255,.92) !important;
  box-shadow:0 6px 14px rgba(20,60,110,.16) !important;
  padding:0 !important;
  text-decoration:none !important;
  vertical-align:middle !important;
  flex:0 0 auto !important;
}

.scanmap-navbar-user-replaced img,
.scanmap-navbar-user-avatar-top img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:50% !important;
}

.scanmap-navbar-user-replaced span,
.scanmap-navbar-user-avatar-top span{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  font-size:19px !important;
}

/* Nasconde vecchia barra/chip extra se rimasta */
.scanmap-navbar-user-chip:not(.scanmap-navbar-user-replaced){
  display:none !important;
}

@media (max-width:560px){
  .scanmap-navbar-user-replaced,
  .scanmap-navbar-user-avatar-top{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
  }
}

