/* =========================================================
   RABBIT PROFESSIONAL HOME V3 — PREMIUM REFINEMENT
   Intervento solo estetico su Home professionale.
   Non modifica logica dati, ID, Supabase, chat/call/notifiche.
   ========================================================= */

:root{
  --uiScale:1 !important;
  --rp-bg:#f8fafc;
  --rp-bg-soft:#f1f5f9;
  --rp-sidebar:#0b192c;
  --rp-sidebar-2:#0f233d;
  --rp-sidebar-active:rgba(255,255,255,.12);
  --rp-text:#0f172a;
  --rp-text-2:#1e293b;
  --rp-muted:#64748b;
  --rp-muted-2:#94a3b8;
  --rp-line:#e2e8f0;
  --rp-line-2:#edf2f7;
  --rp-card:#ffffff;
  --rp-blue:#2563eb;
  --rp-blue-soft:#eff6ff;
  --rp-cyan:#0891b2;
  --rp-green:#16a34a;
  --rp-red:#dc2626;
  --rp-yellow:#ca8a04;
  --rp-radius:12px;
  --rp-radius-lg:16px;
  --rp-shadow-xs:0 1px 2px rgba(15,23,42,.03);
  --rp-shadow-sm:0 10px 25px -5px rgba(0,0,0,.04),0 8px 10px -6px rgba(0,0,0,.04);
  --rp-shadow-md:0 18px 34px -10px rgba(15,23,42,.10),0 10px 18px -12px rgba(15,23,42,.10);
  --rp-shadow-lg:0 18px 45px rgba(15,23,42,.11),0 4px 10px rgba(15,23,42,.06);
  --rp-font:'Inter','Segoe UI',Roboto,Arial,sans-serif;
}

html,
body{
  width:100% !important;
  min-height:100% !important;
  background:var(--rp-bg) !important;
  color:var(--rp-text) !important;
  font-family:var(--rp-font) !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:geometricPrecision !important;
}

body,
button,
input,
textarea,
select{
  font-family:var(--rp-font) !important;
}

.scale-root{
  transform:none !important;
  width:100% !important;
  min-height:100vh !important;
  background:var(--rp-bg) !important;
}

.app,
.app.no-rightbar,
.scale-root .app{
  display:grid !important;
  grid-template-columns:260px minmax(0,1fr) !important;
  min-height:100vh !important;
  background:var(--rp-bg) !important;
  align-items:stretch !important;
}

.rightbar,
aside.rightbar{
  display:none !important;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.sidebar,
.rabbit-pro-sidebar{
  display:flex !important;
  position:sticky !important;
  top:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  width:260px !important;
  flex-direction:column !important;
  gap:22px !important;
  padding:24px 18px 22px !important;
  overflow:auto !important;
  background:linear-gradient(180deg,var(--rp-sidebar),#081629) !important;
  border-right:0 !important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.045) !important;
  color:#fff !important;
}

.rabbit-pro-brand,
.sidebar .brand{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  margin:0 0 4px !important;
  min-height:46px !important;
  padding:0 4px !important;
  color:#fff !important;
}

.rabbit-pro-brand .logo,
.sidebar .logo{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.06) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}

.rabbit-pro-brand .logo img,
.sidebar .logo img{
  width:30px !important;
  height:30px !important;
  object-fit:contain !important;
}

.rabbit-pro-brand strong{
  font-size:24px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  font-weight:800 !important;
}

.sidebar .nav{
  display:grid !important;
  gap:7px !important;
  padding:0 !important;
}

.sidebar .nav button,
.rabbit-sidebar-logout{
  width:100% !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  border:0 !important;
  border-radius:10px !important;
  padding:0 15px !important;
  background:transparent !important;
  color:#cbd5e1 !important;
  box-shadow:none !important;
  font-weight:550 !important;
  font-size:14px !important;
  text-align:left !important;
  line-height:1 !important;
  transition:background .18s ease,color .18s ease,transform .18s ease !important;
}

.sidebar .nav button:hover,
.rabbit-sidebar-logout:hover{
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  transform:none !important;
}

.sidebar .nav button.active{
  background:rgba(255,255,255,.125) !important;
  color:#fff !important;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.88) !important;
  font-weight:650 !important;
}

.rabbit-side-ico{
  width:20px !important;
  min-width:20px !important;
  height:20px !important;
  display:inline-grid !important;
  place-items:center !important;
  font-size:16px !important;
  line-height:1 !important;
}

.rabbit-sidebar-logout{
  margin-top:auto !important;
  color:#fff !important;
}

/* =========================================================
   MAIN / TOPBAR
   ========================================================= */
.main{
  width:100% !important;
  min-width:0 !important;
  min-height:100vh !important;
  background:var(--rp-bg) !important;
  padding:0 !important;
  margin:0 !important;
  overflow-x:hidden !important;
}

.topbar,
.rabbit-pro-topbar{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
  height:64px !important;
  margin:0 !important;
  padding:0 26px !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  justify-content:space-between !important;
  background:#fff !important;
  border:0 !important;
  border-bottom:1px solid var(--rp-line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.mobile-menu-btn{display:none !important;}

.topbar .search{
  flex:1 !important;
  max-width:760px !important;
  min-width:240px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  height:42px !important;
  background:#f8fafc !important;
  border:1px solid #d6dee8 !important;
  border-radius:10px !important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.025) !important;
  padding:0 8px 0 40px !important;
  position:relative !important;
}

.topbar .search:before{
  content:"⌕";
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  color:#64748b;
  font-size:19px;
  line-height:1;
}

.topbar .search input{
  height:100% !important;
  flex:1 !important;
  border:0 !important;
  outline:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#334155 !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:450 !important;
}

.topbar .search input::placeholder{color:#94a3b8 !important;}

.topbar .search button{
  width:28px !important;
  height:28px !important;
  min-height:28px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#94a3b8 !important;
  box-shadow:none !important;
  border-radius:8px !important;
}

.rabbit-topbar-user{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}

.rabbit-bell,
.rabbit-admin-chip{
  position:relative !important;
  min-height:38px !important;
  height:38px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#0f172a !important;
  padding:0 !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

.rabbit-bell{
  width:38px !important;
  justify-content:center !important;
  font-size:20px !important;
}

.rabbit-bell i{
  position:absolute;
  right:8px;
  top:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#dc2626;
  border:1.5px solid #fff;
}

.rabbit-admin-chip b{
  font-size:14px !important;
  font-weight:650 !important;
}

.rabbit-avatar-dot{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#f1f5f9 !important;
  border:1px solid #e2e8f0 !important;
  font-size:18px !important;
}

/* =========================================================
   HOME WRAPPER
   ========================================================= */
.view{padding:26px !important;}

#home.view{
  display:none !important;
  padding:26px !important;
  max-width:1390px !important;
  margin:0 auto !important;
}

#home.view.active{display:block !important;}

#home .card,
#home .command-panel,
#home .pulse-card,
#home .launch-card,
#home .home-launcher-shell,
#home .priority-board,
#home .board-col,
#home .board-item,
#home .mini-row,
#home .row{
  backdrop-filter:none !important;
}

/* =========================================================
   HERO + KPI
   ========================================================= */
.command-center,
.rabbit-pro-command{
  display:grid !important;
  grid-template-columns:minmax(430px,1.08fr) minmax(460px,.92fr) !important;
  gap:20px !important;
  align-items:stretch !important;
  margin:0 0 26px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.command-panel,
.rabbit-pro-hero{
  position:relative !important;
  min-height:154px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  border-radius:14px !important;
  border:0 !important;
  box-shadow:var(--rp-shadow-md) !important;
  background:#111827 !important;
  color:#fff !important;
  padding:30px !important;
}

.rabbit-pro-hero-bg{
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,rgba(15,23,42,.92),rgba(15,23,42,.62),rgba(15,23,42,.32)),
    radial-gradient(circle at 80% 10%,rgba(148,163,184,.28),transparent 34%),
    linear-gradient(135deg,#111827,#334155) !important;
}

.rabbit-pro-hero-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 56px),
    linear-gradient(135deg,transparent,rgba(255,255,255,.08));
  opacity:.62;
}

.rabbit-pro-hero-content{
  position:relative !important;
  z-index:1 !important;
}

.rabbit-pro-hero h1{
  margin:0 !important;
  color:#fff !important;
  font-size:32px !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:760 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.35) !important;
}

.rabbit-pro-hero h1 span{color:#fff !important;}

.rabbit-pro-pulse,
.command-center > .card.rabbit-pro-pulse{
  min-height:154px !important;
  padding:18px 0 0 !important;
  border-radius:14px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--rp-text) !important;
}

.rabbit-pro-pulse h3{
  margin:0 0 12px !important;
  padding:0 2px !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:#1e293b !important;
  letter-spacing:-.01em !important;
}

.pulse-strip,
.rabbit-pro-kpis{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}

.pulse-card{
  position:relative !important;
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:18px 44px 16px 18px !important;
  border-radius:12px !important;
  background:#fff !important;
  border:1px solid #edf2f7 !important;
  box-shadow:var(--rp-shadow-sm) !important;
  color:var(--rp-text) !important;
}

.pulse-card b{
  display:block !important;
  color:#020617 !important;
  font-size:32px !important;
  line-height:1 !important;
  font-weight:760 !important;
  letter-spacing:-.035em !important;
}

.pulse-card span,
.pulse-card .muted{
  margin-top:8px !important;
  color:#475569 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:520 !important;
}

.pulse-card i{
  position:absolute !important;
  right:14px !important;
  top:14px !important;
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  background:#eff6ff !important;
  color:#2563eb !important;
  font-style:normal !important;
  font-size:15px !important;
}

.inline-note{display:none !important;}

/* =========================================================
   MODULE GRID
   ========================================================= */
#homeLauncherCards{
  display:block !important;
  margin:0 0 28px !important;
}

.home-launcher-shell,
.rabbit-pro-modules{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:var(--rp-text) !important;
  overflow:visible !important;
}

.home-launcher-head{
  display:block !important;
  margin:0 0 16px !important;
}

.home-launcher-head h3{
  margin:0 !important;
  color:#0f172a !important;
  font-size:24px !important;
  line-height:1.12 !important;
  font-weight:650 !important;
  letter-spacing:-.025em !important;
}

.home-launcher-head p,
.home-launcher-meta{display:none !important;}

.rabbit-module-groups{
  display:grid !important;
  gap:28px !important;
}

.rabbit-module-group h4{
  margin:0 0 12px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.05em !important;
  font-weight:750 !important;
  text-transform:uppercase !important;
}

.home-launcher-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

.launch-card,
.rabbit-pro-module-card{
  min-height:126px !important;
  padding:20px !important;
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 22px !important;
  grid-template-rows:auto 1fr !important;
  align-items:start !important;
  gap:14px !important;
  text-align:left !important;
  border:1px solid #edf2f7 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:var(--rp-shadow-sm) !important;
  color:var(--rp-text) !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease !important;
  overflow:hidden !important;
}

.launch-card:hover,
.rabbit-pro-module-card:hover{
  transform:translateY(-2px) !important;
  border-color:#e2e8f0 !important;
  box-shadow:var(--rp-shadow-md) !important;
  background:#fff !important;
}

.launch-icon{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:42px !important;
  height:42px !important;
  border-radius:12px !important;
  display:grid !important;
  place-items:center !important;
  background:#f1f5f9 !important;
  border:1px solid #edf2f7 !important;
  color:#475569 !important;
  box-shadow:none !important;
}

.launch-icon svg{
  width:20px !important;
  height:20px !important;
  stroke-width:2.1 !important;
}

.rabbit-module-text{
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:8px !important;
  padding-top:1px !important;
}

.launch-title,
.rabbit-pro-module-card .launch-title{
  display:block !important;
  margin:0 !important;
  color:#0f172a !important;
  font-size:15px !important;
  line-height:1.22 !important;
  letter-spacing:-.012em !important;
  font-weight:650 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.launch-desc,
.rabbit-pro-module-card .launch-desc{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  color:#64748b !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:430 !important;
  white-space:normal !important;
  text-overflow:clip !important;
}

.launch-arrow{
  grid-column:3 !important;
  grid-row:2 !important;
  align-self:end !important;
  justify-self:end !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#94a3b8 !important;
  font-size:18px !important;
  line-height:1 !important;
  transition:color .2s ease,transform .2s ease !important;
}

.launch-card:hover .launch-arrow,
.rabbit-pro-module-card:hover .launch-arrow{
  color:#2563eb !important;
  transform:translateX(2px) !important;
}

.launch-top,
.launch-badge,
.launch-footer{display:contents !important;}

/* =========================================================
   COVERS COMPATIBILITY
   ========================================================= */
#home .command-panel.rhc-has-cover,
#home .rabbit-pro-hero.rhc-has-cover,
#home .rabbit-pro-pulse.rhc-has-cover,
#home .home-launcher-shell.rhc-has-cover{
  background-image:var(--rhc114-overlay), var(--rhc-bg) !important;
  background-size:cover !important;
  background-position:center !important;
  color:#fff !important;
}

#home .command-panel.rhc-has-cover .rabbit-pro-hero-bg{display:none !important;}
#home .rabbit-pro-pulse.rhc-has-cover h3,
#home .home-launcher-shell.rhc-has-cover h3,
#home .home-launcher-shell.rhc-has-cover h4{color:#fff !important;}
#home .home-launcher-shell.rhc-has-cover .launch-card{
  background:rgba(255,255,255,.96) !important;
  color:var(--rp-text) !important;
}
#home .home-launcher-shell.rhc-has-cover .launch-title{color:#0f172a !important;}
#home .home-launcher-shell.rhc-has-cover .launch-desc{color:#64748b !important;}

/* =========================================================
   LOWER OPERATIONAL BLOCKS
   ========================================================= */
.rabbit-pro-home-lower{
  margin-top:28px !important;
  display:grid !important;
  gap:24px !important;
}

#home .priority-board,
#home .home-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}

#home .board-col,
#home .home-grid > .card,
#home .card:not(.rabbit-pro-pulse):not(.home-launcher-shell){
  background:#fff !important;
  border:1px solid #edf2f7 !important;
  border-radius:12px !important;
  box-shadow:var(--rp-shadow-sm) !important;
  color:var(--rp-text) !important;
}

#home .board-col h3,
#home .home-grid h3,
#home .card h3{color:#0f172a !important;}
#home .muted,
#home small,
#home .row small,
#home .mini-row small{color:#64748b !important;}

/* =========================================================
   FLOATING CHAT COMPATIBILITY
   ========================================================= */
#rmccButton,
.rc22-button,
.chat-float,
.floating-chat,
#chatButton{
  right:26px !important;
  bottom:26px !important;
  box-shadow:var(--rp-shadow-md) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1280px){
  #home.view{max-width:1180px !important;}
  .command-center,.rabbit-pro-command{grid-template-columns:1fr !important;}
  .home-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}

@media(max-width:900px){
  .app,.app.no-rightbar,.scale-root .app{display:block !important;}
  .sidebar,.rabbit-pro-sidebar{display:none !important;}
  .main{min-height:100vh !important;}
  .mobile-menu-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    background:#fff!important;
    border:1px solid #e2e8f0!important;
    color:#0f172a!important;
    box-shadow:none!important;
    border-radius:10px!important;
  }
  .topbar,.rabbit-pro-topbar{height:auto !important;min-height:66px !important;padding:10px 12px !important;gap:10px !important;}
  .topbar .search{min-width:0 !important;max-width:none !important;}
  .rabbit-admin-chip b{display:none !important;}
  .view,#home.view{padding:16px !important;}
  .command-panel,.rabbit-pro-hero{min-height:150px !important;padding:22px !important;}
  .rabbit-pro-hero h1{font-size:27px !important;}
  .pulse-strip,.rabbit-pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .home-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;}
  #home .priority-board,#home .home-grid{grid-template-columns:1fr !important;}
  .launch-card,.rabbit-pro-module-card{min-height:120px !important;padding:18px !important;}
}

@media(max-width:560px){
  .topbar .search{height:42px !important;padding-left:36px !important;}
  .rabbit-bell{display:none !important;}
  .command-center,.rabbit-pro-command{gap:14px !important;margin-bottom:22px !important;}
  .rabbit-pro-hero h1{font-size:24px !important;}
  .pulse-strip,.rabbit-pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
  .pulse-card{min-height:84px !important;padding:14px 38px 14px 14px !important;}
  .pulse-card b{font-size:27px !important;}
  .rabbit-module-groups{gap:24px !important;}
  .home-launcher-grid{grid-template-columns:1fr !important;gap:14px !important;}
  .launch-card,.rabbit-pro-module-card{
    min-height:112px !important;
    grid-template-columns:42px minmax(0,1fr) 22px !important;
    padding:18px !important;
  }
  .launch-icon{width:40px !important;height:40px !important;}
  #rmccButton,.rc22-button,.chat-float,.floating-chat,#chatButton{right:14px !important;bottom:14px !important;}
}

/* =========================================================
   RABBIT PROFILE PREMIUM V4
   Rifinitura estetica pagina /settings/profilo.
   Solo layout, spazi, colori, ombre e tipografia.
   Non modifica dati, Supabase o click degli stati.
   ========================================================= */

#profile,
#profile.profile-view,
.view#profile{
  background:#f8fafc !important;
  font-family:'Inter','Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif !important;
  color:#0f172a !important;
}

#profile .profile-v2{
  display:grid !important;
  gap:18px !important;
  padding:0 !important;
  color:#0f172a !important;
}

/* 1. Header profilo premium */
#profile .profile-v2-hero{
  position:relative !important;
  overflow:hidden !important;
  border-radius:18px !important;
  padding:28px 28px 22px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:
    linear-gradient(135deg,rgba(5,20,32,.86),rgba(13,75,75,.74)),
    radial-gradient(circle at 70% 18%,rgba(34,211,238,.20),transparent 34%),
    radial-gradient(circle at 15% 86%,rgba(20,184,166,.16),transparent 28%),
    linear-gradient(90deg,#061421,#0f4d4d) !important;
  box-shadow:0 22px 60px rgba(15,23,42,.18) !important;
  color:#fff !important;
}

#profile .profile-v2-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 78% 38%,rgba(255,255,255,.12),transparent 18%) !important;
  background-size:72px 72px,72px 72px,auto !important;
  opacity:.75 !important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,1)) !important;
}

#profile .profile-v2-hero::after{
  content:"IDENTITÀ OPERATIVA" !important;
  position:absolute !important;
  right:20px !important;
  bottom:-8px !important;
  z-index:0 !important;
  font-family:'Inter','Segoe UI',sans-serif !important;
  font-size:64px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.075em !important;
  color:rgba(255,255,255,.055) !important;
  pointer-events:none !important;
  white-space:nowrap !important;
}

#profile .profile-v2-hero > *{
  position:relative !important;
  z-index:1 !important;
}

#profile .profile-v2-top{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:22px !important;
  align-items:center !important;
}

#profile .profile-v2 .avatar-lg,
#profile .profile-v2-hero .avatar-lg{
  width:88px !important;
  height:88px !important;
  border-radius:16px !important;
  background:rgba(15,23,42,.34) !important;
  border:1px solid rgba(255,255,255,.36) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 36px rgba(2,6,23,.20) !important;
  color:#fff !important;
  font-size:34px !important;
  font-weight:800 !important;
}

#profile .profile-v2-title > .badge{
  display:none !important;
}

#profile .profile-v2-title h2{
  margin:0 !important;
  color:#ffffff !important;
  font-size:clamp(28px,3.8vw,42px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:800 !important;
  text-shadow:0 2px 20px rgba(2,6,23,.28) !important;
  overflow-wrap:anywhere !important;
}

#profile .profile-v2-title p{
  margin:8px 0 0 !important;
  color:#e2e8f0 !important;
  max-width:830px !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
}

#profile .profile-v2-status{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin-top:13px !important;
}

#profile .profile-v2-status span{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  min-height:25px !important;
  padding:4px 10px !important;
  border-radius:9999px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:rgba(255,255,255,.12) !important;
  backdrop-filter:blur(10px) saturate(140%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(140%) !important;
  color:#f8fafc !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.045em !important;
}

#profile .profile-v2-status i{
  width:7px !important;
  height:7px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.16) !important;
}

#profile .profile-v2-actions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  gap:8px !important;
}

#profile .profile-v2-actions button,
#profile .profile-v2-actions button.primary{
  min-height:42px !important;
  padding:0 14px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.52) !important;
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  font-weight:700 !important;
  font-size:13px !important;
  box-shadow:none !important;
  backdrop-filter:blur(12px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(150%) !important;
}

#profile .profile-v2-actions button:hover,
#profile .profile-v2-actions button.primary:hover{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.72) !important;
  transform:translateY(-1px) !important;
}

/* Fascia integrata sotto banner */
#profile .profile-command-strip{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:26px !important;
}

#profile .profile-command-card{
  min-height:68px !important;
  padding:14px 15px !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(15,23,42,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(140%) !important;
  color:#fff !important;
}

#profile .profile-command-card small{
  display:block !important;
  color:#cbd5e1 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}

#profile .profile-command-card b{
  display:block !important;
  margin-top:8px !important;
  color:#ffffff !important;
  font-size:17px !important;
  line-height:1.15 !important;
  font-weight:750 !important;
}

/* 2. KPI cards */
#profile .profile-kpi{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

#profile .profile-kpi-card{
  position:relative !important;
  min-height:116px !important;
  padding:22px 22px 18px !important;
  border-radius:12px !important;
  border:1px solid rgba(226,232,240,.86) !important;
  background:#ffffff !important;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.02) !important;
  color:#0f172a !important;
  overflow:hidden !important;
}

#profile .profile-kpi-card small{
  display:block !important;
  margin:0 46px 8px 0 !important;
  color:#0f172a !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
  text-transform:uppercase !important;
  letter-spacing:.045em !important;
}

#profile .profile-kpi-card b{
  display:block !important;
  margin:0 !important;
  color:#020617 !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:780 !important;
  letter-spacing:-.05em !important;
}

#profile .profile-kpi-card span:not(.profile-kpi-icon){
  display:block !important;
  margin-top:9px !important;
  color:#64748b !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}

#profile .profile-kpi-icon{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

#profile .profile-kpi-tasks .profile-kpi-icon{background:#dcfce7 !important;color:#16a34a !important;}
#profile .profile-kpi-agenda .profile-kpi-icon{background:#dbeafe !important;color:#2563eb !important;}
#profile .profile-kpi-docs .profile-kpi-icon{background:#fef3c7 !important;color:#d97706 !important;}
#profile .profile-kpi-programs .profile-kpi-icon{background:#f3e8ff !important;color:#7e22ce !important;}

/* 3. Pannelli principali */
#profile .profile-v2-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr) !important;
  gap:18px !important;
  align-items:start !important;
}

#profile .profile-v2-stack{
  display:grid !important;
  gap:18px !important;
}

#profile .profile-panel{
  border-radius:14px !important;
  border:1px solid rgba(226,232,240,.88) !important;
  background:#ffffff !important;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.02) !important;
  padding:22px !important;
  color:#0f172a !important;
  overflow:hidden !important;
}

#profile .profile-panel h3{
  margin:0 0 6px !important;
  color:#0f172a !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
  letter-spacing:-.025em !important;
}

#profile .profile-panel h4{
  margin:18px 0 8px !important;
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:-.015em !important;
}

#profile .profile-panel p,
#profile .profile-panel .muted,
#profile .profile-panel small{
  color:#64748b !important;
  font-weight:500 !important;
}

#profile .profile-panel-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:14px !important;
  margin-bottom:16px !important;
}

#profile .profile-panel-head p{
  margin:3px 0 0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  color:#64748b !important;
}

#profile .profile-panel-head button,
#profile .profile-panel > button,
#profile .profile-panel .profile-panel-head button{
  min-height:34px !important;
  padding:0 12px !important;
  border-radius:10px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  font-weight:650 !important;
  box-shadow:0 1px 2px rgba(15,23,42,.04) !important;
}

/* Stato personale */
#profile .profile-state-board{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}

#profile .profile-state-board button{
  min-height:68px !important;
  padding:13px 14px !important;
  border-radius:10px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  text-align:left !important;
  box-shadow:none !important;
  transition:all .18s ease !important;
}

#profile .profile-state-board button:hover{
  border-color:#cbd5e1 !important;
  box-shadow:0 5px 14px rgba(15,23,42,.06) !important;
  transform:translateY(-1px) !important;
}

#profile .profile-state-board button b{
  display:block !important;
  color:#0f172a !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:750 !important;
  text-transform:none !important;
}

#profile .profile-state-board button small{
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:11.5px !important;
  line-height:1.22 !important;
  font-weight:500 !important;
}

#profile .profile-state-board button.active{
  background:linear-gradient(180deg,#f0fdf4,#ecfdf5) !important;
  border-color:#22c55e !important;
  color:#065f46 !important;
  box-shadow:0 0 0 2px rgba(34,197,94,.10),0 6px 18px rgba(34,197,94,.12) !important;
}

#profile .profile-state-board button.active b{
  color:#065f46 !important;
}

#profile .profile-state-board button.active small{
  color:#047857 !important;
}

/* Identità aziendale */
#profile .profile-meta-v2{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}

#profile .profile-meta-v2 .meta-chip{
  min-height:68px !important;
  padding:13px 14px !important;
  border-radius:10px !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  box-shadow:none !important;
}

#profile .profile-meta-v2 .meta-chip b{
  display:block !important;
  color:#64748b !important;
  font-size:10.5px !important;
  line-height:1 !important;
  font-weight:750 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}

#profile .profile-meta-v2 .meta-chip small{
  display:block !important;
  margin-top:7px !important;
  color:#0f172a !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:650 !important;
  overflow-wrap:anywhere !important;
}

/* Mansioni / timeline / elementi */
#profile .profile-timeline{
  display:grid !important;
  gap:10px !important;
}

#profile .profile-item,
#profile .profile-goal,
#profile .profile-privacy,
#profile .profile-history-row{
  border-radius:11px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  box-shadow:none !important;
}

#profile .profile-item{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:start !important;
  padding:13px !important;
}

#profile .profile-item-icon{
  width:36px !important;
  height:36px !important;
  border-radius:10px !important;
  background:#e0f2fe !important;
  color:#0369a1 !important;
  display:grid !important;
  place-items:center !important;
  font-weight:750 !important;
}

#profile .profile-item b{
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:700 !important;
}

#profile .profile-item small,
#profile .profile-item p{
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

#profile .profile-item button,
#profile .profile-quick button,
#profile .profile-manager-actions button{
  border-radius:10px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 1px 2px rgba(15,23,42,.04) !important;
}

#profile .profile-empty{
  padding:18px !important;
  border-radius:12px !important;
  border:1px dashed #cbd5e1 !important;
  background:#f8fafc !important;
  color:#64748b !important;
  text-align:left !important;
  font-weight:500 !important;
}

#profile .skill-grid,
#profile .profile-badge-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

#profile .skill-pill,
#profile .profile-badge{
  border-radius:999px !important;
  border:1px solid #dbeafe !important;
  background:#eff6ff !important;
  color:#1e3a8a !important;
  padding:7px 10px !important;
  font-size:12px !important;
  font-weight:650 !important;
}

#profile .inline-note{
  border-radius:12px !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  color:#64748b !important;
  padding:14px !important;
  font-weight:500 !important;
}

#profile .progress-track{
  height:8px !important;
  border-radius:999px !important;
  background:#e2e8f0 !important;
  overflow:hidden !important;
}

#profile .progress-fill{
  height:100% !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#14b8a6,#2563eb) !important;
}

/* Responsive profilo */
@media(max-width:1180px){
  #profile .profile-v2-top,
  #profile .profile-v2-grid{
    grid-template-columns:1fr !important;
  }

  #profile .profile-v2-actions{
    justify-content:flex-start !important;
  }

  #profile .profile-kpi{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #profile .profile-command-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:720px){
  #profile .profile-v2{
    gap:14px !important;
  }

  #profile .profile-v2-hero{
    padding:20px !important;
    border-radius:16px !important;
  }

  #profile .profile-v2-title h2{
    font-size:28px !important;
  }

  #profile .profile-v2 .avatar-lg{
    width:74px !important;
    height:74px !important;
  }

  #profile .profile-kpi,
  #profile .profile-command-strip,
  #profile .profile-state-board,
  #profile .profile-meta-v2,
  #profile .profile-quick,
  #profile .profile-manager-actions{
    grid-template-columns:1fr !important;
  }

  #profile .profile-panel{
    padding:17px !important;
  }
}

/* =========================================================
   TOPBAR USERNAME FIX
   Mostra il nome utente reale al posto del ruolo statico Admin.
   ========================================================= */
.rabbit-admin-chip b{
  max-width:190px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.rabbit-avatar-dot{
  font-size:12px !important;
  font-weight:800 !important;
  color:#4338ca !important;
  background:#eef2ff !important;
}
@media(max-width:900px){
  .rabbit-admin-chip b{display:none !important;}
}


/* =========================================================
   RABBIT PROFESSIONAL HOME V5 — TECH GRID + FLOATING SHADOWS
   Solo CSS: sfondo blueprint tech, card bianche e ombre premium.
   Non modifica HTML, JS, dati reali, Supabase o contatori dinamici.
   ========================================================= */

:root{
  --rp-bg:#f8fafc;
  --rp-card:#ffffff;
  --rp-tech-grid-line:rgba(99,102,241,.03);
  --rp-shadow-sm:0 10px 25px -5px rgba(0,0,0,.04),0 8px 10px -6px rgba(0,0,0,.04);
  --rp-shadow-md:0 18px 34px -10px rgba(15,23,42,.10),0 10px 18px -12px rgba(15,23,42,.10);
  --rp-shadow-hover:0 22px 42px -14px rgba(15,23,42,.14),0 14px 22px -16px rgba(15,23,42,.14);
}

/* 1. Sfondo principale: griglia geometrica tech quasi impercettibile */
.main,
.scale-root .main,
.app .main{
  background-color:#f8fafc !important;
  background-image:
    linear-gradient(to right, rgba(99, 102, 241, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99, 102, 241, 0.03) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
}

.view,
#home.view,
#profile.profile-view,
.view#profile{
  background:transparent !important;
}

/* Mantiene pulita la topbar sopra lo sfondo tecnico */
.topbar,
.rabbit-pro-topbar{
  background:#ffffff !important;
  border-bottom:1px solid #e2e8f0 !important;
}

/* 2. Card moduli e pulse operativo: bianco puro + profondità morbida */
.pulse-card,
.launch-card,
.rabbit-pro-module-card,
#home .board-col,
#home .home-grid > .card,
#home .card:not(.rabbit-pro-pulse):not(.home-launcher-shell),
#home .mini-row,
#home .row,
#home .board-item{
  background:#ffffff !important;
  border:1px solid #edf2f7 !important;
  box-shadow:0 10px 25px -5px rgba(0,0,0,.04),0 8px 10px -6px rgba(0,0,0,.04) !important;
  transition:all .2s ease-in-out !important;
}

.pulse-card:hover,
.launch-card:hover,
.rabbit-pro-module-card:hover,
#home .board-col:hover,
#home .home-grid > .card:hover,
#home .card:not(.rabbit-pro-pulse):not(.home-launcher-shell):hover,
#home .mini-row:hover,
#home .row:hover,
#home .board-item:hover{
  transform:translateY(-2px) !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 22px 42px -14px rgba(15,23,42,.14),0 14px 22px -16px rgba(15,23,42,.14) !important;
}

/* Le card dentro il blocco copertina restano bianche solide e leggibili */
#home .home-launcher-shell.rhc-has-cover .launch-card,
#home .home-launcher-shell.rhc-has-cover .rabbit-pro-module-card{
  background:#ffffff !important;
  box-shadow:0 10px 25px -5px rgba(0,0,0,.04),0 8px 10px -6px rgba(0,0,0,.04) !important;
}

/* 3. Contrasto testi: descrizioni più nitide su card bianche */
.launch-title,
.rabbit-pro-module-card .launch-title,
#home .card h3,
#home .board-col h3,
#home .home-grid h3{
  color:#0f172a !important;
  font-weight:650 !important;
}

.launch-desc,
.rabbit-pro-module-card .launch-desc,
#home .muted,
#home small,
#home .row small,
#home .mini-row small{
  color:#475569 !important;
}

.rabbit-module-group h4{
  color:#64748b !important;
  letter-spacing:.05em !important;
}

/* Icone e frecce più pulite sopra il bianco */
.launch-icon{
  background:#f8fafc !important;
  border:1px solid #edf2f7 !important;
}

.launch-arrow{
  color:#94a3b8 !important;
}

.launch-card:hover .launch-arrow,
.rabbit-pro-module-card:hover .launch-arrow{
  color:#2563eb !important;
}

/* 4. Widget chat: stessa ombra flottante delle card */
#rmccButton,
.rc22-button,
.chat-float,
.floating-chat,
#chatButton,
.nexa-floating-chat{
  box-shadow:0 10px 25px -5px rgba(0,0,0,.04),0 8px 10px -6px rgba(0,0,0,.04) !important;
  border:1px solid #edf2f7 !important;
  background:#ffffff !important;
  transition:all .2s ease-in-out !important;
}

#rmccButton:hover,
.rc22-button:hover,
.chat-float:hover,
.floating-chat:hover,
#chatButton:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 42px -14px rgba(15,23,42,.14),0 14px 22px -16px rgba(15,23,42,.14) !important;
}

/* Mobile: griglia sempre leggera, senza appesantire rendering */
@media(max-width:900px){
  .main,
  .scale-root .main,
  .app .main{
    background-color:#f8fafc !important;
    background-image:
      linear-gradient(to right, rgba(99, 102, 241, 0.025) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(99, 102, 241, 0.025) 1px, transparent 1px) !important;
    background-size:40px 40px !important;
  }
}


/* =========================================================
   RABBIT PROFESSIONAL HOME V6 — EXACT REFERENCE CSS OVERRIDES
   Solo proprietà visive. Non modifica HTML, JS, Supabase, dati,
   contatori dinamici o collegamenti.
   ========================================================= */

:root{
  --rp-bg:#f8fafc;
  --rp-sidebar:#071426;
  --rp-sidebar-2:#0b192c;
  --rp-card-shadow-exact:0 4px 20px rgba(0,0,0,.03),0 2px 8px rgba(0,0,0,.02);
  --rp-card-shadow-hover:0 16px 34px rgba(15,23,42,.08),0 6px 14px rgba(15,23,42,.04);
}

/* 1. Sfondo generale blueprint tech, quasi impercettibile */
.main,
.scale-root .main,
.app .main,
#home.view,
.view.active{
  background-color:#f8fafc !important;
  background-image:
    linear-gradient(to right, rgba(99,102,241,.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99,102,241,.03) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
}

/* 2. Sidebar: blu notte uniforme, active elegante con indicatore azzurro */
.sidebar,
.rabbit-pro-sidebar{
  background:linear-gradient(180deg,#071426 0%,#08182c 100%) !important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.045) !important;
  padding:24px 18px 22px !important;
}

.rabbit-pro-brand,
.sidebar .brand{
  padding:0 8px !important;
}

.rabbit-pro-brand .logo,
.sidebar .logo{
  background:rgba(255,255,255,.075) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(0,0,0,.12) !important;
}

.sidebar .nav button,
.rabbit-sidebar-logout{
  position:relative !important;
  min-height:48px !important;
  padding:0 18px !important;
  gap:13px !important;
  border-radius:12px !important;
  color:#cbd5e1 !important;
  font-weight:600 !important;
}

.sidebar .nav button.active{
  color:#fff !important;
  background:linear-gradient(90deg,rgba(148,163,184,.20),rgba(148,163,184,.105)) !important;
  box-shadow:none !important;
}

.sidebar .nav button.active::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:10px !important;
  bottom:10px !important;
  width:3px !important;
  border-radius:999px !important;
  background:#7dd3fc !important;
}

#signupRequestsMenuItem{
  margin-top:auto !important;
  min-height:44px !important;
  justify-content:center !important;
  gap:8px !important;
  border-radius:14px !important;
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(255,255,255,.85) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.12) !important;
  font-weight:750 !important;
}

#signupRequestsMenuItem:hover{
  background:#f8fafc !important;
  color:#0f172a !important;
}

#signupRequestsMenuItem .signup-nav-badge{
  min-width:20px !important;
  height:20px !important;
  background:#fff7ed !important;
  border:1px solid #fed7aa !important;
  color:#c2410c !important;
}

/* 3. Topbar: search morbida e user chip corporate */
.topbar,
.rabbit-pro-topbar{
  background:#ffffff !important;
  border-bottom:1px solid #e5eaf1 !important;
  box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
}

.topbar .search{
  height:42px !important;
  border-radius:13px !important;
  border:1px solid #dbe3ee !important;
  background:#f8fafc !important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.025) !important;
}

.topbar .search:before{
  color:#64748b !important;
  font-size:18px !important;
}

.rabbit-admin-chip{
  padding:0 8px 0 0 !important;
  gap:9px !important;
  color:#0f172a !important;
}

.rabbit-avatar-dot{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:999px !important;
  background:#eef2ff !important;
  border:1px solid #dbe4ff !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:800 !important;
}

.rabbit-admin-chip b{
  font-size:14px !important;
  font-weight:700 !important;
  color:#0f172a !important;
}

/* 4. Hero/KPI: struttura compatta come reference */
.command-center,
.rabbit-pro-command{
  grid-template-columns:minmax(460px,1.02fr) minmax(380px,.98fr) !important;
  gap:20px !important;
  margin-bottom:30px !important;
}

.command-panel,
.rabbit-pro-hero{
  min-height:188px !important;
  border-radius:18px !important;
  box-shadow:0 16px 34px rgba(15,23,42,.12),0 4px 10px rgba(15,23,42,.06) !important;
}

.rabbit-pro-hero h1{
  font-size:34px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.38) !important;
}

/* 5. Pulse operativo: 4 card colorate 2x2, identiche per altezza */
.rabbit-pro-pulse,
.command-center > .card.rabbit-pro-pulse{
  min-height:188px !important;
  padding:8px 0 0 !important;
}

.rabbit-pro-pulse h3{
  margin:0 0 10px !important;
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.pulse-strip,
.rabbit-pro-kpis{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:78px !important;
  gap:12px !important;
  align-items:stretch !important;
}

.pulse-card{
  position:relative !important;
  min-height:78px !important;
  height:78px !important;
  padding:15px 56px 12px 18px !important;
  border-radius:16px !important;
  border:0 !important;
  overflow:hidden !important;
  box-shadow:0 10px 25px -5px rgba(0,0,0,.11),0 8px 10px -6px rgba(0,0,0,.08) !important;
  transition:all .2s ease-in-out !important;
}

.pulse-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 34px -10px rgba(15,23,42,.22),0 10px 18px -14px rgba(15,23,42,.22) !important;
}

.pulse-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:radial-gradient(circle at 100% 100%,rgba(255,255,255,.22),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.07),transparent 48%) !important;
}

.pulse-card > *{
  position:relative !important;
  z-index:1 !important;
}

.pulse-card b{
  color:#fff !important;
  font-size:31px !important;
  font-weight:850 !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
}

.pulse-card span,
.pulse-card .muted{
  color:rgba(255,255,255,.92) !important;
  margin-top:7px !important;
  font-size:12px !important;
  font-weight:600 !important;
}

.pulse-card i{
  right:13px !important;
  bottom:12px !important;
  top:auto !important;
  width:34px !important;
  height:34px !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.24) !important;
  font-size:17px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}

.pulse-card:nth-child(1){
  background:#10b981 !important;
  color:#fff !important;
}
.pulse-card:nth-child(1)::after{
  content:"LOG" !important;
  position:absolute !important;
  right:12px !important;
  top:10px !important;
  z-index:2 !important;
  padding:3px 7px !important;
  border-radius:8px !important;
  background:rgba(4,120,87,.38) !important;
  color:#ecfdf5 !important;
  font-size:10px !important;
  font-weight:850 !important;
  letter-spacing:.02em !important;
}
.pulse-card:nth-child(1) i{display:none !important;}

.pulse-card:nth-child(2){
  background:linear-gradient(135deg,#ff9800 0%,#ff5722 100%) !important;
  color:#fff !important;
}
.pulse-card:nth-child(2)::after{
  content:"7g" !important;
  position:absolute !important;
  right:12px !important;
  top:10px !important;
  z-index:2 !important;
  min-width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.20) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:850 !important;
}

.pulse-card:nth-child(3){
  background:#2563eb !important;
  color:#fff !important;
}
.pulse-card:nth-child(3)::after{
  content:"4" !important;
  position:absolute !important;
  right:12px !important;
  top:10px !important;
  z-index:2 !important;
  min-width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.20) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:850 !important;
}

.pulse-card:nth-child(4){
  background:#fef08a !important;
  color:#111827 !important;
}
.pulse-card:nth-child(4) b,
.pulse-card:nth-child(4) span,
.pulse-card:nth-child(4) .muted{
  color:#111827 !important;
}
.pulse-card:nth-child(4)::after{
  content:"1" !important;
  position:absolute !important;
  right:12px !important;
  top:10px !important;
  z-index:2 !important;
  min-width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(17,24,39,.10) !important;
  color:#111827 !important;
  font-size:11px !important;
  font-weight:850 !important;
}
.pulse-card:nth-child(4) i{
  background:rgba(17,24,39,.12) !important;
  color:#111827 !important;
  border-color:rgba(17,24,39,.12) !important;
}

/* 6. Card moduli: bianco pulito, ombra d'élite, gap arioso */
.rabbit-module-groups{
  gap:26px !important;
}

.home-launcher-grid{
  gap:22px !important;
}

.launch-card,
.rabbit-pro-module-card{
  min-height:112px !important;
  padding:18px 18px 16px !important;
  grid-template-columns:42px minmax(0,1fr) 24px !important;
  gap:14px !important;
  background:#ffffff !important;
  border:1px solid #eef2f7 !important;
  border-radius:14px !important;
  box-shadow:0 4px 20px rgba(0,0,0,.03),0 2px 8px rgba(0,0,0,.02) !important;
  transition:all .2s ease-in-out !important;
}

.launch-card:hover,
.rabbit-pro-module-card:hover{
  transform:translateY(-2px) !important;
  border-color:#e2e8f0 !important;
  box-shadow:0 14px 30px rgba(15,23,42,.075),0 6px 14px rgba(15,23,42,.04) !important;
}

.launch-title,
.rabbit-pro-module-card .launch-title{
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.18 !important;
  font-weight:720 !important;
  letter-spacing:-.012em !important;
}

.launch-desc,
.rabbit-pro-module-card .launch-desc{
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.30 !important;
  font-weight:450 !important;
  -webkit-line-clamp:2 !important;
}

.launch-arrow{
  color:#94a3b8 !important;
  font-size:18px !important;
  align-self:end !important;
  justify-self:end !important;
}

.launch-card:hover .launch-arrow,
.rabbit-pro-module-card:hover .launch-arrow{
  color:#64748b !important;
  transform:translateX(2px) !important;
}

/* Icone pastello per categoria */
.rabbit-module-group:nth-child(1) .launch-icon{
  background:#dcfce7 !important;
  color:#15803d !important;
  border-color:#bbf7d0 !important;
}
.rabbit-module-group:nth-child(2) .launch-icon{
  background:#fef9c3 !important;
  color:#854d0e !important;
  border-color:#fef08a !important;
}
.rabbit-module-group:nth-child(3) .launch-icon{
  background:#f3e8ff !important;
  color:#7e22ce !important;
  border-color:#e9d5ff !important;
}
.rabbit-module-group:nth-child(4) .launch-icon{
  background:#e0f2fe !important;
  color:#075985 !important;
  border-color:#bae6fd !important;
}

.launch-icon{
  box-shadow:none !important;
}

.launch-icon svg{
  stroke:currentColor !important;
}

.launch-badge,
.rabbit-pro-module-card .launch-badge,
.launch-card .launch-badge{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  display:inline-grid !important;
  place-items:center !important;
  min-width:24px !important;
  height:22px !important;
  padding:0 7px !important;
  border-radius:999px !important;
  background:#f1f5f9 !important;
  color:#475569 !important;
  border:1px solid #e2e8f0 !important;
  font-size:10px !important;
  font-weight:750 !important;
  line-height:1 !important;
}

/* 7. Widget chat flottante integrato nel nuovo sistema */
#rmccButton,
.rc22-button,
.chat-float,
.floating-chat,
#chatButton{
  background:#ffffff !important;
  border:1px solid #e8eef6 !important;
  color:#0f172a !important;
  box-shadow:0 4px 20px rgba(0,0,0,.03),0 2px 8px rgba(0,0,0,.02) !important;
  border-radius:16px !important;
}

#rmccButton:hover,
.rc22-button:hover,
.chat-float:hover,
.floating-chat:hover,
#chatButton:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.075),0 6px 14px rgba(15,23,42,.04) !important;
}

@media(max-width:1280px){
  .pulse-strip,
  .rabbit-pro-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:900px){
  .command-center,
  .rabbit-pro-command{
    grid-template-columns:1fr !important;
  }
  .pulse-strip,
  .rabbit-pro-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:76px !important;
  }
}


/* =========================================================
   RABBIT AGENDA PRO V7 — Pixel Reference Calendar CSS
   Solo estetica: non modifica HTML, JS, dati, Supabase o logica eventi.
   ========================================================= */

/* 1. Sfondo generale coerente con Home: griglia blueprint finissima */
.main,
.scale-root .main,
.app .main,
#weekly.view,
#weekly.view.active{
  background-color:#f8fafc !important;
  background-image:
    linear-gradient(to right, rgba(99,102,241,.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99,102,241,.03) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
  font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif !important;
}

/* 2. Hero Agenda Pro e bottoni superiori */
#weekly .hero{
  margin:0 0 18px !important;
  padding:22px 24px !important;
  border-radius:18px !important;
  border:1px solid #e6edf7 !important;
  background:
    radial-gradient(circle at 74% 8%, rgba(99,102,241,.10), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%) !important;
  box-shadow:0 18px 44px -26px rgba(15,23,42,.22) !important;
  overflow:hidden !important;
}

#weekly .hero .badge{
  display:inline-flex !important;
  height:30px !important;
  align-items:center !important;
  padding:0 12px !important;
  border-radius:7px !important;
  background:#eef6ff !important;
  border:1px solid #dbeafe !important;
  color:#0f5f8f !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}

#weekly .hero h2{
  margin:12px 0 6px !important;
  color:#0f172a !important;
  font-size:clamp(34px,3.2vw,46px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:850 !important;
}

#weekly .hero h2 span{
  color:#0f5f8f !important;
}

#weekly .hero p{
  color:#64748b !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  max-width:760px !important;
}

#weekly .hero .actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:9px !important;
  margin-top:15px !important;
}

#weekly .hero .actions button{
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:10px !important;
  border:1px solid #d9e4f2 !important;
  background:#ffffff !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:750 !important;
  box-shadow:0 2px 8px rgba(15,23,42,.035) !important;
}

#weekly .hero .actions button.primary{
  background:linear-gradient(135deg,#2563eb,#0f8a8a) !important;
  border-color:transparent !important;
  color:#ffffff !important;
  box-shadow:0 10px 24px -12px rgba(37,99,235,.45) !important;
}

#weekly .hero .actions button.danger{
  background:transparent !important;
  border-color:#fecaca !important;
  color:#991b1b !important;
  box-shadow:none !important;
}

#weekly .hero .actions button:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 8px 18px -12px rgba(15,23,42,.22) !important;
}

/* 3. Macro-card laterale e contenitore agenda */
#weekly .gcal-shell{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}

#weekly .gcal-side,
#weekly .gcal-main{
  background:#ffffff !important;
  border:1px solid #e6edf7 !important;
  border-radius:16px !important;
  box-shadow:0 14px 36px -22px rgba(15,23,42,.24),
             0 4px 12px -8px rgba(15,23,42,.12) !important;
}

#weekly .gcal-side{
  padding:14px !important;
  top:16px !important;
}

#weekly .gcal-main{
  overflow:hidden !important;
}

/* 4. Sidebar calendario: crea evento, quick create e mini-calendar */
#weekly .gcal-side > button.primary{
  width:100% !important;
  min-height:40px !important;
  border-radius:11px !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb 0%,#0f8a8a 100%) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  box-shadow:0 10px 24px -14px rgba(37,99,235,.55) !important;
}

#weekly .gcal-quick-create{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  margin-top:10px !important;
}

#weekly .gcal-quick-create input{
  height:38px !important;
  border-radius:10px !important;
  border:1px solid #dbe4f0 !important;
  background:#f8fafc !important;
  color:#0f172a !important;
  font-size:12px !important;
  font-weight:500 !important;
  padding:0 11px !important;
  box-shadow:none !important;
}

#weekly .gcal-quick-create button{
  height:38px !important;
  min-height:38px !important;
  padding:0 12px !important;
  border-radius:10px !important;
  border:1px solid #dbe4f0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  font-size:12px !important;
  font-weight:750 !important;
  box-shadow:0 2px 8px rgba(15,23,42,.035) !important;
}

#weekly .gcal-mini-month{
  gap:5px !important;
  margin-top:10px !important;
}

#weekly .gcal-mini-month b{
  color:#0f172a !important;
  font-size:11px !important;
  font-weight:800 !important;
  padding:5px 0 !important;
}

#weekly .gcal-mini-month button{
  background:transparent !important;
  color:#0f172a !important;
  border-radius:8px !important;
  height:28px !important;
  padding:0 !important;
  font-size:12px !important;
  font-weight:650 !important;
  transition:background .18s ease,color .18s ease,transform .18s ease !important;
}

#weekly .gcal-mini-month button:hover{
  background:#f1f5f9 !important;
}

#weekly .gcal-mini-month button.today{
  background:#e0f2fe !important;
  color:#075985 !important;
  font-weight:850 !important;
}

#weekly .gcal-mini-month button.selected{
  background:#64748b !important;
  color:#fff !important;
  font-weight:900 !important;
  box-shadow:0 6px 14px -9px rgba(15,23,42,.35) !important;
}

#weekly .gcal-list-filter{
  display:grid !important;
  gap:10px !important;
  margin-top:14px !important;
}

#weekly .gcal-list-filter > label:not(.gcal-check){
  display:grid !important;
  gap:7px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:750 !important;
}

#weekly .gcal-list-filter select{
  height:38px !important;
  border-radius:10px !important;
  border:1px solid #dbe4f0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  font-size:12px !important;
  font-weight:650 !important;
  padding:0 10px !important;
}

/* 5. Filtri pill-badge colorati con check CSS */
#weekly .gcal-check{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:34px !important;
  width:max-content !important;
  max-width:100% !important;
  padding:0 34px 0 13px !important;
  border-radius:999px !important;
  border:0 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  box-shadow:0 8px 18px -12px rgba(15,23,42,.35) !important;
  overflow:hidden !important;
}

#weekly .gcal-check input{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  cursor:pointer !important;
  width:100% !important;
  height:100% !important;
}

#weekly .gcal-check .gcal-dot{
  display:none !important;
}

#weekly .gcal-check:has(.task){background:linear-gradient(135deg,#14b8a6,#0f766e) !important;}
#weekly .gcal-check:has(.crm){background:linear-gradient(135deg,#f59e0b,#ea580c) !important;}
#weekly .gcal-check:has(.room){background:linear-gradient(135deg,#0ea5e9,#2563eb) !important;}
#weekly .gcal-check:has(.private){background:linear-gradient(135deg,#9333ea,#7c3aed) !important;}

#weekly .gcal-check::after{
  content:"✓" !important;
  position:absolute !important;
  right:10px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:grid !important;
  place-items:center !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:950 !important;
}

#weekly .gcal-check:has(input:not(:checked)){
  background:#f1f5f9 !important;
  color:#64748b !important;
  box-shadow:none !important;
  border:1px solid #e2e8f0 !important;
}

#weekly .gcal-check:has(input:not(:checked))::after{
  content:"" !important;
  background:#cbd5e1 !important;
}

/* 6. Top bar dell'agenda e selector vista */
#weekly .gcal-top{
  min-height:56px !important;
  padding:10px 12px !important;
  background:#ffffff !important;
  border-bottom:1px solid #e9eef6 !important;
}

#weekly .gcal-title{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

#weekly .gcal-title button{
  width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#64748b !important;
  box-shadow:none !important;
  font-size:16px !important;
}

#weekly .gcal-title h3{
  margin:0 !important;
  color:#0f172a !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  letter-spacing:-.025em !important;
}

#weekly .gcal-view-tabs{
  display:inline-flex !important;
  align-items:center !important;
  gap:0 !important;
  padding:3px !important;
  border-radius:999px !important;
  background:#f1f5f9 !important;
  border:1px solid #e2e8f0 !important;
}

#weekly .gcal-view-tabs button{
  min-height:30px !important;
  height:30px !important;
  padding:0 12px !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#475569 !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:750 !important;
}

#weekly .gcal-view-tabs button.active{
  background:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 2px 8px rgba(15,23,42,.08) !important;
}

/* 7. Griglia oraria: pulizia, spacing, header e righe */
#weekly .gcal-scroll{
  max-height:calc(100vh - 226px) !important;
  overflow:auto !important;
  background:#ffffff !important;
}

#weekly .gcal-week-real,
#weekly .gcal-day-real,
#weekly .gcal-month{
  background:#ffffff !important;
}

#weekly .gcal-cell{
  border-right:1px solid #eef2f7 !important;
  border-bottom:1px solid #eef2f7 !important;
  background:#ffffff !important;
}

#weekly .gcal-head{
  min-height:54px !important;
  background:#ffffff !important;
  color:#0f172a !important;
  font-weight:850 !important;
  box-shadow:0 1px 0 #eef2f7 !important;
}

#weekly .gcal-dayname small{
  display:block !important;
  color:#64748b !important;
  font-size:11px !important;
  text-transform:lowercase !important;
  font-weight:750 !important;
  margin-bottom:2px !important;
}

#weekly .gcal-dayname .num{
  display:inline-grid !important;
  place-items:center !important;
  min-width:32px !important;
  height:32px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  color:#0f172a !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:850 !important;
}

#weekly .gcal-dayname.today .num{
  background:#334155 !important;
  color:#fff !important;
  box-shadow:0 8px 18px -12px rgba(15,23,42,.45) !important;
}

#weekly .gcal-time-col,
#weekly .gcal-day-col{
  background:#ffffff !important;
  border-right:1px solid #eef2f7 !important;
}

#weekly .gcal-time-col .gcal-bg-row,
#weekly .gcal-hour{
  background:#fbfdff !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:750 !important;
  border-bottom:1px solid #eef2f7 !important;
}

#weekly .gcal-day-col .gcal-bg-row{
  background:#ffffff !important;
  border-bottom:1px solid #eef2f7 !important;
}

#weekly .gcal-day-col .gcal-bg-row:hover{
  background:#f8fbff !important;
}

#weekly .gcal-allday{
  background:#fbfdff !important;
}

/* 8. Eventi: stile leggero, trasparente, accento sinistro */
#weekly .gcal-event{
  position:relative !important;
  border:1px solid rgba(148,163,184,.18) !important;
  border-left:4px solid #14b8a6 !important;
  border-radius:9px !important;
  background:rgba(204,251,241,.52) !important;
  color:#1e293b !important;
  box-shadow:0 8px 18px -16px rgba(15,23,42,.25) !important;
  padding:7px 8px 22px 9px !important;
  line-height:1.18 !important;
  font-size:11px !important;
  font-weight:600 !important;
  overflow:hidden !important;
  cursor:pointer !important;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease, background .18s ease !important;
}

#weekly .gcal-day-events .gcal-event{
  margin:0 !important;
  box-sizing:border-box !important;
}

#weekly .gcal-event b{
  display:block !important;
  color:#1e293b !important;
  font-size:11px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding-right:38px !important;
}

#weekly .gcal-event small{
  display:block !important;
  margin-top:3px !important;
  color:#475569 !important;
  opacity:1 !important;
  font-size:10px !important;
  line-height:1.15 !important;
  font-weight:650 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding-right:24px !important;
}

#weekly .gcal-event::after{
  content:"☎  ♙" !important;
  position:absolute !important;
  left:9px !important;
  bottom:5px !important;
  height:14px !important;
  min-width:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:4px !important;
  color:#64748b !important;
  font-size:10px !important;
  line-height:1 !important;
  opacity:.82 !important;
  letter-spacing:2px !important;
}

#weekly .gcal-event:hover,
#weekly .gcal-event:focus-within{
  z-index:10 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 14px 28px -18px rgba(15,23,42,.34),
             0 8px 14px -12px rgba(15,23,42,.18) !important;
  border-color:rgba(20,184,166,.26) !important;
  background:rgba(204,251,241,.66) !important;
}

/* Categoria: task personali / ritardi */
#weekly .gcal-event.task{
  border-left-color:#f59e0b !important;
  background:rgba(254,243,199,.68) !important;
  border-color:rgba(245,158,11,.20) !important;
}

#weekly .gcal-event.task:hover,
#weekly .gcal-event.task:focus-within{
  background:rgba(254,243,199,.82) !important;
  border-color:rgba(245,158,11,.30) !important;
}

/* Categoria: sale/risorse / ufficio */
#weekly .gcal-event.room,
#weekly .gcal-event.private{
  border-left-color:#2563eb !important;
  background:rgba(219,234,254,.62) !important;
  border-color:rgba(37,99,235,.18) !important;
}

#weekly .gcal-event.room:hover,
#weekly .gcal-event.private:hover,
#weekly .gcal-event.room:focus-within,
#weekly .gcal-event.private:focus-within{
  background:rgba(219,234,254,.78) !important;
  border-color:rgba(37,99,235,.28) !important;
}

/* Categoria: CRM / commesse */
#weekly .gcal-event.crm{
  border-left-color:#14b8a6 !important;
  background:rgba(204,251,241,.60) !important;
  border-color:rgba(20,184,166,.20) !important;
}

#weekly .gcal-event.crm:hover,
#weekly .gcal-event.crm:focus-within{
  background:rgba(204,251,241,.78) !important;
  border-color:rgba(20,184,166,.30) !important;
}

/* Tools modifica/elimina: nascosti, compaiono in hover/focus */
#weekly .gcal-event-tools{
  position:absolute !important;
  top:5px !important;
  right:5px !important;
  display:flex !important;
  gap:3px !important;
  margin:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(-2px) !important;
  transition:opacity .16s ease, transform .16s ease !important;
}

#weekly .gcal-event:hover .gcal-event-tools,
#weekly .gcal-event:focus-within .gcal-event-tools{
  opacity:1 !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

#weekly .gcal-event-tools button{
  width:20px !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.82) !important;
  color:#334155 !important;
  border:1px solid rgba(148,163,184,.28) !important;
  box-shadow:0 4px 10px -8px rgba(15,23,42,.28) !important;
  font-size:10px !important;
  line-height:1 !important;
}

#weekly .gcal-event-tools button:hover{
  background:#ffffff !important;
  border-color:#cbd5e1 !important;
}

#weekly .gcal-resize-handle{
  left:9px !important;
  right:9px !important;
  bottom:1px !important;
  height:6px !important;
  background:transparent !important;
  opacity:.35 !important;
}

#weekly .gcal-resize-handle::after{
  width:22px !important;
  height:2px !important;
  background:rgba(100,116,139,.55) !important;
}

#weekly .gcal-event.is-resizing{
  outline:2px solid rgba(37,99,235,.22) !important;
  box-shadow:0 16px 34px rgba(37,99,235,.16) !important;
}

#weekly .gcal-repeat-badge{
  background:rgba(15,23,42,.08) !important;
  color:#334155 !important;
}

/* 9. Mese, agenda, risorse e disponibilità in stile coerente */
#weekly .gcal-month .gcal-cell,
#weekly .gcal-agenda-row,
#weekly .gcal-resource-card,
#weekly .gcal-slot{
  background:#ffffff !important;
  border:1px solid #e6edf7 !important;
  border-radius:14px !important;
  box-shadow:0 6px 18px -16px rgba(15,23,42,.22) !important;
}

#weekly .gcal-agenda,
#weekly .gcal-resource-board,
#weekly .gcal-availability{
  padding:14px !important;
  background:#ffffff !important;
}

#weekly .gcal-agenda-date,
#weekly .gcal-month-num,
#weekly .gcal-resource-card h3,
#weekly .gcal-availability h3{
  color:#0f172a !important;
  font-weight:850 !important;
}

#weekly .gcal-chip{
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  color:#475569 !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:700 !important;
}

#weekly .gcal-main::after{
  display:none !important;
}

@media(max-width:1180px){
  #weekly .gcal-shell{
    grid-template-columns:1fr !important;
  }
  #weekly .gcal-side{
    position:relative !important;
    top:auto !important;
  }
}

/* =========================================================
   Rabbit Agenda Pro V8 - FIX POSIZIONAMENTO ORARIO EVENTI
   Correzione CSS-only: le card evento timed devono restare
   absolute dentro la griglia oraria, altrimenti il top calcolato
   dal JS non coincide più con le righe ora.
   ========================================================= */

#weekly .gcal-day-events{
  position:absolute !important;
  left:5px !important;
  right:5px !important;
  top:0 !important;
  height:756px !important;
  pointer-events:none !important;
  z-index:4 !important;
}

#weekly .gcal-day-events .gcal-event.timed-duration,
#weekly .gcal-day-col .gcal-day-events .gcal-event.timed-duration{
  position:absolute !important;
  margin:0 !important;
  box-sizing:border-box !important;
  min-width:0 !important;
  z-index:4 !important;
}

#weekly .gcal-day-events .gcal-event.timed-duration:hover,
#weekly .gcal-day-events .gcal-event.timed-duration:focus-within{
  z-index:10 !important;
}

/* Mantiene coerente la scala verticale del calendario: 1 ora = 54px.
   Il JS calcola top/height sulla stessa unità. */
#weekly .gcal-time-col .gcal-bg-row,
#weekly .gcal-day-col .gcal-bg-row{
  height:54px !important;
  min-height:54px !important;
  box-sizing:border-box !important;
}

#weekly .gcal-day-col{
  position:relative !important;
  min-height:756px !important;
}

/* =========================================================
   RABBIT PROFILE V9 - COLOR DYNAMIC PREMIUM
   CSS-only: palette più viva per /settings/profilo.
   Non modifica HTML, JS, Supabase, dati o contatori.
   ========================================================= */

#profile,
#profile.profile-view,
.view#profile{
  background-color:#f8fafc !important;
  background-image:
    linear-gradient(to right, rgba(99,102,241,.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(99,102,241,.03) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
  font-family:'Inter','Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif !important;
  color:#0f172a !important;
}

#profile .profile-v2{
  gap:18px !important;
}

/* 1. Header profilo: gradiente più vivo e profondità corporate */
#profile .profile-v2-hero{
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  padding:28px 28px 24px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(45,212,191,.38), transparent 31%),
    radial-gradient(circle at 18% 84%, rgba(37,99,235,.24), transparent 32%),
    linear-gradient(135deg,#0f172a 0%,#0b3f55 42%,#00695c 100%) !important;
  box-shadow:0 28px 70px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.16) !important;
  color:#fff !important;
}

#profile .profile-v2-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    radial-gradient(circle at 78% 44%,rgba(255,255,255,.13),transparent 22%) !important;
  background-size:64px 64px,64px 64px,auto !important;
  opacity:.62 !important;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,1)) !important;
}

#profile .profile-v2-hero::after{
  content:"RABBIT WORKSPACE" !important;
  right:22px !important;
  bottom:-10px !important;
  color:rgba(255,255,255,.055) !important;
  font-size:72px !important;
  font-weight:950 !important;
  letter-spacing:-.08em !important;
}

#profile .profile-v2-hero > *{
  position:relative !important;
  z-index:1 !important;
}

/* Avatar con anello gradiente tech/teal */
#profile .profile-v2 .avatar-lg,
#profile .profile-v2-hero .avatar-lg{
  position:relative !important;
  width:86px !important;
  height:86px !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.36) !important;
  background:
    linear-gradient(#8a6b51,#8a6b51) padding-box,
    linear-gradient(135deg,#38bdf8,#2dd4bf,#22c55e) border-box !important;
  color:#fff !important;
  font-size:34px !important;
  font-weight:850 !important;
  box-shadow:0 0 0 4px rgba(45,212,191,.16), 0 18px 44px rgba(2,6,23,.28), inset 0 1px 0 rgba(255,255,255,.20) !important;
  transition:all .22s ease !important;
}

#profile .profile-v2 .avatar-lg:hover,
#profile .profile-v2-hero .avatar-lg:hover{
  transform:translateY(-1px) scale(1.015) !important;
  box-shadow:0 0 0 5px rgba(56,189,248,.22), 0 24px 54px rgba(2,6,23,.32), 0 0 34px rgba(45,212,191,.24) !important;
}

#profile .profile-v2-title h2{
  color:#fff !important;
  font-size:clamp(30px,3.4vw,44px) !important;
  font-weight:900 !important;
  letter-spacing:-.06em !important;
  text-shadow:0 2px 22px rgba(2,6,23,.34) !important;
}

#profile .profile-v2-title p{
  color:#e2e8f0 !important;
  font-weight:650 !important;
}

/* Badge header colorati e differenziati */
#profile .profile-v2-status span{
  min-height:25px !important;
  padding:5px 11px !important;
  border-radius:9999px !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(2,6,23,.10) !important;
  backdrop-filter:blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(10px) saturate(150%) !important;
}

#profile .profile-v2-status span:nth-child(1){
  background:#10b981 !important;
  color:#fff !important;
  border-color:rgba(16,185,129,.92) !important;
}

#profile .profile-v2-status span:nth-child(2){
  background:#fbbf24 !important;
  color:#1f2937 !important;
  border-color:rgba(251,191,36,.92) !important;
}

#profile .profile-v2-status span:nth-child(3){
  background:rgba(219,234,254,.94) !important;
  color:#1d4ed8 !important;
  border-color:rgba(147,197,253,.70) !important;
}

#profile .profile-v2-status span:nth-child(4){
  background:rgba(224,242,254,.94) !important;
  color:#075985 !important;
  border-color:rgba(125,211,252,.70) !important;
}

#profile .profile-v2-status i{
  background:#ffffff !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.25) !important;
}

/* Pulsanti header pieni e più leggibili */
#profile .profile-v2-actions button,
#profile .profile-v2-actions button.primary{
  min-height:42px !important;
  padding:0 16px !important;
  border-radius:10px !important;
  color:#fff !important;
  font-weight:800 !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 12px 24px rgba(2,6,23,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#profile .profile-v2-actions button:first-child,
#profile .profile-v2-actions button.primary:first-child{
  background:#2563eb !important;
}

#profile .profile-v2-actions button:last-child,
#profile .profile-v2-actions button.primary:last-child{
  background:#00695c !important;
}

#profile .profile-v2-actions button:hover,
#profile .profile-v2-actions button.primary:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.05) brightness(1.04) !important;
  box-shadow:0 18px 34px rgba(2,6,23,.24), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

/* Fascia Focus/Disponibilità/Slot/Team: card chiare e colorate */
#profile .profile-command-strip{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:26px !important;
}

#profile .profile-command-card{
  position:relative !important;
  min-height:72px !important;
  padding:14px 16px 13px !important;
  border-radius:13px !important;
  border:1px solid rgba(255,255,255,.62) !important;
  background:rgba(255,255,255,.92) !important;
  color:#0f172a !important;
  box-shadow:0 14px 32px rgba(2,6,23,.12), inset 0 1px 0 rgba(255,255,255,.75) !important;
  backdrop-filter:blur(12px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(145%) !important;
}

#profile .profile-command-card::after{
  content:"" !important;
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  font-size:14px !important;
  font-weight:900 !important;
}

#profile .profile-command-card:nth-child(1)::after{content:"✓" !important;background:#dcfce7 !important;color:#16a34a !important;}
#profile .profile-command-card:nth-child(2)::after{content:"◷" !important;background:#dbeafe !important;color:#2563eb !important;}
#profile .profile-command-card:nth-child(3)::after{content:"◎" !important;background:#e0f2fe !important;color:#0284c7 !important;}
#profile .profile-command-card:nth-child(4)::after{content:"▦" !important;background:#f3e8ff !important;color:#7e22ce !important;}

#profile .profile-command-card small{
  color:#475569 !important;
  font-size:10.5px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}

#profile .profile-command-card b{
  color:#0f172a !important;
  font-size:18px !important;
  font-weight:850 !important;
}

/* 2. Macro-pannelli e KPI: candido, flottante, coerente con sfondo blueprint */
#profile .profile-kpi-card,
#profile .profile-panel{
  background:#ffffff !important;
  border:1px solid #e7edf5 !important;
  box-shadow:0 10px 25px -5px rgba(0,0,0,.045), 0 8px 10px -6px rgba(0,0,0,.045) !important;
}

#profile .profile-kpi-card:hover,
#profile .profile-panel:hover{
  box-shadow:0 18px 44px -18px rgba(15,23,42,.18), 0 8px 18px -14px rgba(15,23,42,.12) !important;
}

#profile .profile-kpi-card{
  border-radius:16px !important;
  padding:22px 22px 18px !important;
}

#profile .profile-kpi-card small{
  color:#334155 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
}

#profile .profile-kpi-card b{
  color:#020617 !important;
  font-size:34px !important;
  font-weight:900 !important;
}

#profile .profile-kpi-card span:not(.profile-kpi-icon){
  color:#64748b !important;
  font-weight:650 !important;
}

#profile .profile-kpi-icon{
  width:38px !important;
  height:38px !important;
  border-radius:999px !important;
}

/* 3. Stato personale: icone tonde colorate su ogni opzione */
#profile .profile-state-board button{
  position:relative !important;
  min-height:74px !important;
  padding:14px 48px 13px 15px !important;
  border-radius:12px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 1px 2px rgba(15,23,42,.025) !important;
}

#profile .profile-state-board button::after{
  content:"" !important;
  position:absolute !important;
  top:13px !important;
  right:13px !important;
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  font-size:13px !important;
  font-weight:900 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55) !important;
}

#profile .profile-state-board button:nth-child(1)::after{content:"✓" !important;background:#dcfce7 !important;color:#16a34a !important;}
#profile .profile-state-board button:nth-child(2)::after{content:"◷" !important;background:#ffedd5 !important;color:#ea580c !important;}
#profile .profile-state-board button:nth-child(3)::after{content:"☷" !important;background:#dbeafe !important;color:#2563eb !important;}
#profile .profile-state-board button:nth-child(4)::after{content:"⌂" !important;background:#fef3c7 !important;color:#b45309 !important;}
#profile .profile-state-board button:nth-child(5)::after{content:"◔" !important;background:#fef9c3 !important;color:#a16207 !important;}
#profile .profile-state-board button:nth-child(6)::after{content:"■" !important;background:#e0f2fe !important;color:#0284c7 !important;}
#profile .profile-state-board button:nth-child(7)::after{content:"◌" !important;background:#f3e8ff !important;color:#9333ea !important;}
#profile .profile-state-board button:nth-child(8)::after{content:"⛱" !important;background:#fee2e2 !important;color:#dc2626 !important;}
#profile .profile-state-board button:nth-child(9)::after{content:"▣" !important;background:#fecaca !important;color:#b91c1c !important;}

#profile .profile-state-board button b{
  color:#0f172a !important;
  font-weight:850 !important;
}

#profile .profile-state-board button small{
  color:#64748b !important;
  font-weight:600 !important;
}

#profile .profile-state-board button:hover{
  transform:translateY(-2px) !important;
  border-color:#cbd5e1 !important;
  box-shadow:0 12px 24px rgba(15,23,42,.07) !important;
}

#profile .profile-state-board button.active{
  background:linear-gradient(180deg,#ecfdf5,#f0fdf4) !important;
  border-color:#22c55e !important;
  box-shadow:inset 0 0 0 1px rgba(34,197,94,.16), 0 12px 28px rgba(34,197,94,.14) !important;
}

#profile .profile-state-board button.active::after{
  background:#bbf7d0 !important;
  color:#15803d !important;
}

/* 4. Identità aziendale e pill a capsula colorate */
#profile .profile-meta-v2 .meta-chip{
  min-height:72px !important;
  border-radius:13px !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70) !important;
}

#profile .profile-meta-v2 .meta-chip b{
  color:#64748b !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}

#profile .profile-meta-v2 .meta-chip small{
  color:#0f172a !important;
  font-weight:800 !important;
}

#profile .skill-pill,
#profile .profile-badge,
#profile .profile-badge-grid .profile-badge,
#profile .profile-quick button,
#profile .profile-manager-actions button{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  border-radius:9999px !important;
  border:0 !important;
  padding:8px 12px !important;
  color:#ffffff !important;
  font-size:12px !important;
  font-weight:850 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#profile .skill-pill::after,
#profile .profile-badge::after{
  content:"✓" !important;
  display:inline-grid !important;
  place-items:center !important;
  width:16px !important;
  height:16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  color:#fff !important;
  font-size:10px !important;
}

#profile .skill-pill:nth-child(4n+1),
#profile .profile-badge:nth-child(4n+1){background:linear-gradient(135deg,#14b8a6,#0f766e) !important;}
#profile .skill-pill:nth-child(4n+2),
#profile .profile-badge:nth-child(4n+2){background:linear-gradient(135deg,#2563eb,#1d4ed8) !important;}
#profile .skill-pill:nth-child(4n+3),
#profile .profile-badge:nth-child(4n+3){background:linear-gradient(135deg,#f97316,#ea580c) !important;}
#profile .skill-pill:nth-child(4n+4),
#profile .profile-badge:nth-child(4n+4){background:linear-gradient(135deg,#9333ea,#7e22ce) !important;}

/* Feed, storico, mansioni: micro-card pulite e più vive */
#profile .profile-item,
#profile .profile-goal,
#profile .profile-privacy,
#profile .profile-history-row{
  border-radius:13px !important;
  border:1px solid #e7edf5 !important;
  background:#ffffff !important;
  box-shadow:0 2px 8px rgba(15,23,42,.025) !important;
}

#profile .profile-item-icon{
  border-radius:12px !important;
  background:#e0f2fe !important;
  color:#0369a1 !important;
}

#profile .profile-panel-head button,
#profile .profile-panel > button,
#profile .profile-panel .profile-panel-head button{
  border-radius:999px !important;
  border:1px solid #dbeafe !important;
  background:#ffffff !important;
  color:#0f172a !important;
  font-weight:800 !important;
}

@media(max-width:1180px){
  #profile .profile-command-strip{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media(max-width:720px){
  #profile .profile-v2-hero{padding:22px !important;border-radius:20px !important;}
  #profile .profile-command-strip,
  #profile .profile-kpi,
  #profile .profile-state-board,
  #profile .profile-meta-v2{grid-template-columns:1fr !important;}
  #profile .profile-v2 .avatar-lg,
  #profile .profile-v2-hero .avatar-lg{width:76px !important;height:76px !important;}
}

/* =========================================================
   RABBIT CHAT PREMIUM V10 — solo CSS
   Replica stile SaaS premium per chat aziendale RC22.
   Nessuna modifica a HTML, JS, Supabase, realtime o invio messaggi.
   ========================================================= */

:root{
  --rc22-premium-shadow:0 34px 120px rgba(15,23,42,.24), 0 18px 48px rgba(15,23,42,.14);
  --rc22-premium-card-shadow:0 14px 38px rgba(15,23,42,.08), 0 4px 12px rgba(15,23,42,.04);
  --rc22-premium-line:#e5eaf2;
  --rc22-premium-muted:#64748b;
  --rc22-premium-text:#0f172a;
  --rc22-premium-soft:#f8fafc;
  --rc22-premium-blue:#2563eb;
  --rc22-premium-teal:#10b981;
  --rc22-premium-indigo:#1e1b4b;
}

/* Floating launcher coerente con le card premium */
#rc22Button.rc22-button{
  right:24px !important;
  bottom:24px !important;
  height:58px !important;
  min-width:168px !important;
  padding:0 18px 0 12px !important;
  border-radius:22px !important;
  border:1px solid rgba(226,232,240,.95) !important;
  background:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 18px 45px rgba(15,23,42,.12), 0 6px 18px rgba(15,23,42,.06) !important;
  font-family:Inter,"Segoe UI",system-ui,sans-serif !important;
}

#rc22Button .rc22-button-icon{
  width:38px !important;
  height:38px !important;
  background:#f3e8ff !important;
  color:#7e22ce !important;
  box-shadow:none !important;
}

#rc22Button .rc22-button-text b{
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:900 !important;
}

#rc22Button .rc22-button-text small{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:750 !important;
}

/* Contenitore principale: grande modal bianco, arrotondato, fluttuante */
#rc22Panel.rc22-panel{
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:min(1120px,calc(100vw - 72px)) !important;
  height:min(760px,calc(100dvh - 86px)) !important;
  transform:translate(-50%,-50%) scale(.985) !important;
  display:none !important;
  grid-template-columns:minmax(300px,31%) minmax(0,1fr) !important;
  border-radius:22px !important;
  border:1px solid rgba(226,232,240,.98) !important;
  background:#ffffff !important;
  color:var(--rc22-premium-text) !important;
  box-shadow:var(--rc22-premium-shadow) !important;
  overflow:hidden !important;
  font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif !important;
  z-index:2147483001 !important;
}

#rc22Panel.rc22-panel.open{
  display:grid !important;
  animation:rc22PremiumPop .18s ease-out both !important;
}

@keyframes rc22PremiumPop{
  from{opacity:.35;transform:translate(-50%,-48%) scale(.965)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

/* Colonna sinistra: contatti aziendali */
#rc22Panel .rc22-sidebar{
  min-width:0 !important;
  background:#f8fafc !important;
  border-right:1px solid var(--rc22-premium-line) !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
}

#rc22Panel .rc22-head{
  min-height:82px !important;
  padding:18px 18px 14px !important;
  background:#ffffff !important;
  border-bottom:0 !important;
  align-items:flex-start !important;
}

#rc22Panel .rc22-head b{
  color:#0f172a !important;
  font-size:20px !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  line-height:1.02 !important;
}

#rc22Panel .rc22-head small{
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:750 !important;
}

#rc22Panel .rc22-close{
  width:38px !important;
  height:38px !important;
  border-radius:14px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  color:#64748b !important;
  font-size:17px !important;
  box-shadow:0 6px 16px rgba(15,23,42,.05) !important;
  transition:all .18s ease !important;
}

#rc22Panel .rc22-close:hover{
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
  transform:translateY(-1px) !important;
}

#rc22Panel .rc22-search{
  padding:0 18px 14px !important;
  border-bottom:0 !important;
  background:#ffffff !important;
}

#rc22Panel .rc22-search input{
  width:100% !important;
  min-height:48px !important;
  border-radius:999px !important;
  border:1px solid #dbe3ee !important;
  background:#f8fafc !important;
  color:#0f172a !important;
  padding:0 17px !important;
  font-size:14px !important;
  font-weight:650 !important;
  outline:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#rc22Panel .rc22-search input::placeholder{
  color:#94a3b8 !important;
}

#rc22Panel .rc22-list{
  padding:12px 16px 18px !important;
  display:grid !important;
  gap:12px !important;
  align-content:start !important;
  overflow:auto !important;
  background:#f8fafc !important;
}

/* Card contatto */
#rc22Panel .rc22-contact{
  width:100% !important;
  min-height:72px !important;
  padding:12px !important;
  border-radius:16px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  color:#0f172a !important;
  text-align:left !important;
  box-shadow:0 6px 18px rgba(15,23,42,.035) !important;
  transition:all .18s ease !important;
}

#rc22Panel .rc22-contact:hover{
  transform:translateY(-1px) !important;
  border-color:#cbd5e1 !important;
  box-shadow:0 12px 28px rgba(15,23,42,.07) !important;
}

#rc22Panel .rc22-contact.active{
  background:linear-gradient(135deg,#1e1b4b,#25315f) !important;
  border-color:rgba(30,27,75,.96) !important;
  color:#ffffff !important;
  box-shadow:0 16px 34px rgba(30,27,75,.24) !important;
}

#rc22Panel .rc22-contact.active .rc22-contact-text b,
#rc22Panel .rc22-contact.active .rc22-contact-text small{
  color:#ffffff !important;
}

#rc22Panel .rc22-avatar{
  width:48px !important;
  height:48px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#2f80a6,#0f766e) !important;
  color:#ffffff !important;
  font-size:14px !important;
  font-weight:950 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 16px rgba(15,23,42,.10) !important;
}

#rc22Panel .rc22-avatar::after{
  width:11px !important;
  height:11px !important;
  right:-1px !important;
  bottom:2px !important;
  border:3px solid #ffffff !important;
  background:#22c55e !important;
  box-shadow:0 0 0 1px rgba(34,197,94,.20) !important;
}

#rc22Panel .rc22-contact.off .rc22-avatar::after{
  background:#ef4444 !important;
  box-shadow:0 0 0 1px rgba(239,68,68,.18) !important;
}

#rc22Panel .rc22-contact.away .rc22-avatar::after{
  background:#f59e0b !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.18) !important;
}

#rc22Panel .rc22-contact-text b{
  color:#111827 !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
}

#rc22Panel .rc22-contact-text small{
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:750 !important;
}

/* Colonna destra: area messaggi */
#rc22Panel .rc22-main{
  background:#ffffff !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  min-width:0 !important;
}

#rc22Panel .rc22-thread-head{
  min-height:78px !important;
  padding:14px 18px !important;
  background:#ffffff !important;
  border-bottom:1px solid var(--rc22-premium-line) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

#rc22Panel .rc22-peer{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

#rc22Panel .rc22-peer .rc22-avatar{
  width:48px !important;
  height:48px !important;
  border-radius:16px !important;
}

#rc22Panel .rc22-peer-text b{
  color:#0f172a !important;
  font-size:19px !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  line-height:1.05 !important;
}

#rc22Panel .rc22-peer-text small{
  color:#64748b !important;
  font-size:12px !important;
  font-weight:750 !important;
  margin-top:5px !important;
}

#rc22Panel .rc22-tools{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
}

#rc22Panel .rc22-tool{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
  border:1px solid transparent !important;
  display:grid !important;
  place-items:center !important;
  font-size:16px !important;
  box-shadow:none !important;
  transition:all .18s ease !important;
}

#rc22Panel .rc22-tool:hover{
  transform:translateY(-1px) !important;
  filter:saturate(1.04) brightness(.99) !important;
}

#rc22Panel .rc22-tool.audio{
  background:#ccfbf1 !important;
  color:#0f766e !important;
  border-color:#99f6e4 !important;
}

#rc22Panel .rc22-tool.video{
  background:#dbeafe !important;
  color:#2563eb !important;
  border-color:#bfdbfe !important;
}

#rc22Panel .rc22-tool:not(.audio):not(.video){
  background:#f1f5f9 !important;
  color:#64748b !important;
  border-color:#e2e8f0 !important;
}

/* Corpo messaggi: pulito, con separatore temporale */
#rc22Panel .rc22-messages{
  position:relative !important;
  min-height:0 !important;
  padding:22px 26px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:13px !important;
  overflow:auto !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(219,234,254,.62),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}

#rc22Panel .rc22-messages::before{
  content:"Oggi";
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  margin:2px 0 4px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  text-align:center;
}

#rc22Panel .rc22-messages::before{
  background:linear-gradient(90deg,rgba(226,232,240,0),rgba(226,232,240,1) 18%,rgba(226,232,240,0) 18%,rgba(226,232,240,0) 82%,rgba(226,232,240,1) 82%,rgba(226,232,240,0));
}

#rc22Panel .rc22-bubble{
  position:relative !important;
  max-width:min(72%,620px) !important;
  align-self:flex-start !important;
  padding:12px 15px !important;
  margin-left:42px !important;
  border-radius:18px 18px 18px 8px !important;
  border:1px solid #dbe3ee !important;
  background:#eaf0f6 !important;
  color:#1e293b !important;
  box-shadow:0 8px 18px rgba(15,23,42,.045) !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1.42 !important;
  word-break:break-word !important;
}

#rc22Panel .rc22-bubble:not(.me)::before{
  content:"";
  position:absolute;
  left:-42px;
  top:6px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:linear-gradient(135deg,#2f80a6,#0f766e);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 14px rgba(15,23,42,.12);
}

#rc22Panel .rc22-bubble.me{
  align-self:flex-end !important;
  margin-left:0 !important;
  margin-right:0 !important;
  border:0 !important;
  border-radius:18px 18px 8px 18px !important;
  background:linear-gradient(135deg,#2563eb 0%,#10b981 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 30px rgba(37,99,235,.20),0 8px 18px rgba(16,185,129,.14) !important;
}

#rc22Panel .rc22-bubble small{
  display:block !important;
  margin-top:7px !important;
  color:#64748b !important;
  font-size:10.5px !important;
  font-weight:750 !important;
  opacity:1 !important;
}

#rc22Panel .rc22-bubble.me small{
  display:inline-block !important;
  color:rgba(255,255,255,.92) !important;
  background:rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  padding:3px 7px !important;
}

/* Barra input inferiore */
#rc22Panel .rc22-compose{
  padding:14px 16px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:10px !important;
  border-top:1px solid var(--rc22-premium-line) !important;
  background:#ffffff !important;
}

#rc22Panel .rc22-compose input{
  min-width:0 !important;
  min-height:48px !important;
  border-radius:16px !important;
  border:1px solid #dbe3ee !important;
  background:#ffffff !important;
  color:#0f172a !important;
  padding:0 16px !important;
  font-size:14px !important;
  font-weight:650 !important;
  outline:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#rc22Panel .rc22-compose input::placeholder{
  color:#94a3b8 !important;
}

#rc22Panel .rc22-compose button{
  min-width:74px !important;
  min-height:48px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#2563eb !important;
  color:#ffffff !important;
  padding:0 15px !important;
  font-size:13px !important;
  font-weight:950 !important;
  box-shadow:0 10px 20px rgba(37,99,235,.22) !important;
  transition:all .18s ease !important;
}

#rc22Panel .rc22-compose button::after{
  content:"  ➤";
  font-size:13px;
}

#rc22Panel .rc22-compose button:hover{
  background:#1d4ed8 !important;
  transform:translateY(-1px) !important;
}

/* Empty/error state coerente */
#rc22Panel .rc22-empty{
  margin:auto !important;
  max-width:420px !important;
  color:#64748b !important;
  font-weight:750 !important;
  line-height:1.5 !important;
  text-align:center !important;
}

/* Responsive: mantiene la chat utilizzabile senza cambiare logica */
@media(max-width:900px){
  #rc22Panel.rc22-panel{
    width:calc(100vw - 24px) !important;
    height:calc(100dvh - 24px) !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(190px,34%) minmax(0,1fr) !important;
    border-radius:20px !important;
  }
  #rc22Panel .rc22-sidebar{
    border-right:0 !important;
    border-bottom:1px solid var(--rc22-premium-line) !important;
    min-height:0 !important;
  }
  #rc22Panel .rc22-list{
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(220px,260px) !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }
  #rc22Panel .rc22-contact{
    min-height:68px !important;
  }
  #rc22Panel .rc22-messages{
    padding:18px !important;
  }
  #rc22Panel .rc22-bubble{
    max-width:82% !important;
  }
}


/* =========================================================
   RABBIT HOME MOBILE PORTRAIT — IMAGE_37 REFERENCE
   V12 - solo CSS responsive, nessuna modifica HTML/JS.
   ========================================================= */
@media (max-width: 480px){

  html,
  body{
    width:100% !important;
    overflow-x:hidden !important;
    background-color:#f8fafc !important;
  }

  body,
  .app,
  .main,
  .scale-root .main,
  .app .main,
  #home.view,
  .view.active{
    background-color:#f8fafc !important;
    background-image:
      linear-gradient(to right, rgba(99,102,241,.03) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(99,102,241,.03) 1px, transparent 1px) !important;
    background-size:44px 44px !important;
  }

  .app{
    display:block !important;
    grid-template-columns:1fr !important;
  }

  .sidebar,
  .rabbit-sidebar,
  aside{
    display:none !important;
  }

  .main{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 14px 96px !important;
    border-left:0 !important;
    overflow-x:hidden !important;
  }

  /* TOPBAR MOBILE */
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:50 !important;
    width:100% !important;
    min-height:54px !important;
    margin:0 -14px 14px !important;
    padding:8px 14px !important;
    border-radius:0 !important;
    background:rgba(255,255,255,.92) !important;
    border-bottom:1px solid rgba(226,232,240,.9) !important;
    box-shadow:0 8px 24px rgba(15,23,42,.05) !important;
    backdrop-filter:blur(16px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(16px) saturate(150%) !important;
  }

  .topbar .search{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .topbar .search input,
  .topbar input[type="search"],
  .topbar input[placeholder*="Cerca"]{
    height:38px !important;
    border-radius:999px !important;
    font-size:13px !important;
    background:#ffffff !important;
    border:1px solid #e2e8f0 !important;
  }

  .topbar .actions{
    gap:6px !important;
  }

  .topbar .actions button:not(.user-chip):not([data-home-topbar]),
  .topbar .actions .config-supabase,
  .topbar button[data-home-topbar="supabase"]{
    display:none !important;
  }

  .topbar .user-chip,
  .topbar .user-menu,
  .topbar .top-user{
    max-width:138px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }

  /* HERO + PULSE IN COLONNA */
  .command-center,
  .rabbit-native-command{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    width:100% !important;
    margin:0 0 18px !important;
  }

  .command-panel,
  .rabbit-native-hero,
  .home-hero{
    width:100% !important;
    min-height:214px !important;
    padding:20px 16px 16px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center top !important;
    box-shadow:0 14px 34px rgba(15,23,42,.14) !important;
  }

  .command-panel::before,
  .rabbit-native-hero::before{
    background:
      linear-gradient(135deg, rgba(15,23,42,.78), rgba(15,23,42,.34)),
      radial-gradient(circle at 82% 20%, rgba(14,165,233,.18), transparent 38%) !important;
  }

  .command-panel .badge,
  .rabbit-native-hero .badge{
    display:inline-flex !important;
    width:auto !important;
    min-height:24px !important;
    padding:0 9px !important;
    border-radius:7px !important;
    font-size:9px !important;
    margin:0 auto 12px !important;
  }

  .command-title,
  .command-panel .command-title{
    width:100% !important;
    max-width:290px !important;
    margin:0 auto 12px !important;
    text-align:center !important;
    color:#ffffff !important;
    font-size:28px !important;
    line-height:.95 !important;
    letter-spacing:-.07em !important;
    text-shadow:0 3px 18px rgba(0,0,0,.38) !important;
  }

  .command-panel p,
  .command-panel .muted{
    display:none !important;
  }

  /* Azioni hero come carosello orizzontale */
  .command-actions{
    position:relative !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    margin:14px 0 0 !important;
    padding:0 26px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .command-actions::-webkit-scrollbar{
    display:none !important;
  }

  .command-actions button{
    flex:0 0 118px !important;
    min-width:118px !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 12px !important;
    border-radius:14px !important;
    font-size:12px !important;
    font-weight:800 !important;
    scroll-snap-align:center !important;
    background:rgba(255,255,255,.20) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  .command-actions button.primary{
    background:linear-gradient(135deg,#2563eb,#0891b2) !important;
    color:#fff !important;
  }

  .command-actions::before,
  .command-actions::after{
    content:"‹" !important;
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:28px !important;
    height:28px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(15,23,42,.34) !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:900 !important;
    pointer-events:none !important;
    z-index:3 !important;
  }

  .command-actions::before{
    left:2px !important;
  }

  .command-actions::after{
    content:"›" !important;
    right:2px !important;
  }

  /* PULSE OPERATIVO 2x2 SOTTO IL BANNER */
  .command-center > .card,
  .rabbit-native-pulse,
  .rabbit-pro-pulse{
    width:100% !important;
    min-height:auto !important;
    padding:0 !important;
    border-radius:18px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .command-center > .card h3,
  .rabbit-native-pulse h3,
  .rabbit-pro-pulse h3{
    display:none !important;
  }

  .pulse-strip,
  .rabbit-pro-kpis{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:72px !important;
    gap:8px !important;
    width:100% !important;
  }

  .pulse-card{
    height:72px !important;
    min-height:72px !important;
    padding:10px 12px !important;
    border-radius:16px !important;
    overflow:hidden !important;
    border:0 !important;
    box-shadow:0 8px 20px rgba(15,23,42,.12) !important;
  }

  .pulse-card b{
    font-size:25px !important;
    line-height:1 !important;
    color:inherit !important;
  }

  .pulse-card span,
  .pulse-card .muted{
    font-size:11px !important;
    color:inherit !important;
    opacity:.9 !important;
  }

  .pulse-card i,
  .pulse-card svg{
    transform:scale(.82) !important;
    opacity:.85 !important;
  }

  .pulse-card:nth-child(1){
    background:#10b981 !important;
    color:#fff !important;
  }

  .pulse-card:nth-child(2){
    background:linear-gradient(135deg,#ff9800,#ff5722) !important;
    color:#fff !important;
  }

  .pulse-card:nth-child(3){
    background:#2563eb !important;
    color:#fff !important;
  }

  .pulse-card:nth-child(4){
    background:#fef08a !important;
    color:#111827 !important;
  }

  .inline-note{
    display:none !important;
  }

  /* SEZIONE MODULI */
  .home-launcher-shell,
  .rabbit-native-launcher{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }

  .home-launcher-head{
    display:block !important;
    margin:0 0 12px !important;
  }

  .home-launcher-head h3{
    margin:0 0 5px !important;
    color:#0f172a !important;
    font-size:21px !important;
    line-height:1.1 !important;
    letter-spacing:-.045em !important;
    text-shadow:none !important;
  }

  .home-launcher-head p{
    display:none !important;
  }

  .home-launcher-meta{
    display:none !important;
  }

  .rabbit-module-group,
  .home-launcher-group,
  .launcher-group{
    margin:18px 0 0 !important;
  }

  .rabbit-module-group-title,
  .launcher-group-title,
  .home-launcher-group-title{
    margin:0 0 8px !important;
    color:#475569 !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
  }

  .home-launcher-grid,
  .rabbit-pro-module-grid,
  .launcher-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }

  .launch-card,
  .rabbit-pro-module-card,
  .rabbit-native-launch-card{
    width:100% !important;
    min-height:86px !important;
    padding:14px 42px 14px 14px !important;
    border-radius:15px !important;
    background:#ffffff !important;
    border:1px solid #edf2f7 !important;
    box-shadow:0 4px 20px rgba(0,0,0,.03),
               0 2px 8px rgba(0,0,0,.02) !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    grid-template-areas:
      "icon title badge"
      "icon desc  badge"
      "icon link  arrow" !important;
    column-gap:12px !important;
    row-gap:2px !important;
    align-items:center !important;
  }

  .launch-card:hover,
  .rabbit-pro-module-card:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  }

  .launch-top{
    display:contents !important;
  }

  .launch-icon{
    grid-area:icon !important;
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    font-size:18px !important;
    align-self:start !important;
  }

  .launch-title,
  .launch-card h3,
  .rabbit-pro-module-card h3{
    grid-area:title !important;
    margin:0 !important;
    color:#0f172a !important;
    font-size:14px !important;
    line-height:1.1 !important;
    font-weight:850 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .launch-desc,
  .launch-card p,
  .rabbit-pro-module-card p{
    grid-area:desc !important;
    margin:0 !important;
    color:#64748b !important;
    font-size:11px !important;
    line-height:1.25 !important;
    font-weight:650 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  .launch-badge,
  .launch-card .badge,
  .rabbit-pro-module-card .badge{
    grid-area:badge !important;
    justify-self:end !important;
    align-self:start !important;
    min-width:26px !important;
    height:22px !important;
    padding:0 7px !important;
    border-radius:999px !important;
    font-size:10px !important;
    font-weight:850 !important;
    background:#f3e8ff !important;
    color:#7e22ce !important;
    border:1px solid #eadcff !important;
    box-shadow:none !important;
  }

  .launch-footer{
    display:contents !important;
  }

  .launch-footer span,
  .launch-card a{
    grid-area:link !important;
    display:none !important;
  }

  .launch-arrow{
    grid-area:arrow !important;
    position:absolute !important;
    right:13px !important;
    bottom:13px !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    background:transparent !important;
    color:#64748b !important;
    box-shadow:none !important;
    font-size:18px !important;
  }

  /* Colori icone per categoria */
  .rabbit-module-group:nth-child(1) .launch-icon,
  .home-launcher-grid .launch-card:nth-child(-n+5) .launch-icon{
    background:#dcfce7 !important;
    color:#15803d !important;
    border:1px solid #bbf7d0 !important;
  }

  .rabbit-module-group:nth-child(2) .launch-icon{
    background:#fef9c3 !important;
    color:#854d0e !important;
    border:1px solid #fef08a !important;
  }

  .rabbit-module-group:nth-child(3) .launch-icon{
    background:#f3e8ff !important;
    color:#7e22ce !important;
    border:1px solid #e9d5ff !important;
  }

  .rabbit-module-group:nth-child(4) .launch-icon{
    background:#e0f2fe !important;
    color:#075985 !important;
    border:1px solid #bae6fd !important;
  }

  /* aree sotto Home */
  #home .home-grid,
  #home .priority-board,
  #home .dashboard-grid{
    grid-template-columns:1fr !important;
  }

  /* CHAT MOBILE FAB */
  .rc22-button,
  .floating-chat,
  .rabbit-chat-fab,
  #rc22Button,
  #rc22Launcher{
    position:fixed !important;
    right:18px !important;
    bottom:22px !important;
    z-index:80 !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border-radius:999px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    background:linear-gradient(135deg,#7c3aed,#a855f7) !important;
    border:1px solid rgba(255,255,255,.65) !important;
    box-shadow:0 18px 36px rgba(124,58,237,.28),
               0 8px 18px rgba(15,23,42,.16) !important;
    color:#ffffff !important;
  }

  .rc22-button span,
  .rc22-button strong,
  .rc22-button b,
  .floating-chat span,
  .floating-chat strong,
  .floating-chat b,
  #rc22Button span,
  #rc22Button strong,
  #rc22Launcher span,
  #rc22Launcher strong{
    display:none !important;
  }

  .rc22-button svg,
  .floating-chat svg,
  #rc22Button svg,
  #rc22Launcher svg{
    width:25px !important;
    height:25px !important;
    color:#ffffff !important;
    margin:0 !important;
  }

}

/* =========================================================
   RABBIT HOME MOBILE RESPONSIVE V13
   Replica operativa della reference mobile: telefono portrait,
   hero compatto con azioni, griglia moduli 2 colonne, FAB chat.
   ========================================================= */
.rabbit-mobile-hero-actions{
  display:none;
}

@media (max-width:480px){

  html,
  body{
    width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    background-color:#f8fafc !important;
  }

  body,
  .scale-root,
  .app,
  .main,
  .scale-root .main,
  .app .main,
  #home.view,
  .view.active{
    background-color:#f8fafc !important;
    background-image:
      linear-gradient(to right, rgba(99,102,241,.032) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(99,102,241,.032) 1px, transparent 1px) !important;
    background-size:44px 44px !important;
  }

  .app{
    display:block !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    min-width:0 !important;
  }

  .sidebar,
  .rabbit-pro-sidebar,
  .rightbar{
    display:none !important;
  }

  .main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 14px 96px !important;
    border:0 !important;
    overflow-x:hidden !important;
  }

  #home{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
    padding:0 !important;
  }

  /* TOPBAR: logo Rabbit a sinistra, utente a destra, search sotto */
  .topbar.rabbit-pro-topbar,
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:70 !important;
    width:calc(100% + 28px) !important;
    margin:0 -14px 14px !important;
    padding:8px 14px 10px !important;
    min-height:86px !important;
    display:grid !important;
    grid-template-columns:32px auto minmax(120px,1fr) !important;
    grid-template-areas:
      "logo brand user"
      "search search search" !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:7px !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(255,255,255,.96) !important;
    border-bottom:1px solid rgba(226,232,240,.95) !important;
    box-shadow:0 8px 22px rgba(15,23,42,.055) !important;
    backdrop-filter:blur(18px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
  }

  .mobile-menu-btn{
    grid-area:logo !important;
    width:30px !important;
    height:30px !important;
    border-radius:9px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    background:#0f172a !important;
    color:transparent !important;
    font-size:0 !important;
    border:1px solid rgba(15,23,42,.16) !important;
    box-shadow:0 5px 12px rgba(15,23,42,.14) !important;
  }

  .mobile-menu-btn::before{
    content:"R" !important;
    color:#dbeafe !important;
    font-size:17px !important;
    font-weight:950 !important;
    line-height:1 !important;
  }

  .topbar::before{
    content:"Rabbit" !important;
    grid-area:brand !important;
    justify-self:start !important;
    align-self:center !important;
    color:#0f172a !important;
    font-size:24px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.045em !important;
  }

  .topbar .search{
    grid-area:search !important;
    width:100% !important;
    min-width:0 !important;
    position:relative !important;
  }

  .topbar .search::before{
    content:"🔒" !important;
    position:absolute !important;
    left:12px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    font-size:12px !important;
    opacity:.62 !important;
  }

  .topbar .search input,
  .topbar input#globalSearch{
    height:38px !important;
    width:100% !important;
    padding:0 42px 0 35px !important;
    border-radius:12px !important;
    border:1px solid #e2e8f0 !important;
    background:#f8fafc !important;
    color:#0f172a !important;
    font-size:0 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  .topbar .search input::placeholder{
    color:transparent !important;
  }

  .topbar .search::after{
    content:"rabbitworkspace.it" !important;
    position:absolute !important;
    left:35px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:#334155 !important;
    font-size:14px !important;
    font-weight:650 !important;
    pointer-events:none !important;
  }

  .topbar .search button{
    position:absolute !important;
    right:6px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:28px !important;
    height:28px !important;
    border-radius:999px !important;
    border:0 !important;
    background:transparent !important;
    color:#64748b !important;
    font-size:0 !important;
    box-shadow:none !important;
  }

  .topbar .search button::before{
    content:"↻" !important;
    font-size:17px !important;
    font-weight:700 !important;
  }

  .rabbit-topbar-user{
    grid-area:user !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    min-width:0 !important;
  }

  .rabbit-bell{
    display:none !important;
  }

  .rabbit-admin-chip{
    height:34px !important;
    max-width:148px !important;
    min-width:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) 10px !important;
    column-gap:6px !important;
    align-items:center !important;
    color:#0f172a !important;
  }

  .rabbit-admin-chip::after{
    content:"⌄" !important;
    color:#64748b !important;
    font-size:15px !important;
    line-height:1 !important;
  }

  .rabbit-avatar-dot{
    width:30px !important;
    height:30px !important;
    border-radius:999px !important;
    background:#f3e8ff !important;
    color:#6d28d9 !important;
    display:grid !important;
    place-items:center !important;
    font-size:13px !important;
    font-weight:900 !important;
  }

  .rabbit-admin-chip b{
    display:block !important;
    max-width:94px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    font-size:13px !important;
    line-height:1.05 !important;
    color:#0f172a !important;
    text-align:left !important;
  }

  .rabbit-admin-chip b::after{
    content:"Admin" !important;
    display:block !important;
    margin-top:2px !important;
    font-size:11px !important;
    font-weight:650 !important;
    color:#64748b !important;
  }

  /* HERO MOBILE */
  .command-center.rabbit-pro-command,
  .command-center,
  .rabbit-pro-command{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:10px !important;
    margin:0 0 18px !important;
  }

  .command-panel.rabbit-pro-hero,
  .rabbit-pro-hero,
  .command-panel{
    width:100% !important;
    min-height:196px !important;
    height:196px !important;
    padding:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
    border:0 !important;
    background:#0f172a !important;
    box-shadow:0 14px 34px rgba(15,23,42,.16) !important;
  }

  .rabbit-pro-hero-bg{
    inset:0 !important;
    background-size:cover !important;
    background-position:center center !important;
    opacity:1 !important;
  }

  .rabbit-pro-hero-bg::after,
  .rabbit-pro-hero::before,
  .command-panel::before{
    background:
      linear-gradient(90deg, rgba(7,13,28,.92) 0%, rgba(7,13,28,.56) 48%, rgba(7,13,28,.22) 100%),
      radial-gradient(circle at 82% 20%, rgba(14,165,233,.24), transparent 36%) !important;
  }

  .rabbit-pro-hero-content{
    position:relative !important;
    z-index:2 !important;
    height:100% !important;
    padding:24px 18px 16px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:stretch !important;
  }

  .rabbit-pro-hero h1,
  .command-title{
    margin:0 !important;
    max-width:300px !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:1 !important;
    text-align:left !important;
    text-shadow:none !important;
  }

  .rabbit-pro-hero h1 span,
  .command-title span{
    display:block !important;
    color:#ffffff !important;
    font-size:30px !important;
    line-height:1.02 !important;
    font-weight:950 !important;
    letter-spacing:-.055em !important;
    text-shadow:0 3px 18px rgba(0,0,0,.42) !important;
  }

  .rabbit-mobile-hero-actions{
    display:flex !important;
    position:relative !important;
    width:100% !important;
    gap:9px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 34px !important;
  }

  .rabbit-mobile-hero-actions::before,
  .rabbit-mobile-hero-actions::after{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:30px !important;
    height:30px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.14) !important;
    color:#ffffff !important;
    font-size:18px !important;
    font-weight:900 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .rabbit-mobile-hero-actions::before{
    content:"‹" !important;
    left:0 !important;
  }

  .rabbit-mobile-hero-actions::after{
    content:"›" !important;
    right:0 !important;
  }

  .rabbit-mobile-hero-actions button{
    flex:0 0 54px !important;
    width:54px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    border-radius:13px !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.18) !important;
    color:#ffffff !important;
    font-size:19px !important;
    font-weight:900 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 10px 24px rgba(0,0,0,.18) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  .rabbit-mobile-hero-actions button.active{
    flex:0 0 126px !important;
    width:126px !important;
    background:linear-gradient(135deg,#2563eb,#0f9aa8) !important;
    color:#ffffff !important;
    font-size:14px !important;
    letter-spacing:-.02em !important;
  }

  /* Pulse operativo mobile: compatto se attivo */
  .rabbit-pro-pulse,
  .command-center > .card.rabbit-pro-pulse{
    width:100% !important;
    min-height:auto !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .rabbit-pro-pulse h3{
    display:none !important;
  }

  .pulse-strip.rabbit-pro-kpis,
  .pulse-strip{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:62px !important;
    gap:8px !important;
  }

  .pulse-card{
    min-height:62px !important;
    height:62px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    border:0 !important;
    box-shadow:0 9px 18px rgba(15,23,42,.10) !important;
  }

  .pulse-card b{font-size:22px !important;line-height:1 !important;}
  .pulse-card span{font-size:10px !important;line-height:1.1 !important;}

  /* MODULI: griglia mobile 2 colonne come reference */
  .home-launcher-shell.rabbit-pro-modules,
  .home-launcher-shell,
  .rabbit-pro-modules{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }

  .home-launcher-head{
    margin:0 0 8px !important;
    padding:0 !important;
  }

  .home-launcher-head h3{
    color:#0f172a !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.055em !important;
    margin:0 !important;
  }

  .home-launcher-head p,
  .home-launcher-meta{
    display:none !important;
  }

  .rabbit-module-groups{
    display:block !important;
    width:100% !important;
  }

  .rabbit-module-group{
    width:100% !important;
    margin:14px 0 0 !important;
  }

  .rabbit-module-group h4,
  .rabbit-module-group-title,
  .launcher-group-title,
  .home-launcher-group-title{
    color:#334155 !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
    margin:0 0 8px !important;
  }

  .home-launcher-grid,
  .rabbit-pro-module-grid,
  .launcher-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
  }

  .launch-card,
  .rabbit-pro-module-card,
  .rabbit-native-launch-card{
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    min-height:126px !important;
    height:126px !important;
    padding:14px 14px 12px !important;
    border-radius:15px !important;
    background:#ffffff !important;
    border:1px solid #edf2f7 !important;
    box-shadow:0 6px 22px rgba(15,23,42,.07), 0 2px 8px rgba(15,23,42,.035) !important;
    display:block !important;
    text-align:left !important;
    overflow:hidden !important;
  }

  .launch-top{
    display:block !important;
  }

  .launch-icon{
    position:absolute !important;
    left:14px !important;
    top:14px !important;
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    display:grid !important;
    place-items:center !important;
    font-size:18px !important;
    z-index:2 !important;
  }

  .launch-title,
  .launch-card h3,
  .rabbit-pro-module-card h3,
  .rabbit-module-text .launch-title{
    position:absolute !important;
    left:14px !important;
    right:36px !important;
    top:60px !important;
    margin:0 !important;
    color:#0f172a !important;
    font-size:15px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:-.03em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .launch-desc,
  .launch-card p,
  .rabbit-pro-module-card p,
  .rabbit-module-text .launch-desc{
    position:absolute !important;
    left:14px !important;
    right:26px !important;
    top:80px !important;
    margin:0 !important;
    color:#475569 !important;
    font-size:11px !important;
    line-height:1.22 !important;
    font-weight:600 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  .launch-badge,
  .launch-card .badge,
  .rabbit-pro-module-card .badge{
    position:absolute !important;
    right:12px !important;
    top:12px !important;
    min-width:25px !important;
    height:24px !important;
    padding:0 7px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#f3e8ff !important;
    color:#7e22ce !important;
    border:1px solid #eadcff !important;
    box-shadow:none !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    z-index:3 !important;
  }

  .launch-footer,
  .launch-footer span{
    display:block !important;
  }

  .launch-footer span,
  .launch-card a{
    display:none !important;
  }

  .launch-arrow{
    position:absolute !important;
    right:14px !important;
    bottom:12px !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    background:transparent !important;
    color:#0f4d80 !important;
    box-shadow:none !important;
    font-size:19px !important;
    line-height:1 !important;
  }

  .rabbit-module-group:nth-child(1) .launch-icon{background:#dcfce7 !important;color:#15803d !important;border:1px solid #bbf7d0 !important;}
  .rabbit-module-group:nth-child(2) .launch-icon{background:#fef9c3 !important;color:#854d0e !important;border:1px solid #fef08a !important;}
  .rabbit-module-group:nth-child(3) .launch-icon{background:#f3e8ff !important;color:#7e22ce !important;border:1px solid #e9d5ff !important;}
  .rabbit-module-group:nth-child(4) .launch-icon{background:#e0f2fe !important;color:#075985 !important;border:1px solid #bae6fd !important;}

  /* sezioni sotto la Home: una colonna, niente overflow */
  #home .rabbit-pro-home-lower,
  #home .home-grid,
  #home .priority-board,
  #home .dashboard-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  /* FAB CHAT viola, solo icona */
  .rc22-button,
  .floating-chat,
  .rabbit-chat-fab,
  #rc22Button,
  #rc22Launcher{
    position:fixed !important;
    right:18px !important;
    bottom:22px !important;
    z-index:120 !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border-radius:999px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    background:linear-gradient(135deg,#0f172a,#1e3a8a) !important;
    border:1px solid rgba(255,255,255,.72) !important;
    box-shadow:0 18px 36px rgba(15,23,42,.22), 0 8px 18px rgba(15,23,42,.16) !important;
    color:#ffffff !important;
  }

  .rc22-button span,
  .rc22-button strong,
  .rc22-button b,
  .floating-chat span,
  .floating-chat strong,
  .floating-chat b,
  #rc22Button span,
  #rc22Button strong,
  #rc22Launcher span,
  #rc22Launcher strong{
    display:none !important;
  }

  .rc22-button svg,
  .floating-chat svg,
  #rc22Button svg,
  #rc22Launcher svg{
    width:25px !important;
    height:25px !important;
    color:#ffffff !important;
    margin:0 !important;
  }

}

/* =========================================================
   RABBIT V14 — MOBILE CHAT CONTACTS FIX
   Motivo: la regola mobile generica nascondeva tutti gli <aside>,
   quindi veniva nascosta anche la colonna contatti della chat.
   Qui riabilitiamo SOLO la sidebar interna #rc22Panel e sistemiamo
   l'altezza/giustificazione del modal su smartphone.
   Nessuna modifica a HTML, JS, Supabase o realtime.
   ========================================================= */
@media (max-width:480px){

  #rc22Panel.rc22-panel{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:calc(env(safe-area-inset-top,0px) + 10px) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px) !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    transform:none !important;
    grid-template-columns:1fr !important;
    grid-template-rows:220px minmax(0,1fr) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    box-shadow:0 32px 90px rgba(15,23,42,.30), 0 14px 30px rgba(15,23,42,.16) !important;
    z-index:2147483001 !important;
  }

  #rc22Panel.rc22-panel.open{
    display:grid !important;
    animation:rc22MobileSheetIn .18s ease-out both !important;
  }

  @keyframes rc22MobileSheetIn{
    from{opacity:.35; transform:translateY(14px) scale(.985)}
    to{opacity:1; transform:translateY(0) scale(1)}
  }

  /* Riabilita la colonna contatti nascosta dalla regola generica "aside{display:none}" */
  #rc22Panel .rc22-sidebar,
  #rc22Panel aside.rc22-sidebar{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    grid-row:1 !important;
    min-height:0 !important;
    height:220px !important;
    width:100% !important;
    overflow:hidden !important;
    background:#f8fafc !important;
    border-right:0 !important;
    border-bottom:1px solid #e5eaf2 !important;
    grid-template-rows:auto auto minmax(0,1fr) !important;
  }

  #rc22Panel .rc22-head{
    min-height:56px !important;
    padding:12px 14px 6px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    background:#ffffff !important;
  }

  #rc22Panel .rc22-head b{
    font-size:17px !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
  }

  #rc22Panel .rc22-head small{
    display:block !important;
    margin-top:2px !important;
    font-size:11px !important;
  }

  #rc22Panel .rc22-close{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:15px !important;
    font-size:20px !important;
  }

  #rc22Panel .rc22-search{
    display:block !important;
    padding:0 14px 8px !important;
    background:#ffffff !important;
  }

  #rc22Panel .rc22-search input{
    min-height:42px !important;
    height:42px !important;
    border-radius:999px !important;
    font-size:13px !important;
    padding:0 14px !important;
  }

  /* Lista contatti orizzontale: l'utente può scegliere con chi chattare */
  #rc22Panel .rc22-list{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:8px 14px 12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    background:#f8fafc !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #rc22Panel .rc22-list::-webkit-scrollbar{
    display:none !important;
  }

  #rc22Panel .rc22-contact{
    display:grid !important;
    flex:0 0 214px !important;
    width:214px !important;
    min-width:214px !important;
    max-width:214px !important;
    min-height:64px !important;
    height:64px !important;
    padding:9px 10px !important;
    border-radius:16px !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:10px !important;
    scroll-snap-align:start !important;
  }

  #rc22Panel .rc22-contact .rc22-avatar{
    width:40px !important;
    height:40px !important;
    border-radius:14px !important;
    font-size:12px !important;
  }

  #rc22Panel .rc22-contact-text b{
    font-size:13px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #rc22Panel .rc22-contact-text small{
    font-size:11px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Colonna conversazione: non deve schiacciarsi in alto */
  #rc22Panel .rc22-main{
    display:grid !important;
    grid-row:2 !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
    background:#ffffff !important;
  }

  #rc22Panel .rc22-thread-head{
    min-height:66px !important;
    padding:10px 12px !important;
    gap:8px !important;
  }

  #rc22Panel .rc22-peer{
    min-width:0 !important;
    gap:9px !important;
  }

  #rc22Panel .rc22-peer .rc22-avatar{
    width:38px !important;
    height:38px !important;
    border-radius:13px !important;
    font-size:12px !important;
  }

  #rc22Panel .rc22-peer-text b{
    font-size:14px !important;
    max-width:155px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #rc22Panel .rc22-peer-text small{
    font-size:11px !important;
    max-width:155px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #rc22Panel .rc22-tools{
    gap:5px !important;
    flex-wrap:nowrap !important;
  }

  #rc22Panel .rc22-tool{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:12px !important;
    font-size:14px !important;
  }

  #rc22Panel .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    padding:14px 12px !important;
    overflow:auto !important;
    gap:10px !important;
  }

  #rc22Panel .rc22-empty{
    margin:auto !important;
    padding:16px 14px !important;
    max-width:280px !important;
    font-size:15px !important;
    line-height:1.35 !important;
  }

  #rc22Panel .rc22-bubble{
    max-width:82% !important;
    margin-left:34px !important;
    padding:10px 12px !important;
    border-radius:16px 16px 16px 8px !important;
    font-size:13px !important;
    line-height:1.36 !important;
  }

  #rc22Panel .rc22-bubble:not(.me)::before{
    left:-34px !important;
    width:26px !important;
    height:26px !important;
  }

  #rc22Panel .rc22-bubble.me{
    margin-left:0 !important;
    max-width:82% !important;
  }

  #rc22Panel .rc22-compose{
    padding:10px !important;
    grid-template-columns:minmax(0,1fr) 58px !important;
    gap:8px !important;
    background:#ffffff !important;
  }

  #rc22Panel .rc22-compose input{
    min-height:46px !important;
    height:46px !important;
    border-radius:16px !important;
    font-size:13px !important;
    padding:0 13px !important;
  }

  #rc22Panel .rc22-compose button{
    min-width:58px !important;
    width:58px !important;
    min-height:46px !important;
    height:46px !important;
    border-radius:16px !important;
    padding:0 !important;
    font-size:0 !important;
  }

  #rc22Panel .rc22-compose button::after{
    content:"➤" !important;
    font-size:18px !important;
    line-height:1 !important;
  }
}

/* =========================================================
   RABBIT V15 — MOBILE HOME + CHAT STABILITY FIX
   Obiettivo: recuperare la resa premium mobile senza rompere
   desktop, Supabase, realtime o logiche JS. Solo override CSS.
   ========================================================= */
@media (max-width:480px){

  /* Base mobile: nasconde solo la sidebar principale, non gli aside interni della chat */
  body,
  .app,
  .main,
  #home.view{
    background-color:#f8fafc !important;
    background-image:
      linear-gradient(to right, rgba(99,102,241,.028) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(99,102,241,.028) 1px, transparent 1px) !important;
    background-size:44px 44px !important;
  }

  .app > .sidebar,
  .app > aside.sidebar,
  .rabbit-pro-sidebar,
  body > .sidebar{
    display:none !important;
  }

  .main{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 12px 88px !important;
    overflow-x:hidden !important;
  }

  #home{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
  }

  /* Topbar mobile pulita: non deve schiacciare la Home né creare testate enormi */
  .topbar,
  .topbar.rabbit-pro-topbar{
    position:sticky !important;
    top:0 !important;
    z-index:70 !important;
    width:calc(100% + 24px) !important;
    margin:0 -12px 12px !important;
    padding:8px 12px 10px !important;
    min-height:82px !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) auto !important;
    grid-template-areas:
      "logo brand user"
      "search search search" !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:7px !important;
    background:rgba(255,255,255,.96) !important;
    border:0 !important;
    border-bottom:1px solid #e8eef6 !important;
    border-radius:0 !important;
    box-shadow:0 8px 22px rgba(15,23,42,.055) !important;
    backdrop-filter:blur(16px) saturate(150%) !important;
    -webkit-backdrop-filter:blur(16px) saturate(150%) !important;
  }

  .mobile-menu-btn{
    grid-area:logo !important;
    display:grid !important;
    width:31px !important;
    height:31px !important;
    border-radius:10px !important;
    place-items:center !important;
    background:#0f172a !important;
    color:transparent !important;
    font-size:0 !important;
    box-shadow:0 6px 14px rgba(15,23,42,.16) !important;
  }

  .mobile-menu-btn::before{
    content:"R" !important;
    color:#dbeafe !important;
    font-size:17px !important;
    font-weight:950 !important;
  }

  .topbar::before{
    content:"Rabbit" !important;
    grid-area:brand !important;
    font-size:24px !important;
    font-weight:950 !important;
    letter-spacing:-.05em !important;
    color:#0f172a !important;
    line-height:1 !important;
  }

  .rabbit-topbar-user{
    grid-area:user !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
  }

  .rabbit-bell,
  .topbar button[data-home-topbar="supabase"],
  .topbar .config-supabase{
    display:none !important;
  }

  .rabbit-admin-chip{
    max-width:145px !important;
    height:34px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) 10px !important;
    gap:6px !important;
    align-items:center !important;
  }

  .rabbit-admin-chip::after{
    content:"⌄" !important;
    color:#64748b !important;
    font-size:15px !important;
  }

  .rabbit-avatar-dot{
    width:30px !important;
    height:30px !important;
    border-radius:999px !important;
    background:#f3e8ff !important;
    color:#6d28d9 !important;
    display:grid !important;
    place-items:center !important;
    font-size:13px !important;
    font-weight:900 !important;
  }

  .rabbit-admin-chip b{
    display:block !important;
    max-width:96px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#0f172a !important;
    font-size:13px !important;
    line-height:1.05 !important;
    font-weight:850 !important;
  }

  .rabbit-admin-chip b::after{
    content:"Admin" !important;
    display:block !important;
    margin-top:2px !important;
    color:#64748b !important;
    font-size:11px !important;
    font-weight:650 !important;
  }

  .topbar .search{
    grid-area:search !important;
    width:100% !important;
    position:relative !important;
  }

  .topbar .search input,
  .topbar input#globalSearch{
    width:100% !important;
    height:38px !important;
    padding:0 40px 0 35px !important;
    border-radius:13px !important;
    border:1px solid #e2e8f0 !important;
    background:#f8fafc !important;
    font-size:0 !important;
    color:transparent !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.92) !important;
  }

  .topbar .search input::placeholder{color:transparent !important;}

  .topbar .search::before{
    content:"🔒" !important;
    position:absolute !important;
    left:12px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-size:12px !important;
    opacity:.6 !important;
    z-index:2 !important;
  }

  .topbar .search::after{
    content:"rabbitworkspace.it" !important;
    position:absolute !important;
    left:35px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:#334155 !important;
    font-size:14px !important;
    font-weight:700 !important;
    pointer-events:none !important;
  }

  .topbar .search button{
    position:absolute !important;
    right:5px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:28px !important;
    height:28px !important;
    font-size:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .topbar .search button::before{
    content:"↻" !important;
    color:#64748b !important;
    font-size:17px !important;
    font-weight:800 !important;
  }

  /* Home: mantiene la bellezza della versione desktop, ma in formato mobile */
  .command-center,
  .command-center.rabbit-pro-command,
  .rabbit-pro-command{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:0 0 18px !important;
    width:100% !important;
  }

  .command-panel,
  .command-panel.rabbit-pro-hero,
  .rabbit-pro-hero{
    width:100% !important;
    height:196px !important;
    min-height:196px !important;
    padding:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
    border:0 !important;
    background:#0f172a !important;
    box-shadow:0 18px 38px rgba(15,23,42,.18) !important;
  }

  .rabbit-pro-hero-bg{
    inset:0 !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:1 !important;
  }

  .rabbit-pro-hero-bg::after,
  .rabbit-pro-hero::before,
  .command-panel::before{
    background:
      linear-gradient(90deg, rgba(7,13,28,.92), rgba(7,13,28,.56) 54%, rgba(7,13,28,.20)),
      radial-gradient(circle at 84% 24%, rgba(14,165,233,.25), transparent 36%) !important;
  }

  .rabbit-pro-hero-content{
    position:relative !important;
    z-index:2 !important;
    height:100% !important;
    padding:24px 18px 16px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
  }

  .rabbit-pro-hero h1,
  .command-title{
    margin:0 !important;
    max-width:300px !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:1 !important;
    text-align:left !important;
  }

  .rabbit-pro-hero h1 span,
  .command-title span{
    display:block !important;
    color:#fff !important;
    font-size:30px !important;
    line-height:1.02 !important;
    font-weight:950 !important;
    letter-spacing:-.055em !important;
    text-shadow:0 3px 18px rgba(0,0,0,.42) !important;
  }

  .rabbit-mobile-hero-actions{
    display:flex !important;
    position:relative !important;
    width:100% !important;
    gap:9px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 34px !important;
  }

  .rabbit-mobile-hero-actions::before,
  .rabbit-mobile-hero-actions::after{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:30px !important;
    height:30px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.14) !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:900 !important;
  }

  .rabbit-mobile-hero-actions::before{content:"‹" !important;left:0 !important;}
  .rabbit-mobile-hero-actions::after{content:"›" !important;right:0 !important;}

  .rabbit-mobile-hero-actions button{
    flex:0 0 54px !important;
    width:54px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    border-radius:13px !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-size:0 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  }

  .rabbit-mobile-hero-actions button.active{
    flex:0 0 126px !important;
    width:126px !important;
    background:linear-gradient(135deg,#2563eb,#0f9aa8) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:850 !important;
  }

  /* Pulse rimane compatto sotto il banner, senza rompere la Home */
  .rabbit-pro-pulse,
  .command-center > .card.rabbit-pro-pulse{
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .rabbit-pro-pulse h3{display:none !important;}
  .pulse-strip,
  .pulse-strip.rabbit-pro-kpis{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    grid-auto-rows:62px !important;
  }
  .pulse-card{
    height:62px !important;
    min-height:62px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    box-shadow:0 9px 18px rgba(15,23,42,.10) !important;
  }
  .pulse-card b{font-size:22px !important;line-height:1 !important;}
  .pulse-card span{font-size:10px !important;line-height:1.1 !important;}

  /* Moduli: 2 colonne belle e leggibili, con testo SEMPRE visibile */
  .home-launcher-shell,
  .home-launcher-shell.rabbit-pro-modules,
  .rabbit-pro-modules{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .home-launcher-head{margin:0 0 8px !important;padding:0 !important;}
  .home-launcher-head h3{
    margin:0 !important;
    color:#0f172a !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.055em !important;
  }
  .home-launcher-head p,
  .home-launcher-meta{display:none !important;}

  .rabbit-module-group{margin:14px 0 0 !important;width:100% !important;}
  .rabbit-module-group h4,
  .rabbit-module-group-title,
  .launcher-group-title,
  .home-launcher-group-title{
    margin:0 0 8px !important;
    color:#334155 !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
  }

  .home-launcher-grid,
  .rabbit-pro-module-grid,
  .launcher-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
  }

  .launch-card,
  .rabbit-pro-module-card,
  .rabbit-native-launch-card{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:126px !important;
    min-height:126px !important;
    padding:14px !important;
    border-radius:15px !important;
    background:#ffffff !important;
    border:1px solid #edf2f7 !important;
    box-shadow:0 6px 22px rgba(15,23,42,.07), 0 2px 8px rgba(15,23,42,.035) !important;
    overflow:hidden !important;
    text-align:left !important;
  }

  .launch-top{display:contents !important;}
  .launch-icon{
    position:absolute !important;
    left:14px !important;
    top:14px !important;
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    display:grid !important;
    place-items:center !important;
    font-size:18px !important;
    z-index:2 !important;
  }

  .rabbit-module-text{
    display:block !important;
    position:absolute !important;
    left:14px !important;
    right:24px !important;
    top:59px !important;
    z-index:2 !important;
    min-width:0 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .launch-title,
  .launch-card h3,
  .rabbit-pro-module-card h3,
  .rabbit-module-text .launch-title{
    display:block !important;
    position:static !important;
    margin:0 0 4px !important;
    max-width:100% !important;
    color:#0f172a !important;
    font-size:15px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:-.03em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .launch-desc,
  .launch-card p,
  .rabbit-pro-module-card p,
  .rabbit-module-text .launch-desc{
    display:-webkit-box !important;
    position:static !important;
    margin:0 !important;
    color:#475569 !important;
    font-size:11px !important;
    line-height:1.22 !important;
    font-weight:650 !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .launch-badge,
  .launch-card .badge,
  .rabbit-pro-module-card .badge{
    position:absolute !important;
    right:12px !important;
    top:12px !important;
    min-width:25px !important;
    height:24px !important;
    padding:0 7px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#f3e8ff !important;
    color:#7e22ce !important;
    border:1px solid #eadcff !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    z-index:3 !important;
  }

  .launch-footer,
  .launch-footer span{display:block !important;}
  .launch-footer span,
  .launch-card a{display:none !important;}
  .launch-arrow{
    position:absolute !important;
    right:14px !important;
    bottom:12px !important;
    border:0 !important;
    background:transparent !important;
    color:#0f4d80 !important;
    box-shadow:none !important;
    font-size:19px !important;
    line-height:1 !important;
  }

  .rabbit-module-group:nth-child(1) .launch-icon{background:#dcfce7 !important;color:#15803d !important;border:1px solid #bbf7d0 !important;}
  .rabbit-module-group:nth-child(2) .launch-icon{background:#fef9c3 !important;color:#854d0e !important;border:1px solid #fef08a !important;}
  .rabbit-module-group:nth-child(3) .launch-icon{background:#f3e8ff !important;color:#7e22ce !important;border:1px solid #e9d5ff !important;}
  .rabbit-module-group:nth-child(4) .launch-icon{background:#e0f2fe !important;color:#075985 !important;border:1px solid #bae6fd !important;}

  /* Chat FAB */
  #rc22Button,
  #rc22Launcher,
  .rc22-button,
  .floating-chat,
  .rabbit-chat-fab{
    position:fixed !important;
    right:18px !important;
    bottom:22px !important;
    z-index:120 !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    border-radius:999px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    background:linear-gradient(135deg,#0f172a,#1e3a8a) !important;
    border:1px solid rgba(255,255,255,.72) !important;
    box-shadow:0 18px 36px rgba(15,23,42,.22), 0 8px 18px rgba(15,23,42,.16) !important;
    color:#fff !important;
  }

  #rc22Button span:not(.rc22-button-icon),
  #rc22Button strong,
  #rc22Button b,
  #rc22Launcher span:not(.rc22-button-icon),
  #rc22Launcher strong,
  .rc22-button .rc22-button-text,
  .floating-chat span,
  .floating-chat strong,
  .floating-chat b{display:none !important;}

  #rc22Button .rc22-button-icon,
  .rc22-button .rc22-button-icon{font-size:25px !important;line-height:1 !important;}

  /* Chat panel mobile: niente più spazi bianchi, contatti selezionabili sopra */
  #rc22Panel.rc22-panel{
    position:fixed !important;
    left:8px !important;
    right:8px !important;
    top:calc(env(safe-area-inset-top,0px) + 8px) !important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 8px) !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    transform:none !important;
    display:none !important;
    grid-template-columns:1fr !important;
    grid-template-rows:156px minmax(0,1fr) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    box-shadow:0 32px 90px rgba(15,23,42,.30), 0 14px 30px rgba(15,23,42,.16) !important;
    z-index:2147483001 !important;
  }

  #rc22Panel.rc22-panel.open{display:grid !important;}

  #rc22Panel .rc22-sidebar,
  #rc22Panel aside.rc22-sidebar{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    grid-row:1 !important;
    position:relative !important;
    height:156px !important;
    min-height:156px !important;
    width:100% !important;
    overflow:hidden !important;
    background:#ffffff !important;
    border:0 !important;
    border-bottom:1px solid #e5eaf2 !important;
    grid-template-rows:50px 0 minmax(0,1fr) !important;
  }

  #rc22Panel .rc22-head{
    min-height:50px !important;
    height:50px !important;
    padding:10px 12px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#ffffff !important;
  }

  #rc22Panel .rc22-head b{font-size:16px !important;line-height:1.05 !important;}
  #rc22Panel .rc22-head small{font-size:11px !important;line-height:1.1 !important;}
  #rc22Panel .rc22-close{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:14px !important;
    font-size:20px !important;
  }

  /* Nasconde solo la search chat su mobile per dare spazio ai contatti */
  #rc22Panel .rc22-search{display:none !important;}

  #rc22Panel .rc22-list{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:9px !important;
    padding:8px 12px 10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    background:#f8fafc !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #rc22Panel .rc22-list::-webkit-scrollbar{display:none !important;}

  #rc22Panel .rc22-contact{
    display:grid !important;
    flex:0 0 206px !important;
    width:206px !important;
    min-width:206px !important;
    max-width:206px !important;
    height:66px !important;
    min-height:66px !important;
    padding:9px 10px !important;
    border-radius:16px !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:10px !important;
    scroll-snap-align:start !important;
    background:#ffffff !important;
    border:1px solid #e5eaf2 !important;
  }

  #rc22Panel .rc22-contact.active{
    background:#1e1b4b !important;
    color:#ffffff !important;
    border-color:#1e1b4b !important;
  }

  #rc22Panel .rc22-contact .rc22-avatar{
    width:40px !important;
    height:40px !important;
    border-radius:14px !important;
    font-size:12px !important;
  }

  #rc22Panel .rc22-contact-text b,
  #rc22Panel .rc22-contact-text small{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #rc22Panel .rc22-contact-text b{font-size:13px !important;line-height:1.05 !important;}
  #rc22Panel .rc22-contact-text small{font-size:11px !important;line-height:1.2 !important;}

  #rc22Panel .rc22-main{
    grid-row:2 !important;
    display:grid !important;
    grid-template-rows:64px minmax(0,1fr) auto !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#ffffff !important;
  }

  #rc22Panel .rc22-thread-head{
    min-height:64px !important;
    height:64px !important;
    padding:9px 11px !important;
    border-bottom:1px solid #e5eaf2 !important;
  }

  #rc22Panel .rc22-peer{min-width:0 !important;gap:9px !important;}
  #rc22Panel .rc22-peer .rc22-avatar{width:38px !important;height:38px !important;border-radius:13px !important;font-size:12px !important;}
  #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text small{
    max-width:165px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #rc22Panel .rc22-peer-text b{font-size:14px !important;}
  #rc22Panel .rc22-peer-text small{font-size:11px !important;}

  #rc22Panel .rc22-tools{gap:5px !important;flex-wrap:nowrap !important;}
  #rc22Panel .rc22-tool{width:34px !important;height:34px !important;min-width:34px !important;border-radius:12px !important;font-size:14px !important;}

  #rc22Panel .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    padding:14px 12px !important;
    overflow:auto !important;
    background:#f1f7ff !important;
  }

  #rc22Panel .rc22-empty{
    margin:auto !important;
    max-width:270px !important;
    padding:14px !important;
    font-size:15px !important;
    line-height:1.35 !important;
    text-align:center !important;
  }

  #rc22Panel .rc22-bubble{max-width:82% !important;padding:10px 12px !important;border-radius:16px 16px 16px 8px !important;font-size:13px !important;}
  #rc22Panel .rc22-bubble.me{margin-left:auto !important;border-radius:16px 16px 8px 16px !important;background:linear-gradient(135deg,#2563eb,#10b981) !important;color:#fff !important;}

  #rc22Panel .rc22-compose{
    padding:10px 10px max(10px,env(safe-area-inset-bottom,10px)) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 58px !important;
    gap:8px !important;
    background:#ffffff !important;
    border-top:1px solid #e5eaf2 !important;
  }

  #rc22Panel .rc22-compose input{height:46px !important;min-height:46px !important;border-radius:16px !important;font-size:13px !important;padding:0 13px !important;}
  #rc22Panel .rc22-compose button{width:58px !important;min-width:58px !important;height:46px !important;min-height:46px !important;border-radius:16px !important;font-size:0 !important;padding:0 !important;}
  #rc22Panel .rc22-compose button::after{content:"➤" !important;font-size:18px !important;line-height:1 !important;}
}


/* =========================================================
   RABBIT V16 — HERO ACTION BUTTONS JUSTIFICATION FIX
   Obiettivo: i 4 pulsanti del banner Home desktop devono essere
   perfettamente allineati, larghi uguali e senza testo tagliato.
   Su mobile restano compatti con icone, senza toccare la logica.
   ========================================================= */
@media (min-width:481px){
  #home .rabbit-pro-hero-content{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:stretch !important;
    gap:26px !important;
    width:100% !important;
    height:100% !important;
    padding:30px 28px !important;
  }

  #home .rabbit-mobile-hero-actions{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
  }

  #home .rabbit-mobile-hero-actions::before,
  #home .rabbit-mobile-hero-actions::after{
    display:none !important;
    content:none !important;
  }

  #home .rabbit-mobile-hero-actions button{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 12px !important;
    border-radius:16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.05 !important;
    font-size:15px !important;
    font-weight:850 !important;
    letter-spacing:-.025em !important;
    color:#ffffff !important;
    background:rgba(255,255,255,.18) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16),
               0 12px 28px rgba(0,0,0,.14) !important;
    backdrop-filter:blur(12px) saturate(145%) !important;
    -webkit-backdrop-filter:blur(12px) saturate(145%) !important;
    transition:transform .18s ease, background .18s ease, box-shadow .18s ease !important;
  }

  #home .rabbit-mobile-hero-actions button:hover{
    transform:translateY(-1px) !important;
    background:rgba(255,255,255,.24) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.20),
               0 16px 34px rgba(0,0,0,.18) !important;
  }

  #home .rabbit-mobile-hero-actions button.active{
    background:linear-gradient(135deg,#2563eb 0%,#0f9aa8 100%) !important;
    border-color:rgba(255,255,255,.20) !important;
    color:#ffffff !important;
  }

  #home .rabbit-mobile-hero-actions button:nth-child(3){
    font-size:14px !important;
    letter-spacing:-.035em !important;
  }
}

@media (max-width:480px){
  /* Se i bottoni portano testo completo, su mobile mostriamo icone compatte
     per preservare il layout reference. */
  #home .rabbit-mobile-hero-actions button:not(.active){
    font-size:0 !important;
    color:transparent !important;
    position:relative !important;
  }

  #home .rabbit-mobile-hero-actions button:not(.active)::before{
    display:block !important;
    color:#ffffff !important;
    font-size:20px !important;
    font-weight:900 !important;
    line-height:1 !important;
  }

  #home .rabbit-mobile-hero-actions button:nth-child(2)::before{content:"⌾" !important;}
  #home .rabbit-mobile-hero-actions button:nth-child(3)::before{content:"▧" !important;}
  #home .rabbit-mobile-hero-actions button:nth-child(4)::before{content:"＋" !important;}
}

/* =========================================================
   Rabbit V18 — Videoconferenza multiutente + screen share
   Solo UI: supporto layout stanza LiveKit condivisa.
   ========================================================= */
.rc22-tool.conference{
  background:linear-gradient(135deg,#1e1b4b,#2563eb) !important;
  color:#fff !important;
  border-color:rgba(37,99,235,.35) !important;
}
.rc22-call-controls #rc22Screen{
  background:linear-gradient(135deg,#0f766e,#10b981) !important;
  color:#fff !important;
  border-color:rgba(16,185,129,.35) !important;
}
.rc22-call-controls #rc22Screen.on{
  background:linear-gradient(135deg,#f59e0b,#ef4444) !important;
  color:#fff !important;
  border-color:rgba(239,68,68,.35) !important;
}
.rc22-remote-grid{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:12px !important;
  padding:16px 260px 16px 16px !important;
  background:transparent !important;
}
.rc22-remote-grid > #rc22Remote{
  display:none !important;
}
.rc22-remote-tile{
  position:relative !important;
  min-width:0 !important;
  min-height:220px !important;
  overflow:hidden !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:#020617 !important;
  box-shadow:0 20px 48px rgba(0,0,0,.32) !important;
}
.rc22-remote-tile video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.rc22-remote-tile.screen-share{
  grid-column:1 / -1 !important;
  min-height:420px !important;
}
.rc22-remote-tile.screen-share video{
  object-fit:contain !important;
  background:#020617 !important;
}
.rc22-remote-tile.local-share{
  border-color:rgba(16,185,129,.45) !important;
  box-shadow:0 0 0 1px rgba(16,185,129,.22),0 22px 50px rgba(16,185,129,.10) !important;
}
.rc22-remote-label{
  position:absolute !important;
  left:12px !important;
  bottom:12px !important;
  max-width:calc(100% - 24px) !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.70) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:850 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.rc22-placeholder.hidden{
  display:none !important;
}
.rc22-placeholder{
  z-index:2 !important;
  pointer-events:none !important;
}
.rc22-local{
  z-index:3 !important;
}
.rc22-conference-picker{
  position:fixed !important;
  inset:auto 22px 96px auto !important;
  z-index:2147483601 !important;
  width:min(430px,calc(100vw - 32px)) !important;
  max-height:min(620px,calc(100dvh - 130px)) !important;
  display:none !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  overflow:hidden !important;
  border-radius:26px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:#fff !important;
  color:#0f172a !important;
  box-shadow:0 34px 110px rgba(15,23,42,.26) !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.rc22-conference-picker.show{
  display:grid !important;
}
.rc22-conference-picker header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:16px !important;
  border-bottom:1px solid #e2e8f0 !important;
  background:linear-gradient(180deg,#fff,#f8fafc) !important;
}
.rc22-conference-picker header b{
  display:block !important;
  font-size:17px !important;
  letter-spacing:-.04em !important;
}
.rc22-conference-picker header small{
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:750 !important;
}
.rc22-conference-list{
  min-height:0 !important;
  overflow:auto !important;
  padding:12px !important;
  display:grid !important;
  gap:9px !important;
  background:#f8fafc !important;
}
.rc22-conference-user{
  display:grid !important;
  grid-template-columns:auto 44px minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  min-height:64px !important;
  padding:10px !important;
  border-radius:18px !important;
  border:1px solid #e2e8f0 !important;
  background:#fff !important;
  cursor:pointer !important;
  box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
}
.rc22-conference-user input{
  width:18px !important;
  height:18px !important;
  accent-color:#2563eb !important;
}
.rc22-conference-user b,
.rc22-conference-user small{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.rc22-conference-user b{
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:900 !important;
}
.rc22-conference-user small{
  margin-top:3px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:700 !important;
}
.rc22-conference-picker footer{
  display:flex !important;
  justify-content:flex-end !important;
  gap:8px !important;
  padding:14px 16px !important;
  border-top:1px solid #e2e8f0 !important;
  background:#fff !important;
}
.rc22-conference-picker footer button{
  min-height:42px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  border:1px solid #dbeafe !important;
  background:#fff !important;
  color:#1d4ed8 !important;
  font-weight:950 !important;
  cursor:pointer !important;
}
.rc22-conference-picker footer button.primary{
  background:linear-gradient(135deg,#2563eb,#10b981) !important;
  color:#fff !important;
  border-color:transparent !important;
}
@media(max-width:900px){
  .rc22-remote-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  }
  .rc22-remote-tile.screen-share{
    min-height:260px !important;
  }
}
@media(max-width:640px){
  .rc22-conference-picker{
    inset:12px !important;
    width:auto !important;
    max-height:calc(100dvh - 24px) !important;
  }
  .rc22-remote-grid{
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:8px !important;
  }
  .rc22-remote-tile{
    min-height:190px !important;
    border-radius:16px !important;
  }
  .rc22-remote-tile.screen-share{
    min-height:230px !important;
  }
  .rc22-call-controls{
    overflow-x:auto !important;
    justify-content:flex-start !important;
  }
  .rc22-call-controls button{
    flex:0 0 auto !important;
    min-width:126px !important;
  }
}

/* Rabbit V19 responsive tweaks for LiveKit UI */
@media (max-width: 1100px){
  .rc22-call-body{grid-template-columns:minmax(0,1fr) 300px!important;}
  .rc22-remote-grid{padding-right:220px!important;}
  .rc22-local{width:190px!important;height:260px!important;}
}
@media (max-width: 900px){
  .rc22-call{padding:10px!important;}
  .rc22-call-title b{font-size:22px!important;}
  .rc22-call-body{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) 300px!important;gap:10px!important;}
  .rc22-stage{min-height:420px!important;}
  .rc22-remote-grid{padding:12px!important;}
  .rc22-placeholder{padding:24px 20px 220px!important;font-size:16px!important;text-align:center!important;}
  .rc22-local{top:auto!important;right:16px!important;bottom:16px!important;transform:none!important;width:150px!important;height:200px!important;}
}
@media (max-width: 640px){
  .rc22-call{padding:0!important;}
  .rc22-call-head{padding:10px 12px 8px!important;}
  .rc22-call-title b{font-size:18px!important;}
  .rc22-call-title small{font-size:11px!important;}
  .rc22-call-body{padding:0 10px 0!important;grid-template-rows:minmax(0,1fr) 240px!important;gap:10px!important;}
  .rc22-stage{border-radius:22px!important;}
  .rc22-placeholder{padding:18px 18px 170px!important;font-size:14px!important;text-align:center!important;}
  .rc22-local{width:116px!important;height:154px!important;right:12px!important;bottom:12px!important;border-radius:18px!important;}
  .rc22-live{border-radius:20px!important;}
  .rc22-live-head{font-size:16px!important;padding:14px!important;}
  .rc22-live-compose{padding:10px!important;}
  .rc22-live-compose input{min-height:40px!important;font-size:16px!important;}
  .rc22-live-compose button{min-height:40px!important;min-width:74px!important;padding:0 12px!important;}
  .rc22-call-controls{flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px))!important;gap:8px!important;}
  .rc22-call-controls button{flex:0 0 auto!important;min-width:104px!important;font-size:12px!important;min-height:42px!important;}
  .rc22-call-controls #rc22Screen{min-width:140px!important;}
}

/* =========================================================
   Rabbit V20 — Screen share a tutto campo
   Quando qualcuno condivide lo schermo, il contenuto condiviso
   diventa il protagonista visivo della videocall.
   ========================================================= */
.rc22-call.screen-present .rc22-stage,
.rc22-call.screen-sharing .rc22-stage{
  background:#020617 !important;
}
.rc22-call.screen-present .rc22-remote-grid,
.rc22-call.screen-sharing .rc22-remote-grid{
  display:block !important;
  padding:0 !important;
  inset:0 !important;
  background:#020617 !important;
}
.rc22-call.screen-present .rc22-remote-tile.screen-share,
.rc22-call.screen-sharing .rc22-remote-tile.screen-share{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:24px !important;
  border:0 !important;
  box-shadow:none !important;
  background:#020617 !important;
  z-index:2 !important;
}
.rc22-call.screen-present .rc22-remote-tile.screen-share video,
.rc22-call.screen-sharing .rc22-remote-tile.screen-share video{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:#020617 !important;
}
.rc22-call.screen-present .rc22-remote-tile:not(.screen-share),
.rc22-call.screen-sharing .rc22-remote-tile:not(.screen-share){
  position:absolute !important;
  right:18px !important;
  bottom:18px !important;
  width:210px !important;
  height:128px !important;
  min-height:0 !important;
  border-radius:18px !important;
  z-index:5 !important;
  box-shadow:0 24px 60px rgba(0,0,0,.46) !important;
}
.rc22-call.screen-present .rc22-local,
.rc22-call.screen-sharing .rc22-local{
  right:18px !important;
  bottom:18px !important;
  top:auto !important;
  transform:none !important;
  width:210px !important;
  height:128px !important;
  border-radius:18px !important;
  z-index:6 !important;
  opacity:.96 !important;
}
.rc22-call.screen-present .rc22-placeholder,
.rc22-call.screen-sharing .rc22-placeholder{
  display:none !important;
}
.rc22-call.screen-present .rc22-remote-label,
.rc22-call.screen-sharing .rc22-remote-label{
  left:18px !important;
  top:18px !important;
  bottom:auto !important;
  background:rgba(15,23,42,.72) !important;
}
.rc22-call.screen-present #rc22Screen,
.rc22-call.screen-sharing #rc22Screen{
  background:linear-gradient(135deg,#f59e0b,#ef4444) !important;
  color:#fff !important;
}
@media(max-width:900px){
  .rc22-call.screen-present .rc22-remote-tile:not(.screen-share),
  .rc22-call.screen-sharing .rc22-remote-tile:not(.screen-share),
  .rc22-call.screen-present .rc22-local,
  .rc22-call.screen-sharing .rc22-local{
    width:150px !important;
    height:94px !important;
    right:12px !important;
    bottom:12px !important;
  }
}
@media(max-width:640px){
  .rc22-call.screen-present .rc22-remote-tile.screen-share,
  .rc22-call.screen-sharing .rc22-remote-tile.screen-share{
    border-radius:20px !important;
  }
  .rc22-call.screen-present .rc22-remote-tile:not(.screen-share),
  .rc22-call.screen-sharing .rc22-remote-tile:not(.screen-share),
  .rc22-call.screen-present .rc22-local,
  .rc22-call.screen-sharing .rc22-local{
    width:116px !important;
    height:72px !important;
    right:10px !important;
    bottom:10px !important;
    border-radius:14px !important;
  }
}

/* =========================================================
   Rabbit V21 — Floating Chat Dashboard Soft Premium
   Layout 3 colonne desktop + mobile contacts fix.
   Solo UI della chat: nessuna modifica a realtime / Supabase.
   ========================================================= */
#rc22Button.rc22-button{
  right:28px !important;
  bottom:28px !important;
  min-width:76px !important;
  width:76px !important;
  height:64px !important;
  padding:0 !important;
  border-radius:20px !important;
  background:#7aa7ea !important;
  color:#fff !important;
  box-shadow:0 22px 55px rgba(55,98,170,.28),0 10px 22px rgba(15,23,42,.12) !important;
  border:1px solid rgba(255,255,255,.62) !important;
}
#rc22Button .rc22-button-icon{
  width:46px !important;
  height:46px !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:24px !important;
}
#rc22Button .rc22-button-text{display:none !important;}
#rc22Button::after{
  content:"3" !important;
  position:absolute !important;
  right:8px !important;
  top:6px !important;
  width:20px !important;
  height:20px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#64748b !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:900 !important;
  border:2px solid #fff !important;
}

#rc22Panel.rc22-panel{
  right:28px !important;
  bottom:106px !important;
  width:min(1180px,calc(100vw - 56px)) !important;
  height:min(720px,calc(100dvh - 132px)) !important;
  display:none !important;
  grid-template-columns:226px minmax(420px,1fr) 238px !important;
  border-radius:28px !important;
  overflow:hidden !important;
  border:1px solid rgba(226,232,240,.86) !important;
  background:rgba(245,247,251,.96) !important;
  color:#111827 !important;
  box-shadow:0 34px 90px rgba(15,23,42,.22),0 12px 32px rgba(15,23,42,.10) !important;
  backdrop-filter:blur(20px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(125%) !important;
  font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif !important;
}
#rc22Panel.rc22-panel.open{display:grid !important;}

#rc22Panel .rc22-sidebar{
  min-width:0 !important;
  background:#eef2f7 !important;
  border-right:1px solid #e1e7ef !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
}
#rc22Panel .rc22-head{
  min-height:76px !important;
  padding:18px 18px 10px !important;
  background:transparent !important;
  border-bottom:0 !important;
}
#rc22Panel .rc22-head b{
  font-size:20px !important;
  letter-spacing:-.04em !important;
  color:#0f172a !important;
}
#rc22Panel .rc22-head small{
  color:#64748b !important;
  font-size:12px !important;
  font-weight:700 !important;
}
#rc22Panel .rc22-close{
  border-radius:14px !important;
  background:rgba(255,255,255,.75) !important;
  border:1px solid #dbe3ed !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
}
#rc22Panel .rc22-search{
  padding:8px 16px 14px !important;
  border-bottom:0 !important;
}
#rc22Panel .rc22-search input{
  min-height:44px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid #dbe3ed !important;
  color:#0f172a !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}
#rc22Panel .rc22-list{
  padding:8px 14px 18px !important;
  gap:10px !important;
  overflow:auto !important;
}
#rc22Panel .rc22-contact{
  min-height:68px !important;
  padding:10px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid #dfe6ef !important;
  box-shadow:0 10px 26px rgba(15,23,42,.055) !important;
  grid-template-columns:46px minmax(0,1fr) !important;
}
#rc22Panel .rc22-contact:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.09) !important;
}
#rc22Panel .rc22-contact.active{
  background:linear-gradient(135deg,#1e1b4b,#31416f) !important;
  border-color:rgba(30,27,75,.24) !important;
  color:#fff !important;
  box-shadow:0 18px 40px rgba(30,27,75,.22) !important;
}
#rc22Panel .rc22-contact.active .rc22-contact-text b,
#rc22Panel .rc22-contact.active .rc22-contact-text small{color:#fff !important;}
#rc22Panel .rc22-avatar{
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#80cbc4,#3b82f6) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45) !important;
}
#rc22Panel .rc22-contact-text b{
  font-size:13px !important;
  font-weight:850 !important;
  color:#111827 !important;
}
#rc22Panel .rc22-contact-text small{
  font-size:11px !important;
  color:#64748b !important;
}

#rc22Panel .rc22-main{
  min-width:0 !important;
  background:#fff !important;
  border-radius:24px !important;
  margin:0 !important;
  box-shadow:0 18px 50px rgba(15,23,42,.08) !important;
  grid-template-rows:78px minmax(0,1fr) 72px !important;
}
#rc22Panel .rc22-thread-head{
  min-height:78px !important;
  padding:18px 22px !important;
  background:#fff !important;
  border-bottom:1px solid #eef2f7 !important;
  border-radius:24px 24px 0 0 !important;
}
#rc22Panel .rc22-peer .rc22-avatar{display:none !important;}
#rc22Panel .rc22-peer-text b{
  font-size:20px !important;
  color:#111827 !important;
  letter-spacing:-.04em !important;
}
#rc22Panel .rc22-peer-text small{
  color:#94a3b8 !important;
  font-size:12px !important;
}
#rc22Panel .rc22-tools{gap:7px !important;}
#rc22Panel .rc22-tool{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  border:1px solid #e2e8f0 !important;
  background:#f8fafc !important;
  box-shadow:none !important;
  font-size:15px !important;
}
#rc22Panel .rc22-tool.audio{background:#d1fae5 !important;color:#047857 !important;border-color:#bbf7d0 !important;}
#rc22Panel .rc22-tool.video{background:#dbeafe !important;color:#2563eb !important;border-color:#bfdbfe !important;}
#rc22Panel .rc22-tool.conference{background:#ede9fe !important;color:#6d28d9 !important;border-color:#ddd6fe !important;}

#rc22Panel .rc22-messages{
  background:#fff !important;
  padding:22px 24px !important;
  gap:16px !important;
}
#rc22Panel .rc22-empty{
  margin:auto !important;
  color:#64748b !important;
  font-weight:750 !important;
}
#rc22Panel .rc22-bubble{
  max-width:min(72%,560px) !important;
  background:#e9edf2 !important;
  color:#111827 !important;
  border:0 !important;
  border-radius:20px 20px 20px 8px !important;
  box-shadow:none !important;
  padding:13px 16px !important;
  line-height:1.4 !important;
  font-size:14px !important;
}
#rc22Panel .rc22-bubble.me{
  align-self:flex-end !important;
  border-radius:20px 20px 8px 20px !important;
  background:#82aeea !important;
  color:#fff !important;
  box-shadow:none !important;
}
#rc22Panel .rc22-bubble small{
  display:block !important;
  margin-top:7px !important;
  color:inherit !important;
  opacity:.62 !important;
  font-size:10px !important;
  background:transparent !important;
  padding:0 !important;
}
#rc22Panel .rc22-compose{
  padding:12px 18px 18px !important;
  background:#fff !important;
  border-top:0 !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:8px !important;
  border-radius:0 0 24px 24px !important;
}
#rc22Panel .rc22-compose input{
  min-height:48px !important;
  border-radius:999px !important;
  border:1px solid #dbe3ed !important;
  background:#fff !important;
  padding:0 16px !important;
  font-size:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}
#rc22Panel .rc22-compose button{
  min-height:42px !important;
  align-self:center !important;
  border-radius:999px !important;
  padding:0 18px !important;
  background:#82aeea !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(92,139,204,.22) !important;
}

#rc22Panel .rc22-info{
  min-width:0 !important;
  background:#eef2f7 !important;
  padding:24px 18px !important;
  overflow:auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
  border-left:1px solid #e1e7ef !important;
}
#rc22Panel .rc22-info-block h3{
  margin:0 0 12px !important;
  color:#111827 !important;
  font-size:15px !important;
  font-weight:850 !important;
  letter-spacing:-.02em !important;
}
#rc22Panel .rc22-info-contacts{display:grid !important;gap:10px !important;}
#rc22Panel .rc22-info-contact{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) 10px !important;
  align-items:center !important;
  gap:10px !important;
  min-height:48px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  cursor:pointer !important;
  text-align:left !important;
  color:#111827 !important;
}
#rc22Panel .rc22-info-avatar{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  font-weight:900 !important;
  background:linear-gradient(135deg,#80cbc4,#7aa7ea) !important;
}
#rc22Panel .rc22-info-name{min-width:0 !important;}
#rc22Panel .rc22-info-name b,
#rc22Panel .rc22-info-name small{
  display:block !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
#rc22Panel .rc22-info-name b{font-size:13px !important;font-weight:750 !important;}
#rc22Panel .rc22-info-name small{font-size:10px !important;color:#64748b !important;margin-top:2px !important;}
#rc22Panel .rc22-info-contact i{
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#4ade80 !important;
  box-shadow:0 0 0 3px rgba(74,222,128,.16) !important;
}
#rc22Panel .rc22-info-contact.off i{background:#94a3b8 !important;box-shadow:0 0 0 3px rgba(148,163,184,.16) !important;}
#rc22Panel .rc22-info-contact.away i{background:#f59e0b !important;box-shadow:0 0 0 3px rgba(245,158,11,.16) !important;}
#rc22Panel .rc22-soft-pill{
  display:inline-flex !important;
  margin:0 6px 8px 0 !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#475569 !important;
  border:1px solid #dfe6ef !important;
  font-size:12px !important;
  font-weight:750 !important;
}
#rc22Panel .rc22-info-activity p,
#rc22Panel .rc22-info-empty{
  margin:0 !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
}

@media (max-width: 1040px){
  #rc22Panel.rc22-panel{
    grid-template-columns:210px minmax(0,1fr) !important;
  }
  #rc22Panel .rc22-info{display:none !important;}
}

@media (max-width: 640px){
  #rc22Button.rc22-button{
    right:18px !important;
    bottom:calc(18px + env(safe-area-inset-bottom,0px)) !important;
    width:62px !important;
    min-width:62px !important;
    height:62px !important;
    border-radius:50% !important;
  }
  #rc22Panel.rc22-panel{
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:0 !important;
    display:none !important;
    grid-template-columns:1fr !important;
    grid-template-rows:154px minmax(0,1fr) !important;
    background:#f6f8fb !important;
  }
  #rc22Panel.rc22-panel.open{display:grid !important;}
  #rc22Panel .rc22-sidebar{
    min-height:0 !important;
    grid-template-rows:auto auto minmax(0,1fr) !important;
    border-right:0 !important;
    border-bottom:1px solid #e1e7ef !important;
    background:#f6f8fb !important;
    overflow:hidden !important;
  }
  #rc22Panel .rc22-head{
    min-height:50px !important;
    padding:8px 12px 4px !important;
  }
  #rc22Panel .rc22-head b{font-size:16px !important;}
  #rc22Panel .rc22-head small{display:none !important;}
  #rc22Panel .rc22-search{padding:4px 12px 8px !important;}
  #rc22Panel .rc22-search input{min-height:36px !important;font-size:13px !important;}
  #rc22Panel .rc22-list{
    display:flex !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:8px !important;
    padding:0 12px 10px !important;
    align-content:normal !important;
  }
  #rc22Panel .rc22-contact{
    flex:0 0 154px !important;
    width:154px !important;
    min-height:56px !important;
    grid-template-columns:36px minmax(0,1fr) !important;
    padding:8px !important;
    border-radius:16px !important;
  }
  #rc22Panel .rc22-avatar{
    width:36px !important;
    height:36px !important;
    border-radius:50% !important;
    font-size:12px !important;
  }
  #rc22Panel .rc22-contact-text b{font-size:12px !important;}
  #rc22Panel .rc22-contact-text small{font-size:10px !important;}
  #rc22Panel .rc22-main{
    min-height:0 !important;
    border-radius:20px 20px 0 0 !important;
    grid-template-rows:88px minmax(0,1fr) auto !important;
    box-shadow:none !important;
  }
  #rc22Panel .rc22-thread-head{
    min-height:88px !important;
    padding:12px !important;
    border-radius:20px 20px 0 0 !important;
    flex-direction:row !important;
    align-items:center !important;
  }
  #rc22Panel .rc22-peer .rc22-avatar{display:grid !important;width:42px !important;height:42px !important;}
  #rc22Panel .rc22-peer-text b{font-size:16px !important;}
  #rc22Panel .rc22-peer-text small{font-size:11px !important;}
  #rc22Panel .rc22-tools{
    max-width:148px !important;
    overflow-x:auto !important;
    justify-content:flex-end !important;
  }
  #rc22Panel .rc22-tool{width:38px !important;height:38px !important;min-width:38px !important;}
  #rc22Panel .rc22-messages{padding:14px 12px !important;gap:10px !important;}
  #rc22Panel .rc22-bubble{max-width:84% !important;font-size:13px !important;padding:11px 13px !important;}
  #rc22Panel .rc22-compose{
    position:sticky !important;
    bottom:0 !important;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px)) !important;
    grid-template-columns:1fr 76px !important;
    gap:8px !important;
  }
  #rc22Panel .rc22-compose input{min-height:46px !important;font-size:16px !important;}
  #rc22Panel .rc22-compose button{min-height:46px !important;padding:0 12px !important;}
}


/* =========================================================
   Rabbit V22 — Chat toolbar iconcine ridisegnate
   Solo estetica: sostituisce emoji con icone SVG soft-mint.
   ========================================================= */

.rc22-thread-head .rc22-tools{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:9px !important;
}

.rc22-thread-head .rc22-tool{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:999px !important;
  border:1px solid rgba(16,185,129,.20) !important;
  background:linear-gradient(180deg,#d9fbe9 0%,#bff4dc 100%) !important;
  color:#0f766e !important;
  box-shadow:
    0 10px 20px rgba(15,118,110,.10),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  line-height:1 !important;
  font-size:0 !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.rc22-thread-head .rc22-tool:hover{
  transform:translateY(-1px) !important;
  background:linear-gradient(180deg,#c9f8df 0%,#a7efd0 100%) !important;
  box-shadow:
    0 16px 28px rgba(15,118,110,.16),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.rc22-thread-head .rc22-tool svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
  fill:currentColor !important;
  stroke:none !important;
}

.rc22-thread-head .rc22-tool.conference{
  background:linear-gradient(180deg,#d9fbe9 0%,#bff4dc 100%) !important;
  color:#0f766e !important;
  border-color:rgba(16,185,129,.24) !important;
}

.rc22-thread-head .rc22-tool.audio{
  background:linear-gradient(180deg,#dff8ec 0%,#bff4dc 100%) !important;
  color:#0f766e !important;
  border-color:rgba(15,118,110,.24) !important;
}

.rc22-thread-head .rc22-tool.video{
  background:linear-gradient(180deg,#dcefff 0%,#cfe4ff 100%) !important;
  color:#2563eb !important;
  border-color:rgba(37,99,235,.18) !important;
}

.rc22-thread-head .rc22-tool.reload{
  background:linear-gradient(180deg,#d9fbe9 0%,#bff4dc 100%) !important;
  color:#0f766e !important;
  border-color:rgba(16,185,129,.24) !important;
}

@media(max-width:640px){
  .rc22-thread-head .rc22-tools{
    gap:7px !important;
    overflow-x:auto !important;
    max-width:100% !important;
    padding-bottom:2px !important;
  }
  .rc22-thread-head .rc22-tool{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
  }
}

/* =========================================================
   Rabbit V23 — Colore evento personalizzato Calendar Pro
   UI picker + rendering card evento con colore HEX salvato.
   ========================================================= */
.event-color-field{
  display:grid !important;
  gap:8px !important;
  align-content:start !important;
}
.event-color-field > span{
  color:#334155 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}
.event-color-field small{
  color:#64748b !important;
  font-size:11px !important;
  font-weight:650 !important;
  line-height:1.3 !important;
}
.event-color-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  min-height:42px !important;
}
.event-color-swatch{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  border-radius:999px !important;
  border:2px solid rgba(203,213,225,.88) !important;
  background:var(--swatch,#bfdbfe) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.08), inset 0 0 0 3px rgba(255,255,255,.72) !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  cursor:pointer !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
  color:#0f172a !important;
  position:relative !important;
}
.event-color-swatch:hover{
  transform:translateY(-1px) scale(1.04) !important;
  border-color:#94a3b8 !important;
  box-shadow:0 12px 24px rgba(15,23,42,.12), inset 0 0 0 3px rgba(255,255,255,.78) !important;
}
.event-color-swatch span{
  opacity:0 !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(15,23,42,.78) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:950 !important;
  line-height:1 !important;
}
.event-color-swatch.active{
  border-color:#0f172a !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14),0 14px 28px rgba(15,23,42,.12), inset 0 0 0 3px rgba(255,255,255,.78) !important;
}
.event-color-swatch.active span{
  opacity:1 !important;
}
.event-color-custom{
  background:linear-gradient(135deg,#eff6ff,#f8fafc) !important;
  border-style:dashed !important;
}
.event-color-custom input[type="color"]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  cursor:pointer !important;
}
.event-color-custom span{
  opacity:1 !important;
  background:transparent !important;
  color:#2563eb !important;
  font-size:18px !important;
}
#weekly .gcal-event.event-colored{
  border-left-color:var(--event-accent,#14b8a6) !important;
  border-color:var(--event-border,rgba(148,163,184,.20)) !important;
  background:linear-gradient(135deg,var(--event-bg,#f8fbff) 0%,#ffffff 100%) !important;
  color:#0f172a !important;
}
#weekly .gcal-event.event-colored:hover,
#weekly .gcal-event.event-colored:focus-within{
  border-left-color:var(--event-accent,#14b8a6) !important;
  border-color:var(--event-accent,#14b8a6) !important;
  background:linear-gradient(135deg,var(--event-bg,#f8fbff) 0%,#ffffff 86%) !important;
  box-shadow:0 16px 30px -18px rgba(15,23,42,.36),0 0 0 1px color-mix(in srgb,var(--event-accent,#14b8a6) 16%,transparent) !important;
}
#weekly .gcal-event.event-colored b{
  color:#0f172a !important;
}
#weekly .gcal-event.event-colored small{
  color:#475569 !important;
}
#weekly .gcal-event.event-colored::after{
  color:#64748b !important;
}

/* =========================================================
   Rabbit V24 — Promemoria evento + Calendar personale profilo
   ========================================================= */
#maskBody #ev_reminder{
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid #dbe4ef !important;
  background:#fff !important;
  color:#0f172a !important;
  font-weight:750 !important;
}
.profile-calendar-panel{
  padding:0 !important;
  overflow:hidden !important;
}
.profile-calendar-compact{
  width:100% !important;
  min-width:0 !important;
  background:#fff !important;
  border-radius:22px !important;
  overflow:hidden !important;
}
.profile-calendar-toolbar{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:18px 18px 14px !important;
  border-bottom:1px solid #edf2f7 !important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%) !important;
}
.profile-calendar-toolbar b{
  display:block !important;
  color:#0f172a !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}
.profile-calendar-toolbar small{
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:700 !important;
}
.profile-calendar-toolbar > div:last-child{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}
.profile-calendar-toolbar button{
  min-height:36px !important;
  border-radius:999px !important;
  padding:0 13px !important;
  border:1px solid #dbeafe !important;
  background:#fff !important;
  color:#1d4ed8 !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
.profile-calendar-toolbar button:first-child{
  background:linear-gradient(135deg,#2563eb,#10b981) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 24px rgba(37,99,235,.14) !important;
}
.profile-calendar-head{
  display:grid !important;
  grid-template-columns:58px repeat(7,minmax(0,1fr)) !important;
  border-bottom:1px solid #edf2f7 !important;
  background:#fff !important;
}
.profile-calendar-head > div{
  min-height:58px !important;
  display:grid !important;
  place-items:center !important;
  border-left:1px solid #edf2f7 !important;
  color:#0f172a !important;
}
.profile-calendar-head small{
  color:#64748b !important;
  font-size:10px !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
}
.profile-calendar-head b{
  display:grid !important;
  place-items:center !important;
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:950 !important;
}
.profile-calendar-head .today b{
  background:#dbeafe !important;
  color:#1d4ed8 !important;
}
.profile-calendar-grid{
  display:grid !important;
  grid-template-columns:58px repeat(7,minmax(0,1fr)) !important;
  min-height:462px !important;
  max-height:520px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.profile-calendar-hours{
  display:grid !important;
  grid-template-rows:repeat(11,42px) !important;
  border-right:1px solid #edf2f7 !important;
  background:#fbfdff !important;
}
.profile-calendar-hours span{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding-top:4px !important;
  color:#64748b !important;
  font-size:10px !important;
  font-weight:800 !important;
  border-bottom:1px solid #f1f5f9 !important;
}
.profile-calendar-day{
  position:relative !important;
  min-width:0 !important;
  min-height:462px !important;
  border-left:1px solid #f1f5f9 !important;
  cursor:crosshair !important;
  background:linear-gradient(180deg,#fff,#fbfdff) !important;
}
.profile-calendar-day:hover{
  background:#f8fbff !important;
}
.profile-calendar-row{
  display:block !important;
  height:42px !important;
  border-bottom:1px solid #f1f5f9 !important;
}
.profile-calendar-event{
  position:absolute !important;
  left:6px !important;
  right:6px !important;
  z-index:2 !important;
  display:block !important;
  text-align:left !important;
  overflow:hidden !important;
  border-radius:13px !important;
  border:1px solid var(--event-border,#dbeafe) !important;
  border-left:4px solid var(--event-accent,#38bdf8) !important;
  background:var(--event-bg,#eff6ff) !important;
  color:#0f172a !important;
  padding:7px 8px !important;
  box-shadow:0 10px 20px rgba(15,23,42,.07) !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
.profile-calendar-event:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.12) !important;
}
.profile-calendar-event b,
.profile-calendar-event small{
  display:block !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
.profile-calendar-event b{
  font-size:11px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
}
.profile-calendar-event small{
  margin-top:3px !important;
  color:#475569 !important;
  font-size:9.5px !important;
  font-weight:800 !important;
}
@media(max-width:900px){
  .profile-calendar-head,
  .profile-calendar-grid{grid-template-columns:44px repeat(7,minmax(72px,1fr)) !important; overflow-x:auto !important;}
  .profile-calendar-compact{overflow-x:auto !important;}
  .profile-calendar-grid{min-width:720px !important;}
  .profile-calendar-head{min-width:720px !important;}
}
@media(max-width:640px){
  .profile-calendar-toolbar{flex-direction:column !important;}
  .profile-calendar-grid{max-height:440px !important;}
}

/* =========================================================
   Rabbit V25 — Home operativa a widget come reference image_78
   ========================================================= */
#home.active:has(.rabbit-ops-home),
#home .rabbit-ops-home{
  background:transparent !important;
}
#home .rabbit-ops-home{
  width:min(1040px, calc(100vw - 340px)) !important;
  margin:18px auto 88px !important;
  display:grid !important;
  grid-template-columns:minmax(240px,1fr) minmax(260px,1.08fr) minmax(240px,1fr) !important;
  grid-template-areas:
    "critical agenda programs"
    "social   agenda docs"
    "invoices admin admin" !important;
  gap:18px !important;
  align-items:start !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
#home .rabbit-ops-card{
  background:#fff !important;
  border:1px solid rgba(203,213,225,.72) !important;
  border-radius:17px !important;
  box-shadow:0 18px 48px rgba(15,23,42,.12),0 2px 6px rgba(15,23,42,.04) !important;
  padding:13px !important;
  overflow:hidden !important;
  color:#111827 !important;
}
#home .ops-critical{grid-area:critical !important;}
#home .ops-agenda{grid-area:agenda !important;min-height:475px !important;}
#home .ops-programs{grid-area:programs !important;}
#home .ops-social{grid-area:social !important;min-height:330px !important;}
#home .ops-docs{grid-area:docs !important;}
#home .ops-invoices{grid-area:invoices !important;}
#home .ops-admin{grid-area:admin !important;min-height:170px !important;}
#home .ops-card-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 10px !important;
}
#home .ops-card-head h3{
  margin:0 !important;
  color:#0f172a !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
}
#home .ops-badge{
  min-width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:7px !important;
  font-size:11px !important;
  font-weight:950 !important;
}
#home .ops-badge.danger{background:#ef4444 !important;color:#fff !important;}
#home .ops-alert,
#home .ops-list-row,
#home .ops-doc-row{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto auto !important;
  align-items:center !important;
  gap:8px !important;
  min-height:48px !important;
  padding:8px !important;
  border-radius:10px !important;
  border:1px solid #e5eaf1 !important;
  background:#f8fafc !important;
  margin:0 0 7px !important;
}
#home .ops-list-row,
#home .ops-doc-row{
  grid-template-columns:minmax(0,1fr) auto !important;
  background:#fff !important;
  border-color:#e8eef5 !important;
  box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
}
#home .ops-alert.danger{background:#fff1f2 !important;border-color:#fecdd3 !important;}
#home .ops-alert.warn{background:#fff7ed !important;border-color:#fed7aa !important;}
#home .ops-alert.ok{background:#ecfdf5 !important;border-color:#bbf7d0 !important;}
#home .ops-alert-ico{
  width:28px !important;
  height:28px !important;
  border-radius:8px !important;
  display:grid !important;
  place-items:center !important;
  font-size:14px !important;
  font-weight:950 !important;
}
#home .ops-alert.danger .ops-alert-ico{background:#fee2e2 !important;color:#991b1b !important;}
#home .ops-alert.warn .ops-alert-ico{background:#ffedd5 !important;color:#9a3412 !important;}
#home .ops-alert.ok .ops-alert-ico{background:#d1fae5 !important;color:#065f46 !important;}
#home .ops-alert b,
#home .ops-list-row b,
#home .ops-doc-row b,
#home .ops-program-row b{
  display:block !important;
  color:#0f172a !important;
  font-size:12px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#home .ops-alert small,
#home .ops-list-row small,
#home .ops-doc-row small,
#home .ops-program-row small{
  display:block !important;
  margin-top:3px !important;
  color:#64748b !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#home .ops-alert em{
  min-width:42px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 6px !important;
  border-radius:7px !important;
  font-style:normal !important;
  font-size:9px !important;
  font-weight:900 !important;
  background:rgba(15,23,42,.06) !important;
  color:#334155 !important;
}
#home .ops-alert button,
#home .ops-list-row button,
#home .ops-doc-row button,
#home .ops-table button{
  min-width:34px !important;
  height:34px !important;
  border:0 !important;
  border-radius:9px !important;
  background:#5d9694 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  box-shadow:0 5px 12px rgba(13,148,136,.18) !important;
}
#home .ops-subtitle{
  margin:4px 0 7px !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:950 !important;
}
#home .ops-subtitle.spaced{margin-top:16px !important;}
#home .ops-social-row{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) auto !important;
  gap:9px !important;
  padding:9px 0 !important;
  border-bottom:1px solid #edf2f7 !important;
}
#home .ops-social-row:last-of-type{border-bottom:0 !important;}
#home .ops-avatar{
  width:34px !important;height:34px !important;border-radius:999px !important;
  display:grid !important;place-items:center !important;
  background:linear-gradient(135deg,#dbeafe,#99f6e4) !important;
  color:#0f4c81 !important;font-weight:950 !important;
}
#home .ops-social-row b{display:block !important;font-size:12px !important;font-weight:950 !important;color:#0f172a !important;}
#home .ops-social-row small{display:block !important;font-size:10px !important;color:#64748b !important;font-weight:750 !important;}
#home .ops-social-row p{margin:5px 0 0 !important;font-size:11px !important;line-height:1.35 !important;color:#334155 !important;}
#home .ops-row-icons{display:flex !important;gap:4px !important;align-self:center !important;}
#home .ops-row-icons button{
  width:22px !important;height:22px !important;border:0 !important;background:transparent !important;
  color:#334155 !important;font-size:14px !important;cursor:pointer !important;
}
#home .ops-actions{display:flex !important;gap:8px !important;margin-top:10px !important;}
#home .ops-actions button{
  min-height:32px !important;border-radius:10px !important;border:1px solid #dbe4ee !important;background:#fff !important;color:#0f172a !important;font-weight:850 !important;padding:0 12px !important;
}
#home .ops-program-row{padding:8px 0 12px !important;border-bottom:1px solid #edf2f7 !important;}
#home .ops-program-row:last-child{border-bottom:0 !important;}
#home .ops-progress{
  height:6px !important;border-radius:999px !important;background:#e5e7eb !important;overflow:hidden !important;margin-top:8px !important;
}
#home .ops-progress span{display:block !important;height:100% !important;border-radius:999px !important;background:#5d9694 !important;}
#home .ops-file-grid{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:8px !important;margin-top:12px !important;}
#home .ops-file-tile{
  min-height:74px !important;border-radius:12px !important;border:1px solid #dbe4ee !important;background:#fff !important;
  display:grid !important;place-items:center !important;gap:4px !important;padding:8px 4px !important;cursor:pointer !important;
  box-shadow:0 5px 14px rgba(15,23,42,.04) !important;
}
#home .ops-file-tile i{width:36px !important;height:36px !important;border-radius:8px !important;display:grid !important;place-items:center !important;color:#fff !important;font-style:normal !important;font-weight:950 !important;}
#home .ops-file-tile span{font-size:10px !important;font-weight:850 !important;color:#334155 !important;max-width:62px !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
#home .ops-file-tile.pdf i{background:#df473b !important;}
#home .ops-file-tile.sheet i{background:#31a36b !important;}
#home .ops-file-tile.doc i{background:#2fb36c !important;}
#home .ops-file-tile.file i{background:#3b82f6 !important;}
#home .ops-tabs{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:0 !important;border-bottom:1px solid #dbe4ee !important;margin:0 0 10px !important;}
#home .ops-tabs button{height:34px !important;border:0 !important;background:transparent !important;color:#64748b !important;font-weight:850 !important;cursor:pointer !important;}
#home .ops-tabs button.active{color:#0f172a !important;border-bottom:2px solid #5d9694 !important;}
#home .ops-table{width:100% !important;border-collapse:collapse !important;font-size:11px !important;}
#home .ops-table th{color:#475569 !important;font-weight:950 !important;text-align:left !important;padding:7px 8px !important;background:#f8fafc !important;border-bottom:1px solid #e2e8f0 !important;}
#home .ops-table td{padding:8px !important;border-bottom:1px solid #eef2f7 !important;color:#334155 !important;font-weight:700 !important;}
@media (max-width:1200px){
  #home .rabbit-ops-home{width:calc(100vw - 270px) !important;grid-template-columns:1fr 1fr !important;grid-template-areas:"critical agenda" "programs agenda" "social docs" "invoices admin" !important;}
}
@media (max-width:760px){
  #home .rabbit-ops-home{width:100% !important;margin:12px 0 90px !important;grid-template-columns:1fr !important;grid-template-areas:"critical" "agenda" "programs" "social" "docs" "invoices" "admin" !important;gap:12px !important;}
  #home .rabbit-ops-card{border-radius:18px !important;padding:12px !important;}
  #home .ops-agenda{min-height:auto !important;}
  #home .ops-file-grid{grid-template-columns:repeat(2,1fr) !important;}
}

/* =========================================================
   Rabbit File Madre — Home lower section coherence
   Unifica la sezione evidenziata sotto “Vai dove ti serve”
   con lo stesso linguaggio visivo delle card superiori.
   Solo stile/layout: nessuna logica dati alterata.
   ========================================================= */
#homePriorityDeck.rabbit-home-operational-deck{
  width:min(980px, calc(100vw - 260px)) !important;
  margin:28px auto 90px !important;
  padding:18px !important;
  border-radius:26px !important;
  border:1px solid rgba(226,232,240,.76) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.24)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82) !important;
}
#homePriorityDeck.rabbit-home-operational-deck .priority-board,
#homePriorityDeck.rabbit-home-operational-deck .home-grid{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#homePriorityDeck.rabbit-home-operational-deck .home-grid{
  margin-top:18px !important;
  align-items:start !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-col,
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card{
  min-width:0 !important;
  min-height:190px !important;
  padding:14px !important;
  border-radius:18px !important;
  border:1px solid #e2eaf3 !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%) !important;
  color:#0f172a !important;
  box-shadow:0 14px 34px rgba(15,23,42,.075),0 3px 10px rgba(15,23,42,.04) !important;
  overflow:hidden !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-col:hover,
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:hover{
  transform:translateY(-2px) !important;
  border-color:#d6e3f2 !important;
  box-shadow:0 22px 46px rgba(15,23,42,.11),0 8px 18px rgba(15,23,42,.06) !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-col h3,
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card h3{
  min-height:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:0 0 12px !important;
  color:#0f172a !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-col h3::before,
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card h3::before{
  content:"" !important;
  width:29px !important;
  height:29px !important;
  min-width:29px !important;
  border-radius:10px !important;
  display:inline-grid !important;
  place-items:center !important;
  margin-right:0 !important;
  background:#dcfce7 !important;
  border:1px solid #bbf7d0 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78) !important;
}
#homePriorityDeck.rabbit-home-operational-deck .priority-board .board-col:nth-child(1) h3::before{background:#fef3c7 !important;border-color:#fde68a !important;}
#homePriorityDeck.rabbit-home-operational-deck .priority-board .board-col:nth-child(2) h3::before{background:#dbeafe !important;border-color:#bfdbfe !important;}
#homePriorityDeck.rabbit-home-operational-deck .priority-board .board-col:nth-child(3) h3::before{background:#dcfce7 !important;border-color:#bbf7d0 !important;}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(1) h3::before{background:#f3e8ff !important;border-color:#e9d5ff !important;}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(2) h3::before{background:#ffedd5 !important;border-color:#fed7aa !important;}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(3) h3::before{background:#e0f2fe !important;border-color:#bae6fd !important;}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(4) h3::before{background:#fef2f2 !important;border-color:#fecaca !important;}
#homePriorityDeck.rabbit-home-operational-deck .pill,
#homePriorityDeck.rabbit-home-operational-deck h3 .pill,
#homePriorityDeck.rabbit-home-operational-deck h3 span{
  min-width:22px !important;
  height:22px !important;
  display:inline-grid !important;
  place-items:center !important;
  padding:0 6px !important;
  border-radius:7px !important;
  border:1px solid #dbe4ee !important;
  background:#f1f5f9 !important;
  color:#475569 !important;
  font-size:11px !important;
  font-weight:950 !important;
}
#homePriorityDeck.rabbit-home-operational-deck h3 .pill.bad,
#homePriorityDeck.rabbit-home-operational-deck h3 span.bad{
  background:#fff1f2 !important;
  color:#b91c1c !important;
  border-color:#fecdd3 !important;
}
#homePriorityDeck.rabbit-home-operational-deck h3 .pill.manager,
#homePriorityDeck.rabbit-home-operational-deck h3 span.manager{
  background:#ecfdf5 !important;
  color:#047857 !important;
  border-color:#bbf7d0 !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-item,
#homePriorityDeck.rabbit-home-operational-deck .row,
#homePriorityDeck.rabbit-home-operational-deck .mini-row{
  min-height:52px !important;
  margin:0 0 9px !important;
  padding:10px !important;
  border-radius:13px !important;
  border:1px solid #e6edf5 !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 7px 18px rgba(15,23,42,.045) !important;
  color:#0f172a !important;
}
#homePriorityDeck.rabbit-home-operational-deck .row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-item b,
#homePriorityDeck.rabbit-home-operational-deck .row b,
#homePriorityDeck.rabbit-home-operational-deck .mini-row b{
  display:block !important;
  max-width:100% !important;
  color:#0f172a !important;
  font-size:11.5px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-item small,
#homePriorityDeck.rabbit-home-operational-deck .row small,
#homePriorityDeck.rabbit-home-operational-deck .mini-row small{
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:9.5px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#homePriorityDeck.rabbit-home-operational-deck .mini-row p,
#homePriorityDeck.rabbit-home-operational-deck .muted{
  color:#334155 !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}
#homePriorityDeck.rabbit-home-operational-deck .actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  margin-top:9px !important;
}
#homePriorityDeck.rabbit-home-operational-deck button{
  min-height:30px !important;
  border-radius:10px !important;
  border:1px solid #dbeafe !important;
  background:#ffffff !important;
  color:#1e3a8a !important;
  font-size:11px !important;
  font-weight:900 !important;
  padding:0 11px !important;
  cursor:pointer !important;
  box-shadow:0 6px 14px rgba(15,23,42,.045) !important;
}
#homePriorityDeck.rabbit-home-operational-deck button:hover{
  border-color:#bfdbfe !important;
  background:#eff6ff !important;
}
#homePriorityDeck.rabbit-home-operational-deck .progress-track{
  height:6px !important;
  margin-top:8px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:#e5e7eb !important;
}
#homePriorityDeck.rabbit-home-operational-deck .progress-fill{
  height:100% !important;
  border-radius:999px !important;
  background:#5d9694 !important;
}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(4){
  min-height:110px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(4) h3::before{
  background:#fef2f2 !important;
  border-color:#fecaca !important;
}
#homePriorityDeck.rabbit-home-operational-deck:empty{display:none !important;}
@media(max-width:1200px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:calc(100vw - 250px) !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:100% !important;
    margin:14px 0 90px !important;
    padding:10px !important;
    border-radius:22px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{margin-top:12px !important;}
}

/* =========================================================
   Rabbit File Madre — Home lower full-width spread fix
   Spalma la sezione operativa inferiore lungo la pagina,
   mantenendo la coerenza estetica con “Vai dove ti serve”.
   ========================================================= */
#homePriorityDeck.rabbit-home-operational-deck{
  width:calc(100% - 72px) !important;
  max-width:1480px !important;
  min-width:0 !important;
  margin:28px auto 96px !important;
  padding:24px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .priority-board,
#homePriorityDeck.rabbit-home-operational-deck .home-grid{
  grid-template-columns:repeat(3,minmax(280px,1fr)) !important;
  gap:24px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-col,
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card{
  min-height:210px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(4){
  min-height:130px !important;
}
@media(min-width:1500px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:calc(100% - 96px) !important;
    max-width:1540px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    gap:26px !important;
  }
}
@media(max-width:1200px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:calc(100% - 36px) !important;
    padding:18px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }
}
@media(max-width:760px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:100% !important;
    max-width:none !important;
    margin:14px 0 90px !important;
    padding:10px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}

/* =========================================================
   Rabbit File Madre — Home lower ultra-spread spacing
   Allarga la dashboard inferiore seguendo la gestione spazi
   della sezione superiore “Vai dove ti serve”.
   ========================================================= */
#homePriorityDeck.rabbit-home-operational-deck{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1280px, calc(100vw - 320px)) !important;
  max-width:none !important;
  min-width:0 !important;
  margin:32px 0 104px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#homePriorityDeck.rabbit-home-operational-deck .priority-board,
#homePriorityDeck.rabbit-home-operational-deck .home-grid{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}
#homePriorityDeck.rabbit-home-operational-deck .home-grid{
  margin-top:26px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .board-col,
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card{
  min-width:0 !important;
  width:100% !important;
  min-height:220px !important;
  border-radius:18px !important;
  padding:18px !important;
}
#homePriorityDeck.rabbit-home-operational-deck .home-grid > .card:nth-child(4){
  min-height:138px !important;
  grid-column:auto !important;
}
@media(min-width:1700px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:min(1400px, calc(100vw - 330px)) !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    gap:28px !important;
  }
}
@media(max-width:1320px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:calc(100vw - 270px) !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    gap:20px !important;
  }
}
@media(max-width:980px){
  #homePriorityDeck.rabbit-home-operational-deck{
    left:auto !important;
    transform:none !important;
    width:calc(100% - 28px) !important;
    margin:18px auto 92px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
}
@media(max-width:760px){
  #homePriorityDeck.rabbit-home-operational-deck{
    width:100% !important;
    margin:14px 0 90px !important;
  }
  #homePriorityDeck.rabbit-home-operational-deck .priority-board,
  #homePriorityDeck.rabbit-home-operational-deck .home-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}
