/* Rabbit Production CSS Bundle v27 - generated from v26 preserving order */

/* ===== /assets/css/01-style-01.css ===== */
/* Extracted from index.html <style> */

*{box-sizing:border-box}
:root{--primary:#2556d9;--secondary:#0e7c72;--ink:#101828;--muted:#667085;--line:rgba(16,24,40,.13);--panel:rgba(255,255,255,.91);--danger:#b42318;--ok:#027a48;--warn:#b7791f;--radius:13px;--shadow:0 18px 55px rgba(16,24,40,.10);--uiScale:.67}
html,body{margin:0;min-height:100%;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef3f7}
body{background:var(--company-bg,none),radial-gradient(circle at 12% -8%,rgba(37,86,217,.16),transparent 30%),radial-gradient(circle at 88% 0%,rgba(14,124,114,.14),transparent 31%),linear-gradient(90deg,rgba(16,24,40,.035) 1px,transparent 1px),linear-gradient(rgba(16,24,40,.028) 1px,transparent 1px),linear-gradient(135deg,#fbfaf6,#eef3f7 52%,#fbfaf6);background-size:cover,auto,auto,30px 30px,30px 30px,auto;background-attachment:fixed}
button,input,select,textarea{font:inherit}
button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:9px 12px;font-weight:850;cursor:pointer;transition:.14s ease}
button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(16,24,40,.10)}
button.primary{color:white;border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--secondary))}
button.danger{color:#be123c;background:#fff1f2}
button.mini{padding:6px 8px;font-size:11px}
button:disabled,.locked{opacity:.46;filter:grayscale(.3);cursor:not-allowed}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:white;color:var(--ink)}
textarea{min-height:110px;resize:vertical}
label{display:grid;gap:5px;font-size:11px;font-weight:850;color:#344054}
small,.muted{color:var(--muted)}
.scale-root{transform:scale(var(--uiScale));transform-origin:top left;width:calc(100% / var(--uiScale));min-height:calc(100vh / var(--uiScale))}
.app{display:grid;grid-template-columns:250px minmax(0,1fr) 315px;min-height:calc(100vh / var(--uiScale))}
.app.no-rightbar{grid-template-columns:250px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:calc(100vh / var(--uiScale));overflow:auto;border-right:1px solid var(--line);background:rgba(251,250,246,.92);padding:16px}
.rightbar{position:sticky;top:0;height:calc(100vh / var(--uiScale));overflow:auto;border-left:1px solid var(--line);background:rgba(251,250,246,.76);padding:16px}
.main{min-width:0;padding:16px}
.brand{display:flex;gap:11px;align-items:center;margin-bottom:14px}
.logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;display:grid;place-items:center;font-weight:950}
.brand h1{font-family:Georgia,serif;font-size:25px;letter-spacing:-.07em;margin:0}
.brand small{font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.08em}
.nav{display:grid;gap:6px}
.nav button{display:flex;justify-content:space-between;align-items:center;text-align:left}
.nav button.active{border-color:rgba(37,86,217,.38);box-shadow:0 10px 28px rgba(37,86,217,.12)}
.topbar{position:sticky;top:0;z-index:20;margin:-16px -16px 16px;padding:11px 16px;border-bottom:1px solid var(--line);background:rgba(251,250,246,.82);backdrop-filter:blur(16px);display:flex;gap:10px;align-items:center;justify-content:space-between}
.search{display:flex;gap:8px;min-width:min(560px,50vw)}
.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px;box-shadow:0 10px 30px rgba(16,24,40,.06);backdrop-filter:blur(14px)}
.card h3{margin:0 0 9px}
.grid{display:grid;gap:10px}.grid.two{grid-template-columns:1.1fr .9fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}
.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.view{display:none}.view.active{display:block}
.badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#101828;color:white;font-family:ui-monospace,monospace;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;font-size:10px;font-weight:900;background:#e0f2fe;color:#075985}.pill.owner{background:#fef3c7;color:#92400e}.pill.admin{background:#f3e8ff;color:#6b21a8}.pill.manager{background:#dbeafe;color:#1e40af}.pill.operator{background:#dcfce7;color:#166534}.pill.bad{background:#fee4e2;color:#b42318}.pill.warn{background:#fff7ed;color:#9a3412}
.row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:white;margin:7px 0}
.hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;padding:22px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.89));box-shadow:var(--shadow)}
.hero:after{content:"RABBIT DB OS";position:absolute;right:18px;top:7px;font-family:Georgia,serif;font-size:70px;letter-spacing:-.08em;color:rgba(16,24,40,.045);pointer-events:none}
.hero h2{font-family:Georgia,serif;font-size:clamp(36px,4.7vw,68px);line-height:.94;letter-spacing:-.075em;margin:8px 0;max-width:940px}.hero h2 span{color:var(--primary)}.hero p{color:#475467;max-width:920px;line-height:1.5}
.social-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px}.post{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.95);padding:14px;margin-bottom:10px;box-shadow:0 10px 30px rgba(16,24,40,.055)}
.post-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.author{display:flex;gap:9px;align-items:center}.avatar{width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:white;font-weight:950}.post h3{margin:6px 0 4px}.post-body{white-space:pre-wrap;line-height:1.52;color:#344054}.comment-box{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:9px;margin-top:9px}.comment{padding:7px 0;border-bottom:1px solid rgba(16,24,40,.08)}.comment:last-child{border-bottom:0}.inline-input{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}
.online-user{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);background:white;border-radius:12px;margin:6px 0}.dot{width:9px;height:9px;border-radius:50%;background:#10b981}.dot.away{background:#f59e0b}.dot.off{background:#94a3b8}
.chat-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:10px}.thread{border:1px solid var(--line);border-radius:13px;background:white;padding:11px;cursor:pointer;margin-bottom:7px}.thread.active{border-color:rgba(37,86,217,.4);box-shadow:0 10px 24px rgba(37,86,217,.10)}
.chat-panel{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);min-height:560px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.chat-head,.chat-input{padding:12px;background:white;border-bottom:1px solid var(--line)}.chat-input{border-top:1px solid var(--line);border-bottom:0;display:grid;grid-template-columns:1fr auto;gap:8px}.chat-messages{padding:12px;overflow:auto;max-height:500px}.msg{max-width:76%;padding:9px 11px;border-radius:14px;margin:7px 0;background:#f1f5f9}.msg.mine{margin-left:auto;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white}
.page-layout,.settings-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:10px}.document-card,.knowledge-card{border:1px solid var(--line);border-radius:12px;background:white;padding:10px;margin:7px 0}.event{border-left:4px solid var(--primary);background:white;border-radius:12px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;margin:8px 0}
.settings-menu{position:sticky;top:78px;align-self:start;display:grid;gap:6px}
.home-structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 12px}.home-toggle input{width:auto}.home-toggle small{display:block;color:var(--muted);font-weight:700;margin-top:2px}.settings-section{border:1px solid var(--line);border-radius:16px;background:white;padding:14px;margin-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid .full{grid-column:1/-1}
.table{width:100%;border-collapse:separate;border-spacing:0 7px}.table th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;padding:5px}.table td{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}.table td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}
.mask{position:fixed;inset:0;background:rgba(16,24,40,.42);z-index:4000;display:none;align-items:stretch;justify-content:flex-end;backdrop-filter:blur(10px)}.mask.show{display:flex}.mask-panel{width:min(1040px,100%);height:100%;background:#fbfaf6;box-shadow:-25px 0 90px rgba(16,24,40,.25);display:grid;grid-template-rows:auto 1fr;overflow:auto}.mask-head{position:sticky;top:0;background:rgba(251,250,246,.92);backdrop-filter:blur(16px);z-index:3;border-bottom:1px solid var(--line);padding:14px;display:flex;justify-content:space-between;gap:10px}.mask-title h2{font-family:Georgia,serif;font-size:34px;line-height:1;letter-spacing:-.06em;margin:0}.mask-body{padding:14px}
.login{position:fixed;inset:0;z-index:8000;display:none;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#fbfaf6,#eef3f7)}.login.show{display:flex}.login-grid{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;gap:14px}.login-card{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);padding:22px}.login-card h1{font-family:Georgia,serif;font-size:58px;line-height:.94;letter-spacing:-.075em;margin:8px 0}.login-card h1 span{color:var(--primary)}
.toast{position:fixed;right:18px;bottom:18px;z-index:9000;background:white;border:1px solid var(--line);border-radius:14px;padding:13px;box-shadow:0 24px 70px rgba(16,24,40,.18);display:none;max-width:440px}.toast.show{display:block}.mobile-nav{display:none}
.db-status{border:1px solid rgba(2,122,72,.22);background:#ecfdf5;color:#065f46;border-radius:13px;padding:11px;font-size:12px}
.db-status.bad{border-color:#fecaca;background:#fff1f2;color:#991b1b}
.loading-cover{position:fixed;inset:0;z-index:7000;display:none;place-items:center;background:rgba(251,250,246,.86);backdrop-filter:blur(12px)}.loading-cover.show{display:grid}
@media(max-width:1180px){:root{--uiScale:1}.scale-root{transform:none;width:100%;min-height:100vh}.app{display:block}.sidebar,.rightbar{display:none}.main{padding:11px;padding-bottom:82px}.topbar{margin:-11px -11px 11px;padding:10px 11px;display:grid}.search{min-width:0}.grid.two,.grid.three,.grid.four,.social-layout,.chat-layout,.page-layout,.settings-layout,.form-grid,.login-grid{grid-template-columns:1fr}.hero{padding:17px}.hero h2{font-size:38px}.hero:after{font-size:38px}.mask-panel{width:100%}.mobile-nav{position:fixed;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:18px;padding:7px;z-index:3000;box-shadow:0 18px 60px rgba(16,24,40,.18)}.mobile-nav button{font-size:11px;padding:8px 4px}.table{display:block;overflow:auto}}

.week-calendar{
  display:grid;
  grid-template-columns:90px repeat(7,minmax(130px,1fr));
  gap:7px;
  overflow:auto;
  padding-bottom:8px;
}
.week-cell{
  min-height:86px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.94);
  padding:8px;
}
.week-head{
  min-height:auto;
  background:linear-gradient(135deg,rgba(37,86,217,.10),rgba(14,124,114,.08));
  font-weight:950;
  text-align:center;
}
.week-hour{
  display:grid;
  place-items:center;
  font-size:11px;
  color:var(--muted);
  font-weight:900;
}
.week-item{
  border-radius:10px;
  padding:7px;
  margin:5px 0;
  background:#eff6ff;
  border:1px solid rgba(37,86,217,.20);
  cursor:pointer;
  font-size:11px;
}
.week-item b{
  display:block;
  color:#1e3a8a;
}
.week-item.scadenza{background:#fff7ed;border-color:#fed7aa}
.week-item.appuntamento{background:#ecfdf5;border-color:#bbf7d0}
.week-item.focus{background:#f5f3ff;border-color:#ddd6fe}
.week-toolbar{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:10px;
}
.week-mini-list{
  display:grid;
  gap:7px;
}
.week-mini-list .row{
  margin:0;
}


.week-all-day-label{
  display:grid;
  place-items:center;
  font-size:11px;
  color:var(--muted);
  font-weight:950;
  background:rgba(255,255,255,.72);
}
.week-all-day-cell{
  min-height:70px;
  border:1px dashed rgba(37,86,217,.25);
  background:rgba(239,246,255,.55);
}
.week-item.allday{
  background:#eef2ff;
  border-color:#c7d2fe;
}
.week-item .week-time{
  display:block;
  margin-top:3px;
  color:#475467;
  font-size:10px;
}
.week-range-note{
  font-size:10px;
  color:var(--muted);
  margin-top:4px;
}


.logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:12px;
}


.doc-preview-frame{
  width:100%;
  height:calc(100vh - 190px);
  min-height:620px;
  border:1px solid var(--line);
  border-radius:14px;
  background:white;
}
.doc-preview-image{
  max-width:100%;
  max-height:calc(100vh - 190px);
  display:block;
  margin:auto;
  border-radius:14px;
  border:1px solid var(--line);
  background:white;
}
.doc-preview-fallback{
  border:1px dashed var(--line);
  border-radius:14px;
  background:#fff;
  padding:18px;
}


/* =========================================================
   RABBIT RESPONSIVE PATCH — SMARTPHONE / TABLET
   ========================================================= */
.mobile-menu-btn{display:none}
.mobile-drawer{
  position:fixed;
  inset:0;
  z-index:7600;
  background:rgba(16,24,40,.42);
  backdrop-filter:blur(10px);
  display:none;
}
.mobile-drawer.show{display:block}
.mobile-drawer-panel{
  width:min(420px,92vw);
  height:100%;
  overflow:auto;
  background:rgba(251,250,246,.98);
  border-right:1px solid var(--line);
  box-shadow:24px 0 80px rgba(16,24,40,.24);
  padding:14px;
}
.mobile-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  margin-bottom:12px;
}
.mobile-drawer-nav{
  display:grid;
  gap:8px;
}
.mobile-drawer-nav button{
  min-height:48px;
  justify-content:space-between;
  display:flex;
  align-items:center;
}
.mobile-safe-spacer{height:76px;display:none}

@media(max-width:1180px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  body{
    background-attachment:scroll;
  }
  .mobile-menu-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
  }
  .mobile-safe-spacer{display:block}
  .scale-root{
    transform:none!important;
    width:100%!important;
    min-height:100vh!important;
  }
  .app{
    display:block!important;
    width:100%;
    min-height:100vh;
  }
  .sidebar,.rightbar{
    display:none!important;
  }
  .main{
    width:100%;
    max-width:100vw;
    overflow-x:hidden;
    padding:10px 10px 92px!important;
  }
  .topbar{
    margin:-10px -10px 10px!important;
    padding:10px!important;
    position:sticky;
    top:0;
    z-index:3000;
    display:grid!important;
    grid-template-columns:auto 1fr;
    gap:8px;
    align-items:center;
    border-radius:0 0 18px 18px;
  }
  .topbar .search{
    min-width:0!important;
    width:100%;
    display:grid;
    grid-template-columns:1fr 44px;
    grid-column:2;
  }
  .topbar > .actions{
    grid-column:1 / -1;
    width:100%;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    overflow:visible;
  }
  .topbar > .actions button{
    min-width:0;
    min-height:44px;
    padding:9px 6px;
    font-size:12px;
    white-space:normal;
    line-height:1.15;
  }
  .hero{
    padding:16px!important;
    border-radius:18px!important;
  }
  .hero:after{
    display:none;
  }
  .hero h2{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:.96!important;
    letter-spacing:-.065em!important;
  }
  .hero p{
    font-size:14px;
  }
  .card{
    padding:12px!important;
    border-radius:16px!important;
  }
  .grid.two,.grid.three,.grid.four,
  .social-layout,.chat-layout,.page-layout,.settings-layout,
  .form-grid{
    grid-template-columns:1fr!important;
  }
  .row{
    grid-template-columns:1fr!important;
    align-items:start;
    gap:8px;
  }
  .row > button,
  .row > .actions{
    width:100%;
    justify-content:flex-start;
  }
  .row > button{
    min-height:40px;
  }
  .actions{
    width:100%;
  }
  .actions button{
    min-height:40px;
  }
  .post{
    padding:12px!important;
    border-radius:16px!important;
  }
  .post-head{
    display:grid!important;
    grid-template-columns:1fr;
  }
  .inline-input{
    grid-template-columns:1fr!important;
  }
  .chat-panel{
    min-height:70vh!important;
  }
  .chat-messages{
    max-height:58vh!important;
  }
  .chat-input{
    grid-template-columns:1fr!important;
  }
  .mask{
    align-items:stretch!important;
    justify-content:center!important;
  }
  .mask-panel{
    width:100%!important;
    max-width:100%!important;
  }
  .mask-head{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
  }
  .mask-title h2{
    font-size:30px!important;
  }
  .mask-head .actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .mask-body{
    padding:10px!important;
  }
  .table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
  .doc-preview-frame{
    height:70vh!important;
    min-height:420px!important;
  }
  .login{
    padding:10px!important;
    align-items:flex-start!important;
    overflow:auto;
  }
  .login-grid{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .login-card{
    padding:16px!important;
    border-radius:18px!important;
  }
  .login-card h1{
    font-size:42px!important;
  }
  .mobile-nav{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    grid-template-columns:repeat(5,1fr)!important;
    gap:5px!important;
    border-radius:18px!important;
    padding:7px!important;
  }
  .mobile-nav button{
    min-width:0;
    min-height:48px;
    font-size:11px!important;
    line-height:1.1;
    padding:7px 4px!important;
  }
  .week-calendar{
    display:grid!important;
    grid-template-columns:72px repeat(7, minmax(118px,1fr))!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:10px;
  }
  .week-cell{
    min-width:118px;
  }
  .week-hour,.week-all-day-label{
    min-width:72px!important;
  }
}

@media(max-width:640px){
  .topbar{
    grid-template-columns:1fr!important;
  }
  .mobile-menu-btn{
    width:100%;
  }
  .topbar .search{
    grid-column:1;
  }
  .topbar > .actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .hero h2{
    font-size:36px!important;
  }
  .brand h1{
    font-size:22px;
  }
  input,select,textarea{
    font-size:16px; /* evita zoom automatico iOS */
  }
  .mobile-drawer-panel{
    width:94vw;
  }
  .week-calendar{
    grid-template-columns:64px repeat(7, minmax(112px,1fr))!important;
  }
  .week-cell{
    min-width:112px;
    padding:7px;
  }
  .week-item{
    font-size:10px;
  }
}


/* =========================================================
   RABBIT PATCH — HOME + PROFILO + PROGRAMMAZIONI
   ========================================================= */
.home-grid,.profile-grid,.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.avatar-lg{width:84px;height:84px;border-radius:26px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;font-weight:900;font-size:30px;overflow:hidden;border:1px solid rgba(255,255,255,.45);box-shadow:0 20px 44px rgba(16,24,40,.15)}
.avatar-lg img{width:100%;height:100%;object-fit:cover;display:block}
.profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.meta-chip{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px}
.program-card,.mini-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);padding:12px;box-shadow:0 10px 26px rgba(16,24,40,.05)}
.program-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.program-steps{margin-top:10px;display:grid;gap:8px}
.step-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:flex-start;padding:10px;border:1px solid rgba(16,24,40,.09);background:#fbfcff;border-radius:12px}
.step-item.done{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}
.step-toggle{width:20px;height:20px;border-radius:50%;border:2px solid #c7d2e0;display:grid;place-items:center;font-size:11px;margin-top:2px}
.step-item.done .step-toggle{background:#10b981;border-color:#10b981;color:#fff}
.list-compact{display:grid;gap:8px}.list-compact .row,.list-compact .mini-row{padding:10px;border:1px solid var(--line);background:#fff;border-radius:14px}
.home-stack{display:grid;gap:10px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.card h4{margin:0 0 6px}.inline-note{background:#f8fafc;border:1px dashed var(--line);padding:10px;border-radius:12px;color:#475467}
textarea.steps-input{min-height:120px}
@media(max-width:1180px){.home-grid,.profile-grid,.program-grid,.kpi-grid,.profile-meta{grid-template-columns:1fr!important}.profile-hero{grid-template-columns:1fr!important}.avatar-lg{width:72px;height:72px;border-radius:22px}}


/* =========================================================
   RABBIT POLISH — HOME / PROFILE / PROGRAM TEMPLATES
   ========================================================= */
.command-center{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:10px;
}
.command-panel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
  background:
    radial-gradient(circle at 12% 12%,rgba(37,86,217,.16),transparent 30%),
    radial-gradient(circle at 90% 0%,rgba(14,124,114,.14),transparent 28%),
    rgba(255,255,255,.94);
  box-shadow:var(--shadow);
}
.command-panel:after{
  content:"WORKSPACE";
  position:absolute;
  right:14px;
  bottom:-12px;
  font-family:Georgia,serif;
  font-size:62px;
  letter-spacing:-.08em;
  color:rgba(16,24,40,.055);
  pointer-events:none;
}
.command-title{
  font-family:Georgia,serif;
  font-size:44px;
  line-height:.96;
  letter-spacing:-.07em;
  margin:8px 0;
}
.command-title span{color:var(--primary)}
.command-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.command-actions button{
  min-height:54px;
}
.pulse-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.pulse-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.95);
  padding:12px;
}
.pulse-card b{
  display:block;
  font-family:Georgia,serif;
  font-size:30px;
  letter-spacing:-.05em;
}
.priority-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.board-col{
  min-height:220px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  padding:12px;
}
.board-col h3{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.board-item{
  border:1px solid rgba(16,24,40,.09);
  border-radius:14px;
  padding:10px;
  background:white;
  margin:8px 0;
}
.profile-cover{
  min-height:190px;
  border-radius:22px;
  border:1px solid var(--line);
  background:
    linear-gradient(135deg,rgba(37,86,217,.18),rgba(14,124,114,.12)),
    radial-gradient(circle at 70% 0%,rgba(255,255,255,.8),transparent 35%),
    rgba(255,255,255,.86);
  padding:18px;
  display:grid;
  align-content:end;
  position:relative;
  overflow:hidden;
}
.profile-cover:after{
  content:"PROFILE";
  position:absolute;
  right:16px;
  top:16px;
  font-family:Georgia,serif;
  font-size:58px;
  letter-spacing:-.08em;
  color:rgba(16,24,40,.07);
}
.profile-actions-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.skill-grid{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.skill-pill{
  border:1px solid var(--line);
  background:white;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:850;
}
.progress-track{
  height:10px;
  border-radius:999px;
  background:#eef2f7;
  overflow:hidden;
  border:1px solid rgba(16,24,40,.08);
}
.progress-fill{
  height:100%;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  border-radius:inherit;
}
.substep-list{
  display:grid;
  gap:5px;
  margin-top:7px;
}
.substep{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:7px;
  align-items:center;
  padding:7px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid rgba(16,24,40,.07);
  font-size:12px;
}
.substep.done{
  background:rgba(16,185,129,.08);
}
.template-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.template-card{
  border:1px solid var(--line);
  background:white;
  border-radius:16px;
  padding:12px;
}
@media(max-width:1180px){
  .command-center,.priority-board,.template-grid{grid-template-columns:1fr!important}
  .pulse-strip,.command-actions,.profile-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .command-title{font-size:36px}
  .command-panel:after,.profile-cover:after{font-size:38px}
}
@media(max-width:640px){
  .pulse-strip,.command-actions,.profile-actions-grid{grid-template-columns:1fr!important}
  .command-panel{padding:14px}
  .command-title{font-size:32px}
}


/* === RABBIT CHAT-ONLY PATCH: messenger-like private chat, scoped only to messages/chat === */
.chat-layout.rabbit-messenger{display:grid;grid-template-columns:300px minmax(0,1fr) 230px;gap:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;min-height:620px}
.rabbit-chat-list{border-right:1px solid var(--line);background:#fff;padding:12px;overflow:auto}.rabbit-chat-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.rabbit-chat-search input{width:100%;border-radius:999px;background:#f1f5f9;border-color:#e5e7eb}.rabbit-thread{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:9px;border-radius:12px;cursor:pointer;border:1px solid transparent;margin:4px 0}.rabbit-thread:hover,.rabbit-thread.active{background:#f1f5f9;border-color:#e5e7eb}.rabbit-thread b,.rabbit-thread small{overflow-wrap:anywhere}.rabbit-avatar-wrap{position:relative;width:max-content}.rabbit-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:950;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:12px}.rabbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;right:-1px;bottom:-1px;background:#10b981;border:2px solid #fff}.rabbit-dot.away{background:#f59e0b}.rabbit-dot.off{background:#94a3b8}.rabbit-chat-main{display:grid;grid-template-rows:auto 1fr auto;background:#fff;min-height:620px}.rabbit-chat-head{padding:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}.rabbit-chat-person{display:flex;align-items:center;gap:9px;min-width:0}.rabbit-chat-person b,.rabbit-chat-person small{overflow-wrap:anywhere}.rabbit-chat-body{overflow:auto;padding:14px;background:#fff}.rabbit-msg-row{display:flex;gap:7px;align-items:flex-end;margin:7px 0}.rabbit-msg-row.mine{justify-content:flex-end}.rabbit-msg-bubble{max-width:min(560px,78%);border-radius:18px;padding:9px 12px;background:#f1f5f9;color:#101828;overflow-wrap:anywhere}.rabbit-msg-row.mine .rabbit-msg-bubble{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.rabbit-msg-bubble small{opacity:.72}.rabbit-chat-input{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}.rabbit-chat-input input{border-radius:999px;background:#f1f5f9;border-color:#e5e7eb}.rabbit-chat-info{border-left:1px solid var(--line);padding:14px;background:#fff;overflow:auto}.rabbit-chat-info-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;margin-top:10px}.rabbit-chat-dock{position:fixed;right:14px;bottom:14px;display:flex;align-items:flex-end;gap:10px;z-index:6500;pointer-events:none}.rabbit-dock-chat{width:320px;height:420px;border-radius:16px;overflow:hidden;background:#fff;border:1px solid rgba(16,24,40,.14);box-shadow:0 20px 80px rgba(16,24,40,.25);display:grid;grid-template-rows:auto 1fr auto;pointer-events:auto}.rabbit-dock-head{padding:9px 10px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);background:#fff}.rabbit-dock-body{padding:10px;overflow:auto;background:#fff}.rabbit-dock-input{display:grid;grid-template-columns:1fr auto;gap:7px;padding:8px;border-top:1px solid var(--line)}.rabbit-dock-input input{border-radius:999px;background:#f1f5f9;border-color:#e5e7eb}@media(max-width:1180px){.chat-layout.rabbit-messenger{grid-template-columns:1fr;min-height:auto}.rabbit-chat-list{border-right:0;border-bottom:1px solid var(--line);max-height:260px}.rabbit-chat-main{min-height:62vh}.rabbit-chat-info{display:none}.rabbit-chat-dock{left:8px;right:8px;bottom:76px;justify-content:flex-end}.rabbit-dock-chat{width:min(360px,calc(100vw - 16px));height:420px}}



/* === Rabbit Calendar Pro: enterprise calendar UX === */
.gcal-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}
.gcal-side{position:sticky;top:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.gcal-main{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.gcal-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}
.gcal-title{display:flex;align-items:center;gap:10px;min-width:0}.gcal-title h3{margin:0;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcal-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.gcal-actions button,.gcal-view-tabs button{padding:8px 11px;border-radius:999px}.gcal-view-tabs{display:flex;gap:5px;flex-wrap:wrap}.gcal-view-tabs .active{background:var(--primary);color:#fff;border-color:var(--primary)}
.gcal-mini-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px}.gcal-mini-month b,.gcal-mini-month button{text-align:center;font-size:11px;padding:6px 0;border-radius:999px}.gcal-mini-month button{border:0;background:#f8fafc;cursor:pointer}.gcal-mini-month button.today{background:rgba(37,86,217,.10);color:var(--primary);font-weight:900}.gcal-mini-month button.selected{background:var(--primary);color:#fff;font-weight:900}
.gcal-list-filter{display:grid;gap:8px;margin-top:14px}.gcal-check{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:#f8fafc}.gcal-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);display:inline-block}.gcal-dot.task{background:#7c3aed}.gcal-dot.room{background:#0891b2}.gcal-dot.private{background:#64748b}.gcal-dot.crm{background:#ea580c}
.gcal-grid-week{display:grid;grid-template-columns:64px repeat(7,minmax(130px,1fr));min-width:980px}.gcal-grid-day{display:grid;grid-template-columns:64px minmax(360px,1fr);min-width:620px}.gcal-scroll{overflow:auto;max-height:calc(100vh - 220px)}
.gcal-cell{min-height:54px;border-right:1px solid #edf2f7;border-bottom:1px solid #edf2f7;padding:4px;background:#fff;position:relative}.gcal-head{position:sticky;top:0;z-index:3;min-height:54px;background:#fff;font-weight:900;text-align:center;display:grid;place-items:center}.gcal-hour{background:#f8fafc;color:#64748b;font-size:12px;text-align:right;padding:7px}.gcal-allday{min-height:42px;background:#fbfdff}.gcal-dayname small{display:block;color:#64748b;font-weight:700}.gcal-dayname .num{font-size:20px;border-radius:999px;padding:4px 9px}.gcal-dayname.today .num{background:var(--primary);color:#fff}
.gcal-event{border-radius:10px;padding:6px 7px;margin:2px 0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 8px 20px rgba(16,24,40,.13);cursor:pointer;font-size:12px;line-height:1.25;overflow:hidden}.gcal-event b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcal-event small{opacity:.86}.gcal-event.task{background:linear-gradient(135deg,#7c3aed,#2563eb)}.gcal-event.room{background:linear-gradient(135deg,#0891b2,#0f766e)}.gcal-event.private{background:linear-gradient(135deg,#64748b,#334155)}.gcal-event.crm{background:linear-gradient(135deg,#ea580c,#b45309)}
.gcal-month{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:980px}.gcal-month .gcal-cell{min-height:128px}.gcal-month-num{font-weight:900;color:#334155}.gcal-month-num.muted{color:#cbd5e1}.gcal-month-num.today{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff}.gcal-more{font-size:11px;color:var(--primary);font-weight:900;margin-top:3px;cursor:pointer}.gcal-agenda{padding:12px;display:grid;gap:8px}.gcal-agenda-row{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.gcal-agenda-date{font-weight:900;color:#334155}.gcal-resource-board{padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.gcal-resource-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.gcal-availability{padding:12px}.gcal-slot{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;margin:7px 0;background:#f8fafc}.gcal-event-detail{display:grid;gap:10px}.gcal-participants{display:flex;flex-wrap:wrap;gap:6px}.gcal-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:#f8fafc;font-size:12px}.gcal-quick-create{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.gcal-quick-create input{border-radius:999px}
@media(max-width:1180px){.gcal-shell{grid-template-columns:1fr}.gcal-side{position:relative;top:auto}.gcal-grid-week,.gcal-month{min-width:820px}.gcal-main{border-radius:14px}.gcal-top{align-items:flex-start;flex-direction:column}.gcal-agenda-row{grid-template-columns:1fr}.gcal-scroll{max-height:none}}



/* =========================================================
   RABBIT EXECUTIVE AURORA THEME
   Tema più accattivante, corporate e premium.
   Non modifica logica, Supabase, routing o funzioni: solo UI/CSS.
   ========================================================= */
:root{
  --primary:#0f5f8f;
  --secondary:#13b7a4;
  --accent:#f2b84b;
  --ink:#0b1220;
  --muted:#667085;
  --line:rgba(15,35,60,.12);
  --panel:rgba(255,255,255,.88);
  --radius:18px;
  --shadow:0 24px 70px rgba(15,35,60,.14);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 8% 4%,rgba(19,183,164,.22),transparent 28%),
    radial-gradient(circle at 84% 0%,rgba(15,95,143,.20),transparent 32%),
    radial-gradient(circle at 52% 105%,rgba(242,184,75,.18),transparent 30%),
    linear-gradient(135deg,#f7fbff 0%,#eef5f8 47%,#f8f4ec 100%);
  background-attachment:fixed;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(15,35,60,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,35,60,.035) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 78%);
  z-index:-1;
}
.app{grid-template-columns:256px minmax(0,1fr) 330px}
.sidebar{
  background:linear-gradient(180deg,#071827 0%,#0b2740 52%,#0d3349 100%);
  color:#eaf7ff;
  border-right:1px solid rgba(255,255,255,.10);
  box-shadow:18px 0 55px rgba(7,24,39,.15);
}
.sidebar::-webkit-scrollbar,.rightbar::-webkit-scrollbar,.gcal-scroll::-webkit-scrollbar{width:10px;height:10px}
.sidebar::-webkit-scrollbar-thumb,.rightbar::-webkit-scrollbar-thumb,.gcal-scroll::-webkit-scrollbar-thumb{background:rgba(15,95,143,.35);border-radius:999px}
.brand{
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}
.logo{box-shadow:0 16px 36px rgba(19,183,164,.25);background:linear-gradient(135deg,#13b7a4,#0f5f8f)}
.brand h1{color:white;letter-spacing:-.055em}
.brand small{color:rgba(234,247,255,.72)}
.nav button{
  color:rgba(234,247,255,.92);
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.105);
  border-radius:15px;
  box-shadow:none;
}
.nav button:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.20);
  transform:translateX(2px);
}
.nav button.active{
  color:#062033;
  background:linear-gradient(135deg,#ffffff,#dffdf7);
  border-color:rgba(19,183,164,.45);
  box-shadow:0 18px 40px rgba(19,183,164,.22);
}
.nav button.active:before{
  content:"";
  width:5px;
  height:22px;
  border-radius:999px;
  margin-right:8px;
  background:linear-gradient(180deg,var(--secondary),var(--primary));
}
.main{padding:18px 20px}
.topbar{
  margin:-18px -20px 18px;
  padding:14px 20px;
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(15,35,60,.09);
  box-shadow:0 14px 34px rgba(15,35,60,.075);
  backdrop-filter:blur(22px) saturate(140%);
}
.search input,
input,select,textarea{
  border-radius:16px;
  border-color:rgba(15,35,60,.13);
  background:rgba(255,255,255,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 24px rgba(15,35,60,.035);
}
.search input:focus,input:focus,select:focus,textarea:focus{
  outline:0;
  border-color:rgba(19,183,164,.55);
  box-shadow:0 0 0 4px rgba(19,183,164,.12),0 12px 28px rgba(15,35,60,.06);
}
button{
  border-radius:15px;
  border-color:rgba(15,35,60,.12);
  background:linear-gradient(180deg,#fff,#f7fafc);
  box-shadow:0 10px 22px rgba(15,35,60,.06);
}
button:hover{box-shadow:0 14px 32px rgba(15,35,60,.13)}
button.primary{
  background:linear-gradient(135deg,#0f5f8f 0%,#13b7a4 72%,#55d6c7 100%);
  box-shadow:0 16px 36px rgba(19,183,164,.28);
}
button.danger{background:linear-gradient(180deg,#fff7f7,#fff1f2);border-color:#ffd4da;color:#be123c}
.card,.post,.row,.gcal-side,.gcal-main,.login-card{
  border:1px solid rgba(15,35,60,.105);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78));
  box-shadow:0 24px 70px rgba(15,35,60,.105);
  backdrop-filter:blur(18px) saturate(135%);
}
.card:hover,.post:hover,.row:hover{
  border-color:rgba(19,183,164,.24);
  box-shadow:0 28px 80px rgba(15,35,60,.14);
}
.hero{
  border-radius:28px;
  padding:28px;
  background:
    linear-gradient(135deg,rgba(7,24,39,.96),rgba(15,95,143,.92) 54%,rgba(19,183,164,.82)),
    radial-gradient(circle at 14% 10%,rgba(255,255,255,.18),transparent 26%);
  color:white;
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 32px 90px rgba(7,24,39,.24);
}
.hero:after{color:rgba(255,255,255,.075)}
.hero h2,.hero p{color:white}.hero h2 span{color:#69ffe9}.hero .badge{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.20);color:white}
.badge{background:linear-gradient(135deg,#071827,#0f5f8f);box-shadow:0 10px 28px rgba(15,95,143,.16)}
.pill{background:#e9fbf8;color:#087567;border:1px solid rgba(19,183,164,.16)}
.avatar{border-radius:16px;box-shadow:0 12px 28px rgba(19,183,164,.20);background:linear-gradient(135deg,#0f5f8f,#13b7a4)}
.rightbar{
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(246,250,252,.78));
  border-left:1px solid rgba(15,35,60,.08);
}
.rightbar .card{background:rgba(255,255,255,.86)}
.post{border-radius:22px}.comment-box{background:rgba(248,252,253,.92);border-radius:16px}.comment{border-color:rgba(15,35,60,.075)}
.table th{background:#edf8fa;color:#0b3c55}.table tr:hover td{background:#f7fcfd}
.gcal-shell{gap:16px}.gcal-side,.gcal-main{border-radius:24px}
.gcal-top{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(241,248,250,.94));
  padding:15px 16px;
}
.gcal-title h3{letter-spacing:-.035em;color:#071827}.gcal-view-tabs .active{background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 12px 26px rgba(19,183,164,.24)}
.gcal-mini-month button{background:#f3f8fa}.gcal-mini-month button.today{background:#e5f7f5;color:#087567}.gcal-mini-month button.selected{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white}
.gcal-grid-week{background:linear-gradient(180deg,#f8fbfc,#eef5f8)}
.gcal-day-head,.gcal-month-head{background:linear-gradient(180deg,#f9fcfd,#eef7f8);color:#0b3c55}
.gcal-day-head.today{box-shadow:inset 0 -3px 0 var(--secondary)}
.gcal-event{
  border-radius:13px;
  background:linear-gradient(135deg,#0f8f7e,#3bc8b5);
  color:white;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 12px 24px rgba(19,183,164,.22);
}
.gcal-event small,.gcal-event span{color:rgba(255,255,255,.78)}
.gcal-month-event{background:linear-gradient(135deg,#e9fbf8,#d9f7f2);color:#075f55;border:1px solid rgba(19,183,164,.18)}
.gcal-agenda-row{border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 12px 28px rgba(15,35,60,.055)}
.loading-cover{background:linear-gradient(135deg,rgba(7,24,39,.88),rgba(15,95,143,.78));backdrop-filter:blur(10px)}
.modal,.drawer{backdrop-filter:blur(18px) saturate(130%)}
@media(max-width:1050px){.sidebar{background:linear-gradient(180deg,#071827,#0d3349)}.app{grid-template-columns:1fr}.main{padding:14px}.topbar{margin:-14px -14px 14px;padding:12px 14px}}



/* === Rabbit Role AI Assistant - High Visibility Card === */
.ai-orb{
  position:fixed;right:22px;bottom:22px;z-index:9200;width:74px;height:74px;
  border-radius:12px;border:1px solid rgba(255,255,255,.34);
  background:linear-gradient(135deg,#083344 0%,#0f766e 54%,#14b8a6 100%);
  color:#fff;box-shadow:0 22px 55px rgba(8,51,68,.42),0 0 0 5px rgba(20,184,166,.12);
  font-weight:950;letter-spacing:.04em;display:grid;place-items:center;cursor:pointer;
  animation:aiPulse 2.7s ease-in-out infinite;
}
.ai-orb span{font-size:12px;display:block;line-height:1.05;text-align:center;text-transform:uppercase}
.ai-orb:after{content:"";position:absolute;right:9px;top:9px;width:11px;height:11px;border-radius:999px;background:#22c55e;border:2px solid #fff;box-shadow:0 0 0 4px rgba(34,197,94,.16)}
@keyframes aiPulse{0%,100%{transform:translateY(0);box-shadow:0 22px 55px rgba(8,51,68,.42),0 0 0 5px rgba(20,184,166,.12)}50%{transform:translateY(-2px);box-shadow:0 26px 70px rgba(8,51,68,.52),0 0 0 8px rgba(20,184,166,.16)}}
.ai-panel{
  position:fixed;right:22px;bottom:108px;z-index:9199;width:min(520px,calc(100vw - 34px));max-height:78vh;display:none;
  background:#ffffff;border:1px solid rgba(8,51,68,.20);border-top:5px solid #0f766e;border-radius:10px;
  box-shadow:0 30px 90px rgba(2,6,23,.36);overflow:hidden;color:#101828;
}
.ai-panel.show{display:block}
.ai-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:86px;background:linear-gradient(135deg,rgba(15,118,110,.13),rgba(37,86,217,.08));pointer-events:none}
.ai-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 18px 14px;background:#fff;border-bottom:1px solid #d6e1ea}
.ai-head h3{margin:6px 0 2px;font-size:20px;letter-spacing:-.02em;color:#0f172a}.ai-head small{color:#475569;font-weight:800}.ai-head button{width:38px;height:38px;border-radius:8px;background:#f8fafc;border:1px solid #cbd5e1;font-size:20px;color:#0f172a}
.ai-body{padding:16px;overflow:auto;max-height:calc(78vh - 82px);background:linear-gradient(180deg,#f8fafc 0%,#fff 42%)}
.ai-card{border:1px solid #cbd5e1;border-left:4px solid #0f766e;border-radius:8px;padding:14px 15px;margin:0 0 12px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.09)}
.ai-card.ai-hero{border:1px solid rgba(15,118,110,.32);border-left:6px solid #0f766e;background:linear-gradient(135deg,#ecfeff 0%,#ffffff 58%);box-shadow:0 18px 45px rgba(15,118,110,.16)}
.ai-card b{display:block;margin:7px 0 6px;font-size:16px;color:#0f172a}.ai-card p{margin:0 0 12px;color:#475569;line-height:1.42;font-size:14px}.ai-card small{color:#64748b;display:block;margin-top:6px;line-height:1.3}
.ai-card .actions{gap:8px}.ai-card button{padding:9px 12px;border-radius:7px;font-weight:900}.ai-card button.primary,.ai-card .primary{background:linear-gradient(135deg,#0f766e,#14b8a6);border-color:#0f766e;color:#fff;box-shadow:0 8px 18px rgba(15,118,110,.20)}
.ai-input{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px;position:sticky;bottom:-16px;background:#fff;padding:12px 0 0;border-top:1px solid #e2e8f0}.ai-input input{flex:1;height:48px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:15px}.ai-input button{height:48px;border-radius:8px;font-weight:950}
.ai-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:5px 9px;border-radius:999px;background:#dffcf7;color:#0f766e;font-weight:950;text-transform:uppercase;letter-spacing:.06em;border:1px solid rgba(15,118,110,.18)}
.ai-state{display:flex;align-items:center;gap:7px;margin-top:8px;color:#0f766e;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.ai-state:before{content:"";width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.ai-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:8px}.ai-toggle-row small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){.ai-orb{right:14px;bottom:78px;width:66px;height:66px}.ai-panel{right:10px;left:10px;bottom:150px;width:auto;max-height:70vh}.ai-body{max-height:calc(70vh - 82px)}}.ai-panel{right:14px;bottom:146px}}



/* === Layout fix: sidebar scrolls with page + AI drawer usable === */
.app{align-items:stretch}
.sidebar{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:calc(100vh / var(--uiScale));
  overflow:visible!important;
  align-self:stretch;
}
.sidebar .nav{padding-bottom:28px}

.ai-panel{
  top:96px!important;
  right:22px!important;
  bottom:24px!important;
  max-height:none!important;
  height:auto!important;
  width:min(560px,calc(100vw - 44px))!important;
  grid-template-rows:auto minmax(0,1fr);
}
.ai-panel.show{display:grid!important}
.ai-head{min-height:104px}
.ai-body{
  min-height:0;
  max-height:none!important;
  overflow-y:auto!important;
  display:flex;
  flex-direction:column;
  gap:0;
  padding-bottom:0!important;
}
.ai-answer{display:block}
.ai-input{
  position:sticky!important;
  bottom:0!important;
  z-index:2;
  margin-top:auto!important;
  padding:12px 0 12px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),#fff 34%)!important;
}
.ai-input input{min-width:0}
@media(max-width:1180px){
  .sidebar{display:none!important}
}
@media(max-width:760px){
  .ai-panel{left:10px!important;right:10px!important;top:84px!important;bottom:86px!important;width:auto!important;max-height:none!important}
  .ai-body{max-height:none!important}
}



/* === Layout fix v2: sidebar, corpo centrale e rightbar scorrono insieme === */
.scale-root{
  min-height:calc(100vh / var(--uiScale));
}
.app{
  align-items:stretch!important;
}
.sidebar,.rightbar{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:calc(100vh / var(--uiScale));
  overflow:visible!important;
  align-self:stretch!important;
}
.main{
  min-height:calc(100vh / var(--uiScale));
  align-self:stretch!important;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.06));
}
.rightbar{
  background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(246,250,252,.56) 55%,rgba(246,250,252,.36));
}
.rightbar:after,.sidebar:after{
  content:"";
  display:block;
  height:28px;
}
@media(max-width:1180px){
  .main{min-height:100vh;background:transparent}
  .sidebar,.rightbar{min-height:0}
}



/* === Layout fix v3: colonne visive continue fino al fondo pagina === */
.app{
  position:relative!important;
  isolation:isolate;
  align-items:stretch!important;
}
.app:before,
.app:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  pointer-events:none;
  z-index:0;
}
.app:before{
  left:0;
  width:256px;
  background:linear-gradient(180deg,#071827 0%,#0b2740 52%,#0d3349 100%);
  border-right:1px solid rgba(255,255,255,.10);
  box-shadow:18px 0 55px rgba(7,24,39,.12);
}
.app:after{
  right:0;
  width:330px;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(246,250,252,.78));
  border-left:1px solid rgba(15,35,60,.08);
}
.sidebar,.main,.rightbar{
  position:relative;
  z-index:1;
}
.sidebar,
.rightbar{
  background:transparent!important;
  box-shadow:none!important;
  min-height:100%!important;
}
.main{
  min-height:100%!important;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
}
@media(max-width:1180px){
  .app:before,.app:after{display:none}
  .main{min-height:100vh!important;background:transparent!important}
  .sidebar,.rightbar{background:transparent!important}
}



/* === Layout fix v4: forza le tre colonne a seguire fino al fondo pagina === */
.scale-root,
.app,
.sidebar,
.main,
.rightbar{
  min-height:var(--pageFillHeight)!important;
}
.app:before,
.app:after{
  min-height:var(--pageFillHeight)!important;
}



/* === Layout fix v5: pagina compatta, niente spazio vuoto finale === */
:root{--pageFillHeight:auto!important}
html,body{
  min-height:0!important;
}
.scale-root,
.app,
.sidebar,
.main,
.rightbar{
  min-height:0!important;
  height:auto!important;
}
.scale-root{
  display:block!important;
}
.app{
  align-items:start!important;
  min-height:0!important;
}
.app:before,
.app:after{
  display:none!important;
  content:none!important;
}
.sidebar,
.rightbar{
  align-self:start!important;
  min-height:auto!important;
  overflow:visible!important;
}
.main{
  align-self:start!important;
  min-height:auto!important;
  padding-bottom:24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08))!important;
}
.rightbar{
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(246,250,252,.78))!important;
}
.sidebar{
  background:linear-gradient(180deg,#071827 0%,#0b2740 52%,#0d3349 100%)!important;
}
body:after{
  content:none!important;
  display:none!important;
}
@media(max-width:1180px){
  .main{padding-bottom:90px!important}
}



/* === Profile Refresh: operativo, moderno, edge corporate === */
.profile-v2{display:grid;gap:14px}
.profile-v2-hero{position:relative;overflow:hidden;border:1px solid rgba(15,35,60,.12);background:linear-gradient(135deg,#071827 0%,#0b2d45 50%,#0f766e 100%);color:#fff;padding:24px;box-shadow:0 22px 70px rgba(7,24,39,.22)}
.profile-v2-hero:after{content:"IDENTITÀ OPERATIVA";position:absolute;right:22px;bottom:-6px;font-family:Georgia,serif;font-size:54px;line-height:1;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.055);pointer-events:none;white-space:nowrap}
.profile-v2-top{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.profile-v2 .avatar-lg{width:96px;height:96px;border-radius:18px;border:2px solid rgba(255,255,255,.42);box-shadow:0 18px 44px rgba(0,0,0,.22)}
.profile-v2-title h2{margin:0;font-size:42px;line-height:.95;letter-spacing:-.055em;color:#fff}
.profile-v2-title p{margin:8px 0 0;color:rgba(255,255,255,.78);max-width:760px}
.profile-v2-status{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.profile-v2-status span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);padding:7px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;color:#fff}.profile-v2-status i{width:8px;height:8px;border-radius:999px;background:#22c55e;display:inline-block}
.profile-v2-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.profile-v2-actions button{border-radius:8px}.profile-v2-actions .primary{background:#13b7a4;color:#052333}
.profile-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.profile-kpi-card{border:1px solid rgba(15,35,60,.10);background:#fff;padding:15px;box-shadow:0 16px 44px rgba(15,35,60,.075)}.profile-kpi-card small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.profile-kpi-card b{display:block;margin-top:8px;font-size:30px;letter-spacing:-.045em;color:#071827}.profile-kpi-card span{display:block;margin-top:4px;color:#667085;font-size:13px}
.profile-v2-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px}.profile-v2-stack{display:grid;gap:14px}.profile-panel{border:1px solid rgba(15,35,60,.10);background:rgba(255,255,255,.94);box-shadow:0 18px 54px rgba(15,35,60,.08);padding:16px}.profile-panel h3{margin:0 0 10px;letter-spacing:-.025em}.profile-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.profile-panel-head p{margin:3px 0 0;color:var(--muted)}
.profile-meta-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-meta-v2 .meta-chip{border-radius:8px;background:#f8fbfc;border:1px solid rgba(15,35,60,.09);padding:11px}.profile-meta-v2 .meta-chip b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475467}.profile-meta-v2 .meta-chip small{font-size:14px;color:#071827;font-weight:850}
.profile-timeline{display:grid;gap:8px}.profile-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:11px;border:1px solid rgba(15,35,60,.085);background:#fff}.profile-item-icon{width:34px;height:34px;display:grid;place-items:center;background:#e9fbf8;color:#087567;font-weight:950}.profile-item b{display:block;color:#071827}.profile-item small{color:#667085}.profile-item p{margin:5px 0 0;color:#667085;font-size:13px}.profile-item button{border-radius:8px;padding:8px 11px}
.skill-grid{display:flex;flex-wrap:wrap;gap:7px}.skill-pill{border-radius:7px;background:#eef7f8;border:1px solid rgba(15,95,143,.12);color:#0b3c55;padding:7px 9px;font-size:12px;font-weight:900}.profile-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-quick button{border-radius:8px;justify-content:flex-start}.profile-empty{padding:18px;border:1px dashed rgba(15,35,60,.22);background:#fbfcfd;color:#667085;text-align:center}
@media(max-width:1180px){.profile-v2-top,.profile-v2-grid{grid-template-columns:1fr}.profile-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-v2-actions{justify-content:flex-start}.profile-v2-title h2{font-size:34px}.profile-v2-hero:after{font-size:36px}}
@media(max-width:680px){.profile-kpi,.profile-meta-v2,.profile-quick{grid-template-columns:1fr}.profile-item{grid-template-columns:1fr}.profile-v2 .avatar-lg{width:82px;height:82px}}



/* === Profilo completo operativo === */
.profile-command-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.profile-command-card{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.10);padding:12px;color:#fff}
.profile-command-card small{display:block;color:rgba(255,255,255,.70);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.profile-command-card b{display:block;margin-top:5px;font-size:18px;color:#fff}
.profile-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-section-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-state-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-state-board button{border-radius:8px;text-align:left}.profile-state-board button.active{background:linear-gradient(135deg,#0f5f8f,#13b7a4);color:white;border-color:transparent}
.profile-goal{border:1px solid rgba(15,35,60,.09);background:#fff;padding:12px;margin:8px 0}.profile-goal-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.profile-goal h4{margin:0}.profile-goal small{color:var(--muted)}
.profile-badge-grid{display:flex;gap:8px;flex-wrap:wrap}.profile-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(15,95,143,.14);background:#eef7f8;color:#0b3c55;padding:8px 10px;font-weight:900;font-size:12px}.profile-badge button{padding:2px 6px;border-radius:6px;font-size:11px}
.profile-ai-box{border-left:4px solid #13b7a4;background:linear-gradient(135deg,#f0fffb,#ffffff);padding:14px;border:1px solid rgba(19,183,164,.20)}
.profile-privacy{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid rgba(15,35,60,.08);padding:9px;background:#fff;margin:6px 0}.profile-privacy b{font-size:13px}.profile-privacy select{height:36px;border-radius:8px}
.profile-manager-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-manager-actions button{border-radius:8px;text-align:left}.profile-history-row{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:9px;border-bottom:1px solid rgba(15,35,60,.07)}.profile-history-row:last-child{border-bottom:0}.profile-history-row time{font-weight:900;color:#0b3c55;font-size:12px}.profile-history-row small{color:var(--muted)}
@media(max-width:1180px){.profile-command-strip,.profile-section-grid,.profile-section-grid.three,.profile-state-board,.profile-manager-actions{grid-template-columns:1fr!important}}


/* === Colleghi / People Hub === */
.people-toolbar{display:grid;grid-template-columns:1fr 180px 180px auto;gap:10px;align-items:center;margin-bottom:12px}
.people-toolbar input,.people-toolbar select{height:44px;border-radius:8px}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.people-card{border:1px solid rgba(15,35,60,.12);background:rgba(255,255,255,.92);box-shadow:0 18px 48px rgba(15,35,60,.08);padding:14px;border-radius:8px;display:grid;gap:12px;cursor:pointer;transition:.18s ease}
.people-card:hover{border-color:rgba(19,183,164,.45);box-shadow:0 22px 58px rgba(15,35,60,.13);transform:translateY(-1px)}
.people-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.people-head h3{margin:0}.people-head small{display:block;color:var(--muted);font-weight:700;margin-top:3px}
.people-avatar{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;font-weight:950;overflow:hidden}.people-avatar img{width:100%;height:100%;object-fit:cover}
.people-status{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.people-status i{width:8px;height:8px;border-radius:50%;background:#10b981}.people-status.off i{background:#94a3b8}.people-status.away i,.people-status.occupato i,.people-status.riunione i{background:#f59e0b}.people-status.busy i,.people-status.non-disturbare i{background:#ef4444}
.people-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.people-meta div{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:8px}.people-meta b{display:block;font-size:15px}.people-meta small{color:var(--muted);font-weight:800}
.people-actions{display:flex;flex-wrap:wrap;gap:8px}.people-actions button{border-radius:8px}.people-profile{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:12px}.people-profile-hero{border:1px solid rgba(15,35,60,.12);background:linear-gradient(135deg,#071827,#0f5f8f 62%,#13b7a4);color:#fff;border-radius:8px;padding:18px;box-shadow:0 22px 70px rgba(7,24,39,.22)}.people-profile-hero h2{font-size:42px;letter-spacing:-.055em;margin:8px 0 4px}.people-profile-hero p{color:rgba(255,255,255,.86)}.people-profile-hero .people-status{color:#071827}.people-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.people-profile-actions button{border-radius:8px}.people-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;margin-bottom:12px}.people-section h3{margin-top:0}.people-feed-row{display:grid;grid-template-columns:95px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid rgba(15,35,60,.08);padding:10px 0}.people-feed-row:last-child{border-bottom:0}.people-chip-list{display:flex;flex-wrap:wrap;gap:7px}.people-chip-list span{border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850}.people-empty{border:1px dashed var(--line);padding:16px;border-radius:8px;background:#f8fafc;color:var(--muted);font-weight:800}.people-mini-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.people-mini-kpis div{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:10px}.people-mini-kpis b{font-size:24px;display:block}.people-mini-kpis small{color:rgba(255,255,255,.76);font-weight:850}
@media(max-width:1180px){.people-grid{grid-template-columns:1fr}.people-toolbar{grid-template-columns:1fr}.people-profile{grid-template-columns:1fr}.people-mini-kpis,.people-meta{grid-template-columns:repeat(2,1fr)}}


/* === Appunti personali === */
.notes-dock .rabbit-dock-head{background:linear-gradient(135deg,rgba(15,95,143,.08),rgba(19,183,164,.14))}
.notes-dock .rabbit-dock-input input{background:#fffef8}


/* === HR Ferie: approval workflow === */
.leave-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.leave-kpi{border:1px solid var(--line);background:#fff;padding:12px;border-radius:10px;box-shadow:0 10px 24px rgba(15,35,60,.055)}
.leave-kpi b{font-size:24px;display:block;line-height:1}.leave-kpi small{color:var(--muted);font-weight:800}
.leave-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;padding:12px;border-radius:10px;margin:8px 0}
.leave-status{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:950}
.leave-status.pending{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.leave-status.approved{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.leave-status.rejected{background:#fff1f2;color:#be123c;border-color:#fecdd3}.leave-status.cancelled{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.leave-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.leave-meta{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.leave-timeline{border-left:3px solid rgba(19,183,164,.3);padding-left:10px;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:900px){.leave-board{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-row{grid-template-columns:1fr}.leave-actions{justify-content:flex-start}}
@media(max-width:560px){.leave-board{grid-template-columns:1fr}}


/* === Rabbit AI rimossa + Calendar duration/edit fix === */
.ai-orb,
.ai-panel,
.profile-ai-box,
button[title="Assistente AI"]{
  display:none!important;
}
.gcal-cell{
  overflow:visible!important;
}
.gcal-event{
  position:relative;
  z-index:4;
}
.gcal-event.timed-duration{
  margin-bottom:4px;
}
.gcal-event-tools{
  display:flex;
  gap:5px;
  margin-top:6px;
}
.gcal-event-tools button{
  width:26px;
  height:24px;
  min-height:24px;
  padding:0!important;
  border-radius:6px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:none!important;
  font-size:12px!important;
}
.gcal-event-tools button:hover{
  background:rgba(255,255,255,.30)!important;
}


/* === Rabbit Core Stable: calendario a durata reale e AI rimossa === */
.ai-orb,.ai-panel,.profile-ai-box,[data-ai],button[title="Assistente AI"]{display:none!important}
.gcal-week-real,.gcal-day-real{display:grid;min-width:980px;background:#fff}
.gcal-week-real{grid-template-columns:64px repeat(7,minmax(130px,1fr))}
.gcal-day-real{grid-template-columns:64px minmax(620px,1fr);min-width:760px}
.gcal-time-col,.gcal-day-col{position:relative;background:#fff;min-height:756px;border-right:1px solid #edf2f7}
.gcal-bg-row{height:54px;border-bottom:1px solid #edf2f7;padding:6px;box-sizing:border-box;position:relative}
.gcal-time-col .gcal-bg-row{background:#f8fafc;color:#64748b;text-align:right;font-size:12px;font-weight:700}
.gcal-day-col .gcal-bg-row{cursor:pointer;background:linear-gradient(180deg,#fff,#fff)}
.gcal-day-col .gcal-bg-row:hover{background:#f8fcfd}
.gcal-day-events{position:absolute;left:5px;right:5px;top:0;height:756px;pointer-events:none;z-index:4}
.gcal-day-events .gcal-event{position:absolute;left:0;right:0;margin:0!important;pointer-events:auto;box-sizing:border-box}
.gcal-grid-day .gcal-event,.gcal-grid-week .gcal-event{max-width:100%}
.gcal-event-tools{display:flex;gap:5px;margin-top:6px}
.gcal-event-tools button{width:26px;height:24px;min-height:24px;padding:0!important;border-radius:6px!important;background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:none!important;font-size:12px!important}
.gcal-event-tools button:hover{background:rgba(255,255,255,.30)!important}
@media(max-width:1180px){.gcal-week-real{min-width:860px}.gcal-day-real{min-width:680px}}


/* ==========================================================
   RABBIT SERIOUS ENTERPRISE UI
   Ispirazione: SAP Fiori shell, Salesforce Lightning cards,
   Atlassian tokens, Microsoft Fluent surfaces.
   Obiettivo: gestionale serio, leggibile, meno "fumettoso".
   ========================================================== */
:root{
  --primary:#1f4e79!important;
  --secondary:#2f6f73!important;
  --ink:#1f2937!important;
  --muted:#5f6b7a!important;
  --line:#d7dde5!important;
  --panel:#ffffff!important;
  --danger:#b42318!important;
  --ok:#027a48!important;
  --warn:#a15c07!important;
  --radius:8px!important;
  --shadow:0 1px 2px rgba(16,24,40,.08),0 8px 20px rgba(16,24,40,.06)!important;
}
html,body{
  background:#f4f6f8!important;
  color:#1f2937!important;
}
body{
  background:
    linear-gradient(180deg,#f7f9fb 0%,#eef2f6 100%)!important;
  background-attachment:fixed!important;
}
.scale-root{background:transparent!important}
.app{
  background:#f4f6f8!important;
  grid-template-columns:248px minmax(0,1fr) 300px!important;
}
.sidebar{
  background:#0f2537!important;
  color:#e8eef4!important;
  border-right:1px solid #0b1b29!important;
  box-shadow:none!important;
  padding:14px!important;
}
.brand{
  background:#132f46!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:8px!important;
  padding:10px!important;
  margin-bottom:12px!important;
  box-shadow:none!important;
}
.logo{
  border-radius:6px!important;
  background:#1f4e79!important;
  box-shadow:none!important;
}
.brand h1{
  font-family:Georgia, 'Times New Roman', serif!important;
  font-size:22px!important;
  letter-spacing:-.04em!important;
  color:#ffffff!important;
}
.brand small{color:#aebdca!important;letter-spacing:.04em!important}
.nav{gap:4px!important}
.nav button{
  height:38px!important;
  border-radius:6px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  color:#dbe5ee!important;
  padding:8px 10px!important;
  box-shadow:none!important;
  font-weight:750!important;
}
.nav button:hover{
  transform:none!important;
  background:#19384f!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
.nav button.active{
  background:#ffffff!important;
  color:#123047!important;
  border-color:#ffffff!important;
  box-shadow:none!important;
}
.nav button.active:before{
  content:"";
  width:4px;
  height:18px;
  border-radius:2px;
  background:#2f6f73;
  margin-right:8px;
}
.main{padding:18px!important;background:#f4f6f8!important}
.topbar{
  position:sticky!important;
  top:0!important;
  margin:-18px -18px 18px!important;
  padding:12px 18px!important;
  background:#ffffff!important;
  border-bottom:1px solid #d7dde5!important;
  box-shadow:0 1px 3px rgba(16,24,40,.08)!important;
  backdrop-filter:none!important;
}
.search{min-width:min(620px,55vw)!important}
input,select,textarea,
.search input{
  border-radius:6px!important;
  border:1px solid #cfd6df!important;
  background:#ffffff!important;
  box-shadow:none!important;
  color:#1f2937!important;
}
input:focus,select:focus,textarea:focus,.search input:focus{
  outline:2px solid rgba(31,78,121,.18)!important;
  outline-offset:0!important;
  border-color:#1f4e79!important;
  box-shadow:none!important;
}
button{
  border-radius:6px!important;
  background:#ffffff!important;
  border:1px solid #cfd6df!important;
  color:#1f2937!important;
  box-shadow:none!important;
  font-weight:800!important;
}
button:hover{
  transform:none!important;
  background:#f7f9fb!important;
  border-color:#aeb8c4!important;
  box-shadow:0 1px 2px rgba(16,24,40,.10)!important;
}
button.primary{
  background:#1f4e79!important;
  border-color:#1f4e79!important;
  color:white!important;
  box-shadow:none!important;
}
button.primary:hover{background:#173b5c!important;border-color:#173b5c!important}
button.danger{
  background:#fff5f5!important;
  border-color:#f0b4b4!important;
  color:#b42318!important;
}
.card,.post,.row,.document-card,.knowledge-card,.people-card,.people-section,.settings-section,.leave-row,.leave-kpi,
.gcal-side,.gcal-main,.chat-panel,.thread,.rabbit-dock-chat,.login-card{
  background:#ffffff!important;
  border:1px solid #d7dde5!important;
  border-radius:8px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.06)!important;
  backdrop-filter:none!important;
}
.card:hover,.post:hover,.row:hover,.people-card:hover{
  transform:none!important;
  border-color:#b7c1cc!important;
  box-shadow:0 2px 8px rgba(16,24,40,.08)!important;
}
.card h3,.post h3,.settings-section h3,.people-section h3{
  font-size:16px!important;
  letter-spacing:-.015em!important;
  color:#1f2937!important;
}
.hero{
  border-radius:8px!important;
  border:1px solid #cfd6df!important;
  background:#ffffff!important;
  color:#1f2937!important;
  box-shadow:0 1px 2px rgba(16,24,40,.06)!important;
  padding:22px!important;
}
.hero:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
  background:#1f4e79;
}
.hero:after{
  display:none!important;
}
.hero h2{
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(34px,3.8vw,56px)!important;
  line-height:1!important;
  color:#1f2937!important;
  letter-spacing:-.055em!important;
}
.hero h2 span{color:#1f4e79!important}
.hero p{color:#5f6b7a!important}
.badge{
  background:#e8eef4!important;
  color:#1f4e79!important;
  border:1px solid #cfd6df!important;
  border-radius:4px!important;
  box-shadow:none!important;
}
.pill,.people-status,.leave-status{
  border-radius:4px!important;
  border:1px solid #cfd6df!important;
  background:#f4f6f8!important;
  color:#344054!important;
}
.pill.owner{background:#fff8e6!important;color:#7a4a00!important;border-color:#ead49a!important}
.pill.admin{background:#f1ebff!important;color:#5630a3!important;border-color:#d7c7ff!important}
.pill.manager{background:#eaf1fb!important;color:#1f4e79!important;border-color:#c3d3ea!important}
.pill.operator{background:#e8f5ef!important;color:#027a48!important;border-color:#b7dfcc!important}
.rightbar{
  background:#eef2f6!important;
  border-left:1px solid #d7dde5!important;
  padding:16px!important;
}
.rightbar .card{
  background:#ffffff!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.online-user{
  border-radius:6px!important;
  box-shadow:none!important;
}
.dot{background:#027a48!important}
.table{border-spacing:0!important;border-collapse:collapse!important;background:#fff!important;border:1px solid #d7dde5!important;border-radius:8px!important;overflow:hidden!important}
.table th{
  background:#eef2f6!important;
  color:#5f6b7a!important;
  padding:10px!important;
  border-bottom:1px solid #d7dde5!important;
}
.table td{
  border:0!important;
  border-bottom:1px solid #e6ebf0!important;
  border-radius:0!important;
  padding:10px!important;
}
.mask-panel{background:#f4f6f8!important}.mask-head{background:#ffffff!important;border-bottom:1px solid #d7dde5!important;backdrop-filter:none!important}
/* Calendar più serio */
.gcal-shell{gap:12px!important}
.gcal-side,.gcal-main{border-radius:8px!important;background:#ffffff!important}
.gcal-top{
  background:#ffffff!important;
  border-bottom:1px solid #d7dde5!important;
  padding:12px!important;
}
.gcal-title h3{color:#1f2937!important;font-size:20px!important;letter-spacing:-.025em!important}
.gcal-view-tabs button.active,.gcal-view-tabs .active{
  background:#1f4e79!important;
  color:white!important;
  border-color:#1f4e79!important;
  box-shadow:none!important;
}
.gcal-grid-week,.gcal-month,.gcal-week-real,.gcal-day-real{
  background:#ffffff!important;
  border-top:1px solid #d7dde5!important;
}
.gcal-day-head,.gcal-month-head{
  background:#f7f9fb!important;
  color:#344054!important;
  border-bottom:1px solid #d7dde5!important;
}
.gcal-day-head.today{box-shadow:inset 0 -3px 0 #1f4e79!important}
.gcal-time,.gcal-time-col .gcal-bg-row{
  background:#f7f9fb!important;
  color:#5f6b7a!important;
}
.gcal-cell,.gcal-bg-row,.gcal-day-col .gcal-bg-row{
  background:#ffffff!important;
  border-color:#e6ebf0!important;
}
.gcal-cell:hover,.gcal-day-col .gcal-bg-row:hover{background:#f7f9fb!important}
.gcal-event{
  border-radius:6px!important;
  background:#1f4e79!important;
  color:#ffffff!important;
  box-shadow:none!important;
  border:1px solid rgba(0,0,0,.08)!important;
}
.gcal-event.crm{background:#2f6f73!important}.gcal-event.task{background:#73510d!important}.gcal-event.private{background:#5b6472!important}.gcal-event.resource{background:#663399!important}
.gcal-mini-month button{border-radius:4px!important;background:#fff!important}.gcal-mini-month button.selected,.gcal-mini-month button.today{background:#1f4e79!important;color:white!important}
/* Social/chat più professionali */
.avatar,.people-avatar,.rabbit-avatar{
  border-radius:6px!important;
  background:#1f4e79!important;
  box-shadow:none!important;
}
.comment-box,.msg,.rabbit-msg-bubble{border-radius:6px!important;background:#f7f9fb!important}
.msg.mine,.rabbit-msg-row.mine .rabbit-msg-bubble{background:#1f4e79!important;color:#fff!important}
/* Profili e persone */
.profile-hero,.people-profile-hero{
  background:#1f4e79!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.profile-hero h2,.people-profile-hero h2{font-family:Georgia,'Times New Roman',serif!important}
.profile-command-strip,.people-mini-kpis div{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.20)!important;
  border-radius:6px!important;
}
.people-toolbar input,.people-toolbar select{border-radius:6px!important}
.people-grid{gap:10px!important}
.people-card{padding:12px!important}
.people-meta div{border-radius:6px!important;background:#f7f9fb!important}
/* HR */
.leave-status.pending{background:#fff8e6!important;color:#7a4a00!important;border-color:#ead49a!important}
.leave-status.approved{background:#e8f5ef!important;color:#027a48!important;border-color:#b7dfcc!important}
.leave-status.rejected{background:#fff5f5!important;color:#b42318!important;border-color:#f0b4b4!important}
/* Riduzione effetto “giocoso” */
*{scrollbar-color:#b7c1cc #eef2f6}
button,.card,.post,.row,input,select,textarea,.nav button{transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease!important}
@media(max-width:1180px){
  .app{display:block!important;background:#f4f6f8!important}.main{background:#f4f6f8!important;padding:12px!important}.topbar{margin:-12px -12px 12px!important;padding:10px 12px!important}.mobile-nav{background:#ffffff!important;border-color:#d7dde5!important;border-radius:8px!important;box-shadow:0 4px 16px rgba(16,24,40,.12)!important}.mobile-nav button{border-radius:6px!important}
}


/* === Rabbit Enterprise Typography System v2 ===
   Reference direction: SAP Fiori / Salesforce Lightning / Atlassian / Fluent.
   No external webfont: robust enterprise system-font stack for Netlify/offline reliability. */
:root{
  --font-enterprise: "Segoe UI Variable", "Segoe UI", "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Roboto", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --font-enterprise-mono: "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", monospace;
  --type-xs: 11px;
  --type-sm: 12px;
  --type-md: 14px;
  --type-lg: 16px;
  --type-xl: 20px;
  --type-2xl: 26px;
  --type-3xl: 34px;
  --type-4xl: 44px;
}
html,body,
button,input,select,textarea,
.card,.post,.row,.table,.topbar,.sidebar,.rightbar,.mask,.login{
  font-family:var(--font-enterprise)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
}
body{
  font-size:14px!important;
  line-height:1.46!important;
  letter-spacing:-.006em;
}
.brand h1,
.hero h2,
.hero:after,
.mask-title h2,
.login-card h1,
.command-title,
.command-panel:after,
.profile-cover:after,
.profile-v2-hero:after,
.profile-v2-title h2,
.people-profile-hero h2,
.profile-hero h2,
.card strong,
.card h1,.card h2,.card h3,
.post h3,
.gcal-title h3,
.profile-kpi-card b,
.people-mini-kpis b,
.leave-kpi b,
.kpi strong{
  font-family:var(--font-enterprise)!important;
  letter-spacing:-.035em!important;
}
.brand h1{
  font-size:22px!important;
  font-weight:760!important;
  line-height:1.05!important;
}
.brand small,
.badge,
.table th,
label,
.pill,
.ai-badge,
.profile-kpi-card small,
.profile-meta-v2 .meta-chip b,
.profile-command-card small,
.people-status,
.leave-status{
  font-family:var(--font-enterprise)!important;
  letter-spacing:.015em!important;
}
.brand small{
  font-size:10px!important;
  font-weight:650!important;
  text-transform:none!important;
  opacity:.78;
}
.hero h2,
.command-title{
  font-size:clamp(30px,3.2vw,46px)!important;
  line-height:1.06!important;
  font-weight:760!important;
  max-width:900px;
}
.hero:after,
.command-panel:after,
.profile-cover:after,
.profile-v2-hero:after{
  font-family:var(--font-enterprise)!important;
  font-size:clamp(34px,4vw,58px)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  opacity:.55;
}
.hero p,.post-body,.muted,.card p{
  font-size:14px!important;
  line-height:1.52!important;
}
.card h3,.post h3,.people-section h3{
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:720!important;
  letter-spacing:-.018em!important;
}
.card h2,.mask-title h2{
  font-size:24px!important;
  line-height:1.12!important;
  font-weight:760!important;
}
button{
  font-family:var(--font-enterprise)!important;
  font-size:13px!important;
  font-weight:680!important;
  letter-spacing:-.004em!important;
}
button.mini,.gcal-event-tools button{
  font-size:12px!important;
  font-weight:700!important;
}
input,select,textarea{
  font-family:var(--font-enterprise)!important;
  font-size:14px!important;
  line-height:1.35!important;
}
label{
  font-size:12px!important;
  font-weight:650!important;
  color:#475569!important;
}
.table th{
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase;
}
.table td{
  font-size:13px!important;
  line-height:1.42!important;
}
.badge,.pill{
  font-size:11px!important;
  font-weight:700!important;
}
.nav button{
  font-size:13px!important;
  font-weight:680!important;
  letter-spacing:-.005em!important;
}
.gcal-title h3{
  font-size:19px!important;
  font-weight:740!important;
}
.gcal-day-head b,.gcal-month-head,.gcal-time,.gcal-bg-row{
  font-family:var(--font-enterprise)!important;
}
.gcal-event b{
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:760!important;
}
.gcal-event small{
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:600!important;
}
.profile-v2-title h2,.people-profile-hero h2{
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.08!important;
  font-weight:760!important;
}
.profile-kpi-card b,.people-mini-kpis b,.leave-kpi b{
  font-size:26px!important;
  font-weight:760!important;
}
.profile-item b,.row b,.online-user b{
  font-weight:700!important;
}
small{
  font-size:12px!important;
  line-height:1.35!important;
}
code,pre,.mono{
  font-family:var(--font-enterprise-mono)!important;
}
@media(max-width:1180px){
  .hero h2,.command-title{font-size:32px!important;line-height:1.08!important}
  body{font-size:14px!important}
}



/* === Rabbit Enterprise Operations Theme: Action Center / Kanban / Workspace === */
.ops-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ops-kpis>div{background:#fff;border:1px solid #d7dde5;border-radius:8px;padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.ops-kpis b{display:block;font-size:28px;line-height:1;color:#173b5c;letter-spacing:-.04em}.ops-kpis span{display:block;margin-top:6px;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ops-layout,.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.ops-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #d7dde5;border-left:4px solid #1f4e79;border-radius:8px;padding:13px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.ops-action.warn{border-left-color:#b7791f}.ops-action.bad{border-left-color:#b42318}.ops-action h3{margin:5px 0 4px;font-size:16px;color:#1f2937}.ops-action p{margin:0 0 4px;color:#475467}.ops-action small{color:#667085}.ops-kind{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#1f4e79;background:#e8eef4;border:1px solid #cfd6df;border-radius:4px;padding:3px 6px}.ops-step{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #eef1f5}.ops-step:last-child{border-bottom:0}.ops-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#e8eef4;color:#1f4e79}
.ops-tabs{display:flex;gap:8px;flex-wrap:wrap}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow:auto;padding-bottom:4px}.kanban-board.compact{grid-template-columns:repeat(3,minmax(240px,1fr))}.kanban-col{background:#f8fafc;border:1px solid #d7dde5;border-radius:8px;padding:10px;min-height:260px}.kanban-col h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.045em;color:#344054}.kanban-col h3 span{background:#e8eef4;color:#1f4e79;border-radius:4px;padding:3px 7px}.kanban-card{background:#fff;border:1px solid #d7dde5;border-radius:8px;padding:12px;margin-bottom:9px;box-shadow:0 1px 2px rgba(16,24,40,.05)}.kanban-card.bad{border-left:4px solid #b42318}.kanban-card.warn{border-left:4px solid #b7791f}.kanban-card.ok{border-left:4px solid #2f6f73}.kanban-card b{color:#1f2937}.kanban-card p{margin:6px 0;color:#475467}.kanban-card small{color:#667085}.kanban-empty{border:1px dashed #cfd6df;border-radius:8px;padding:14px;color:#667085;background:#fff;text-align:center}
.workspace-switch select{max-width:520px}.timeline-row{display:grid;gap:3px;border-left:3px solid #d7dde5;padding:8px 0 8px 10px;margin-left:3px}.timeline-row span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#1f4e79}.timeline-row b{font-size:14px;color:#1f2937}.timeline-row small{color:#667085}
@media(max-width:1180px){.ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-layout,.workspace-grid{grid-template-columns:1fr}.kanban-board,.kanban-board.compact{grid-template-columns:repeat(5,260px)}}
@media(max-width:760px){.ops-kpis{grid-template-columns:1fr}.ops-action{grid-template-columns:1fr}.kanban-board,.kanban-board.compact{grid-template-columns:1fr;overflow:visible}}


/* === Rabbit Workflow Engine + Notifications === */
.workflow-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.workflow-rule{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;padding:13px;margin:8px 0;border-radius:10px}
.workflow-rule .rule-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8}
.workflow-rule.on .rule-dot{background:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.10)}
.notification-list{display:grid;gap:9px}
.notification-card{border:1px solid var(--line);background:#fff;border-left:4px solid #64748b;border-radius:10px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.notification-card.critica{border-left-color:#b91c1c}
.notification-card.operativa{border-left-color:#0f766e}
.notification-card.info{border-left-color:#2563eb}
.audit-row{display:grid;grid-template-columns:150px 110px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:9px;margin:7px 0}
.system-check{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;padding:11px;border-radius:9px;margin:7px 0}
.system-check .check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#ecfdf5;color:#047857;font-weight:900}
.system-check.warn .check{background:#fffbeb;color:#92400e}
.timeline-strip{border-left:2px solid #cbd5e1;padding-left:12px;margin:10px 0}
.timeline-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0}
.timeline-item:before{content:"";position:absolute;left:-19px;top:16px;width:10px;height:10px;border-radius:50%;background:#0f766e;border:2px solid #fff}
.quick-workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:1050px){.workflow-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr}.notification-card{grid-template-columns:1fr}}


/* === Sidebar order & stable navigation polish === */
.nav button:first-child{
  background:linear-gradient(180deg,#ffffff,#eef6f9)!important;
  color:#102033!important;
  border-color:#c9d6df!important;
  font-weight:800;
}
.nav button:first-child b{background:#0f3d5e;color:#fff;border-color:#0f3d5e}


/* ==========================================================
   SIDEBAR SOFT ENTERPRISE PATCH
   Ammorbidisce solo sidebar, brand card e voci menu.
   Mantiene il resto del gestionale serio e squadrato.
   ========================================================== */
.sidebar{
  padding:16px 14px!important;
  background:linear-gradient(180deg,#0f2537 0%,#102b42 58%,#0d2235 100%)!important;
}
.sidebar .brand{
  border-radius:16px!important;
  padding:13px 12px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.13)!important;
}
.sidebar .logo{
  border-radius:12px!important;
  background:linear-gradient(135deg,#1f4e79,#2f6f73)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.16)!important;
}
.sidebar .nav{
  gap:6px!important;
}
.sidebar .nav button{
  min-height:40px!important;
  border-radius:12px!important;
  padding:9px 11px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.055)!important;
  color:#e6eef6!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.sidebar .nav button:hover{
  background:rgba(255,255,255,.105)!important;
  border-color:rgba(255,255,255,.16)!important;
  transform:translateX(2px)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
}
.sidebar .nav button.active{
  border-radius:14px!important;
  background:#ffffff!important;
  color:#123047!important;
  border-color:rgba(255,255,255,.92)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.16)!important;
}
.sidebar .nav button.active:before{
  border-radius:999px!important;
  height:20px!important;
  background:#2f6f73!important;
}
.sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.20)!important;
  border-radius:999px!important;
}
.mobile-drawer-panel .brand{
  border-radius:16px!important;
}


/* ==========================================================
   SIDEBAR FIXED BACKDROP PATCH
   Mantiene il fondo della sidebar continuo fino al fondo visibile
   senza allungare artificialmente la pagina o i contenuti.
   ========================================================== */
@media(min-width:1181px){
  body{
    position:relative!important;
  }
  body::before{
    content:""!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:calc(256px * var(--uiScale, 1))!important;
    background:linear-gradient(180deg,#0f2537 0%,#102b42 58%,#0d2235 100%)!important;
    box-shadow:18px 0 38px rgba(10,30,45,.10)!important;
    pointer-events:none!important;
    z-index:0!important;
  }
  .scale-root{
    position:relative!important;
    z-index:1!important;
  }
  .app{
    align-items:start!important;
  }
  .sidebar{
    position:sticky!important;
    top:0!important;
    align-self:start!important;
    height:calc(100vh / var(--uiScale, 1))!important;
    min-height:calc(100vh / var(--uiScale, 1))!important;
    overflow:auto!important;
    background:linear-gradient(180deg,#0f2537 0%,#102b42 58%,#0d2235 100%)!important;
    border-right:1px solid rgba(255,255,255,.08)!important;
    box-shadow:none!important;
  }
  .sidebar:after{
    content:""!important;
    display:block!important;
    height:32px!important;
  }
  .sidebar .nav{
    padding-bottom:44px!important;
  }
}
@media(max-width:1180px){
  body::before{content:none!important;display:none!important}
}



/* === Sidebar navy continuation fix ===
   Mantiene la parte estesa della sidebar coerente con il blu principale,
   evitando il grigio/azzurro staccato visto in fondo pagina. */
:root{
  --rabbit-sidebar-navy-top:#071827;
  --rabbit-sidebar-navy-mid:#0b2740;
  --rabbit-sidebar-navy-bottom:#0d3349;
}
.sidebar{
  background:linear-gradient(180deg,var(--rabbit-sidebar-navy-top) 0%,var(--rabbit-sidebar-navy-mid) 48%,var(--rabbit-sidebar-navy-bottom) 100%)!important;
}
.app::before,
.scale-root::before,
body::before{
  background:linear-gradient(180deg,var(--rabbit-sidebar-navy-top) 0%,var(--rabbit-sidebar-navy-mid) 48%,var(--rabbit-sidebar-navy-bottom) 100%)!important;
}
.sidebar-bg,
.sidebar-fill,
.sidebar-backdrop{
  background:linear-gradient(180deg,var(--rabbit-sidebar-navy-top) 0%,var(--rabbit-sidebar-navy-mid) 48%,var(--rabbit-sidebar-navy-bottom) 100%)!important;
}
.sidebar::after{
  background:linear-gradient(180deg,rgba(13,51,73,.98),rgba(7,24,39,.98))!important;
}
@media(min-width:1181px){
  .app{
    background:
      linear-gradient(90deg,
        var(--rabbit-sidebar-navy-top) 0,
        var(--rabbit-sidebar-navy-mid) 256px,
        transparent 256px
      )!important;
  }
  .sidebar{
    min-height:100vh!important;
    height:auto!important;
  }
}


.brand.brand-icon-only{justify-content:flex-start;padding:8px 0;border:0!important;background:transparent!important;box-shadow:none!important}
.brand.brand-icon-only .home-logo{display:grid;place-items:center;text-decoration:none}
.brand.brand-icon-only .logo{width:58px!important;height:58px!important;border-radius:14px!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:hidden;border:1px solid rgba(255,255,255,.10)!important}
.brand.brand-icon-only .logo img{width:100%;height:100%;object-fit:contain;border-radius:14px}
.mobile-brand.brand-icon-only .logo{width:54px!important;height:54px!important}


/* NEXA/RABBIT COMMUNICATIONS SUITE: conference + audio/video calls */
:root{--call-panel:#fff;--call-soft:#f8fafc;--call-ink:#101828;--call-title:#0f172a;--call-muted:#667085;--call-border:#d9e2ee;--call-primary:#1d4ed8;--call-green:#047857;--call-red:#be123c;--call-shadow:0 14px 38px rgba(15,23,42,.10);--call-radius:16px}
.call-action-btn,.call-mini-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border-radius:999px!important;border:1px solid var(--call-border)!important;background:#fff!important;color:var(--call-ink)!important;font-weight:850!important;cursor:pointer!important;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s cubic-bezier(.22,1,.36,1),border-color .16s ease!important}.call-action-btn{min-height:36px!important;padding:0 13px!important;font-size:12px!important}.call-mini-btn{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;font-size:14px!important}.call-action-btn:hover,.call-mini-btn:hover{transform:translateY(-1px)!important;border-color:rgba(29,78,216,.28)!important;box-shadow:0 10px 24px rgba(15,23,42,.10)!important}.call-action-btn.primary,.call-mini-btn.primary{background:var(--call-primary)!important;border-color:var(--call-primary)!important;color:#fff!important}.call-action-btn.green,.call-mini-btn.green{background:var(--call-green)!important;border-color:var(--call-green)!important;color:#fff!important}.call-action-btn.red,.call-mini-btn.red{background:var(--call-red)!important;border-color:var(--call-red)!important;color:#fff!important}.call-action-btn.dark{background:#0f172a!important;border-color:#0f172a!important;color:#fff!important}
.video-suite-page{display:grid;gap:14px}.video-suite-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border-radius:22px;background:radial-gradient(circle at 0% 0%,rgba(96,165,250,.26),transparent 34%),linear-gradient(135deg,#0f172a,#17345f 58%,#1d4ed8);color:#fff;box-shadow:var(--call-shadow)}.video-suite-hero h2{margin:0;color:#fff;font-size:28px;line-height:1.05;letter-spacing:-.055em;font-weight:950}.video-suite-hero p{margin:7px 0 0;color:#cbd5e1;max-width:760px}.video-suite-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.video-suite-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:12px}.video-card{background:rgba(255,255,255,.94);border:1px solid rgba(15,23,42,.08);border-radius:var(--call-radius);box-shadow:0 1px 2px rgba(15,23,42,.06);padding:14px}.video-card h3{margin:0 0 4px;color:var(--call-title);font-size:15px;font-weight:900;letter-spacing:-.03em}.video-card p{margin:0;color:var(--call-muted);font-size:12px}
.meeting-room-preview{margin-top:12px;min-height:360px;border-radius:18px;background:radial-gradient(circle at 20% 10%,rgba(59,130,246,.22),transparent 34%),linear-gradient(135deg,#0b1220,#111827 72%,#17345f);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;color:#fff}.meeting-room-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.meeting-badge{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:850;color:#dbeafe}.meeting-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;min-height:0}.meeting-tile{position:relative;min-height:160px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.10);display:grid;place-items:center}.meeting-tile.main{min-height:270px}.meeting-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-size:23px;font-weight:950;border:3px solid rgba(255,255,255,.20)}.meeting-tile-label{position:absolute;left:10px;bottom:10px;min-height:26px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;background:rgba(15,23,42,.62);color:#fff;font-size:11px;font-weight:850;backdrop-filter:blur(10px)}.meeting-side-grid{display:grid;gap:10px}.meeting-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.meeting-control{width:42px!important;height:42px!important;min-height:42px!important;border-radius:50%!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important}.meeting-control.end{background:#dc2626!important;border-color:#dc2626!important}
.video-list{display:grid;gap:9px;margin-top:12px}.video-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px}.video-list-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-size:12px;font-weight:950}.video-list-item b{display:block;color:var(--call-title);font-size:12.5px;font-weight:900}.video-list-item small{display:block;color:var(--call-muted);margin-top:2px;font-size:11px}.call-status-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;display:inline-block;margin-right:5px;box-shadow:0 0 0 4px rgba(34,197,94,.14)}.call-status-dot.busy{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.14)}.call-status-dot.offline{background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.14)}.chat-call-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.call-injection-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;margin:8px 0;border:1px solid #dbe6f3;background:#f8fafc;border-radius:13px}.call-injection-bar b{color:var(--call-title);font-size:12px}.call-injection-bar small{color:var(--call-muted);display:block;margin-top:2px}
.call-floating-widget{position:fixed;right:18px;bottom:18px;width:min(370px,calc(100vw - 28px));background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:20px;box-shadow:0 26px 80px rgba(15,23,42,.26);z-index:24000;overflow:hidden;transform:translateY(118%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s cubic-bezier(.22,1,.36,1)}.call-floating-widget.show{transform:translateY(0);opacity:1;pointer-events:auto}.call-widget-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.call-widget-head strong{color:var(--call-title)}.call-widget-body{padding:14px;display:grid;gap:12px}.call-widget-person{display:flex;align-items:center;gap:10px}.call-widget-controls{display:flex;justify-content:center;gap:8px;padding-top:4px}.call-widget-controls button{width:44px!important;height:44px!important;min-height:44px!important;border-radius:50%!important}@media(max-width:1180px){.video-suite-grid{grid-template-columns:1fr}}@media(max-width:720px){.video-suite-hero{grid-template-columns:1fr;padding:15px}.video-suite-actions{justify-content:flex-start}.meeting-grid{grid-template-columns:1fr}.meeting-tile.main{min-height:220px}.meeting-side-grid{grid-template-columns:1fr 1fr}.video-list-item{grid-template-columns:auto 1fr}.video-list-item>div:last-child{grid-column:2}}


/* =========================================================
   NEXAOS MEETINGS ENTRYPOINTS
   Videocall conference dentro Calendar e dentro Crea.
   ========================================================= */

.meeting-entry-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  margin:0 0 10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:
    radial-gradient(circle at 0% 0%, rgba(29,78,216,.10), transparent 34%),
    linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}

.meeting-entry-toolbar h3{
  margin:0;
  color:#0f172a;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.025em;
}

.meeting-entry-toolbar p{
  margin:3px 0 0;
  color:#667085;
  font-size:11.5px;
}

.meeting-entry-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.meeting-create-panel{
  position:fixed;
  inset:0;
  z-index:26000;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(10px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.meeting-create-panel.show{
  display:flex;
}

.meeting-create-card{
  width:min(760px,100%);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  box-shadow:0 30px 90px rgba(15,23,42,.28);
}

.meeting-create-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  border-bottom:1px solid #e2e8f0;
}

.meeting-create-head h2{
  margin:0;
  color:#0f172a;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:950;
}

.meeting-create-head p{
  margin:5px 0 0;
  color:#667085;
  font-size:12px;
}

.meeting-create-body{
  padding:18px;
  display:grid;
  gap:14px;
}

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

.meeting-form-field.full{
  grid-column:1/-1;
}

.meeting-form-field label{
  display:block;
  margin-bottom:5px;
  color:#344054;
  font-size:11px;
  font-weight:900;
}

.meeting-form-field input,
.meeting-form-field select,
.meeting-form-field textarea{
  width:100%;
  min-height:40px;
  border:1px solid #d9e2ee;
  border-radius:12px;
  background:#fff;
  color:#101828;
  padding:8px 10px;
}

.meeting-form-field textarea{
  min-height:90px;
  resize:vertical;
}

.meeting-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.meeting-option{
  border:1px solid #d9e2ee;
  border-radius:16px;
  background:#f8fafc;
  padding:12px;
  display:grid;
  gap:6px;
}

.meeting-option b{
  color:#0f172a;
  font-size:12.5px;
}

.meeting-option small{
  color:#667085;
  font-size:11px;
  line-height:1.35;
}

.meeting-create-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}

.meeting-primary-btn{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}

.meeting-live-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #c7d8ff;
  color:#174ea6;
  font-size:10.5px;
  font-weight:900;
}

.meeting-live-chip::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.13);
}

.create-meeting-button-inline{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}

@media(max-width:720px){
  .meeting-entry-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .meeting-entry-actions{
    width:100%;
  }

  .meeting-entry-actions button{
    flex:1;
  }

  .meeting-form-grid,
  .meeting-options{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   NEXAOS COLLEAGUE CALLS
   Chiamata audio/video tra colleghi come alternativa alla messaggistica.
   ========================================================= */

:root{
  --colcall-bg:#f8fafc;
  --colcall-panel:#ffffff;
  --colcall-border:#d9e2ee;
  --colcall-ink:#101828;
  --colcall-title:#0f172a;
  --colcall-muted:#667085;
  --colcall-blue:#1d4ed8;
  --colcall-green:#047857;
  --colcall-red:#be123c;
  --colcall-orange:#b45309;
  --colcall-shadow:0 18px 58px rgba(15,23,42,.16);
}

.colleague-call-entry{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  margin:0 0 10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:
    radial-gradient(circle at 0% 0%, rgba(29,78,216,.08), transparent 35%),
    linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}

.colleague-call-entry h3{
  margin:0;
  color:var(--colcall-title);
  font-size:14px;
  font-weight:900;
  letter-spacing:-.025em;
}

.colleague-call-entry p{
  margin:3px 0 0;
  color:var(--colcall-muted);
  font-size:11.5px;
}

.colleague-call-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.colleague-call-btn{
  min-height:34px!important;
  border-radius:999px!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:850!important;
  border:1px solid var(--colcall-border)!important;
  background:#fff!important;
  color:var(--colcall-ink)!important;
}

.colleague-call-btn.audio{
  background:var(--colcall-green)!important;
  border-color:var(--colcall-green)!important;
  color:#fff!important;
}

.colleague-call-btn.video{
  background:var(--colcall-blue)!important;
  border-color:var(--colcall-blue)!important;
  color:#fff!important;
}

.colleague-directory-panel{
  display:none;
  margin:0 0 10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
  overflow:hidden;
}

.colleague-directory-panel.show{
  display:block;
}

.colleague-directory-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}

.colleague-directory-head strong{
  color:var(--colcall-title);
  font-size:13px;
}

.colleague-search{
  width:100%;
  min-height:36px;
  border:1px solid var(--colcall-border);
  border-radius:999px;
  padding:0 12px;
  background:#fff;
}

.colleague-directory-body{
  display:grid;
  gap:7px;
  padding:10px;
  max-height:360px;
  overflow:auto;
}

.colleague-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid #e2e8f0;
  border-radius:13px;
  background:#f8fafc;
}

.colleague-avatar{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#1d4ed8,#0ea5e9);
  font-size:12px;
  font-weight:950;
}

.colleague-row b{
  display:block;
  color:var(--colcall-title);
  font-size:12.5px;
}

.colleague-row small{
  display:block;
  color:var(--colcall-muted);
  margin-top:2px;
  font-size:11px;
}

.colleague-row-actions{
  display:flex;
  gap:6px;
  align-items:center;
}

.colleague-icon-btn{
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--colcall-border)!important;
  background:#fff!important;
  color:var(--colcall-ink)!important;
  font-size:14px!important;
}

.colleague-icon-btn.audio{
  background:var(--colcall-green)!important;
  border-color:var(--colcall-green)!important;
  color:#fff!important;
}

.colleague-icon-btn.video{
  background:var(--colcall-blue)!important;
  border-color:var(--colcall-blue)!important;
  color:#fff!important;
}

.colleague-presence{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.colleague-presence::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.13);
}

.colleague-presence.busy::before{
  background:#f97316;
  box-shadow:0 0 0 4px rgba(249,115,22,.13);
}

.colleague-presence.offline::before{
  background:#94a3b8;
  box-shadow:0 0 0 4px rgba(148,163,184,.13);
}

.colleague-call-widget{
  position:fixed;
  right:18px;
  bottom:18px;
  width:min(380px,calc(100vw - 28px));
  z-index:27000;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:22px;
  box-shadow:var(--colcall-shadow);
  overflow:hidden;
  transform:translateY(118%);
  opacity:0;
  pointer-events:none;
  transition:transform .28s cubic-bezier(.22,1,.36,1), opacity .28s cubic-bezier(.22,1,.36,1);
}

.colleague-call-widget.show{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

.colleague-call-widget-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px;
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
}

.colleague-call-widget-head strong{
  color:var(--colcall-title);
}

.colleague-call-widget-body{
  padding:16px;
  display:grid;
  gap:14px;
}

.colleague-call-person{
  display:flex;
  align-items:center;
  gap:12px;
}

.colleague-call-person .colleague-avatar{
  width:50px;
  height:50px;
  font-size:14px;
}

.colleague-call-person b{
  display:block;
  color:var(--colcall-title);
  font-size:14px;
}

.colleague-call-person small{
  display:block;
  color:var(--colcall-muted);
  margin-top:2px;
}

.colleague-call-state{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#475467;
  font-size:12px;
  font-weight:800;
}

.colleague-call-controls{
  display:flex;
  justify-content:center;
  gap:8px;
}

.colleague-call-control{
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:16px!important;
}

.colleague-call-control.end{
  background:#dc2626!important;
  border-color:#dc2626!important;
  color:#fff!important;
}

.colleague-call-control.primary{
  background:var(--colcall-blue)!important;
  border-color:var(--colcall-blue)!important;
  color:#fff!important;
}

.colleague-call-control.green{
  background:var(--colcall-green)!important;
  border-color:var(--colcall-green)!important;
  color:#fff!important;
}

@media(max-width:720px){
  .colleague-call-entry{
    grid-template-columns:1fr;
  }
  .colleague-call-actions{
    width:100%;
  }
  .colleague-call-actions button{
    flex:1;
  }
  .colleague-row{
    grid-template-columns:auto 1fr;
  }
  .colleague-row-actions{
    grid-column:2;
  }
}


/* =========================================================
   NEXAOS FULL FRONTEND CSS REWRITE
   Restyle globale: spacing coerente, griglia più pulita,
   UI più professionale, moderna e leggibile.
   Conserva tutte le funzioni esistenti.
   ========================================================= */

:root{
  --nx-bg:#f3f6fb;
  --nx-bg-2:#eef3f9;
  --nx-surface:#ffffff;
  --nx-surface-soft:#f8fafc;
  --nx-surface-alt:#f5f8fc;
  --nx-border:#d7e1ee;
  --nx-border-soft:rgba(15,23,42,.08);
  --nx-border-strong:rgba(15,23,42,.14);
  --nx-ink:#111827;
  --nx-title:#0f172a;
  --nx-muted:#667085;
  --nx-muted-2:#98a2b3;
  --nx-primary:#1d4ed8;
  --nx-primary-2:#2563eb;
  --nx-primary-soft:#ecf3ff;
  --nx-green:#047857;
  --nx-orange:#b45309;
  --nx-red:#be123c;
  --nx-purple:#6941c6;
  --nx-cyan:#0f766e;

  --nx-radius-xs:8px;
  --nx-radius-sm:10px;
  --nx-radius:14px;
  --nx-radius-lg:18px;
  --nx-radius-xl:24px;

  --nx-shadow-xs:0 1px 2px rgba(15,23,42,.04);
  --nx-shadow-sm:0 6px 16px rgba(15,23,42,.06);
  --nx-shadow-md:0 16px 46px rgba(15,23,42,.10);
  --nx-shadow-lg:0 30px 80px rgba(15,23,42,.16);

  --nx-gap-1:6px;
  --nx-gap-2:10px;
  --nx-gap-3:14px;
  --nx-gap-4:18px;
  --nx-gap-5:24px;
  --nx-gap-6:32px;

  --nx-ease:cubic-bezier(.22,1,.36,1);
  --nx-fast:160ms;
  --nx-normal:260ms;
  --nx-max:1720px;
}

html{
  scroll-behavior:smooth;
}

body.nexa-ui-rewrite{
  background:
    radial-gradient(circle at 0% 0%, rgba(29,78,216,.08), transparent 28%),
    linear-gradient(180deg, #f7faff 0%, var(--nx-bg) 48%, var(--nx-bg-2) 100%) !important;
  color:var(--nx-ink)!important;
  font-family:Inter,"SF Pro Display","SF Pro Text",Roboto,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-.01em;
}

body.nexa-ui-rewrite *{
  box-sizing:border-box;
}

body.nexa-ui-rewrite .app{
  width:min(100%, var(--nx-max))!important;
  max-width:var(--nx-max)!important;
  margin:0 auto!important;
  padding:0 12px 16px!important;
  gap:14px!important;
  background:transparent!important;
}

body.nexa-ui-rewrite .main{
  min-width:0!important;
  padding:0!important;
  display:block!important;
}

body.nexa-ui-rewrite .main > .view,
body.nexa-ui-rewrite .main > section,
body.nexa-ui-rewrite .main > div{
  min-width:0!important;
}

body.nexa-ui-rewrite .sidebar{
  padding:16px 14px!important;
  background:rgba(255,255,255,.80)!important;
  border:1px solid var(--nx-border-soft)!important;
  border-top:0!important;
  border-radius:0 0 var(--nx-radius-xl) var(--nx-radius-xl)!important;
  box-shadow:var(--nx-shadow-md)!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
  overflow:hidden!important;
}

body.nexa-ui-rewrite .brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 0 16px!important;
  margin:0 0 14px!important;
  border-bottom:1px solid var(--nx-border-soft)!important;
}

body.nexa-ui-rewrite .logo{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#0f172a,#17345f 55%,#1d4ed8)!important;
  box-shadow:0 14px 34px rgba(29,78,216,.20)!important;
}

body.nexa-ui-rewrite .brand h1{
  margin:0!important;
  color:var(--nx-title)!important;
  font-size:18px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.06em!important;
}

body.nexa-ui-rewrite .brand small{
  color:var(--nx-muted)!important;
  font-size:10.5px!important;
  letter-spacing:.02em!important;
}

body.nexa-ui-rewrite .nav,
body.nexa-ui-rewrite #nav{
  display:grid!important;
  gap:6px!important;
}

body.nexa-ui-rewrite .nav button,
body.nexa-ui-rewrite #nav button{
  min-height:42px!important;
  padding:0 12px!important;
  display:grid!important;
  grid-template-columns:20px 1fr auto!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--nx-muted)!important;
  font-size:12.25px!important;
  font-weight:780!important;
  text-align:left!important;
  transition:
    background var(--nx-fast) var(--nx-ease),
    color var(--nx-fast) var(--nx-ease),
    border-color var(--nx-fast) var(--nx-ease),
    transform var(--nx-fast) var(--nx-ease)!important;
}

body.nexa-ui-rewrite .nav button:hover,
body.nexa-ui-rewrite #nav button:hover{
  background:var(--nx-surface-soft)!important;
  border-color:var(--nx-border-soft)!important;
  color:var(--nx-title)!important;
  transform:translateX(1px)!important;
}

body.nexa-ui-rewrite .nav button.active,
body.nexa-ui-rewrite #nav button.active{
  background:linear-gradient(180deg,#f6faff,#eef4ff)!important;
  border-color:rgba(29,78,216,.16)!important;
  color:var(--nx-primary)!important;
  box-shadow:inset 3px 0 0 var(--nx-primary)!important;
}

body.nexa-ui-rewrite .topbar{
  min-height:72px!important;
  margin:0 0 14px!important;
  padding:12px 14px!important;
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(280px,640px) auto!important;
  gap:14px!important;
  align-items:center!important;
  background:rgba(255,255,255,.80)!important;
  border:1px solid var(--nx-border-soft)!important;
  border-top:0!important;
  border-radius:0 0 var(--nx-radius-xl) var(--nx-radius-xl)!important;
  box-shadow:var(--nx-shadow-sm)!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
}

body.nexa-ui-rewrite .topbar-heading,
body.nexa-ui-rewrite .page-title{
  min-width:0!important;
}

body.nexa-ui-rewrite .topbar-heading h2,
body.nexa-ui-rewrite .page-title h2{
  margin:0!important;
  color:var(--nx-title)!important;
  font-size:20px!important;
  line-height:1.08!important;
  letter-spacing:-.05em!important;
  font-weight:940!important;
}

body.nexa-ui-rewrite .topbar-heading p,
body.nexa-ui-rewrite .page-title p{
  margin:4px 0 0!important;
  color:var(--nx-muted)!important;
  font-size:11.5px!important;
}

body.nexa-ui-rewrite .search,
body.nexa-ui-rewrite .topbar .search{
  min-width:0!important;
}

body.nexa-ui-rewrite .search input,
body.nexa-ui-rewrite .topbar .search input,
body.nexa-ui-rewrite .rabbit-command-trigger{
  width:100%!important;
  min-height:42px!important;
  height:42px!important;
  border-radius:14px!important;
  border:1px solid var(--nx-border)!important;
  background:var(--nx-surface-soft)!important;
  color:var(--nx-ink)!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}

body.nexa-ui-rewrite .search input{
  padding:0 14px!important;
}

body.nexa-ui-rewrite .rightbar{
  padding:14px!important;
  background:rgba(255,255,255,.80)!important;
  border:1px solid var(--nx-border-soft)!important;
  border-top:0!important;
  border-radius:0 0 var(--nx-radius-xl) var(--nx-radius-xl)!important;
  box-shadow:var(--nx-shadow-md)!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
}

body.nexa-ui-rewrite .view{
  padding:0!important;
}

body.nexa-ui-rewrite .card,
body.nexa-ui-rewrite .post,
body.nexa-ui-rewrite .chat-panel,
body.nexa-ui-rewrite .chat-layout,
body.nexa-ui-rewrite .document-card,
body.nexa-ui-rewrite .settings-section,
body.nexa-ui-rewrite .row,
body.nexa-ui-rewrite .thread,
body.nexa-ui-rewrite .online-user,
body.nexa-ui-rewrite .video-card,
body.nexa-ui-rewrite .rabbit-dynamic-board,
body.nexa-ui-rewrite .rabbit-kpi-card,
body.nexa-ui-rewrite .rabbit-kanban-column,
body.nexa-ui-rewrite .meeting-create-card,
body.nexa-ui-rewrite .colleague-directory-panel,
body.nexa-ui-rewrite .call-floating-widget,
body.nexa-ui-rewrite .colleague-call-widget,
body.nexa-ui-rewrite .rabbit-command-box{
  background:rgba(255,255,255,.92)!important;
  border:1px solid var(--nx-border-soft)!important;
  border-radius:var(--nx-radius-lg)!important;
  box-shadow:var(--nx-shadow-xs)!important;
  overflow:hidden!important;
}

body.nexa-ui-rewrite .card:hover,
body.nexa-ui-rewrite .post:hover,
body.nexa-ui-rewrite .document-card:hover,
body.nexa-ui-rewrite .rabbit-work-card:hover{
  border-color:rgba(29,78,216,.14)!important;
  box-shadow:var(--nx-shadow-sm)!important;
}

body.nexa-ui-rewrite .rabbit-enterprise-hero,
body.nexa-ui-rewrite .video-suite-hero{
  border-radius:var(--nx-radius-xl)!important;
  padding:24px!important;
  min-height:200px!important;
  box-shadow:var(--nx-shadow-md)!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(96,165,250,.24), transparent 34%),
    linear-gradient(135deg, #0f172a 0%, #17345f 52%, #1d4ed8 100%)!important;
}

body.nexa-ui-rewrite .rabbit-enterprise-hero h2,
body.nexa-ui-rewrite .video-suite-hero h2{
  font-size:clamp(30px,4vw,54px)!important;
  letter-spacing:-.07em!important;
  line-height:.96!important;
}

body.nexa-ui-rewrite .rabbit-enterprise-home,
body.nexa-ui-rewrite .video-suite-page{
  display:grid!important;
  gap:14px!important;
}

body.nexa-ui-rewrite .rabbit-kpi-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}

body.nexa-ui-rewrite .rabbit-kpi-card{
  padding:16px!important;
}

body.nexa-ui-rewrite .rabbit-kpi-card span{
  color:var(--nx-muted)!important;
  font-size:10.5px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}

body.nexa-ui-rewrite .rabbit-kpi-card strong{
  margin-top:10px!important;
  color:var(--nx-title)!important;
  font-size:28px!important;
  letter-spacing:-.05em!important;
  line-height:1!important;
}

body.nexa-ui-rewrite .rabbit-kpi-card small{
  display:block!important;
  margin-top:8px!important;
  color:var(--nx-muted)!important;
  font-size:11.5px!important;
}

body.nexa-ui-rewrite .rabbit-dynamic-board{
  padding:14px!important;
}

body.nexa-ui-rewrite .rabbit-section-header{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:16px!important;
  margin:0 0 12px!important;
}

body.nexa-ui-rewrite .rabbit-section-header h3{
  margin:0!important;
  color:var(--nx-title)!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
}

body.nexa-ui-rewrite .rabbit-section-header p{
  margin:4px 0 0!important;
  color:var(--nx-muted)!important;
  font-size:11.5px!important;
}

body.nexa-ui-rewrite .rabbit-section-tools{
  display:flex!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}

body.nexa-ui-rewrite .rabbit-section-tools button{
  min-height:32px!important;
  border-radius:999px!important;
  padding:0 12px!important;
}

body.nexa-ui-rewrite .rabbit-kanban-board{
  gap:12px!important;
  padding-bottom:2px!important;
}

body.nexa-ui-rewrite .rabbit-kanban-column > header{
  padding:12px!important;
  min-height:48px!important;
  background:var(--nx-surface)!important;
  border-bottom:1px solid var(--nx-border-soft)!important;
}

body.nexa-ui-rewrite .rabbit-kanban-column > header strong{
  font-size:12.5px!important;
  color:var(--nx-title)!important;
}

body.nexa-ui-rewrite .rabbit-work-card{
  margin:10px!important;
  padding:12px!important;
  border-radius:var(--nx-radius)!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.06)!important;
  box-shadow:var(--nx-shadow-xs)!important;
}

body.nexa-ui-rewrite .rabbit-work-card strong{
  font-size:12.75px!important;
  color:var(--nx-title)!important;
}

body.nexa-ui-rewrite .rabbit-work-card p{
  margin:7px 0 0!important;
  color:var(--nx-muted)!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}

body.nexa-ui-rewrite .rabbit-work-card footer{
  margin-top:10px!important;
  padding-top:8px!important;
  border-top:1px solid var(--nx-border-soft)!important;
  color:var(--nx-muted)!important;
  font-size:10.75px!important;
}

body.nexa-ui-rewrite .rabbit-status,
body.nexa-ui-rewrite .meeting-badge,
body.nexa-ui-rewrite .meeting-live-chip{
  min-height:24px!important;
  border-radius:999px!important;
  padding:0 8px!important;
  font-size:10.5px!important;
  font-weight:900!important;
}

body.nexa-ui-rewrite .row,
body.nexa-ui-rewrite .document-card,
body.nexa-ui-rewrite .online-user,
body.nexa-ui-rewrite .thread{
  padding:14px!important;
}

body.nexa-ui-rewrite .post{
  padding:14px!important;
}

body.nexa-ui-rewrite .post + .post{
  margin-top:12px!important;
}

body.nexa-ui-rewrite .chat-layout{
  gap:0!important;
}

body.nexa-ui-rewrite .chat-head,
body.nexa-ui-rewrite .messenger-head,
body.nexa-ui-rewrite .rabbit-chat-head,
body.nexa-ui-rewrite .thread-head,
body.nexa-ui-rewrite .conversation-head,
body.nexa-ui-rewrite .panel-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 14px!important;
  border-bottom:1px solid var(--nx-border-soft)!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
}

body.nexa-ui-rewrite .chat-body,
body.nexa-ui-rewrite .messenger-body,
body.nexa-ui-rewrite .thread-body{
  padding:14px!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(29,78,216,.03), transparent 28%),
    #fbfcfe!important;
}

body.nexa-ui-rewrite .chat-foot,
body.nexa-ui-rewrite .messenger-foot,
body.nexa-ui-rewrite .thread-foot{
  padding:12px 14px!important;
  border-top:1px solid var(--nx-border-soft)!important;
  background:#fff!important;
}

body.nexa-ui-rewrite .topbar button,
body.nexa-ui-rewrite button,
body.nexa-ui-rewrite .call-action-btn,
body.nexa-ui-rewrite .colleague-call-btn,
body.nexa-ui-rewrite .meeting-primary-btn,
body.nexa-ui-rewrite .call-mini-btn,
body.nexa-ui-rewrite .colleague-icon-btn,
body.nexa-ui-rewrite .meeting-control,
body.nexa-ui-rewrite .colleague-call-control{
  border-radius:12px!important;
  border:1px solid var(--nx-border)!important;
  background:#fff!important;
  color:var(--nx-ink)!important;
  min-height:38px!important;
  font-size:12px!important;
  font-weight:820!important;
  box-shadow:var(--nx-shadow-xs)!important;
  transition:
    transform var(--nx-fast) var(--nx-ease),
    box-shadow var(--nx-fast) var(--nx-ease),
    border-color var(--nx-fast) var(--nx-ease),
    background var(--nx-fast) var(--nx-ease)!important;
}

body.nexa-ui-rewrite button:hover,
body.nexa-ui-rewrite .call-action-btn:hover,
body.nexa-ui-rewrite .colleague-call-btn:hover,
body.nexa-ui-rewrite .colleague-icon-btn:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(29,78,216,.22)!important;
  box-shadow:var(--nx-shadow-sm)!important;
}

body.nexa-ui-rewrite button.primary,
body.nexa-ui-rewrite .meeting-primary-btn,
body.nexa-ui-rewrite .call-action-btn.primary,
body.nexa-ui-rewrite .call-mini-btn.primary,
body.nexa-ui-rewrite .colleague-call-btn.video,
body.nexa-ui-rewrite .colleague-icon-btn.video,
body.nexa-ui-rewrite .colleague-call-control.primary{
  background:var(--nx-primary)!important;
  color:#fff!important;
  border-color:var(--nx-primary)!important;
  box-shadow:0 14px 28px rgba(29,78,216,.20)!important;
}

body.nexa-ui-rewrite .call-action-btn.green,
body.nexa-ui-rewrite .call-mini-btn.green,
body.nexa-ui-rewrite .colleague-call-btn.audio,
body.nexa-ui-rewrite .colleague-icon-btn.audio,
body.nexa-ui-rewrite .colleague-call-control.green{
  background:var(--nx-green)!important;
  color:#fff!important;
  border-color:var(--nx-green)!important;
}

body.nexa-ui-rewrite .call-action-btn.red,
body.nexa-ui-rewrite .call-mini-btn.red,
body.nexa-ui-rewrite .colleague-call-control.end,
body.nexa-ui-rewrite .meeting-control.end{
  background:var(--nx-red)!important;
  color:#fff!important;
  border-color:var(--nx-red)!important;
}

body.nexa-ui-rewrite .meeting-control,
body.nexa-ui-rewrite .call-mini-btn,
body.nexa-ui-rewrite .colleague-icon-btn,
body.nexa-ui-rewrite .colleague-call-control{
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  min-width:36px!important;
  padding:0!important;
  border-radius:999px!important;
}

body.nexa-ui-rewrite .meeting-control,
body.nexa-ui-rewrite .call-mini-btn{
  width:40px!important;
  height:40px!important;
  min-height:40px!important;
  min-width:40px!important;
}

body.nexa-ui-rewrite input,
body.nexa-ui-rewrite select,
body.nexa-ui-rewrite textarea{
  width:100%!important;
  min-height:40px!important;
  border-radius:12px!important;
  border:1px solid var(--nx-border)!important;
  background:#fff!important;
  color:var(--nx-ink)!important;
  padding:8px 11px!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}

body.nexa-ui-rewrite textarea{
  min-height:96px!important;
  resize:vertical!important;
}

body.nexa-ui-rewrite input:focus,
body.nexa-ui-rewrite select:focus,
body.nexa-ui-rewrite textarea:focus{
  outline:none!important;
  border-color:rgba(29,78,216,.42)!important;
  box-shadow:0 0 0 4px rgba(29,78,216,.10)!important;
}

body.nexa-ui-rewrite table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  border-radius:var(--nx-radius)!important;
  border:1px solid var(--nx-border-soft)!important;
  background:#fff!important;
}

body.nexa-ui-rewrite th,
body.nexa-ui-rewrite td{
  padding:12px!important;
  text-align:left!important;
  border-bottom:1px solid var(--nx-border-soft)!important;
  font-size:12px!important;
}

body.nexa-ui-rewrite th{
  background:#f8fafc!important;
  color:var(--nx-title)!important;
  font-weight:900!important;
}

body.nexa-ui-rewrite td{
  color:var(--nx-ink)!important;
}

body.nexa-ui-rewrite .meeting-create-head,
body.nexa-ui-rewrite .colleague-directory-head,
body.nexa-ui-rewrite .call-widget-head,
body.nexa-ui-rewrite .colleague-call-widget-head,
body.nexa-ui-rewrite .rabbit-context-header,
body.nexa-ui-rewrite .rabbit-command-head{
  padding:14px 16px!important;
  border-bottom:1px solid var(--nx-border-soft)!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
}

body.nexa-ui-rewrite .meeting-create-body,
body.nexa-ui-rewrite .call-widget-body,
body.nexa-ui-rewrite .colleague-call-widget-body,
body.nexa-ui-rewrite .rabbit-context-section{
  padding:16px!important;
}

body.nexa-ui-rewrite .meeting-form-grid,
body.nexa-ui-rewrite .meeting-options,
body.nexa-ui-rewrite .video-list,
body.nexa-ui-rewrite .colleague-directory-body{
  gap:10px!important;
}

body.nexa-ui-rewrite .video-list-item,
body.nexa-ui-rewrite .colleague-row,
body.nexa-ui-rewrite .meeting-option{
  border-radius:14px!important;
  background:var(--nx-surface-soft)!important;
  border:1px solid var(--nx-border-soft)!important;
  padding:10px!important;
}

body.nexa-ui-rewrite .meeting-room-preview{
  border-radius:18px!important;
  padding:12px!important;
  min-height:370px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

body.nexa-ui-rewrite .meeting-room-head{
  margin-bottom:4px!important;
}

body.nexa-ui-rewrite .meeting-grid{
  gap:10px!important;
}

body.nexa-ui-rewrite .meeting-tile{
  border-radius:16px!important;
}

body.nexa-ui-rewrite .meeting-tile.main{
  min-height:280px!important;
}

body.nexa-ui-rewrite .meeting-tile-label{
  left:10px!important;
  bottom:10px!important;
  min-height:24px!important;
  padding:0 8px!important;
  font-size:10.5px!important;
  border-radius:999px!important;
}

body.nexa-ui-rewrite .meeting-avatar,
body.nexa-ui-rewrite .video-list-avatar,
body.nexa-ui-rewrite .colleague-avatar{
  box-shadow:0 10px 24px rgba(29,78,216,.18)!important;
}

body.nexa-ui-rewrite .meeting-entry-toolbar,
body.nexa-ui-rewrite .colleague-call-entry,
body.nexa-ui-rewrite .call-injection-bar{
  border-radius:16px!important;
  padding:11px 12px!important;
  background:
    radial-gradient(circle at 0% 0%, rgba(29,78,216,.08), transparent 34%),
    linear-gradient(180deg,#ffffff,#f8fafc)!important;
  border:1px solid var(--nx-border-soft)!important;
  box-shadow:var(--nx-shadow-xs)!important;
}

body.nexa-ui-rewrite .meeting-entry-toolbar h3,
body.nexa-ui-rewrite .colleague-call-entry h3{
  color:var(--nx-title)!important;
  font-size:13.5px!important;
}

body.nexa-ui-rewrite .meeting-entry-toolbar p,
body.nexa-ui-rewrite .colleague-call-entry p,
body.nexa-ui-rewrite .call-injection-bar small{
  color:var(--nx-muted)!important;
  font-size:11.25px!important;
}

body.nexa-ui-rewrite .rabbit-command-palette,
body.nexa-ui-rewrite .meeting-create-panel{
  backdrop-filter:blur(9px)!important;
}

body.nexa-ui-rewrite .rabbit-command-box{
  border-radius:22px!important;
  box-shadow:var(--nx-shadow-lg)!important;
}

body.nexa-ui-rewrite .rabbit-command-result{
  border-radius:14px!important;
  padding:10px!important;
}

body.nexa-ui-rewrite .rabbit-command-result strong{
  color:var(--nx-title)!important;
  font-size:12.75px!important;
}

body.nexa-ui-rewrite .rabbit-command-result small{
  color:var(--nx-muted)!important;
}

body.nexa-ui-rewrite .rabbit-context-panel{
  background:rgba(255,255,255,.92)!important;
  border-left:1px solid var(--nx-border-soft)!important;
  box-shadow:var(--nx-shadow-lg)!important;
  backdrop-filter:blur(18px) saturate(1.05)!important;
}

body.nexa-ui-rewrite .rabbit-context-header h2{
  color:var(--nx-title)!important;
  font-size:19px!important;
  font-weight:940!important;
}

body.nexa-ui-rewrite .rabbit-eyebrow{
  color:var(--nx-muted)!important;
  font-size:10.5px!important;
  letter-spacing:.08em!important;
}

body.nexa-ui-rewrite .rabbit-quick-actions{
  gap:8px!important;
}

body.nexa-ui-rewrite .rabbit-quick-actions button{
  min-height:36px!important;
}

body.nexa-ui-rewrite .timeline{
  margin:0!important;
  padding-left:18px!important;
}

body.nexa-ui-rewrite .timeline li{
  color:var(--nx-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
  margin:0 0 10px!important;
}

body.nexa-ui-rewrite .timeline strong{
  display:block!important;
  color:var(--nx-title)!important;
  font-size:12.5px!important;
}

body.nexa-ui-rewrite .timeline small{
  color:var(--nx-muted)!important;
}

body.nexa-ui-rewrite .meeting-create-card,
body.nexa-ui-rewrite .colleague-call-widget,
body.nexa-ui-rewrite .call-floating-widget{
  box-shadow:var(--nx-shadow-lg)!important;
}

body.nexa-ui-rewrite .rabbit-command-trigger kbd,
body.nexa-ui-rewrite .rabbit-kbd{
  border-radius:8px!important;
  border:1px solid var(--nx-border)!important;
  background:#fff!important;
  color:var(--nx-muted)!important;
  font-size:10.5px!important;
  padding:2px 7px!important;
}

@media(max-width:1360px){
  body.nexa-ui-rewrite .rabbit-kpi-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:1180px){
  body.nexa-ui-rewrite .app{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    display:block!important;
  }

  body.nexa-ui-rewrite .topbar{
    grid-template-columns:1fr!important;
    padding:12px!important;
    gap:12px!important;
  }

  body.nexa-ui-rewrite .main{
    padding:0 10px 96px!important;
  }

  body.nexa-ui-rewrite .rightbar{
    display:none!important;
  }

  body.nexa-ui-rewrite .sidebar{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    top:auto!important;
    z-index:9000!important;
    height:66px!important;
    padding:8px!important;
    border-radius:22px!important;
    overflow-x:auto!important;
  }

  body.nexa-ui-rewrite .brand{
    display:none!important;
  }

  body.nexa-ui-rewrite .nav,
  body.nexa-ui-rewrite #nav{
    display:flex!important;
    gap:8px!important;
    width:100%!important;
  }

  body.nexa-ui-rewrite .nav button,
  body.nexa-ui-rewrite #nav button{
    min-width:48px!important;
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  body.nexa-ui-rewrite .nav button span:not(:first-child),
  body.nexa-ui-rewrite #nav button span:not(:first-child),
  body.nexa-ui-rewrite .nav button b,
  body.nexa-ui-rewrite #nav button b{
    display:none!important;
  }

  body.nexa-ui-rewrite .rabbit-context-panel{
    width:min(430px,100vw)!important;
  }
}

@media(max-width:860px){
  body.nexa-ui-rewrite .rabbit-enterprise-hero,
  body.nexa-ui-rewrite .video-suite-hero{
    grid-template-columns:1fr!important;
    padding:20px!important;
  }

  body.nexa-ui-rewrite .rabbit-section-header{
    flex-direction:column!important;
  }

  body.nexa-ui-rewrite .meeting-form-grid,
  body.nexa-ui-rewrite .meeting-options,
  body.nexa-ui-rewrite .rabbit-quick-actions{
    grid-template-columns:1fr!important;
  }

  body.nexa-ui-rewrite .meeting-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:720px){
  body.nexa-ui-rewrite .main{
    padding:0 8px 96px!important;
  }

  body.nexa-ui-rewrite .rabbit-kpi-strip{
    grid-template-columns:1fr!important;
  }

  body.nexa-ui-rewrite .rabbit-enterprise-hero h2,
  body.nexa-ui-rewrite .video-suite-hero h2{
    font-size:34px!important;
  }

  body.nexa-ui-rewrite .meeting-room-preview{
    min-height:320px!important;
  }

  body.nexa-ui-rewrite .meeting-tile.main{
    min-height:220px!important;
  }

  body.nexa-ui-rewrite table,
  body.nexa-ui-rewrite thead,
  body.nexa-ui-rewrite tbody,
  body.nexa-ui-rewrite th,
  body.nexa-ui-rewrite td,
  body.nexa-ui-rewrite tr{
    display:block!important;
  }

  body.nexa-ui-rewrite thead{
    display:none!important;
  }

  body.nexa-ui-rewrite tr{
    margin-bottom:10px!important;
    border-bottom:1px solid var(--nx-border-soft)!important;
  }

  body.nexa-ui-rewrite td{
    border-bottom:0!important;
    padding:8px 12px!important;
  }
}


/* =========================================================
   SPACING REGULARIZATION PATCH
   Uniforma spazi, allineamenti e griglia chat
   ========================================================= */
.main>.view.active{display:grid;gap:14px;align-content:start}
.hero{padding:18px 18px 16px!important;border-radius:18px!important;margin:0!important;min-height:auto!important}
.hero:after{font-size:50px!important;top:14px!important;right:18px!important}
.hero h2{font-size:clamp(28px,3vw,44px)!important;line-height:.98!important;max-width:760px!important;margin:10px 0 8px!important}
.hero p{margin:0!important;max-width:820px!important}
.hero .actions{margin-top:14px!important}
.topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:10px 14px!important;border-radius:0 0 16px 16px!important}
.topbar .search{min-width:0!important;max-width:760px!important;width:100%!important}
.topbar .actions,.topbar>div:last-child{justify-self:end!important}
.topbar input{min-height:40px!important;padding:0 12px!important}
.sidebar,.rightbar,.main{min-width:0!important}
.rightbar{display:grid!important;align-content:start!important;gap:12px!important}
.rightbar .card,.rightbar .online-user,.rightbar .thread{margin:0!important}
.chat-layout.rabbit-messenger{display:grid!important;grid-template-columns:300px minmax(0,1fr) 260px!important;gap:12px!important;border:0!important;border-radius:0!important;background:transparent!important;min-height:auto!important;align-items:stretch!important}
.chat-layout.rabbit-messenger>.call-injection-bar{grid-column:1/-1!important;order:-1!important;margin:0!important}
.rabbit-chat-list,.rabbit-chat-main,.rabbit-chat-info{border:1px solid var(--line)!important;border-radius:16px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 8px 24px rgba(16,24,40,.06)!important;min-height:620px!important}
.rabbit-chat-list{padding:14px!important;display:grid!important;grid-template-rows:auto auto 1fr!important;gap:10px!important;overflow:auto!important}
.rabbit-chat-list-head{margin:0!important}
.rabbit-chat-search{margin:0!important}
#messengerThreads{display:grid!important;gap:8px!important;align-content:start!important}
.rabbit-thread{margin:0!important}
.rabbit-chat-main{display:grid!important;grid-template-rows:auto 1fr auto!important;overflow:hidden!important}
.rabbit-chat-head,.rabbit-chat-input{padding:12px 14px!important}
.rabbit-chat-body{padding:14px!important;overflow:auto!important}
.rabbit-chat-info{padding:14px!important;display:grid!important;align-content:start!important;gap:10px!important;overflow:auto!important}
.rabbit-chat-info>*{margin:0!important}
.rabbit-chat-info-card{margin-top:0!important}
.call-injection-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:12px 14px!important;border-radius:16px!important}
.call-injection-bar>div:first-child{min-width:0!important}
.call-injection-bar b{display:block!important;margin-bottom:2px!important}
.chat-call-toolbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.online-user{padding:10px!important}
.row{margin:0!important}
.thread{margin:0!important}
.card,.post,.document-card,.knowledge-card,.settings-section{margin:0!important}
.grid,.social-layout,.page-layout,.settings-layout,.form-grid{gap:12px!important}
@media(max-width:1180px){
  .main>.view.active{gap:10px!important}
  .topbar{grid-template-columns:1fr!important}
  .topbar .actions,.topbar>div:last-child{justify-self:start!important}
  .chat-layout.rabbit-messenger{grid-template-columns:1fr!important}
  .chat-layout.rabbit-messenger>.call-injection-bar{grid-column:auto!important}
  .rabbit-chat-list,.rabbit-chat-main,.rabbit-chat-info{min-height:auto!important}
}


/* =========================================================
   ORDERED SPACING + CHAT GRID NORMALIZATION PATCH
   ========================================================= */
:root{
  --space-1:6px; --space-2:10px; --space-3:14px; --space-4:18px; --space-5:24px;
}
.main>.view.active{display:grid!important;gap:16px!important;align-content:start!important}
.topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;padding:10px 16px!important}
.topbar .search{width:100%!important;max-width:none!important;min-width:0!important}
.topbar .search input{width:100%!important}
.topbar>.actions,.topbar>div:last-child{justify-self:end!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.hero{padding:20px!important;border-radius:16px!important}
.hero .actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:16px!important}
.card,.post,.row,.online-user,.thread,.document-card,.knowledge-card,.settings-section{margin:0!important}
.rightbar{display:grid!important;align-content:start!important;gap:14px!important}
.rightbar > br{display:none!important}
#briefBox,.social-layout,.page-layout,.settings-layout,.form-grid,.grid{gap:14px!important}
#onlineBox,#quickThreads{display:grid!important;gap:10px!important}

/* Messenger layout */
.chat-layout.rabbit-messenger{
  display:grid!important;
  grid-template-columns:minmax(260px,292px) minmax(420px,1fr) minmax(280px,320px)!important;
  grid-auto-rows:min-content!important;
  gap:14px!important;
  align-items:start!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.chat-layout.rabbit-messenger > .call-injection-bar,
.chat-layout.rabbit-messenger > .colleague-call-entry,
.chat-layout.rabbit-messenger > .colleague-directory-panel{
  grid-column:1 / -1!important;
  width:100%!important;
  margin:0!important;
}
.chat-layout.rabbit-messenger > .call-injection-bar{order:-3!important}
.chat-layout.rabbit-messenger > .colleague-call-entry{order:-2!important}
.chat-layout.rabbit-messenger > .colleague-directory-panel{order:-1!important}

.call-injection-bar,
.colleague-call-entry{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
}
.call-injection-bar > div:first-child,
.colleague-call-entry > div:first-child{min-width:0!important;flex:1 1 auto!important}
.call-injection-bar h3,.call-injection-bar b,
.colleague-call-entry h3{margin:0!important}
.call-injection-bar small,
.colleague-call-entry p{margin:4px 0 0!important;line-height:1.45!important}
.chat-call-toolbar,.colleague-call-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}

.rabbit-chat-list,
.rabbit-chat-main,
.rabbit-chat-info{
  min-width:0!important;
  min-height:640px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 28px rgba(16,24,40,.06)!important;
  overflow:hidden!important;
}
.rabbit-chat-list{display:grid!important;grid-template-rows:auto auto 1fr!important;gap:10px!important;padding:14px!important;align-content:start!important}
.rabbit-chat-list-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0!important}
.rabbit-chat-search{margin:0!important}
.rabbit-chat-search input{min-height:40px!important}
#messengerThreads{display:grid!important;gap:8px!important;align-content:start!important}
.rabbit-thread{padding:12px!important;border-radius:12px!important;margin:0!important}
.rabbit-thread > div:nth-child(2){min-width:0!important}
.rabbit-thread b,.rabbit-thread small{display:block!important;white-space:normal!important;line-height:1.35!important}

.rabbit-chat-main{display:grid!important;grid-template-rows:auto 1fr auto!important}
.rabbit-chat-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:14px 16px!important}
.rabbit-chat-person{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex:1 1 auto!important}
.rabbit-chat-person > div{min-width:0!important}
.rabbit-chat-person b,.rabbit-chat-person small{display:block!important;overflow-wrap:anywhere!important;line-height:1.35!important}
.rabbit-chat-head .actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;flex-shrink:0!important}
.rabbit-chat-body{padding:16px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.rabbit-msg-row{margin:0!important}
.rabbit-chat-input{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important;padding:12px 14px!important}

.rabbit-chat-info{padding:16px!important;display:grid!important;align-content:start!important;grid-auto-rows:min-content!important;gap:14px!important}
.rabbit-chat-info > div:first-child{display:grid!important;justify-items:center!important;gap:8px!important;text-align:center!important}
.rabbit-chat-info h3{margin:0!important;font-size:18px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important}
.rabbit-chat-info p{margin:0!important;line-height:1.45!important}
.rabbit-chat-info-card{margin:0!important;padding:14px!important;border-radius:14px!important}
.rabbit-chat-info-card p{line-height:1.55!important;word-break:break-word!important}
.rabbit-chat-info-card button{width:100%!important;justify-content:center!important}
.colleague-directory-panel{padding:0!important;overflow:hidden!important}
.colleague-directory-head{padding:12px 14px!important}
.colleague-directory-body{display:grid!important;gap:8px!important;padding:12px!important;max-height:300px!important}
.colleague-row{padding:10px 12px!important}
.colleague-row > div:nth-child(2){min-width:0!important}
.colleague-row b,.colleague-row small{line-height:1.35!important;overflow-wrap:anywhere!important}
.colleague-row-actions{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:nowrap!important}

@media (max-width:1280px){
  .chat-layout.rabbit-messenger{grid-template-columns:260px minmax(0,1fr)!important}
  .rabbit-chat-info{grid-column:1 / -1!important;min-height:auto!important}
}
@media (max-width:980px){
  .topbar{grid-template-columns:1fr!important}
  .topbar>.actions,.topbar>div:last-child{justify-self:start!important}
  .chat-layout.rabbit-messenger{grid-template-columns:1fr!important;gap:12px!important}
  .chat-layout.rabbit-messenger > *{grid-column:auto!important}
  .call-injection-bar,.colleague-call-entry{flex-direction:column!important;align-items:flex-start!important}
  .chat-call-toolbar,.colleague-call-actions{justify-content:flex-start!important}
  .rabbit-chat-list,.rabbit-chat-main,.rabbit-chat-info{min-height:auto!important}
}


/* =========================================================
   NEXAOS REAL WEBRTC CALLS
   Audio/video reali con WebRTC + Supabase signaling.
   ========================================================= */

.real-call-layer{
  position:fixed;
  inset:0;
  z-index:30000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.62);
  backdrop-filter:blur(12px);
}

.real-call-layer.show{
  display:flex;
}

.real-call-shell{
  width:min(1180px,100%);
  height:min(760px,calc(100vh - 36px));
  border-radius:24px;
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.22), transparent 32%),
    linear-gradient(135deg,#0f172a,#111827 58%,#17345f);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 36px 120px rgba(0,0,0,.42);
  color:#fff;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}

.real-call-head{
  min-height:62px;
  padding:14px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(15,23,42,.36);
}

.real-call-head h2{
  margin:0;
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:-.035em;
}

.real-call-head p{
  margin:3px 0 0;
  color:#cbd5e1;
  font-size:12px;
}

.real-call-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#dbeafe;
  font-size:11px;
  font-weight:850;
}

.real-call-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.15);
}

.real-call-stage{
  min-height:0;
  padding:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:14px;
}

.real-call-videos{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.real-video-tile{
  position:relative;
  min-height:220px;
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(135deg,#1e293b,#020617);
  border:1px solid rgba(255,255,255,.10);
  display:grid;
  place-items:center;
}

.real-video-tile.main{
  grid-column:1 / -1;
}

.real-video-tile video{
  width:100%;
  height:100%;
  object-fit:cover;
  background:#020617;
}

.real-video-placeholder{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#1d4ed8,#0ea5e9);
  color:#fff;
  font-size:24px;
  font-weight:950;
  border:3px solid rgba(255,255,255,.18);
}

.real-video-label{
  position:absolute;
  left:12px;
  bottom:12px;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(15,23,42,.66);
  color:#fff;
  font-size:11.5px;
  font-weight:850;
  backdrop-filter:blur(10px);
}

.real-call-side{
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
}

.real-call-card{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.08);
  padding:12px;
  min-width:0;
}

.real-call-card h3{
  margin:0 0 8px;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.real-call-card p,
.real-call-card small{
  color:#cbd5e1;
  font-size:11.5px;
}

.real-call-log{
  display:grid;
  gap:8px;
  align-content:start;
  overflow:auto;
  max-height:100%;
}

.real-call-log div{
  border-radius:12px;
  padding:9px;
  background:rgba(15,23,42,.38);
  color:#dbeafe;
  font-size:11.5px;
}

.real-call-controls{
  min-height:76px;
  padding:14px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(15,23,42,.42);
}

.real-control-btn{
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  min-width:48px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:17px!important;
}

.real-control-btn.active{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
}

.real-control-btn.danger{
  background:#dc2626!important;
  border-color:#dc2626!important;
}

.real-control-btn:hover{
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.18)!important;
}

.real-incoming-call{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:31000;
  width:min(390px,calc(100vw - 28px));
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 32px 90px rgba(15,23,42,.26);
  overflow:hidden;
  display:none;
}

.real-incoming-call.show{
  display:block;
}

.real-incoming-head{
  padding:14px;
  background:#f8fafc;
  border-bottom:1px solid #e2e8f0;
}

.real-incoming-head strong{
  display:block;
  color:#0f172a;
  font-size:14px;
}

.real-incoming-head small{
  color:#667085;
}

.real-incoming-body{
  padding:14px;
  display:grid;
  gap:12px;
}

.real-incoming-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
}

.real-incoming-actions button{
  border-radius:999px!important;
  padding:0 14px!important;
}

.real-incoming-actions .accept{
  background:#047857!important;
  color:#fff!important;
  border-color:#047857!important;
}

.real-incoming-actions .reject{
  background:#be123c!important;
  color:#fff!important;
  border-color:#be123c!important;
}

@media(max-width:900px){
  .real-call-shell{
    height:calc(100vh - 24px);
    border-radius:18px;
  }

  .real-call-stage{
    grid-template-columns:1fr;
    overflow:auto;
  }

  .real-call-videos{
    grid-template-columns:1fr;
  }

  .real-video-tile.main{
    grid-column:auto;
  }

  .real-call-side{
    grid-template-rows:auto auto;
  }
}


/* =========================================================
   NEXAOS USERS & INVITES
   Impostazioni -> Utenti e permessi
   ========================================================= */
.users-admin-panel{display:grid;gap:14px}.users-admin-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:radial-gradient(circle at 0% 0%,rgba(29,78,216,.10),transparent 34%),linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 2px rgba(15,23,42,.06)}.users-admin-hero h3{margin:0;color:#0f172a;font-size:18px;font-weight:950;letter-spacing:-.04em}.users-admin-hero p{margin:5px 0 0;color:#667085;font-size:12px;line-height:1.45}.users-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.users-admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px;align-items:start}.users-admin-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.06);overflow:hidden}.users-admin-card header{padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:12px}.users-admin-card header h3{margin:0;color:#0f172a;font-size:14px;font-weight:900}.users-admin-card header small{color:#667085}.users-admin-body{padding:14px;display:grid;gap:10px}.user-admin-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.user-admin-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-size:12px;font-weight:950}.user-admin-row b{display:block;color:#0f172a;font-size:13px}.user-admin-row small{display:block;color:#667085;margin-top:2px;font-size:11.5px}.user-admin-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.user-pill{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;font-size:10.5px;font-weight:900}.user-pill.green{border-color:#bbf7d0;background:#ecfdf3;color:#047857}.user-pill.orange{border-color:#fde68a;background:#fffbeb;color:#92400e}.invite-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invite-field.full{grid-column:1/-1}.invite-field label{display:block;margin-bottom:5px;color:#344054;font-size:11px;font-weight:900}.invite-field input,.invite-field select,.invite-field textarea{width:100%;min-height:40px;border:1px solid #d9e2ee;border-radius:12px;padding:8px 10px;background:#fff;color:#101828}.invite-field textarea{min-height:76px;resize:vertical}.invite-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #e2e8f0}.invite-note{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:11.5px;line-height:1.45}.users-settings-tab-btn{border-color:#c7d8ff!important;background:#eef4ff!important;color:#174ea6!important}@media(max-width:980px){.users-admin-grid{grid-template-columns:1fr}.users-admin-hero{flex-direction:column}.users-admin-actions{justify-content:flex-start}}@media(max-width:640px){.invite-form-grid{grid-template-columns:1fr}.user-admin-row{grid-template-columns:auto 1fr}.user-admin-tags{grid-column:2;justify-content:flex-start}}


/* =========================================================
   NEXAOS FRONTEND SUPABASE CONFIG
   Pannello configurazione Supabase URL + Anon Key
   ========================================================= */

.supabase-config-panel{
  position:fixed;
  inset:0;
  z-index:32000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(10px);
}

.supabase-config-panel.show{
  display:flex;
}

.supabase-config-card{
  width:min(760px,100%);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  box-shadow:0 30px 90px rgba(15,23,42,.28);
}

.supabase-config-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border-bottom:1px solid #e2e8f0;
  background:#f8fafc;
}

.supabase-config-head h2{
  margin:0;
  color:#0f172a;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:950;
}

.supabase-config-head p{
  margin:5px 0 0;
  color:#667085;
  font-size:12px;
  line-height:1.45;
}

.supabase-config-body{
  padding:18px;
  display:grid;
  gap:14px;
}

.supabase-config-grid{
  display:grid;
  gap:12px;
}

.supabase-config-field label{
  display:block;
  margin-bottom:5px;
  color:#344054;
  font-size:11px;
  font-weight:900;
}

.supabase-config-field input,
.supabase-config-field textarea{
  width:100%;
  min-height:42px;
  border:1px solid #d9e2ee;
  border-radius:12px;
  background:#fff;
  color:#101828;
  padding:8px 10px;
  font-family:inherit;
}

.supabase-config-field textarea{
  min-height:120px;
  resize:vertical;
}

.supabase-config-note{
  border:1px solid #c7d8ff;
  background:#eef4ff;
  color:#174ea6;
  border-radius:14px;
  padding:11px;
  font-size:12px;
  line-height:1.48;
}

.supabase-config-note.warning{
  border-color:#fde68a;
  background:#fffbeb;
  color:#92400e;
}

.supabase-config-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}

.supabase-config-actions button.primary,
.supabase-config-btn.primary{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}

.supabase-config-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #c7d8ff;
  color:#174ea6;
  font-size:11px;
  font-weight:900;
}

.supabase-config-status.ok{
  background:#ecfdf3;
  border-color:#bbf7d0;
  color:#047857;
}

.supabase-config-status.ko{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}


/* =========================================================
   NEXAOS PROFILES LIVE SYNC
   ========================================================= */
.user-sync-mini{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 9px;border-radius:999px;background:#ecfdf3;border:1px solid #bbf7d0;color:#047857;font-size:10.5px;font-weight:900}
.user-sync-mini.ko{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.user-sync-empty{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:11.5px;line-height:1.45}


/* =========================================================
   NEXAOS SAFE USERS SYNC
   Non svuota più la UI se public.profiles è vuota.
   ========================================================= */
.safe-sync-banner{
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
  border-radius:14px;
  padding:10px;
  font-size:11.5px;
  line-height:1.45;
}
.safe-sync-banner.ok{
  border-color:#bbf7d0;
  background:#ecfdf3;
  color:#047857;
}
.safe-sync-tools{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.safe-sync-tools button{
  min-height:34px!important;
}


/* =========================================================
   NEXAOS USERS MERGE REPAIR
   Mostra utenti da profiles + inviti + online + fallback.
   ========================================================= */
.users-merge-source{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid #c7d8ff;
  background:#eef4ff;
  color:#174ea6;
  font-size:10px;
  font-weight:900;
}
.users-merge-alert{
  border:1px solid #c7d8ff;
  background:#eef4ff;
  color:#174ea6;
  border-radius:14px;
  padding:10px;
  font-size:11.5px;
  line-height:1.45;
  margin-bottom:10px;
}
.users-merge-alert.warn{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}


/* NEXAOS SIGNUP + ADMIN APPROVAL */
.signup-modal{position:fixed;inset:0;z-index:33000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.52);backdrop-filter:blur(10px)}
.signup-modal.show{display:flex}
.signup-modal-card,.signup-approval-card{width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border:1px solid rgba(255,255,255,.72);border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.28)}
.signup-approval-card{width:auto;max-height:none;margin-top:14px}
.signup-modal-head,.signup-approval-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.signup-modal-head h2,.signup-approval-card h3{margin:0;color:#0f172a;font-size:20px;line-height:1.1;letter-spacing:-.04em;font-weight:950}
.signup-approval-card h3{font-size:14px;letter-spacing:-.02em}
.signup-modal-head p,.signup-approval-card small{margin:5px 0 0;color:#667085;font-size:12px;line-height:1.45}
.signup-request-body{padding:14px;display:grid;gap:10px}
.signup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.signup-field.full{grid-column:1/-1}
.signup-field label{display:block;margin-bottom:5px;color:#344054;font-size:11px;font-weight:900}
.signup-field input,.signup-field select,.signup-field textarea{width:100%;min-height:40px;border:1px solid #d9e2ee;border-radius:12px;background:#fff;color:#101828;padding:8px 10px}
.signup-field textarea{min-height:78px;resize:vertical}
.signup-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #e2e8f0}
.signup-note{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:11.5px;line-height:1.45}
.signup-note.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.signup-request-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.signup-request-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-size:12px;font-weight:950}
.signup-request-row b{display:block;color:#0f172a;font-size:13px}.signup-request-row small{display:block;color:#667085;margin-top:2px;font-size:11.5px}
.signup-request-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.signup-pill{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:10.5px;font-weight:900}
.signup-status-block{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:16px;padding:14px;margin:12px 0;font-size:13px;line-height:1.5}
@media(max-width:720px){.signup-form-grid{grid-template-columns:1fr}.signup-request-row{grid-template-columns:auto 1fr}.signup-request-actions{grid-column:2;justify-content:flex-start}}


/* NEXAOS SIGNUP REQUESTS VISIBLE ROUTE */
.signup-requests-page{display:grid;gap:14px}
.signup-requests-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.signup-requests-hero h2{margin:0;color:#0f172a;font-size:28px;line-height:1.05;letter-spacing:-.05em;font-weight:950}
.signup-requests-hero p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.45}
.signup-requests-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.signup-requests-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.06);overflow:hidden}
.signup-requests-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.signup-requests-card h3{margin:0;color:#0f172a;font-size:14px;font-weight:900}
.signup-requests-card small{color:#667085}
.signup-requests-body{padding:14px;display:grid;gap:10px}
.signup-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:11px;font-weight:950}


/* =========================================================
   NEXAOS APPROVAL GATE FIX
   Blocca davvero utenti pending/rejected e rende richieste visibili.
   ========================================================= */
.approval-gate{
  position:fixed;
  inset:0;
  z-index:35000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:
    radial-gradient(circle at 15% 10%, rgba(37,99,235,.18), transparent 32%),
    radial-gradient(circle at 85% 90%, rgba(14,165,233,.14), transparent 30%),
    #f5f7fb;
}
.approval-gate.show{display:flex}
.approval-gate-card{
  width:min(760px,100%);
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:26px;
  box-shadow:0 30px 100px rgba(15,23,42,.25);
  overflow:hidden;
}
.approval-gate-head{
  padding:22px;
  border-bottom:1px solid #e2e8f0;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
}
.approval-gate-kicker{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#fffbeb;
  border:1px solid #fde68a;
  color:#92400e;
  font-size:11px;
  font-weight:950;
  margin-bottom:10px;
}
.approval-gate-card h1{
  margin:0;
  color:#0f172a;
  font-size:32px;
  line-height:1.02;
  letter-spacing:-.055em;
  font-weight:950;
}
.approval-gate-card p{
  color:#667085;
  font-size:14px;
  line-height:1.55;
}
.approval-gate-body{
  padding:18px 22px 22px;
  display:grid;
  gap:12px;
}
.approval-gate-box{
  border:1px solid #c7d8ff;
  background:#eef4ff;
  color:#174ea6;
  border-radius:16px;
  padding:12px;
  font-size:13px;
  line-height:1.5;
}
.approval-gate-box.warn{
  border-color:#fed7aa;
  background:#fff7ed;
  color:#9a3412;
}
.approval-gate-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding-top:10px;
  border-top:1px solid #e2e8f0;
}
.approval-gate-actions button.primary{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}
.approval-admin-message{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px;
  width:100%;
  min-height:86px;
  resize:vertical;
}
.approval-request-source{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #c7d8ff;
  color:#174ea6;
  font-size:10px;
  font-weight:900;
}


/* =========================================================
   NEXAOS REAL DIRECTORY FROM PROFILES
   Utenti, colleghi, rubrica e online reali.
   ========================================================= */
.real-directory-page{display:grid;gap:14px}
.real-directory-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.real-directory-hero h2{margin:0;color:#0f172a;font-size:28px;line-height:1.05;letter-spacing:-.05em;font-weight:950}
.real-directory-hero p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.45}
.real-directory-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.real-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.real-directory-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.06);overflow:hidden}
.real-directory-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.real-directory-card h3{margin:0;color:#0f172a;font-size:14px;font-weight:900}
.real-directory-card small{color:#667085}
.real-directory-body{padding:14px;display:grid;gap:10px}
.real-person-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.real-person-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-size:12px;font-weight:950}
.real-person-row b{display:block;color:#0f172a;font-size:13px}
.real-person-row small{display:block;color:#667085;margin-top:2px;font-size:11.5px}
.real-person-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.real-person-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;background:#ecfdf3;border:1px solid #bbf7d0;color:#047857;font-size:10px;font-weight:900}
.real-person-empty{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:11.5px;line-height:1.45}
.real-directory-search{width:100%;min-height:40px;border:1px solid #d9e2ee;border-radius:12px;background:#fff;color:#101828;padding:8px 10px}
@media(max-width:980px){.real-directory-grid{grid-template-columns:1fr}.real-person-row{grid-template-columns:auto 1fr}.real-person-actions{grid-column:2;justify-content:flex-start}}


/* =========================================================
   NEXAOS WORKSPACE SOURCE OF TRUTH
   Una sola fonte dati: public.profiles.
   ========================================================= */
.sot-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#eef4ff;border:1px solid #c7d8ff;color:#174ea6;font-size:10px;font-weight:950}
.sot-badge.ok{background:#ecfdf3;border-color:#bbf7d0;color:#047857}
.sot-shell{display:grid;gap:14px}
.sot-hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.sot-hero h2{margin:0;color:#0f172a;font-size:30px;line-height:1.05;letter-spacing:-.055em;font-weight:950}
.sot-hero p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.45}
.sot-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sot-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;align-items:start}
.sot-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.06);overflow:hidden}
.sot-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.sot-card h3{margin:0;color:#0f172a;font-size:14px;font-weight:900}
.sot-card small{color:#667085}
.sot-body{padding:14px;display:grid;gap:10px}
.sot-search{width:100%;min-height:40px;border:1px solid #d9e2ee;border-radius:12px;background:#fff;color:#101828;padding:8px 10px}
.sot-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.sot-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;font-size:12px;font-weight:950}
.sot-person b{display:block;color:#0f172a;font-size:13px}
.sot-person small{display:block;color:#667085;margin-top:2px;font-size:11.5px}
.sot-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.sot-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;background:#ecfdf3;border:1px solid #bbf7d0;color:#047857;font-size:10px;font-weight:900}
.sot-pill.pending{background:#fffbeb;border-color:#fde68a;color:#92400e}
.sot-empty{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:11.5px;line-height:1.45}
.sot-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px;min-height:520px}
.sot-chat-list{display:grid;gap:8px;align-content:start}
.sot-thread{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:10px;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center}
.sot-thread.active{border-color:#1d4ed8;background:#eef4ff}
.sot-chat-window{display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff}
.sot-chat-head{padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc;display:flex;justify-content:space-between;gap:10px;align-items:center}
.sot-chat-messages{padding:14px;display:grid;gap:8px;align-content:start;overflow:auto;min-height:360px;background:#fbfdff}
.sot-msg{max-width:76%;padding:9px 11px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#0f172a;font-size:13px;line-height:1.4}
.sot-msg.me{justify-self:end;background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.sot-chat-compose{display:flex;gap:8px;padding:12px;border-top:1px solid #e2e8f0;background:#f8fafc}
.sot-chat-compose input{flex:1;min-height:40px;border:1px solid #d9e2ee;border-radius:12px;padding:8px 10px}
@media(max-width:980px){.sot-grid{grid-template-columns:1fr}.sot-chat-layout{grid-template-columns:1fr}.sot-person{grid-template-columns:auto 1fr}.sot-actions{grid-column:2;justify-content:flex-start}}


/* =========================================================
   NEXAOS REAL CHAT SUPABASE
   Chat condivisa su DB + normalizzazione profili.
   ========================================================= */
.real-chat-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  color:#047857;
  font-size:10px;
  font-weight:900;
}
.real-chat-status.warn{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.real-chat-unread{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  border-radius:999px;
  background:#1d4ed8;
  color:#fff;
  font-size:10px;
  font-weight:950;
}
.real-chat-notice{
  border:1px solid #c7d8ff;
  background:#eef4ff;
  color:#174ea6;
  border-radius:14px;
  padding:10px;
  font-size:11.5px;
  line-height:1.45;
}


/* =========================================================
   NEXAOS REAL CHAT BUTTON FIX
   Forza tutti i pulsanti Chat a usare la chat reale Supabase.
   ========================================================= */
.real-chat-fix-note{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  color:#047857;
  font-size:10px;
  font-weight:900;
}


/* =========================================================
   NEXAOS CHAT PROFILE RESOLVER FIX
   Risolve il profilo reale partendo da email/nome della riga cliccata.
   ========================================================= */
.chat-resolver-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
  color:#047857;
  font-size:10px;
  font-weight:900;
}


/* =========================================================
   NEXAOS CONTACT HUB + FLOATING REAL CHAT
   Un solo bottone Contatta + chat reale + permessi chiamata.
   ========================================================= */
.nexa-old-contact-action{display:none!important}
.nexa-contact-btn{min-height:38px!important;padding:0 14px!important;border-radius:12px!important;border:1px solid #1d4ed8!important;background:#1d4ed8!important;color:#fff!important;font-weight:900!important;cursor:pointer!important}.nexa-contact-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.nexa-floating-chat{position:fixed;right:18px;bottom:18px;width:min(420px,calc(100vw - 28px));height:min(640px,calc(100vh - 42px));z-index:42000;display:none;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:24px;box-shadow:0 32px 120px rgba(15,23,42,.28);overflow:hidden}.nexa-floating-chat.show{display:grid}
.nexa-floating-head{padding:14px;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.nexa-floating-head-left{display:flex;align-items:center;gap:10px;min-width:0}.nexa-floating-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950;flex:0 0 auto}.nexa-floating-title{min-width:0}.nexa-floating-title b{display:block;color:#0f172a;font-size:14px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nexa-floating-title small{display:block;color:#667085;font-size:11.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nexa-floating-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.nexa-floating-actions button{min-height:32px!important;padding:0 9px!important;border-radius:10px!important;font-size:11px!important}
.nexa-floating-body{padding:12px;overflow:auto;display:grid;gap:8px;align-content:start;background:#fbfdff}.nexa-floating-msg{max-width:82%;padding:9px 11px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;color:#0f172a;font-size:13px;line-height:1.42}.nexa-floating-msg.me{justify-self:end;background:#1d4ed8;border-color:#1d4ed8;color:#fff}.nexa-floating-msg small{opacity:.75;display:block;margin-top:4px;font-size:10px}.nexa-floating-empty{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:12px;line-height:1.45}.nexa-floating-compose{padding:12px;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;gap:8px}.nexa-floating-compose input{flex:1;min-height:40px;border:1px solid #d9e2ee;border-radius:12px;padding:8px 10px;background:#fff;color:#101828}.nexa-floating-compose button{min-height:40px!important;padding:0 14px!important;border-radius:12px!important;background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important;font-weight:900!important}
.nexa-floating-launcher{position:fixed;right:18px;bottom:18px;z-index:41990;display:none;align-items:center;gap:8px;min-height:46px;padding:0 14px;border-radius:999px;border:1px solid #1d4ed8;background:#1d4ed8;color:#fff;box-shadow:0 16px 50px rgba(29,78,216,.35);font-weight:900;cursor:pointer}.nexa-floating-launcher.show{display:flex}.nexa-contact-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:43000;display:none;max-width:min(520px,calc(100vw - 26px));padding:12px 14px;border-radius:16px;background:#101828;color:#fff;box-shadow:0 18px 60px rgba(15,23,42,.32);font-size:13px;line-height:1.4}.nexa-contact-toast.show{display:block}
@media(max-width:700px){.nexa-floating-chat{inset:0;width:100vw;height:100vh;border-radius:0}}


/* =========================================================
   NEXAOS REALTIME NOTIFICATIONS + CHAT + CALLS
   Notifiche vere, chat attive reali, floating chat Facebook, WebRTC.
   ========================================================= */
.nexa-rt-hide{display:none!important}.nexa-rt-btn{min-height:34px!important;padding:0 12px!important;border-radius:12px!important;background:#1d4ed8!important;border-color:#1d4ed8!important;color:#fff!important;font-weight:900!important}.nexa-rt-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#1d4ed8;color:#fff;font-size:10px;font-weight:950}.nexa-rt-pill.red{background:#ef4444}.nexa-fb-launcher{position:fixed;right:18px;bottom:18px;z-index:47000;min-width:54px;height:54px;border-radius:999px;border:1px solid rgba(29,78,216,.18);background:#1d4ed8;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 18px 60px rgba(29,78,216,.36);font-size:14px;font-weight:950;cursor:pointer;padding:0 15px}.nexa-fb-chat{position:fixed;right:18px;bottom:82px;z-index:47001;width:min(390px,calc(100vw - 28px));height:min(620px,calc(100vh - 104px));border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.12);box-shadow:0 28px 100px rgba(15,23,42,.28);overflow:hidden;display:none;grid-template-rows:auto minmax(0,1fr) auto}.nexa-fb-chat.show{display:grid}.nexa-fb-head{min-height:58px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:10px}.nexa-fb-peer{display:flex;align-items:center;gap:10px;min-width:0}.nexa-fb-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950;flex:0 0 auto}.nexa-fb-title{min-width:0}.nexa-fb-title b{display:block;color:#0f172a;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nexa-fb-title small{display:block;color:#667085;font-size:11px;line-height:1.2;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nexa-fb-actions{display:flex;gap:5px;align-items:center}.nexa-fb-actions button{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border-radius:999px!important;display:grid!important;place-items:center!important;font-size:13px!important}.nexa-fb-shell{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:0;overflow:hidden}.nexa-fb-list{border-right:1px solid #e2e8f0;background:#f8fafc;overflow:auto;padding:8px;display:grid;gap:7px;align-content:start}.nexa-fb-thread{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:8px;cursor:pointer;display:grid;gap:5px}.nexa-fb-thread.active{border-color:#1d4ed8;background:#eef4ff}.nexa-fb-thread b{color:#0f172a;font-size:11px;line-height:1.2}.nexa-fb-thread small{color:#667085;font-size:10px;line-height:1.2}.nexa-fb-messages{padding:12px;overflow:auto;display:grid;align-content:start;gap:8px;background:#fbfdff}.nexa-fb-msg{max-width:82%;padding:9px 11px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#0f172a;font-size:13px;line-height:1.42}.nexa-fb-msg.me{justify-self:end;background:#1d4ed8;border-color:#1d4ed8;color:#fff}.nexa-fb-msg small{display:block;opacity:.72;margin-top:4px;font-size:10px}.nexa-fb-empty{border:1px solid #c7d8ff;background:#eef4ff;color:#174ea6;border-radius:14px;padding:10px;font-size:12px;line-height:1.45}.nexa-fb-compose{border-top:1px solid #e2e8f0;padding:10px;background:#f8fafc;display:flex;gap:7px}.nexa-fb-compose input{flex:1;min-height:39px;border:1px solid #d9e2ee;border-radius:999px;padding:8px 13px;background:#fff;color:#101828}.nexa-fb-compose button{min-width:42px!important;min-height:39px!important;border-radius:999px!important;padding:0 13px!important;background:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8!important;font-weight:950!important}.nexa-call-overlay{position:fixed;inset:0;z-index:48000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.62);backdrop-filter:blur(10px)}.nexa-call-overlay.show{display:flex}.nexa-call-card{width:min(780px,100%);background:#0f172a;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 35px 130px rgba(0,0,0,.45);overflow:hidden}.nexa-call-head{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.12)}.nexa-call-head b{display:block;font-size:16px}.nexa-call-head small{color:#cbd5e1}.nexa-call-videos{display:grid;grid-template-columns:1fr 220px;gap:12px;padding:14px}.nexa-call-videos video{width:100%;background:#020617;border-radius:18px;border:1px solid rgba(255,255,255,.12);object-fit:cover;min-height:210px}.nexa-call-videos video.local{min-height:150px}.nexa-call-actions{padding:14px;display:flex;justify-content:center;gap:9px;border-top:1px solid rgba(255,255,255,.12)}.nexa-call-incoming{position:fixed;right:18px;bottom:82px;z-index:48001;width:min(360px,calc(100vw - 28px));background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:22px;box-shadow:0 24px 90px rgba(15,23,42,.25);padding:14px;display:none;gap:10px}.nexa-call-incoming.show{display:grid}.nexa-call-incoming b{color:#0f172a}.nexa-call-incoming small{color:#667085}.nexa-call-incoming-actions{display:flex;gap:8px;justify-content:flex-end}.nexa-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:49000;display:none;max-width:min(560px,calc(100vw - 26px));padding:12px 14px;border-radius:16px;background:#101828;color:#fff;box-shadow:0 18px 60px rgba(15,23,42,.32);font-size:13px;line-height:1.4}.nexa-toast.show{display:block}@media(max-width:760px){.nexa-fb-chat{inset:0;width:100vw;height:100vh;border-radius:0}.nexa-fb-shell{grid-template-columns:104px minmax(0,1fr)}.nexa-call-videos{grid-template-columns:1fr}}


/* =========================================================
   NEXAOS UI CLEANUP — LOGO / SIDEBAR / RIGHTBAR / FLOATING CHAT
   ========================================================= */

/* Logo stabile in sidebar */
.nexa-logo-fixed{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:16px auto 18px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#f8fafc 0%,#dbeafe 48%,#bfdbfe 100%)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 16px 34px rgba(2,6,23,.35), inset 0 1px 0 rgba(255,255,255,.85)!important;
  color:#0f3b63!important;
  font-weight:950!important;
  font-size:20px!important;
  letter-spacing:-.06em!important;
  line-height:1!important;
  position:relative!important;
  overflow:hidden!important;
}
.nexa-logo-fixed::before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:12px;
  border:2px solid rgba(29,78,216,.38);
  transform:skewX(-12deg);
}
.nexa-logo-fixed::after{
  content:"N";
  position:relative;
  z-index:2;
  font-weight:950;
  color:#174ea6;
  text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.nexa-logo-fixed img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  position:relative!important;
  z-index:3!important;
}

/* Sidebar più pulita */
.nexa-sidebar-hidden,
.nexa-ui-clean-hidden{
  display:none!important;
}
.sidebar .nexa-logo-fixed,
aside .nexa-logo-fixed,
nav .nexa-logo-fixed{
  flex:0 0 auto!important;
}

/* Rightbar: un solo bottone Contatta, layout regolare */
.nexa-real-online-card{
  display:grid!important;
  gap:8px!important;
}
.nexa-real-online-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:13px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.nexa-real-online-row b{
  display:block!important;
  color:#0f172a!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nexa-real-online-row small{
  display:block!important;
  color:#667085!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  margin-top:3px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nexa-real-contact-btn{
  min-height:32px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  border:1px solid #1d4ed8!important;
  background:#1d4ed8!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.online-user button + button,
.nexa-real-online-row button + button{
  display:none!important;
}

/* Floating chat stile Facebook: spazi ordinati */
#nexaFbChat,
.nexa-fb-chat,
.nexa-floating-chat{
  right:18px!important;
  bottom:82px!important;
  width:min(420px, calc(100vw - 32px))!important;
  height:min(590px, calc(100vh - 112px))!important;
  max-width:420px!important;
  max-height:590px!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  box-shadow:0 30px 110px rgba(15,23,42,.30)!important;
}
#nexaFbChat .nexa-fb-head,
.nexa-fb-chat .nexa-fb-head,
.nexa-floating-chat .nexa-floating-head{
  min-height:62px!important;
  padding:12px!important;
  box-sizing:border-box!important;
}
#nexaFbChat .nexa-fb-shell,
.nexa-fb-chat .nexa-fb-shell{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  min-height:0!important;
  overflow:hidden!important;
}
#nexaFbChat .nexa-fb-list,
.nexa-fb-chat .nexa-fb-list{
  padding:8px!important;
  gap:7px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  min-width:0!important;
}
#nexaFbChat .nexa-fb-thread,
.nexa-fb-chat .nexa-fb-thread{
  padding:8px!important;
  min-width:0!important;
  overflow:hidden!important;
}
#nexaFbChat .nexa-fb-messages,
.nexa-fb-chat .nexa-fb-messages,
.nexa-floating-chat .nexa-floating-body{
  padding:12px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  min-width:0!important;
  min-height:0!important;
  align-content:start!important;
}
#nexaFbChat .nexa-fb-compose,
.nexa-fb-chat .nexa-fb-compose,
.nexa-floating-chat .nexa-floating-compose{
  padding:10px!important;
  box-sizing:border-box!important;
}
#nexaFbChat input,
.nexa-fb-chat input,
.nexa-floating-chat input{
  min-width:0!important;
  width:100%!important;
}
#nexaFbChat .nexa-fb-msg,
.nexa-fb-chat .nexa-fb-msg,
.nexa-floating-chat .nexa-floating-msg{
  max-width:86%!important;
  word-break:break-word!important;
}

/* Evita doppioni della chat launcher quando c'è la rightbar */
#nexaFbLauncher{
  right:22px!important;
  bottom:20px!important;
}

/* Mobile: chat a schermo, ma ordinata */
@media(max-width:760px){
  #nexaFbChat,
  .nexa-fb-chat,
  .nexa-floating-chat{
    inset:auto 0 0 0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:78vh!important;
    max-height:78vh!important;
    border-radius:22px 22px 0 0!important;
  }
  #nexaFbChat .nexa-fb-shell,
  .nexa-fb-chat .nexa-fb-shell{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
}


/* =========================================================
   NEXAOS FIX — FAVICON LOGO + CONTATTA + LIVEKIT PEER RESOLVER
   ========================================================= */

/* Logo nel riquadro corretto della sidebar, usando favicon */
.nexa-logo-dock{
  width:calc(100% - 12px)!important;
  min-height:62px!important;
  margin:8px 6px 12px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 28px rgba(2,6,23,.22)!important;
  color:#fff!important;
  overflow:hidden!important;
}
.nexa-logo-dock img{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.06)!important;
}
.nexa-logo-dock span{
  display:block!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
  color:#eaf2ff!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nexa-logo-fixed{
  display:none!important;
}

/* Rimuove la vecchia card logo/home rotta ma conserva la voce Home nella nav */
.nexa-old-broken-logo-home{
  display:none!important;
}

/* Rightbar: un solo Contatta per ogni vero utente */
.nexa-rightbar-clean button,
.nexa-real-online-card button,
.online-user button{
  white-space:nowrap!important;
}
.nexa-rightbar-clean .nexa-duplicate-contact,
.nexa-real-online-card .nexa-duplicate-contact,
.online-user .nexa-duplicate-contact{
  display:none!important;
}
.nexa-real-contact-btn,
.nexa-lk-contact,
.nexa-contact-single{
  min-height:32px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  border:1px solid #1d4ed8!important;
  background:#1d4ed8!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

/* Floating chat: spazi corretti e bottoni call sempre chiari */
#nexaFbChat,
.nexa-fb-chat,
.nexa-floating-chat{
  right:18px!important;
  bottom:82px!important;
  width:min(410px, calc(100vw - 32px))!important;
  height:min(560px, calc(100vh - 112px))!important;
  max-width:410px!important;
  max-height:560px!important;
  min-width:330px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
#nexaFbChat .nexa-fb-head,
.nexa-fb-chat .nexa-fb-head,
.nexa-floating-chat .nexa-floating-head{
  padding:12px!important;
  min-height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  box-sizing:border-box!important;
}
#nexaFbChat .nexa-fb-actions,
.nexa-fb-chat .nexa-fb-actions,
.nexa-floating-chat .nexa-floating-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex:0 0 auto!important;
}
#nexaFbChat .nexa-fb-actions button,
.nexa-fb-chat .nexa-fb-actions button,
.nexa-floating-chat .nexa-floating-actions button{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
}
#nexaFbChat .nexa-fb-shell,
.nexa-fb-chat .nexa-fb-shell{
  grid-template-columns:116px minmax(0,1fr)!important;
  min-height:0!important;
  overflow:hidden!important;
}
#nexaFbChat .nexa-fb-list,
#nexaFbChat .nexa-fb-messages,
.nexa-fb-chat .nexa-fb-list,
.nexa-fb-chat .nexa-fb-messages,
.nexa-floating-chat .nexa-floating-body{
  min-width:0!important;
  overflow-x:hidden!important;
}
#nexaFbChat .nexa-fb-compose,
.nexa-fb-chat .nexa-fb-compose,
.nexa-floating-chat .nexa-floating-compose{
  padding:10px!important;
  gap:8px!important;
}
#nexaFbChat .nexa-fb-compose input,
.nexa-fb-chat .nexa-fb-compose input,
.nexa-floating-chat .nexa-floating-compose input{
  min-width:0!important;
}

/* Toast centrato meno invasivo */
.nexa-peer-fix-toast{
  position:fixed;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  z-index:70000;
  display:none;
  max-width:min(560px,calc(100vw - 28px));
  padding:12px 14px;
  border-radius:16px;
  background:#101828;
  color:#fff;
  box-shadow:0 18px 60px rgba(15,23,42,.32);
  font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.nexa-peer-fix-toast.show{
  display:block;
}

@media(max-width:760px){
  #nexaFbChat,
  .nexa-fb-chat,
  .nexa-floating-chat{
    min-width:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:78vh!important;
    max-height:78vh!important;
    inset:auto 0 0 0!important;
    border-radius:22px 22px 0 0!important;
  }
}


/* =========================================================
   NEXAOS INCOMING CALL — POPUP / RING / STATUS
   ========================================================= */

.nexa-call-incoming-pro{
  position:fixed;
  right:22px;
  bottom:96px;
  z-index:75000;
  width:min(390px,calc(100vw - 32px));
  display:none;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 30px 110px rgba(15,23,42,.30);
  overflow:hidden;
  animation:nexaCallSlideIn .22s ease-out both;
}

.nexa-call-incoming-pro.show{
  display:block;
}

@keyframes nexaCallSlideIn{
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.nexa-call-incoming-head{
  padding:16px;
  display:flex;
  gap:12px;
  align-items:center;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);
  color:#fff;
}

.nexa-call-incoming-avatar{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-size:18px;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  animation:nexaCallPulse 1.15s infinite ease-in-out;
}

@keyframes nexaCallPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.30)}
  50%{transform:scale(1.045);box-shadow:0 0 0 9px rgba(255,255,255,0)}
}

.nexa-call-incoming-title{
  min-width:0;
}

.nexa-call-incoming-title b{
  display:block;
  font-size:15px;
  line-height:1.2;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nexa-call-incoming-title small{
  display:block;
  margin-top:4px;
  color:#dbeafe;
  font-size:12px;
  line-height:1.35;
}

.nexa-call-incoming-body{
  padding:14px 16px;
  color:#334155;
  font-size:13px;
  line-height:1.45;
  background:#fff;
}

.nexa-call-incoming-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.nexa-call-meta-pill{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:13px;
  padding:8px;
  min-width:0;
}

.nexa-call-meta-pill span{
  display:block;
  color:#64748b;
  font-size:10px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.04em;
}

.nexa-call-meta-pill b{
  display:block;
  margin-top:3px;
  color:#0f172a;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nexa-call-incoming-actions{
  padding:12px 16px 16px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
  background:#f8fafc;
  border-top:1px solid #e2e8f0;
}

.nexa-call-incoming-actions button{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  font-weight:950!important;
}

.nexa-call-accept-btn{
  background:#16a34a!important;
  color:#fff!important;
  border-color:#16a34a!important;
}

.nexa-call-reject-btn{
  background:#fff!important;
  color:#991b1b!important;
  border-color:#fecaca!important;
}

.nexa-call-status-toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  z-index:76000;
  display:none;
  max-width:min(560px,calc(100vw - 28px));
  padding:12px 14px;
  border-radius:16px;
  background:#101828;
  color:#fff;
  box-shadow:0 18px 60px rgba(15,23,42,.32);
  font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.nexa-call-status-toast.show{
  display:block;
}

.nexa-call-outgoing-chip{
  position:fixed;
  right:22px;
  bottom:96px;
  z-index:74999;
  min-height:52px;
  max-width:min(390px,calc(100vw - 32px));
  display:none;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(29,78,216,.16);
  background:#fff;
  color:#0f172a;
  box-shadow:0 18px 60px rgba(15,23,42,.22);
  font-weight:900;
}

.nexa-call-outgoing-chip.show{
  display:flex;
}

.nexa-call-outgoing-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#22c55e;
  animation:nexaCallDot 1s infinite;
}

@keyframes nexaCallDot{
  0%,100%{opacity:.35}
  50%{opacity:1}
}

@media(max-width:760px){
  .nexa-call-incoming-pro{
    left:14px;
    right:14px;
    bottom:92px;
    width:auto;
  }
  .nexa-call-outgoing-chip{
    left:14px;
    right:14px;
    width:auto;
  }
}


/* =========================================================
   NEXAOS CALL WATCHDOG — POPUP GUARANTEED FALLBACK
   ========================================================= */

.nexa-call-watchdog-toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  z-index:88000;
  display:none;
  max-width:min(680px,calc(100vw - 28px));
  padding:12px 14px;
  border-radius:16px;
  background:#101828;
  color:#fff;
  box-shadow:0 18px 60px rgba(15,23,42,.32);
  font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.nexa-call-watchdog-toast.show{
  display:block;
}

.nexa-call-watchdog-panel{
  position:fixed;
  right:18px;
  top:86px;
  z-index:87000;
  width:min(380px,calc(100vw - 28px));
  display:none;
  border-radius:18px;
  background:#fff;
  border:1px solid #dbe5f2;
  box-shadow:0 18px 70px rgba(15,23,42,.24);
  overflow:hidden;
}

.nexa-call-watchdog-panel.show{
  display:block;
}

.nexa-call-watchdog-panel header{
  padding:12px 14px;
  background:#0f172a;
  color:#fff;
  font-weight:950;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.nexa-call-watchdog-panel main{
  padding:12px 14px;
  color:#334155;
  font-size:12px;
  line-height:1.45;
  display:grid;
  gap:7px;
}

.nexa-call-watchdog-panel code{
  display:block;
  padding:8px;
  border-radius:10px;
  background:#f1f5f9;
  color:#0f172a;
  white-space:pre-wrap;
  word-break:break-word;
}


/* =========================================================
   NEXAOS MOBILE/TABLET ONLY RESPONSIVE
   IMPORTANTISSIMO:
   - Desktop/PC NON viene modificato.
   - Le regole partono solo sotto 1024px.
   - La struttura PC rimane quella originale della build stabile.
   ========================================================= */

/* Default desktop: nessun effetto */
.nexa-mobile-menu-btn,
.nexa-mobile-scrim{
  display:none;
}

/* Solo elementi creati per responsive mobile/tablet */
.nexa-mobile-menu-btn{
  position:fixed;
  left:12px;
  top:12px;
  z-index:92000;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  color:#0f172a;
  box-shadow:0 12px 34px rgba(15,23,42,.18);
  font-weight:950;
  place-items:center;
  cursor:pointer;
}

.nexa-mobile-scrim{
  position:fixed;
  inset:0;
  z-index:89998;
  background:rgba(2,6,23,.42);
  backdrop-filter:blur(4px);
}

/* =========================================================
   TABLET ONLY — fino a 1024px
   ========================================================= */
@media (max-width:1024px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    background:#f3f6fb!important;
  }

  input,
  select,
  textarea,
  button{
    font-size:16px!important;
  }

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

  body.nexa-mobile-menu-open .nexa-mobile-scrim{
    display:block!important;
  }

  /* Agisce SOLO sulla sidebar identificata via JS, non su tutti aside/nav */
  .nexa-mobile-sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    z-index:90000!important;
    width:min(292px,86vw)!important;
    max-width:292px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translateX(-110%)!important;
    transition:transform .24s cubic-bezier(.22,.61,.36,1)!important;
    box-shadow:24px 0 70px rgba(15,23,42,.28)!important;
  }

  body.nexa-mobile-menu-open .nexa-mobile-sidebar{
    transform:translateX(0)!important;
  }

  /* Contenuto: niente margine forzato da sidebar su mobile/tablet */
  .nexa-mobile-main{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  /* Topbar touch-friendly SOLO mobile/tablet */
  .nexa-mobile-topbar{
    position:sticky!important;
    top:0!important;
    z-index:60000!important;
    min-height:58px!important;
    padding-left:62px!important;
    padding-right:12px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    background:rgba(255,255,255,.92)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .nexa-mobile-topbar::-webkit-scrollbar{
    display:none;
  }

  .nexa-mobile-topbar input{
    min-width:230px!important;
    max-width:360px!important;
    height:40px!important;
    min-height:40px!important;
    flex:0 0 auto!important;
  }

  .nexa-mobile-topbar button,
  .nexa-mobile-topbar a{
    min-height:40px!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }

  /* Nasconde rightbar solo su tablet/mobile, non desktop */
  .nexa-mobile-rightbar{
    display:none!important;
  }

  /* Griglie principali a colonna SOLO per contenuto app */
  .nexa-mobile-main .dashboard,
  .nexa-mobile-main .workspace-grid,
  .nexa-mobile-main .profile-grid,
  .nexa-mobile-main .settings-grid,
  .nexa-mobile-main .sot-grid,
  .nexa-mobile-main .nexa-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .nexa-mobile-main .card,
  .nexa-mobile-main .panel,
  .nexa-mobile-main .sot-card,
  .nexa-mobile-main .profile-card,
  .nexa-mobile-main .settings-card{
    max-width:100%!important;
    min-width:0!important;
  }

  /* Righe rubrica/utenti */
  .nexa-mobile-main .real-person-row,
  .nexa-mobile-main .sot-person,
  .nexa-mobile-main .user-admin-row,
  .nexa-mobile-main .nexa-real-online-row,
  .nexa-mobile-main .online-user{
    max-width:100%!important;
    min-width:0!important;
  }

  /* Floating chat tablet */
  #nexaFbChat,
  .nexa-fb-chat,
  .nexa-floating-chat{
    right:14px!important;
    bottom:72px!important;
    width:min(440px,calc(100vw - 28px))!important;
    max-width:440px!important;
    height:min(620px,calc(100vh - 92px))!important;
    max-height:620px!important;
    min-width:0!important;
    border-radius:24px!important;
  }

  #nexaFbLauncher{
    right:16px!important;
    bottom:16px!important;
  }

  /* Chiamata LiveKit tablet: stage verticale se serve */
  .lk-stage,
  .nexa-lk-stage{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .lk-card,
  .nexa-lk-card{
    width:min(760px,calc(100vw - 28px))!important;
    max-height:calc(100vh - 28px)!important;
  }

  .lk-remote,
  .nexa-lk-remote{
    min-height:360px!important;
  }

  .lk-local,
  .nexa-lk-local{
    min-height:180px!important;
  }
}

/* =========================================================
   SMARTPHONE ONLY — fino a 760px
   ========================================================= */
@media (max-width:760px){
  body{
    padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;
  }

  .nexa-mobile-menu-btn{
    left:10px!important;
    top:calc(10px + env(safe-area-inset-top,0px))!important;
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
  }

  .nexa-mobile-sidebar{
    width:min(310px,86vw)!important;
    max-width:310px!important;
  }

  .nexa-mobile-main{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .nexa-mobile-topbar{
    min-height:56px!important;
    padding:8px 10px 8px 58px!important;
  }

  .nexa-mobile-topbar input{
    flex:0 0 210px!important;
    height:40px!important;
  }

  .nexa-mobile-topbar button,
  .nexa-mobile-topbar a{
    min-height:40px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    border-radius:12px!important;
  }

  .nexa-mobile-main h1{
    font-size:clamp(26px,8vw,38px)!important;
    line-height:1.05!important;
    word-break:break-word!important;
  }

  .nexa-mobile-main h2{
    font-size:22px!important;
  }

  .nexa-mobile-main h3{
    font-size:18px!important;
  }

  .nexa-mobile-main .card,
  .nexa-mobile-main .panel,
  .nexa-mobile-main .sot-card,
  .nexa-mobile-main .profile-card,
  .nexa-mobile-main .settings-card{
    border-radius:16px!important;
    padding:12px!important;
    width:100%!important;
  }

  .nexa-mobile-main input,
  .nexa-mobile-main select,
  .nexa-mobile-main textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    border-radius:12px!important;
  }

  .nexa-mobile-main textarea{
    min-height:92px!important;
  }

  .nexa-mobile-main table,
  .nexa-mobile-main .table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .nexa-mobile-main .real-person-row,
  .nexa-mobile-main .sot-person,
  .nexa-mobile-main .user-admin-row,
  .nexa-mobile-main .nexa-real-online-row,
  .nexa-mobile-main .online-user{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:9px!important;
    padding:10px!important;
    border-radius:14px!important;
  }

  .nexa-mobile-main .nexa-real-contact-btn,
  .nexa-mobile-main .nexa-lk-contact,
  .nexa-mobile-main .nexa-contact-single{
    width:100%!important;
    margin-top:8px!important;
    grid-column:1 / -1!important;
  }

  /* Bottom nav solo se esiste */
  .bottom-nav,
  [class*="bottom-nav"],
  [id*="bottomNav"]{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    z-index:65000!important;
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    padding:8px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(15,23,42,.12)!important;
    box-shadow:0 16px 50px rgba(15,23,42,.18)!important;
    backdrop-filter:blur(14px)!important;
  }

  .bottom-nav button,
  [class*="bottom-nav"] button,
  [id*="bottomNav"] button{
    min-width:92px!important;
    min-height:44px!important;
    flex:0 0 auto!important;
    border-radius:13px!important;
    font-size:13px!important;
  }

  /* Floating chat smartphone: bottom sheet */
  #nexaFbChat,
  .nexa-fb-chat,
  .nexa-floating-chat{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100vw!important;
    max-width:100vw!important;
    height:78vh!important;
    max-height:78vh!important;
    min-width:0!important;
    border-radius:22px 22px 0 0!important;
    z-index:78000!important;
  }

  #nexaFbChat .nexa-fb-shell,
  .nexa-fb-chat .nexa-fb-shell{
    grid-template-columns:94px minmax(0,1fr)!important;
    height:calc(78vh - 62px)!important;
  }

  #nexaFbLauncher{
    right:14px!important;
    bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;
    z-index:77000!important;
  }

  /* Popup chiamata in arrivo smartphone */
  .nexa-call-incoming-pro,
  .nexa-call-watchdog-panel{
    left:12px!important;
    right:12px!important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
  }

  .nexa-call-incoming-actions{
    justify-content:stretch!important;
  }

  .nexa-call-incoming-actions button{
    flex:1!important;
  }

  /* LiveKit smartphone full-screen */
  .lk-overlay.show,
  .nexa-lk-call.show,
  #lkOverlay.show,
  #nexaLkCall.show{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }

  .lk-card,
  .nexa-lk-card{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }

  .lk-stage,
  .nexa-lk-stage{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) 180px!important;
    gap:8px!important;
    height:calc(100dvh - 128px)!important;
    min-height:0!important;
    padding:8px!important;
  }

  .lk-remote,
  .nexa-lk-remote{
    min-height:0!important;
    height:100%!important;
    border-radius:16px!important;
  }

  .lk-local,
  .nexa-lk-local{
    min-height:0!important;
    height:180px!important;
    border-radius:16px!important;
  }

  .lk-actions,
  .nexa-lk-actions{
    padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px))!important;
    gap:8px!important;
    overflow-x:auto!important;
  }

  .lk-actions button,
  .nexa-lk-actions button{
    flex:1!important;
    min-width:86px!important;
  }
}

/* Smartphone piccolo */
@media (max-width:420px){
  .nexa-mobile-topbar input{
    flex-basis:185px!important;
  }

  #nexaFbChat .nexa-fb-shell,
  .nexa-fb-chat .nexa-fb-shell{
    grid-template-columns:82px minmax(0,1fr)!important;
  }

  .bottom-nav button,
  [class*="bottom-nav"] button,
  [id*="bottomNav"] button{
    min-width:82px!important;
    font-size:12px!important;
  }
}

/* Landscape smartphone */
@media (max-width:900px) and (orientation:landscape){
  #nexaFbChat,
  .nexa-fb-chat,
  .nexa-floating-chat{
    height:88vh!important;
    max-height:88vh!important;
  }

  .lk-stage,
  .nexa-lk-stage{
    grid-template-columns:1fr 220px!important;
    grid-template-rows:1fr!important;
  }

  .lk-remote,
  .nexa-lk-remote,
  .lk-local,
  .nexa-lk-local{
    min-height:58vh!important;
    height:auto!important;
  }
}


/* =========================================================
   NEXAOS CLEAN LIVEKIT CALLS — SINGLE MODULE
   ========================================================= */

.nexa-clean-call-modal{
  position:fixed;
  inset:0;
  z-index:95000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(2,6,23,.78);
  backdrop-filter:blur(12px);
}

.nexa-clean-call-modal.show{
  display:flex;
}

.nexa-clean-call-card{
  width:min(1120px,calc(100vw - 32px));
  height:min(720px,calc(100dvh - 32px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  border-radius:26px;
  background:#0f172a;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 140px rgba(0,0,0,.52);
  overflow:hidden;
}

.nexa-clean-call-head{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,#111827 0%,#0f172a 100%);
}

.nexa-clean-call-head b{
  display:block;
  font-size:16px;
  line-height:1.2;
}

.nexa-clean-call-head small{
  display:block;
  margin-top:4px;
  color:#cbd5e1;
  font-size:12px;
}

.nexa-clean-call-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#e5e7eb;
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;
  font-weight:900;
}

.nexa-clean-call-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f59e0b;
}

.nexa-clean-call-status.connected::before{ background:#22c55e; }
.nexa-clean-call-status.waiting::before{ background:#f59e0b; }
.nexa-clean-call-status.error::before{ background:#ef4444; }

.nexa-clean-call-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  min-height:0;
}

.nexa-clean-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:12px;
  padding:12px;
  min-height:0;
  background:#020617;
}

.nexa-clean-remote,
.nexa-clean-local{
  position:relative;
  min-height:0;
  border-radius:20px;
  background:#030712;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#94a3b8;
}

.nexa-clean-local{
  min-height:180px;
}

.nexa-clean-remote video,
.nexa-clean-local video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.nexa-clean-remote audio,
.nexa-clean-local audio{
  display:none;
}

.nexa-clean-placeholder{
  padding:18px;
  text-align:center;
  font-size:14px;
  line-height:1.4;
  color:#94a3b8;
}

.nexa-clean-placeholder b{
  display:block;
  margin-bottom:5px;
  color:#e5e7eb;
}

.nexa-clean-pill{
  position:absolute;
  left:12px;
  top:12px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(15,23,42,.74);
  color:#fff;
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.nexa-clean-pill::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#22c55e;
}

.nexa-clean-chat{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:0;
  background:#111827;
  border-left:1px solid rgba(255,255,255,.12);
}

.nexa-clean-chat-head{
  min-height:58px;
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-weight:950;
}

.nexa-clean-chat-head small{
  display:block;
  margin-top:3px;
  color:#94a3b8;
  font-size:11px;
}

.nexa-clean-chat-messages{
  min-height:0;
  overflow-y:auto;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
  background:linear-gradient(180deg,#0f172a 0%,#111827 100%);
}

.nexa-clean-chat-empty{
  margin:auto;
  color:#94a3b8;
  text-align:center;
  font-size:13px;
  line-height:1.4;
  padding:18px;
}

.nexa-clean-msg{
  max-width:96%;
  padding:6px 7px;
  border-radius:8px;
  color:#e5e7eb;
  font-size:13px;
  line-height:1.35;
  word-break:break-word;
}

.nexa-clean-msg:hover{
  background:rgba(255,255,255,.045);
}

.nexa-clean-msg b{
  color:#a78bfa;
  margin-right:6px;
  font-size:12px;
  font-weight:950;
}

.nexa-clean-msg.me{
  background:rgba(37,99,235,.18);
  border-left:3px solid #60a5fa;
}

.nexa-clean-msg.me b{
  color:#60a5fa;
}

.nexa-clean-chat-form{
  display:flex;
  gap:8px;
  padding:10px;
  border-top:1px solid rgba(255,255,255,.10);
  background:#111827;
}

.nexa-clean-chat-form input{
  flex:1;
  min-width:0;
  min-height:40px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.32);
  background:#0b1220;
  color:#fff;
  padding:0 12px;
  font-size:14px;
}

.nexa-clean-chat-form button{
  min-height:40px;
  border-radius:12px;
  border:1px solid #7c3aed;
  background:#7c3aed;
  color:#fff;
  padding:0 12px;
  font-weight:950;
}

.nexa-clean-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px;
  border-top:1px solid rgba(255,255,255,.12);
  background:#0f172a;
  overflow-x:auto;
}

.nexa-clean-controls button{
  flex:0 0 auto;
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:#fff;
  color:#0f172a;
  font-weight:950;
  cursor:pointer;
}

.nexa-clean-controls button.off{
  background:#334155;
  color:#fff;
  border-color:#475569;
}

.nexa-clean-controls button.danger{
  background:#dc2626;
  color:#fff;
  border-color:#dc2626;
}

.nexa-clean-incoming{
  position:fixed;
  right:22px;
  bottom:96px;
  z-index:95100;
  width:min(390px,calc(100vw - 32px));
  display:none;
  border-radius:24px;
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 30px 110px rgba(15,23,42,.30);
  overflow:hidden;
}

.nexa-clean-incoming.show{
  display:block;
}

.nexa-clean-incoming header{
  padding:16px;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);
  color:#fff;
}

.nexa-clean-incoming header b{
  display:block;
  font-size:15px;
}

.nexa-clean-incoming header small{
  color:#dbeafe;
}

.nexa-clean-incoming main{
  padding:14px 16px;
  color:#334155;
  font-size:13px;
}

.nexa-clean-incoming footer{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 16px 16px;
  background:#f8fafc;
  border-top:1px solid #e2e8f0;
}

.nexa-clean-incoming button{
  min-height:40px;
  border-radius:999px;
  padding:0 14px;
  font-weight:950;
}

.nexa-clean-incoming .reject{
  background:#fff;
  border:1px solid #fecaca;
  color:#991b1b;
}

.nexa-clean-incoming .accept{
  background:#16a34a;
  border:1px solid #16a34a;
  color:#fff;
}

.nexa-clean-toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  z-index:96000;
  display:none;
  max-width:min(720px,calc(100vw - 28px));
  padding:12px 14px;
  border-radius:16px;
  background:#101828;
  color:#fff;
  box-shadow:0 18px 60px rgba(15,23,42,.32);
  font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.nexa-clean-toast.show{
  display:block;
}

@media(max-width:900px){
  .nexa-clean-call-body{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) minmax(210px,34vh);
  }

  .nexa-clean-chat{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }

  .nexa-clean-stage{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) 170px;
  }
}

@media(max-width:760px){
  .nexa-clean-call-modal{
    padding:0;
    align-items:stretch;
    justify-content:stretch;
  }

  .nexa-clean-call-card{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }

  .nexa-clean-call-head{
    min-height:58px;
    padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px;
  }

  .nexa-clean-call-body{
    grid-template-rows:minmax(0,1fr) minmax(190px,32vh);
  }

  .nexa-clean-stage{
    padding:8px;
    gap:8px;
    grid-template-rows:minmax(0,1fr) 126px;
  }

  .nexa-clean-local{
    min-height:126px;
  }

  .nexa-clean-chat-head{
    min-height:42px;
    padding:8px 10px;
  }

  .nexa-clean-chat-head small{
    display:none;
  }

  .nexa-clean-chat-form input{
    font-size:16px;
  }

  .nexa-clean-controls{
    justify-content:flex-start;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));
    gap:7px;
  }

  .nexa-clean-controls button{
    min-width:105px;
    min-height:40px;
    padding:0 12px;
    font-size:12px;
  }

  .nexa-clean-incoming{
    left:12px;
    right:12px;
    bottom:calc(88px + env(safe-area-inset-bottom,0px));
    width:auto;
  }
}


/* =========================================================
   NEXAOS OFFICIAL CALL SYSTEM — HARD RESET
   Single lightweight LiveKit UI: incoming, call, chat, controls.
   ========================================================= */

.nexa-official-call-modal{
  position:fixed;
  inset:0;
  z-index:96000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(2,6,23,.76);
  backdrop-filter:blur(12px);
}
.nexa-official-call-modal.show{display:flex;}

.nexa-official-card{
  width:min(1180px,calc(100vw - 32px));
  height:min(740px,calc(100dvh - 32px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  border-radius:26px;
  background:#0f172a;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 40px 140px rgba(0,0,0,.52);
  overflow:hidden;
}

.nexa-official-head{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,#111827 0%,#0f172a 100%);
}
.nexa-official-head b{display:block;font-size:16px;line-height:1.2;}
.nexa-official-head small{display:block;margin-top:4px;color:#cbd5e1;font-size:12px;}

.nexa-official-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#e5e7eb;
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.nexa-official-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f59e0b;
}
.nexa-official-status.connected::before{background:#22c55e;}
.nexa-official-status.error::before{background:#ef4444;}

.nexa-official-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  min-height:0;
}

.nexa-official-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:12px;
  padding:12px;
  min-height:0;
  background:#020617;
}

.nexa-official-remote,
.nexa-official-local{
  position:relative;
  min-height:0;
  border-radius:20px;
  background:#030712;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#94a3b8;
}

.nexa-official-local{min-height:180px;}

.nexa-official-remote video,
.nexa-official-local video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.nexa-official-remote audio,
.nexa-official-local audio{display:none;}

.nexa-official-placeholder{
  padding:18px;
  text-align:center;
  font-size:14px;
  line-height:1.4;
  color:#94a3b8;
}
.nexa-official-placeholder b{
  display:block;
  margin-bottom:5px;
  color:#e5e7eb;
}

.nexa-official-pill{
  position:absolute;
  left:12px;
  top:12px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(15,23,42,.74);
  color:#fff;
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.nexa-official-pill::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#22c55e;
}

.nexa-official-chat{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:0;
  background:#111827;
  border-left:1px solid rgba(255,255,255,.12);
}
.nexa-official-chat-head{
  min-height:58px;
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-weight:950;
}
.nexa-official-chat-head small{
  display:block;
  margin-top:3px;
  color:#94a3b8;
  font-size:11px;
}
.nexa-official-chat-messages{
  min-height:0;
  overflow-y:auto;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
  background:linear-gradient(180deg,#0f172a 0%,#111827 100%);
}
.nexa-official-chat-empty{
  margin:auto;
  color:#94a3b8;
  text-align:center;
  font-size:13px;
  line-height:1.4;
  padding:18px;
}
.nexa-official-msg{
  max-width:96%;
  padding:6px 7px;
  border-radius:8px;
  color:#e5e7eb;
  font-size:13px;
  line-height:1.35;
  word-break:break-word;
}
.nexa-official-msg:hover{background:rgba(255,255,255,.045);}
.nexa-official-msg b{
  color:#a78bfa;
  margin-right:6px;
  font-size:12px;
  font-weight:950;
}
.nexa-official-msg.me{
  background:rgba(37,99,235,.18);
  border-left:3px solid #60a5fa;
}
.nexa-official-msg.me b{color:#60a5fa;}

.nexa-official-chat-form{
  display:flex;
  gap:8px;
  padding:10px;
  border-top:1px solid rgba(255,255,255,.10);
  background:#111827;
}
.nexa-official-chat-form input{
  flex:1;
  min-width:0;
  min-height:40px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.32);
  background:#0b1220;
  color:#fff;
  padding:0 12px;
  font-size:14px;
}
.nexa-official-chat-form button{
  min-height:40px;
  border-radius:12px;
  border:1px solid #7c3aed;
  background:#7c3aed;
  color:#fff;
  padding:0 12px;
  font-weight:950;
}

.nexa-official-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px;
  border-top:1px solid rgba(255,255,255,.12);
  background:#0f172a;
  overflow-x:auto;
}
.nexa-official-controls button{
  flex:0 0 auto;
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:#fff;
  color:#0f172a;
  font-weight:950;
  cursor:pointer;
}
.nexa-official-controls button.off{
  background:#334155;
  color:#fff;
  border-color:#475569;
}
.nexa-official-controls button.danger{
  background:#dc2626;
  color:#fff;
  border-color:#dc2626;
}

.nexa-official-incoming{
  position:fixed;
  right:22px;
  bottom:96px;
  z-index:96100;
  width:min(390px,calc(100vw - 32px));
  display:none;
  border-radius:24px;
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 30px 110px rgba(15,23,42,.30);
  overflow:hidden;
}
.nexa-official-incoming.show{display:block;}
.nexa-official-incoming header{
  padding:16px;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);
  color:#fff;
}
.nexa-official-incoming header b{display:block;font-size:15px;}
.nexa-official-incoming header small{color:#dbeafe;}
.nexa-official-incoming main{
  padding:14px 16px;
  color:#334155;
  font-size:13px;
}
.nexa-official-incoming footer{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 16px 16px;
  background:#f8fafc;
  border-top:1px solid #e2e8f0;
}
.nexa-official-incoming button{
  min-height:40px;
  border-radius:999px;
  padding:0 14px;
  font-weight:950;
}
.nexa-official-incoming .reject{
  background:#fff;
  border:1px solid #fecaca;
  color:#991b1b;
}
.nexa-official-incoming .accept{
  background:#16a34a;
  border:1px solid #16a34a;
  color:#fff;
}

.nexa-official-toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  z-index:96200;
  display:none;
  max-width:min(720px,calc(100vw - 28px));
  padding:12px 14px;
  border-radius:16px;
  background:#101828;
  color:#fff;
  box-shadow:0 18px 60px rgba(15,23,42,.32);
  font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.nexa-official-toast.show{display:block;}

@media(max-width:900px){
  .nexa-official-body{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) minmax(210px,34vh);
  }
  .nexa-official-chat{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .nexa-official-stage{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) 170px;
  }
}

@media(max-width:760px){
  .nexa-official-call-modal{
    padding:0;
    align-items:stretch;
    justify-content:stretch;
  }
  .nexa-official-card{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }
  .nexa-official-head{
    min-height:58px;
    padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px;
  }
  .nexa-official-body{
    grid-template-rows:minmax(0,1fr) minmax(190px,32vh);
  }
  .nexa-official-stage{
    padding:8px;
    gap:8px;
    grid-template-rows:minmax(0,1fr) 126px;
  }
  .nexa-official-local{min-height:126px;}
  .nexa-official-chat-head{
    min-height:42px;
    padding:8px 10px;
  }
  .nexa-official-chat-head small{display:none;}
  .nexa-official-chat-form input{font-size:16px;}
  .nexa-official-controls{
    justify-content:flex-start;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));
    gap:7px;
  }
  .nexa-official-controls button{
    min-width:105px;
    min-height:40px;
    padding:0 12px;
    font-size:12px;
  }
  .nexa-official-incoming{
    left:12px;
    right:12px;
    bottom:calc(88px + env(safe-area-inset-bottom,0px));
    width:auto;
  }
}


/* =========================================================
   RABBIT EMERGENCY RESTORE
   Safe mode: nessun click interceptor globale, login e bottoni liberi.
   ========================================================= */

#nexaRestoreChatLauncher,
#nexaRestoreChat,
#nexaUnifiedChatLauncher,
#nexaUnifiedChatPanel,
#nexaChatRescueFloating,
#nexaChatRescuePanel,
#nexaHardChatFloating,
#nexaHardChatPanel,
#nexaCompanyChatLauncher,
#nexaCompanyChatPanel,
#nexaFinalChatButton,
#nexaFinalChatPanel,
#rabbitChatFixedButton,
#rabbitChatFixedPanel,
#rabbitRealChatButton,
#rabbitRealChatPanel,
#nexaFbLauncher,
#nexaFbChat,
.nexa-fb-launcher,
.nexa-fb-chat,
.nexa-floating-launcher,
.nexa-floating-chat{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* =========================================================
   RABBIT MESSENGER CLEAN CORE
   Un solo modulo: Messenger + chiamate audio/video WebRTC.
   No interceptor globali. No duplicati. Solo post-login.
   ========================================================= */

/* Vecchi resti noti: neutralizzati */
#rabbitBulletChatButton,#rabbitBulletChatPanel,#rabbitFbChatButton,#rabbitFbChatPanel,
#rabbitRealChatButton,#rabbitRealChatPanel,#rabbitChatFixedButton,#rabbitChatFixedPanel,
#nexaFinalChatButton,#nexaFinalChatPanel,#nexaChatRescueFloating,#nexaChatRescuePanel,
#nexaUnifiedChatLauncher,#nexaUnifiedChatPanel,#nexaCompanyChatLauncher,#nexaCompanyChatPanel,
#nexaRestoreChatLauncher,#nexaRestoreChat,#nexaHardChatFloating,#nexaHardChatPanel,
#nexaFbLauncher,#nexaFbChat,.nexa-fb-launcher,.nexa-fb-chat,.nexa-floating-launcher,.nexa-floating-chat{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}

/* Floating Messenger: nasce nascosto. Appare solo post-login. */
#rmccButton{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2147482500!important;
  min-width:128px!important;
  min-height:58px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  background:#ffffff!important;
  color:#0f172a!important;
  font:950 15px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  box-shadow:0 22px 76px rgba(15,23,42,.24)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  user-select:none!important;
}

#rmccButton.rmcc-ready{
  display:flex!important;
}

#rmccButton:hover{transform:translateY(-1px);}
#rmccButton .rmcc-dot{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.16);}
#rmccButton .rmcc-badge{min-width:22px;height:22px;border-radius:999px;display:none;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:12px;font-weight:950;padding:0 6px;}
#rmccButton .rmcc-badge.show{display:inline-flex!important;}

#rmccPanel{
  position:fixed!important;
  right:22px!important;
  bottom:92px!important;
  z-index:2147482501!important;
  width:min(900px,calc(100vw - 44px))!important;
  height:min(690px,calc(100dvh - 124px))!important;
  display:none;
  grid-template-columns:300px minmax(0,1fr)!important;
  border-radius:26px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 36px 130px rgba(15,23,42,.34)!important;
  overflow:hidden!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:#0f172a!important;
}

#rmccPanel.open{display:grid!important;}

.rmcc-side{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#f8fafc;border-right:1px solid #e2e8f0;}
.rmcc-head{padding:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e2e8f0;}
.rmcc-head h3{margin:0;font-size:17px;color:#0f172a;}
.rmcc-head small{display:block;color:#64748b;font-size:12px;margin-top:3px;}
.rmcc-head button,.rmcc-thread-head button{min-height:34px;border-radius:12px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:900;cursor:pointer;}
.rmcc-search{padding:10px 12px;border-bottom:1px solid #e2e8f0;}
.rmcc-search input{width:100%;min-height:40px;border-radius:14px;border:1px solid #cbd5e1;background:#fff;padding:0 12px;font-size:14px;outline:none;}
.rmcc-list{min-height:0;overflow:auto;padding:9px;}
.rmcc-contact{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:16px;border:1px solid transparent;color:#0f172a;cursor:pointer;}
.rmcc-contact.active,.rmcc-contact:hover{background:#fff;border-color:#dbeafe;box-shadow:0 8px 26px rgba(15,23,42,.06);}
.rmcc-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:950;background:linear-gradient(135deg,#1d4ed8,#0f766e);position:relative;flex:0 0 auto;}
.rmcc-avatar::after{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:50%;border:2px solid #fff;background:#10b981;}
.rmcc-contact b,.rmcc-contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rmcc-contact small{color:#64748b;font-size:12px;}

.rmcc-thread{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;}
.rmcc-thread-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid #e2e8f0;}
.rmcc-peer{display:flex;align-items:center;gap:10px;min-width:0;}
.rmcc-peer-title{min-width:0;}
.rmcc-peer-title b,.rmcc-peer-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rmcc-peer-title small{color:#64748b;font-size:12px;margin-top:3px;}
.rmcc-tools{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;}
.rmcc-tools button{min-height:34px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:950;padding:0 10px;cursor:pointer;}
.rmcc-tools button.call{background:#0f766e;border-color:#0f766e;color:#fff;}
.rmcc-tools button.video{background:#7c3aed;border-color:#7c3aed;color:#fff;}

.rmcc-messages{min-height:0;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%);}
.rmcc-empty{margin:auto;text-align:center;color:#64748b;max-width:440px;line-height:1.45;}
.rmcc-bubble{max-width:min(78%,560px);padding:10px 12px;border-radius:18px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 6px 20px rgba(15,23,42,.06);color:#0f172a;word-break:break-word;align-self:flex-start;}
.rmcc-bubble.me{align-self:flex-end;background:#1d4ed8;border-color:#1d4ed8;color:#fff;}
.rmcc-bubble small{display:block;margin-top:5px;opacity:.72;font-size:11px;}
.rmcc-compose{display:flex;gap:8px;padding:12px;border-top:1px solid #e2e8f0;background:#fff;}
.rmcc-compose input{flex:1;min-width:0;min-height:44px;border-radius:999px;border:1px solid #cbd5e1;padding:0 14px;font-size:14px;outline:none;}
.rmcc-compose button{min-height:44px;border-radius:999px;border:1px solid #1d4ed8;background:#1d4ed8;color:#fff;font-weight:950;padding:0 16px;cursor:pointer;}

#rmccToast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:2147482510;display:none;max-width:min(760px,calc(100vw - 28px));padding:12px 14px;border-radius:16px;background:#101828;color:#fff;box-shadow:0 18px 60px rgba(15,23,42,.32);font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
#rmccToast.show{display:block;}

/* Incoming call popup */
#rmccIncoming{
  position:fixed;right:22px;bottom:92px;z-index:2147482509;width:min(380px,calc(100vw - 28px));
  background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:24px;box-shadow:0 28px 100px rgba(15,23,42,.30);
  display:none;padding:16px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a;
}
#rmccIncoming.show{display:block;}
#rmccIncoming h3{margin:0 0 5px;font-size:18px;}
#rmccIncoming p{margin:0 0 14px;color:#64748b;font-size:13px;line-height:1.4;}
#rmccIncoming .actions{display:flex;gap:8px;justify-content:flex-end;}
#rmccIncoming button{min-height:38px;border-radius:13px;border:1px solid #cbd5e1;background:#fff;font-weight:950;cursor:pointer;padding:0 12px;}
#rmccIncoming .accept{background:#16a34a;border-color:#16a34a;color:#fff;}
#rmccIncoming .reject{background:#fff;color:#dc2626;border-color:#fecaca;}

/* Call modal */
#rmccCallModal{
  position:fixed;inset:0;z-index:2147482508;display:none;align-items:center;justify-content:center;
  background:rgba(15,23,42,.62);backdrop-filter:blur(8px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#rmccCallModal.show{display:flex;}
.rmcc-call-card{width:min(980px,calc(100vw - 32px));height:min(680px,calc(100dvh - 32px));background:#0b1220;color:#fff;border-radius:28px;box-shadow:0 36px 130px rgba(0,0,0,.45);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.12);}
.rmcc-call-top{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.10);}
.rmcc-call-top h3{margin:0;font-size:16px;}
.rmcc-call-top small{display:block;color:#cbd5e1;margin-top:3px;}
.rmcc-call-stage{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;min-height:0;}
.rmcc-remote,.rmcc-local{position:relative;border-radius:18px;background:#020617;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);min-height:0;}
.rmcc-remote video,.rmcc-local video{width:100%;height:100%;object-fit:cover;background:#020617;}
.rmcc-video-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;text-align:center;padding:18px;}
.rmcc-tag{position:absolute;left:12px;top:12px;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;padding:7px 10px;font-size:12px;font-weight:950;}
.rmcc-call-controls{padding:14px;display:flex;justify-content:center;gap:10px;border-top:1px solid rgba(255,255,255,.10);}
.rmcc-call-controls button{min-height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#fff;color:#0f172a;font-weight:950;padding:0 15px;cursor:pointer;}
.rmcc-call-controls .danger{background:#dc2626;color:#fff;border-color:#dc2626;}
.rmcc-call-controls .off{background:#334155;color:#fff;border-color:#334155;}

@media(max-width:900px){
  #rmccPanel{grid-template-columns:1fr!important;grid-template-rows:240px minmax(0,1fr)!important;right:10px!important;left:10px!important;width:auto!important;bottom:84px!important;}
  .rmcc-side{border-right:0;border-bottom:1px solid #e2e8f0;}
  .rmcc-call-stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 190px;}
}
@media(max-width:640px){
  #rmccButton{right:14px!important;bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;}
  #rmccPanel{inset:auto 0 0 0!important;width:100vw!important;height:84dvh!important;border-radius:22px 22px 0 0!important;grid-template-rows:225px minmax(0,1fr)!important;}
  .rmcc-thread-head{align-items:flex-start;flex-direction:column;}
  .rmcc-tools{justify-content:flex-start;}
  .rmcc-compose input{font-size:16px;}
  .rmcc-call-card{width:100vw;height:100dvh;border-radius:0;}
  .rmcc-call-stage{grid-template-rows:minmax(0,1fr) 160px;padding:10px;}
}


/* =========================================================
   RABBIT MESSENGER IDENTITY FIX
   Diagnostica identità corrente.
   ========================================================= */
.rmcc-identity-pill{
  margin-top:8px;
  padding:8px 10px;
  border-radius:12px;
  background:#ecfdf5;
  color:#065f46;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(16,185,129,.22);
}
.rmcc-identity-pill.warn{
  background:#fff7ed;
  color:#9a3412;
  border-color:#fed7aa;
}


/* =========================================================
   RABBIT MOBILE MENU MESSENGER FIX
   Un solo menu mobile ufficiale + accesso Messenger.
   ========================================================= */

/* Disattiva il secondo sistema mobile creato dalle patch precedenti */
.nexa-mobile-menu-btn,
.nexa-mobile-scrim{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Drawer ufficiale */
#mobileDrawer.mobile-drawer{
  z-index:2147482400!important;
}

#mobileDrawer.mobile-drawer.show{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

#mobileDrawer .mobile-drawer-panel{
  transform:none!important;
  display:block!important;
  pointer-events:auto!important;
}

#mobileDrawerNav.mobile-drawer-nav{
  display:grid!important;
  gap:8px!important;
}

#mobileDrawerNav.mobile-drawer-nav button{
  width:100%!important;
  min-height:48px!important;
  border-radius:14px!important;
  justify-content:space-between!important;
  display:flex!important;
  align-items:center!important;
  text-align:left!important;
}

#mobileDrawerNav .rabbit-mobile-menu-section{
  font-size:11px;
  font-weight:950;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:10px 4px 4px;
}

#mobileDrawerNav .rabbit-mobile-menu-chat{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
}

#mobileDrawerNav .rabbit-mobile-menu-chat b{
  color:#fff!important;
}

@media(max-width:1180px){
  .mobile-menu-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }

  body.nexa-mobile-menu-open{
    overflow:auto!important;
  }

  /* Se il vecchio responsive aggiunge questa classe, non deve sostituire il drawer ufficiale */
  .nexa-mobile-sidebar{
    transform:none;
  }
}

@media(max-width:640px){
  .mobile-drawer-panel{
    width:min(94vw,420px)!important;
  }
}


/* =========================================================
   RABBIT MESSENGER FLOATING VISIBILITY FIX
   Il floating non sparisce più post-login.
   ========================================================= */

#rmccButton.rmcc-visible,
#rmccButton.rmcc-ready{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

#rmccButton.rmcc-login-hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#rmccPanel.rmcc-force-open{
  display:grid!important;
}

.rmcc-debug-open-note{
  margin:auto;
  max-width:460px;
  text-align:center;
  color:#64748b;
  line-height:1.45;
}

.rmcc-debug-open-note b{
  color:#0f172a;
}


/* =========================================================
   RABBIT MESSENGER CALL STABILITY FIX
   Stabilizzazione WebRTC mobile/NAT.
   ========================================================= */
.rmcc-call-quality{
  position:absolute;
  right:12px;
  top:12px;
  z-index:4;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:950;
  color:#fff;
  background:rgba(15,23,42,.78);
  border:1px solid rgba(255,255,255,.14);
}
.rmcc-call-quality.ok{background:rgba(22,163,74,.86);}
.rmcc-call-quality.warn{background:rgba(245,158,11,.90);}
.rmcc-call-quality.bad{background:rgba(220,38,38,.90);}


/* =========================================================
   RABBIT MESSENGER TWITCH CALL CHAT
   Chat live dentro call/video-call, stile Twitch.
   ========================================================= */

#rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-card{
  width:min(1180px,calc(100vw - 32px));
}

#rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
  grid-template-columns:minmax(0,1fr) 230px 330px;
  align-items:stretch;
}

.rmcc-call-chat{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  border-radius:18px;
  overflow:hidden;
  background:#0f172a;
  border:1px solid rgba(255,255,255,.12);
  color:#e5e7eb;
}

.rmcc-call-chat-head{
  padding:12px 13px;
  border-bottom:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:rgba(15,23,42,.92);
}

.rmcc-call-chat-head b{
  display:block;
  color:#fff;
  font-size:13px;
}

.rmcc-call-chat-head small{
  display:block;
  color:#94a3b8;
  font-size:11px;
  margin-top:2px;
}

.rmcc-call-chat-head button{
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:950;
  cursor:pointer;
}

.rmcc-call-chat-list{
  min-height:0;
  overflow:auto;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  background:
    radial-gradient(circle at top right, rgba(124,58,237,.20), transparent 35%),
    linear-gradient(180deg,#111827 0%,#020617 100%);
}

.rmcc-call-chat-empty{
  margin:auto;
  text-align:center;
  color:#94a3b8;
  line-height:1.4;
  font-size:13px;
  padding:20px;
}

.rmcc-call-chat-message{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:8px;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.06);
}

.rmcc-call-chat-message.me{
  background:rgba(37,99,235,.22);
  border-color:rgba(96,165,250,.22);
}

.rmcc-call-chat-avatar{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff;
  font-size:11px;
  font-weight:950;
}

.rmcc-call-chat-body{
  min-width:0;
}

.rmcc-call-chat-meta{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:3px;
  min-width:0;
}

.rmcc-call-chat-author{
  color:#c4b5fd;
  font-size:12px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rmcc-call-chat-message.me .rmcc-call-chat-author{
  color:#93c5fd;
}

.rmcc-call-chat-time{
  color:#64748b;
  font-size:10px;
  flex:0 0 auto;
}

.rmcc-call-chat-text{
  color:#f8fafc;
  font-size:13px;
  line-height:1.35;
  word-break:break-word;
}

.rmcc-call-chat-system{
  align-self:center;
  max-width:92%;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(148,163,184,.12);
  color:#cbd5e1;
  font-size:11px;
  font-weight:800;
  text-align:center;
}

.rmcc-call-chat-compose{
  padding:10px;
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(15,23,42,.95);
  display:flex;
  gap:8px;
}

.rmcc-call-chat-compose input{
  flex:1;
  min-width:0;
  min-height:38px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:#020617;
  color:#fff;
  padding:0 11px;
  outline:none;
  font-size:13px;
}

.rmcc-call-chat-compose input::placeholder{
  color:#64748b;
}

.rmcc-call-chat-compose button{
  min-height:38px;
  border-radius:12px;
  border:1px solid #7c3aed;
  background:#7c3aed;
  color:#fff;
  font-weight:950;
  padding:0 12px;
  cursor:pointer;
}

.rmcc-call-controls .rmcc-chat-toggle{
  background:#7c3aed;
  color:#fff;
  border-color:#7c3aed;
}

.rmcc-call-controls .rmcc-chat-toggle.has-unread::after{
  content:attr(data-unread);
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  margin-left:8px;
  padding:0 5px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:950;
}

@media(max-width:980px){
  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) 170px minmax(260px,36vh);
  }

  .rmcc-call-chat{
    min-height:260px;
  }
}

@media(max-width:640px){
  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
    grid-template-rows:minmax(0,1fr) 150px minmax(250px,34vh);
    gap:8px;
  }

  .rmcc-call-chat{
    border-radius:16px;
  }

  .rmcc-call-chat-head{
    padding:10px;
  }

  .rmcc-call-chat-list{
    padding:9px;
  }

  .rmcc-call-chat-compose input{
    font-size:16px;
  }

  .rmcc-call-chat-compose button{
    padding:0 10px;
  }
}


/* =========================================================
   RABBIT MESSENGER LIVE CHAT SYNC + RESPONSIVE CALL
   Rifinitura videocall: chat live condivisa + layout mobile/tablet.
   ========================================================= */

.rmcc-call-chat-sync-note{
  color:#94a3b8;
  font-size:11px;
  padding:7px 12px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(15,23,42,.72);
}

/* Desktop: la call deve restare leggibile e non troppo larga */
#rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-card{
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
}

#rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
  min-height:0;
}

.rmcc-remote,
.rmcc-local,
.rmcc-call-chat{
  min-width:0;
  min-height:0;
}

.rmcc-remote video,
.rmcc-local video{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Tablet: video principale sopra, locale + chat sotto */
@media(max-width:1100px){
  #rmccCallModal.rmcc-twitch-chat-enabled{
    align-items:stretch;
    justify-content:stretch;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-card{
    width:100vw;
    height:100dvh;
    max-width:100vw;
    max-height:100dvh;
    border-radius:0;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
    grid-template-columns:1fr 320px;
    grid-template-rows:minmax(0,1fr) minmax(250px,34dvh);
    grid-template-areas:
      "remote remote"
      "local chat";
    gap:10px;
    padding:10px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-remote{
    grid-area:remote;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-local{
    grid-area:local;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat{
    grid-area:chat;
  }
}

/* Smartphone: tutto in verticale, controlli sticky e chat sotto i video */
@media(max-width:720px){
  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-card{
    width:100vw;
    height:100dvh;
    max-width:100vw;
    max-height:100dvh;
    border-radius:0;
    grid-template-rows:auto minmax(0,1fr) auto;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-top{
    padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;
    min-height:auto;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-top h3{
    font-size:16px;
    line-height:1.2;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-top small{
    font-size:12px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
    grid-template-columns:1fr;
    grid-template-rows:minmax(220px,42dvh) minmax(120px,20dvh) minmax(230px,1fr);
    grid-template-areas:
      "remote"
      "local"
      "chat";
    gap:8px;
    padding:8px;
    overflow:auto;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-remote,
  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-local,
  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat{
    border-radius:16px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat{
    min-height:230px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat-head{
    padding:9px 10px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat-list{
    padding:8px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat-compose{
    padding:8px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat-compose input{
    min-height:42px;
    font-size:16px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-chat-compose button{
    min-height:42px;
    padding:0 12px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-controls{
    position:sticky;
    bottom:0;
    z-index:20;
    padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));
    gap:7px;
    flex-wrap:nowrap;
    overflow-x:auto;
    justify-content:flex-start;
    background:#0b1220;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-controls button{
    min-height:42px;
    flex:0 0 auto;
    padding:0 13px;
    font-size:13px;
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-controls .danger{
    margin-left:auto;
  }
}

/* Smartphone molto piccoli */
@media(max-width:430px){
  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-stage{
    grid-template-rows:minmax(190px,38dvh) minmax(110px,18dvh) minmax(230px,1fr);
  }

  #rmccCallModal.rmcc-twitch-chat-enabled .rmcc-call-controls button{
    font-size:12px;
    padding:0 10px;
  }

  .rmcc-call-chat-message{
    grid-template-columns:24px minmax(0,1fr);
    padding:7px;
  }

  .rmcc-call-chat-avatar{
    width:24px;
    height:24px;
    font-size:10px;
  }

  .rmcc-call-chat-text{
    font-size:12px;
  }
}


/* ===== /assets/css/02-style-02.css ===== */
/* Extracted from index.html <style> */

.nexa-turn-help{
  margin:10px 0;
  padding:12px;
  border:1px solid #c7d8ff;
  background:#eef4ff;
  color:#174ea6;
  border-radius:14px;
  font-size:12px;
  line-height:1.45;
}


/* ===== /assets/css/03-style-03.css ===== */
/* Extracted from index.html <style> */

.lk-overlay{position:fixed;inset:0;z-index:60000;background:rgba(2,6,23,.78);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(12px)}
.lk-overlay.show{display:flex}.lk-card{width:min(980px,100%);background:#0f172a;color:white;border-radius:24px;overflow:hidden;box-shadow:0 35px 120px rgba(0,0,0,.5)}
.lk-head{display:flex;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid rgba(255,255,255,.14)}.lk-head small{color:#cbd5e1}
.lk-stage{display:grid;grid-template-columns:1fr 260px;gap:12px;padding:14px}.lk-remote,.lk-local{min-height:260px;background:#020617;border:1px solid rgba(255,255,255,.14);border-radius:18px;display:grid;place-items:center;overflow:hidden;color:#94a3b8}.lk-local{min-height:170px}.lk-remote video,.lk-local video{width:100%;height:100%;object-fit:cover}.lk-remote audio{display:none}
.lk-actions{display:flex;justify-content:center;gap:8px;padding:14px;border-top:1px solid rgba(255,255,255,.14)}.lk-actions button{border-radius:999px!important;min-height:40px!important;padding:0 14px!important}
.lk-incoming{position:fixed;right:18px;bottom:90px;z-index:60001;width:min(360px,calc(100vw - 28px));background:white;color:#0f172a;border-radius:22px;padding:14px;box-shadow:0 24px 90px rgba(15,23,42,.25);display:none;gap:10px}.lk-incoming.show{display:grid}.lk-incoming small{color:#667085}.lk-incoming div{display:flex;justify-content:flex-end;gap:8px}
.lk-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:61000;display:none;background:#101828;color:white;padding:12px 14px;border-radius:16px;box-shadow:0 18px 60px rgba(15,23,42,.35)}.lk-toast.show{display:block}
.lk-contact{background:#1d4ed8!important;color:white!important;border-color:#1d4ed8!important;border-radius:12px!important;font-weight:900!important;min-height:34px!important;padding:0 12px!important}.lk-hide{display:none!important}
@media(max-width:760px){.lk-stage{grid-template-columns:1fr}.lk-overlay{padding:0}.lk-card{height:100vh;border-radius:0}}


/* ===== /assets/css/04-rabbit-home-launcher-v1.css ===== */
/* Extracted from index.html <style id="rabbit-home-launcher-v1"> */

/* =========================================================
   Rabbit Home Rejuvenation V1
   - sidebar rimossa
   - launcher card in home con funzioni originali
   ========================================================= */
.sidebar{
  display:none !important;
}
.app{
  grid-template-columns:minmax(0,1fr) 315px !important;
}
.app.no-rightbar{
  grid-template-columns:minmax(0,1fr) !important;
}
.main{
  min-width:0;
}

.home-launcher-shell{
  padding:16px;
  border-radius:22px;
  background:
    radial-gradient(circle at 0% 0%, rgba(37,86,217,.08), transparent 28%),
    radial-gradient(circle at 100% 100%, rgba(14,124,114,.07), transparent 24%),
    rgba(255,255,255,.94);
}
.home-launcher-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.home-launcher-head h3{
  margin:0;
  font-size:24px;
  letter-spacing:-.04em;
}
.home-launcher-head p{
  margin:6px 0 0;
  color:#475467;
  max-width:760px;
}
.home-launcher-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#eef4ff;
  color:#1d4ed8;
  font-weight:800;
  white-space:nowrap;
}
.home-launcher-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.launch-card{
  position:relative;
  width:100%;
  text-align:left;
  padding:14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  box-shadow:0 10px 24px rgba(16,24,40,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:130px;
}
.launch-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(16,24,40,.09);
  border-color:rgba(37,86,217,.24);
}
.launch-card.active{
  border-color:rgba(37,86,217,.36);
  box-shadow:0 14px 30px rgba(37,86,217,.10);
}
.launch-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.launch-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(37,86,217,.16), rgba(14,124,114,.12));
  font-size:20px;
}
.launch-badge{
  display:inline-flex;
  min-width:30px;
  height:30px;
  padding:0 10px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid var(--line);
  color:#101828;
  font-size:12px;
  font-weight:900;
}
.launch-title{
  margin:0;
  font-size:18px;
  letter-spacing:-.03em;
}
.launch-desc{
  margin:0;
  color:#667085;
  font-size:13px;
  line-height:1.45;
}
.launch-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#1d4ed8;
  font-weight:800;
  font-size:13px;
}
.launch-arrow{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eef4ff;
}

@media(max-width:1480px){
  .home-launcher-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:1180px){
  .app, .app.no-rightbar{grid-template-columns:1fr !important;}
  .rightbar{display:none !important;}
  .home-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .home-launcher-head{flex-direction:column;}
  .home-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .launch-card{min-height:120px; padding:12px;}
  .launch-title{font-size:16px;}
}
@media(max-width:460px){
  .home-launcher-grid{grid-template-columns:1fr 1fr; gap:8px;}
  .launch-card{min-height:112px; border-radius:16px;}
  .launch-icon{width:38px;height:38px;border-radius:12px;font-size:18px;}
  .launch-badge{min-width:26px;height:26px;padding:0 8px;font-size:11px;}
  .launch-desc{font-size:12px;}
}


/* ===== /assets/css/05-rabbit-home-topbar-priority-v2.css ===== */
/* Extracted from index.html <style id="rabbit-home-topbar-priority-v2"> */

/* =========================================================
   Rabbit Home Rejuvenation V2
   - topbar più leggibile
   - ricerca ristretta
   - bottoni Home/Profilo/Impostazioni/Nuovo Post/Logout
   - blocchi Priorità/Oggi/Programmi spostati sotto le aree
   ========================================================= */

.topbar{
  display:grid !important;
  grid-template-columns:minmax(260px, 560px) auto !important;
  gap:10px !important;
  align-items:center !important;
}

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

.topbar .search{
  min-width:0 !important;
  width:100% !important;
  max-width:560px !important;
}

.topbar .search input{
  min-height:42px !important;
}

.topbar .actions{
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}

.topbar .actions button{
  min-height:42px !important;
  padding:0 14px !important;
  border-radius:13px !important;
  font-weight:850 !important;
}

.topbar .actions button[data-home-topbar="home"]{
  background:linear-gradient(135deg,var(--primary),#1d4ed8) !important;
  color:#fff !important;
  border-color:transparent !important;
}

#homeLauncherCards{
  margin-bottom:14px !important;
}

#homePriorityDeck{
  margin-top:14px !important;
  margin-bottom:18px !important;
}

#homePriorityDeck .priority-board{
  margin:0 !important;
}

#homePriorityDeck .board-col{
  min-height:205px !important;
}

@media(max-width:1180px){
  .topbar{
    grid-template-columns:1fr !important;
  }

  .topbar .search{
    max-width:none !important;
  }

  .topbar .actions{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    padding-bottom:2px !important;
  }
}

@media(max-width:640px){
  .topbar{
    position:sticky !important;
    top:0 !important;
    padding:10px !important;
    margin:-16px -16px 12px !important;
  }

  .topbar .actions button{
    min-width:max-content !important;
    padding:0 12px !important;
  }
}


/* ===== /assets/css/06-rabbit-design-refresh-v3.css ===== */
/* Extracted from index.html <style id="rabbit-design-refresh-v3"> */

/* Rabbit Design Refresh V3 — solo estetica, nessuna funzione modificata */
:root{
  --rabbit-bg-1:#f4f7fb;
  --rabbit-bg-2:#eaf1fb;
  --rabbit-ink:#0f172a;
  --rabbit-muted:#667085;
  --rabbit-primary:#155eef;
  --rabbit-primary-2:#0e7c72;
  --rabbit-accent:#7c3aed;
  --rabbit-line:rgba(16,24,40,.10);
  --rabbit-shadow:0 18px 50px rgba(16,24,40,.10);
  --rabbit-shadow-soft:0 10px 26px rgba(16,24,40,.07);
}

html{
  background:
    radial-gradient(circle at 10% 0%, rgba(21,94,239,.13), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(14,124,114,.12), transparent 24%),
    linear-gradient(180deg,var(--rabbit-bg-1),var(--rabbit-bg-2)) !important;
}

body{
  background:
    radial-gradient(circle at 12% 8%, rgba(21,94,239,.10), transparent 26%),
    radial-gradient(circle at 88% 0%, rgba(124,58,237,.08), transparent 22%),
    linear-gradient(180deg,rgba(255,255,255,.55),rgba(234,241,251,.72)) !important;
  color:var(--rabbit-ink) !important;
}

.scale-root{background:transparent !important;}

.main{
  background:
    linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38)),
    radial-gradient(circle at 82% 0%, rgba(21,94,239,.05), transparent 26%) !important;
  border-left:1px solid rgba(255,255,255,.58);
}

.topbar{
  top:10px !important;
  margin:0 0 18px !important;
  padding:10px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-bottom-color:rgba(16,24,40,.08) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(22px) saturate(1.2) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.2) !important;
  box-shadow:0 16px 42px rgba(16,24,40,.09) !important;
}

.topbar .search input{
  border-radius:16px !important;
  border:1px solid rgba(16,24,40,.10) !important;
  background:linear-gradient(180deg,#fff,#f8fbff) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 8px 20px rgba(16,24,40,.04) !important;
  color:#172033 !important;
  font-weight:650;
}

.topbar .search input::placeholder{color:#98a2b3 !important;}
.topbar .search button{border-radius:14px !important;}

.topbar .actions button{
  border:1px solid rgba(16,24,40,.10) !important;
  background:linear-gradient(180deg,#fff,#f7faff) !important;
  color:#172033 !important;
  box-shadow:0 8px 18px rgba(16,24,40,.05) !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

.topbar .actions button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(16,24,40,.09) !important;
  border-color:rgba(21,94,239,.22) !important;
}

.topbar .actions button.primary,
.topbar .actions button[data-home-topbar="home"],
.topbar .actions button[data-home-topbar="newPost"]{
  background:linear-gradient(135deg,#155eef,#1d4ed8) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 28px rgba(21,94,239,.24) !important;
}

.topbar .actions button.danger,
.topbar .actions button[data-home-topbar="logout"]{
  background:linear-gradient(180deg,#fff7f7,#fff) !important;
  color:#b42318 !important;
  border-color:rgba(180,35,24,.18) !important;
}

.card,
.board-col,
.pulse-card,
.launch-card,
.rightbar .card{
  border:1px solid rgba(255,255,255,.72) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.82)) !important;
  box-shadow:var(--rabbit-shadow-soft) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}

.command-center,
.hero,
#home > .card:first-child{
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(21,94,239,.16), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(14,124,114,.10), transparent 26%),
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,247,255,.82)) !important;
  box-shadow:0 22px 64px rgba(16,24,40,.10) !important;
  overflow:hidden !important;
  position:relative;
}

.command-center::after,
#home > .card:first-child::after{
  content:"WORKSPACE";
  position:absolute;
  right:18px;
  bottom:-18px;
  font-size:64px;
  line-height:1;
  letter-spacing:-.08em;
  font-weight:950;
  color:rgba(15,23,42,.035);
  pointer-events:none;
}

.command-title,
.hero h1,
#home > .card:first-child h1,
#home > .card:first-child h2{
  color:#10203d !important;
  letter-spacing:-.065em !important;
}

.command-title span{color:var(--rabbit-primary) !important;}

.pulse-strip{gap:12px !important;}

.pulse-card{
  border-radius:20px !important;
  padding:16px !important;
  min-height:86px;
  position:relative;
  overflow:hidden;
}

.pulse-card::after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:-22px;
  width:70px;
  height:70px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(21,94,239,.12),rgba(14,124,114,.08));
  transform:rotate(12deg);
}

.pulse-card b{color:#0f172a !important;}

.priority-board{gap:14px !important;}

.board-col{
  border-radius:22px !important;
  padding:16px !important;
}

.board-col h3{
  margin-top:0 !important;
  letter-spacing:-.03em;
}

.board-item{
  border:1px solid rgba(16,24,40,.08) !important;
  border-radius:17px !important;
  padding:13px !important;
  background:linear-gradient(180deg,#fff,#f9fbff) !important;
  box-shadow:0 8px 22px rgba(16,24,40,.04) !important;
}

.home-launcher-shell{
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.75) !important;
  background:
    radial-gradient(circle at 0 0, rgba(21,94,239,.10), transparent 26%),
    radial-gradient(circle at 100% 0, rgba(124,58,237,.08), transparent 22%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.78)) !important;
  box-shadow:0 20px 60px rgba(16,24,40,.10) !important;
}

.home-launcher-head h3{
  color:#10203d !important;
  font-size:28px !important;
  letter-spacing:-.055em !important;
}

.home-launcher-head p{
  color:#667085 !important;
  font-weight:650;
}

.home-launcher-meta{
  background:linear-gradient(135deg,#eff6ff,#eef2ff) !important;
  color:#1d4ed8 !important;
  border:1px solid rgba(21,94,239,.12);
}

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

.launch-card{
  min-height:150px !important;
  border-radius:22px !important;
  padding:16px !important;
  overflow:hidden;
}

.launch-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 88% 14%, rgba(21,94,239,.13), transparent 22%),
    radial-gradient(circle at 8% 94%, rgba(14,124,114,.08), transparent 24%);
  opacity:.85;
  pointer-events:none;
}

.launch-card > *{
  position:relative;
  z-index:1;
}

.launch-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 20px 44px rgba(16,24,40,.13) !important;
  border-color:rgba(21,94,239,.28) !important;
}

.launch-icon{
  border-radius:17px !important;
  background:linear-gradient(135deg,rgba(21,94,239,.16),rgba(14,124,114,.14)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
}

.launch-badge{
  background:rgba(255,255,255,.78) !important;
  border-color:rgba(16,24,40,.08) !important;
}

.launch-title{
  color:#101828 !important;
  font-size:19px !important;
}

.launch-desc{
  color:#667085 !important;
  font-weight:650;
}

.launch-footer{color:var(--rabbit-primary) !important;}

.launch-arrow{
  background:#eef4ff !important;
  box-shadow:inset 0 0 0 1px rgba(21,94,239,.10);
}

button,
input,
textarea,
select{
  border-radius:14px !important;
}

button.primary,
.primary{
  background:linear-gradient(135deg,#155eef,#1d4ed8) !important;
  color:white !important;
  border-color:transparent !important;
  box-shadow:0 10px 24px rgba(21,94,239,.20) !important;
}

button.danger,
.danger{
  background:#fff7f7 !important;
  color:#b42318 !important;
  border-color:rgba(180,35,24,.18) !important;
}

button{
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

button:hover{
  transform:translateY(-1px);
}

.rightbar{
  background:linear-gradient(180deg,rgba(255,255,255,.40),rgba(234,241,251,.66)) !important;
  border-left:1px solid rgba(255,255,255,.55) !important;
}

#rmccButton,
.chat-float,
.floating-chat,
#chatButton{
  box-shadow:0 18px 42px rgba(21,94,239,.25) !important;
}

*{
  scrollbar-width:thin;
  scrollbar-color:rgba(21,94,239,.28) transparent;
}

::-webkit-scrollbar{
  width:10px;
  height:10px;
}

::-webkit-scrollbar-thumb{
  background:rgba(21,94,239,.24);
  border-radius:999px;
  border:3px solid transparent;
  background-clip:padding-box;
}

::-webkit-scrollbar-track{background:transparent;}

@media(max-width:1180px){
  .command-center::after,
  #home > .card:first-child::after{
    font-size:42px;
  }
}

@media(max-width:760px){
  .topbar{border-radius:20px !important;}

  .home-launcher-head h3{font-size:23px !important;}

  .launch-card{min-height:134px !important;}

  .launch-title{font-size:16px !important;}

  .launch-desc{font-size:12px !important;}

  .pulse-card,
  .board-col,
  .card{
    border-radius:20px !important;
  }
}


/* ===== /assets/css/07-rabbit-remove-rightbar-v4.css ===== */
/* Extracted from index.html <style id="rabbit-remove-rightbar-v4"> */

/* =========================================================
   Rabbit Design Refresh V4
   Rimozione barra laterale destra / Pannello laterale
   ========================================================= */

.rightbar,
aside.rightbar,
#rightbar,
[data-rightbar],
.panel-laterale,
.side-panel,
.lateral-panel{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Layout a piena larghezza dopo rimozione rightbar */
.app,
.app.no-rightbar,
.scale-root .app{
  grid-template-columns:minmax(0,1fr) !important;
}

.main{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  padding-right:0 !important;
  margin-right:0 !important;
}

/* La Home e le griglie ora possono usare tutta la larghezza */
#home,
.view.active{
  width:100% !important;
  max-width:none !important;
}

.home-launcher-shell,
#homeLauncherCards,
#homePriorityDeck,
.priority-board,
.command-center,
#home > .card:first-child{
  max-width:none !important;
}

/* Evita spazio morto a destra generato da vecchie colonne */
.grid.two,
.grid.three,
.grid.four,
.home-grid{
  width:100% !important;
}

/* Floating chat resta visibile e non viene trascinata dalla rightbar */
#rmccButton,
.chat-float,
.floating-chat,
#chatButton{
  right:24px !important;
  bottom:24px !important;
  z-index:9999 !important;
}

@media(max-width:1180px){
  .app,
  .app.no-rightbar,
  .scale-root .app{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  #rmccButton,
  .chat-float,
  .floating-chat,
  #chatButton{
    right:16px !important;
    bottom:16px !important;
  }
}


/* ===== /assets/css/08-rabbit-profile-design-v5.css ===== */
/* Extracted from index.html <style id="rabbit-profile-design-v5"> */

/* =========================================================
   Rabbit Profile Design V5
   Allinea la pagina Profilo al design moderno della Home.
   Solo CSS: nessuna funzione modificata.
   ========================================================= */

/* Scope ampio ma difensivo: colpisce il profilo senza rompere la Home */
#profile,
#settings\/profilo,
.view#profile,
.view[id*="profilo"],
.view[id*="profile"]{
  background:
    radial-gradient(circle at 8% 0%, rgba(21,94,239,.10), transparent 28%),
    radial-gradient(circle at 94% 4%, rgba(14,124,114,.12), transparent 24%),
    linear-gradient(180deg, rgba(244,247,251,.64), rgba(234,241,251,.72)) !important;
  min-height:100vh;
}

/* Hero profilo */
.profile-hero,
.profile-header,
.operational-profile-hero,
#profile .hero,
#profile .profile-top,
#profile [class*="profile"][class*="hero"],
.view[id*="profilo"] .profile-hero,
.view[id*="profile"] .profile-hero{
  border-radius:30px !important;
  border:1px solid rgba(255,255,255,.76) !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(14,124,114,.34), transparent 28%),
    radial-gradient(circle at 20% 0%, rgba(21,94,239,.18), transparent 26%),
    linear-gradient(135deg, #0f2f45 0%, #0e4f52 54%, #0e7c72 100%) !important;
  box-shadow:0 24px 70px rgba(16,24,40,.16) !important;
  overflow:hidden !important;
  position:relative !important;
  padding:28px !important;
  color:#fff !important;
}

.profile-hero::after,
.profile-header::after,
.operational-profile-hero::after,
#profile .profile-top::after,
.view[id*="profilo"] .profile-hero::after,
.view[id*="profile"] .profile-hero::after{
  content:"IDENTITÀ OPERATIVA";
  position:absolute;
  right:24px;
  bottom:-16px;
  font-size:72px;
  line-height:1;
  letter-spacing:-.08em;
  font-weight:950;
  color:rgba(255,255,255,.07);
  pointer-events:none;
}

/* Avatar/foto */
#profile img,
.view[id*="profilo"] img,
.view[id*="profile"] img{
  border-radius:22px !important;
  border:3px solid rgba(255,255,255,.72) !important;
  box-shadow:0 16px 38px rgba(2,6,23,.22) !important;
  object-fit:cover !important;
}

/* Titoli profilo */
#profile h1,
#profile h2,
.view[id*="profilo"] h1,
.view[id*="profile"] h1,
.view[id*="profilo"] h2,
.view[id*="profile"] h2{
  letter-spacing:-.055em !important;
  color:#10203d;
}

.profile-hero h1,
.profile-header h1,
.operational-profile-hero h1,
#profile .profile-top h1,
.view[id*="profilo"] .profile-hero h1,
.view[id*="profile"] .profile-hero h1,
.profile-hero h2,
.profile-header h2,
.operational-profile-hero h2{
  color:#fff !important;
  text-shadow:0 2px 18px rgba(2,6,23,.20);
}

/* Badge e pill */
#profile .badge,
#profile .pill,
#profile .status,
.view[id*="profilo"] .badge,
.view[id*="profile"] .badge,
.view[id*="profilo"] .pill,
.view[id*="profile"] .pill{
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,255,255,.14) !important;
  backdrop-filter:blur(14px) !important;
  color:inherit;
}

/* KPI sotto hero */
#profile .kpi,
#profile .metric,
#profile .stat,
#profile .summary-card,
.view[id*="profilo"] .kpi,
.view[id*="profile"] .kpi,
.view[id*="profilo"] .metric,
.view[id*="profile"] .metric,
.view[id*="profilo"] .stat,
.view[id*="profile"] .stat{
  border-radius:0 !important;
  border:0 !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:none !important;
}

#profile .kpi b,
#profile .metric b,
#profile .stat b,
.view[id*="profilo"] .kpi b,
.view[id*="profile"] .kpi b{
  color:#fff !important;
}

/* Card sezioni profilo */
#profile .card,
#profile .panel,
#profile .section,
#profile .profile-card,
#profile .profile-panel,
.view[id*="profilo"] .card,
.view[id*="profile"] .card,
.view[id*="profilo"] .panel,
.view[id*="profile"] .panel,
.view[id*="profilo"] .section,
.view[id*="profile"] .section{
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.74) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,251,255,.86)) !important;
  box-shadow:0 14px 38px rgba(16,24,40,.08) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  overflow:hidden;
}

/* Sezioni grandi: stato personale, identità, mansioni, obiettivi */
#profile [class*="personal"],
#profile [class*="identity"],
#profile [class*="support"],
#profile [class*="goal"],
#profile [class*="objective"],
#profile [class*="mansioni"],
#profile [class*="agenda"],
.view[id*="profilo"] [class*="personal"],
.view[id*="profile"] [class*="personal"],
.view[id*="profilo"] [class*="identity"],
.view[id*="profile"] [class*="identity"],
.view[id*="profilo"] [class*="support"],
.view[id*="profile"] [class*="support"],
.view[id*="profilo"] [class*="goal"],
.view[id*="profile"] [class*="goal"]{
  border-radius:24px;
}

/* Griglie interne più ariose */
#profile .grid,
#profile .profile-grid,
#profile .two-col,
#profile .columns,
.view[id*="profilo"] .grid,
.view[id*="profile"] .grid,
.view[id*="profilo"] .profile-grid,
.view[id*="profile"] .profile-grid{
  gap:16px !important;
}

/* Elementi riga/mini-card */
#profile .row,
#profile .item,
#profile .tile,
#profile .goal,
#profile .task,
#profile .identity-card,
.view[id*="profilo"] .row,
.view[id*="profile"] .row,
.view[id*="profilo"] .item,
.view[id*="profile"] .item,
.view[id*="profilo"] .tile,
.view[id*="profile"] .tile,
.view[id*="profilo"] .goal,
.view[id*="profile"] .goal{
  border-radius:18px !important;
  border:1px solid rgba(16,24,40,.08) !important;
  background:linear-gradient(180deg,#fff,#f9fbff) !important;
  box-shadow:0 8px 22px rgba(16,24,40,.04) !important;
}

/* Stato personale come bottoni/presenza più belli */
#profile button,
.view[id*="profilo"] button,
.view[id*="profile"] button{
  border-radius:15px !important;
}

#profile button:hover,
.view[id*="profilo"] button:hover,
.view[id*="profile"] button:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(16,24,40,.08) !important;
}

#profile button.primary,
.view[id*="profilo"] button.primary,
.view[id*="profile"] button.primary{
  background:linear-gradient(135deg,#155eef,#1d4ed8) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 28px rgba(21,94,239,.22) !important;
}

/* Tabelline / blocchi identità */
#profile dl,
#profile .identity-grid,
.view[id*="profilo"] dl,
.view[id*="profile"] dl,
.view[id*="profilo"] .identity-grid,
.view[id*="profile"] .identity-grid{
  gap:10px !important;
}

#profile dt,
#profile label,
.view[id*="profilo"] dt,
.view[id*="profile"] dt,
.view[id*="profilo"] label,
.view[id*="profile"] label{
  color:#667085 !important;
  font-weight:800 !important;
  letter-spacing:.02em;
}

#profile dd,
.view[id*="profilo"] dd,
.view[id*="profile"] dd{
  color:#101828 !important;
  font-weight:850 !important;
}

/* Progress bar obiettivi */
#profile progress,
#profile .progress,
#profile .progress-bar,
.view[id*="profilo"] progress,
.view[id*="profile"] progress,
.view[id*="profilo"] .progress,
.view[id*="profile"] .progress{
  border-radius:999px !important;
  overflow:hidden !important;
}

#profile .progress > *,
#profile .bar,
#profile .progress-fill,
.view[id*="profilo"] .progress > *,
.view[id*="profile"] .progress > *,
.view[id*="profilo"] .bar,
.view[id*="profile"] .bar,
.view[id*="profilo"] .progress-fill,
.view[id*="profile"] .progress-fill{
  background:linear-gradient(90deg,#0e7c72,#155eef) !important;
  border-radius:999px !important;
}

/* Tag competenze */
#profile .tag,
#profile .chip,
.view[id*="profilo"] .tag,
.view[id*="profile"] .tag,
.view[id*="profilo"] .chip,
.view[id*="profile"] .chip{
  border-radius:999px !important;
  background:#eaf6fb !important;
  color:#0f4c5c !important;
  border:1px solid rgba(14,124,114,.12) !important;
  font-weight:850 !important;
}

/* Bottoni hero destra */
.profile-hero button,
.profile-header button,
.operational-profile-hero button,
#profile .profile-top button,
.view[id*="profilo"] .profile-hero button,
.view[id*="profile"] .profile-hero button{
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:rgba(255,255,255,.92) !important;
  color:#10203d !important;
  box-shadow:0 12px 30px rgba(2,6,23,.18) !important;
}

.profile-hero button.primary,
.profile-header button.primary,
.operational-profile-hero button.primary,
#profile .profile-top button.primary{
  background:linear-gradient(135deg,#155eef,#1d4ed8) !important;
  color:#fff !important;
  border-color:transparent !important;
}

/* Riduzione delle aree bianche enormi: se la pagina profilo usa min-height eccessivi */
#profile .empty,
.view[id*="profilo"] .empty,
.view[id*="profile"] .empty{
  min-height:0 !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.62) !important;
}

/* Responsive profilo */
@media(max-width:980px){
  .profile-hero,
  .profile-header,
  .operational-profile-hero,
  #profile .profile-top,
  .view[id*="profilo"] .profile-hero,
  .view[id*="profile"] .profile-hero{
    padding:22px !important;
    border-radius:24px !important;
  }

  .profile-hero::after,
  .profile-header::after,
  .operational-profile-hero::after,
  #profile .profile-top::after{
    font-size:42px;
    right:12px;
  }

  #profile .grid,
  #profile .profile-grid,
  .view[id*="profilo"] .grid,
  .view[id*="profile"] .grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  #profile,
  .view[id*="profilo"],
  .view[id*="profile"]{
    padding:10px !important;
  }

  .profile-hero,
  .profile-header,
  .operational-profile-hero,
  #profile .profile-top{
    padding:18px !important;
  }

  .profile-hero::after,
  .profile-header::after,
  .operational-profile-hero::after,
  #profile .profile-top::after{
    display:none;
  }
}


/* ===== /assets/css/09-rabbit-calendar-google-v9.css ===== */
/* Extracted from index.html <style id="rabbit-calendar-google-v9"> */

/* =========================================================
   Rabbit Calendar Pro V9
   - ricorrenze visibili nelle settimane successive
   - eventi sovrapposti affiancati
   - resize verticale stile Google Calendar
   ========================================================= */

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

.gcal-day-events{
  pointer-events:none !important;
}

.gcal-day-events .gcal-event{
  pointer-events:auto !important;
}

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

.gcal-event.timed-duration:hover{
  z-index:8 !important;
}

.gcal-event.recurring b{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
}

.gcal-repeat-badge{
  display:inline-grid !important;
  place-items:center !important;
  width:16px !important;
  height:16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.20) !important;
  font-size:11px !important;
  flex:0 0 auto !important;
}

.gcal-resize-handle{
  position:absolute !important;
  left:8px !important;
  right:8px !important;
  bottom:2px !important;
  height:9px !important;
  border-radius:999px !important;
  cursor:ns-resize !important;
  opacity:.55 !important;
  background:rgba(255,255,255,.34) !important;
}

.gcal-resize-handle::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:28px !important;
  height:3px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
}

.gcal-event:hover .gcal-resize-handle,
.gcal-event.is-resizing .gcal-resize-handle{
  opacity:1 !important;
}

.gcal-event.is-resizing{
  outline:2px solid rgba(37,99,235,.35) !important;
  box-shadow:0 18px 42px rgba(37,99,235,.22) !important;
}

.gcal-day-col .gcal-bg-row{
  height:54px !important;
  min-height:54px !important;
}

.gcal-time-col .gcal-bg-row{
  height:54px !important;
  min-height:54px !important;
}

/* Istruzione discreta per l'utente */
.gcal-main::after{
  content:"Suggerimento: trascina il bordo inferiore di un evento per allungarlo o accorciarlo.";
  display:block;
  padding:8px 14px 12px;
  color:#667085;
  font-size:12px;
  font-weight:700;
}


/* ===== /assets/css/10-rabbit-settings-design-v12.css ===== */
/* Extracted from index.html <style id="rabbit-settings-design-v12"> */

/* =========================================================
   Rabbit Settings Design V12
   Centro controllo più chiaro, guidato e coerente col nuovo design.
   Solo UI/UX: nessuna funzione rimossa.
   ========================================================= */

#settings{
  background:
    radial-gradient(circle at 8% 0%, rgba(21,94,239,.09), transparent 26%),
    radial-gradient(circle at 94% 3%, rgba(14,124,114,.10), transparent 24%),
    linear-gradient(180deg, rgba(244,247,251,.72), rgba(234,241,251,.84)) !important;
  min-height:100vh;
}

/* Hero impostazioni più premium */
#settings .hero,
#settings .command-center,
#settings > .card:first-child{
  border-radius:30px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(21,94,239,.16), transparent 26%),
    radial-gradient(circle at 0% 100%, rgba(14,124,114,.10), transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,247,255,.84)) !important;
  box-shadow:0 22px 64px rgba(16,24,40,.10) !important;
  overflow:hidden !important;
  position:relative !important;
}

#settings .hero::after,
#settings .command-center::after,
#settings > .card:first-child::after{
  content:"CONTROL CENTER";
  position:absolute;
  right:18px;
  bottom:-18px;
  font-size:62px;
  line-height:1;
  letter-spacing:-.08em;
  font-weight:950;
  color:rgba(15,23,42,.035);
  pointer-events:none;
}

/* Layout impostazioni */
.settings-layout{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
  margin-top:18px !important;
}

/* Menu sinistro impostazioni */
.settings-menu{
  position:sticky !important;
  top:92px !important;
  border-radius:26px !important;
  border:1px solid rgba(255,255,255,.76) !important;
  background:
    radial-gradient(circle at 0 0, rgba(21,94,239,.10), transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,251,255,.84)) !important;
  box-shadow:0 16px 44px rgba(16,24,40,.09) !important;
  padding:14px !important;
  display:grid !important;
  gap:10px !important;
}

.settings-menu::before{
  content:"Aree impostazioni";
  display:block;
  font-size:14px;
  font-weight:950;
  color:#10203d;
  letter-spacing:-.02em;
  margin:2px 4px 4px;
}

.settings-menu button{
  width:100% !important;
  min-height:58px !important;
  justify-content:flex-start !important;
  text-align:left !important;
  border-radius:18px !important;
  border:1px solid rgba(16,24,40,.08) !important;
  background:linear-gradient(180deg,#fff,#f9fbff) !important;
  color:#172033 !important;
  box-shadow:0 8px 22px rgba(16,24,40,.05) !important;
  padding:10px 12px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  position:relative !important;
  overflow:hidden !important;
}

.settings-menu button::before{
  width:34px;
  height:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(21,94,239,.15),rgba(14,124,114,.11));
  color:#155eef;
  font-size:16px;
  flex:0 0 auto;
}

.settings-menu button:nth-child(1)::before{content:"🏷️";}
.settings-menu button:nth-child(2)::before{content:"🏠";}
.settings-menu button:nth-child(3)::before{content:"🎛️";}
.settings-menu button:nth-child(4)::before{content:"🧩";}
.settings-menu button:nth-child(5)::before{content:"🔐";}
.settings-menu button:nth-child(6)::before{content:"🗄️";}

.settings-menu button:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 12px 28px rgba(16,24,40,.09) !important;
  border-color:rgba(21,94,239,.22) !important;
}

.settings-menu button.is-active{
  background:linear-gradient(135deg,#155eef,#1d4ed8) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 32px rgba(21,94,239,.24) !important;
}

.settings-menu button.is-active::before{
  background:rgba(255,255,255,.18);
  color:#fff;
}

/* Wrapper contenuti */
.settings-layout > div:last-child{
  display:grid !important;
  gap:18px !important;
  min-width:0 !important;
}

/* Sezioni impostazioni */
.settings-section{
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.76) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(21,94,239,.07), transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,251,255,.86)) !important;
  box-shadow:0 16px 44px rgba(16,24,40,.08) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  padding:20px !important;
  overflow:hidden !important;
  position:relative !important;
}

.settings-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#155eef,#0e7c72,#7c3aed);
  opacity:.72;
}

.settings-section h3{
  margin:0 0 14px !important;
  font-size:24px !important;
  letter-spacing:-.05em !important;
  color:#10203d !important;
  display:flex;
  align-items:center;
  gap:10px;
}

#set_brand h3::before{content:"🏷️";}
#set_home h3::before{content:"🏠";}
#set_interface h3::before{content:"🎛️";}
#set_modules h3::before{content:"🧩";}
#set_permissions h3::before{content:"🔐";}
#set_data h3::before{content:"🗄️";}

.settings-section .muted{
  color:#667085 !important;
  font-weight:650;
}

/* Form più leggibili */
.settings-section .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

.settings-section label{
  border-radius:18px !important;
  border:1px solid rgba(16,24,40,.08) !important;
  background:linear-gradient(180deg,#fff,#f9fbff) !important;
  padding:12px !important;
  color:#475467 !important;
  font-weight:850 !important;
  display:grid !important;
  gap:8px !important;
}

.settings-section label.full{
  grid-column:1 / -1 !important;
}

.settings-section input,
.settings-section textarea,
.settings-section select{
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid rgba(16,24,40,.10) !important;
  background:#fff !important;
  color:#101828 !important;
  font-weight:750 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.settings-section textarea{
  min-height:100px !important;
  resize:vertical !important;
}

.settings-section input[type="color"]{
  min-height:46px !important;
  padding:4px !important;
}

/* Toggle Home più belli */
.home-structure-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

.home-toggle{
  min-height:72px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  border-radius:18px !important;
  border:1px solid rgba(16,24,40,.08) !important;
  background:linear-gradient(180deg,#fff,#f9fbff) !important;
  box-shadow:0 8px 22px rgba(16,24,40,.04) !important;
  padding:12px !important;
}

.home-toggle b{
  color:#10203d !important;
}

.home-toggle small{
  display:block;
  margin-top:4px;
  color:#98a2b3 !important;
  font-weight:750;
}

.home-toggle input[type="checkbox"]{
  width:20px !important;
  height:20px !important;
  accent-color:#155eef !important;
}

/* Bottoni */
.settings-section button,
#settings button{
  border-radius:15px !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(16,24,40,.05) !important;
}

.settings-section button.primary,
#settings button.primary{
  background:linear-gradient(135deg,#155eef,#1d4ed8) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 28px rgba(21,94,239,.22) !important;
}

/* Tabelle permessi */
#set_permissions{
  overflow:hidden !important;
}

#set_permissions table{
  border-collapse:separate !important;
  border-spacing:0 8px !important;
}

#set_permissions th{
  color:#667085 !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

#set_permissions td{
  background:#fff !important;
  border-top:1px solid rgba(16,24,40,.06);
  border-bottom:1px solid rgba(16,24,40,.06);
  padding:8px !important;
}

#set_permissions td:first-child{
  border-left:1px solid rgba(16,24,40,.06);
  border-radius:14px 0 0 14px;
}

#set_permissions td:last-child{
  border-right:1px solid rgba(16,24,40,.06);
  border-radius:0 14px 14px 0;
}

/* Database box */
.db-status{
  border-radius:20px !important;
  border:1px solid rgba(21,94,239,.12) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(21,94,239,.08), transparent 28%),
    linear-gradient(180deg,#fff,#f7faff) !important;
  padding:16px !important;
  color:#344054 !important;
  font-weight:750;
}

/* Quick overview cards injected via JS */
.settings-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}

.settings-overview-card{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.76);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,251,255,.84));
  box-shadow:0 14px 36px rgba(16,24,40,.08);
  padding:18px;
  position:relative;
  overflow:hidden;
}

.settings-overview-card::after{
  content:"";
  position:absolute;
  right:-22px;
  bottom:-24px;
  width:86px;
  height:86px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(21,94,239,.12),rgba(14,124,114,.08));
  transform:rotate(12deg);
}

.settings-overview-card b{
  display:block;
  font-size:18px;
  letter-spacing:-.03em;
  color:#10203d;
  margin-bottom:6px;
}

.settings-overview-card span{
  color:#667085;
  font-weight:700;
  line-height:1.4;
}

.settings-overview-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(21,94,239,.14),rgba(14,124,114,.10));
  margin-bottom:12px;
  font-size:20px;
}

@media(max-width:1180px){
  .settings-layout{
    grid-template-columns:1fr !important;
  }

  .settings-menu{
    position:relative !important;
    top:auto !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .settings-menu::before{
    grid-column:1 / -1;
  }

  .settings-overview{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  .settings-menu{
    grid-template-columns:1fr 1fr !important;
  }

  .settings-section .form-grid,
  .home-structure-grid{
    grid-template-columns:1fr !important;
  }

  .settings-section{
    padding:16px !important;
    border-radius:22px !important;
  }

  .settings-section h3{
    font-size:21px !important;
  }
}


/* ===== /assets/css/11-rabbit-button-colors-v13.css ===== */
/* Extracted from index.html <style id="rabbit-button-colors-v13"> */

:root{
  --button-primary:var(--primary);
  --button-secondary:var(--secondary);
  --button-danger:#b42318;
  --button-chat:var(--primary);
}

button.primary,
.primary,
.topbar .actions button.primary,
.topbar .actions button[data-home-topbar="home"],
.topbar .actions button[data-home-topbar="newPost"],
.settings-section button.primary,
#settings button.primary{
  background:linear-gradient(135deg,var(--button-primary),var(--button-secondary)) !important;
  color:#fff !important;
  border-color:transparent !important;
}

button.danger,
.danger,
.topbar .actions button.danger,
.topbar .actions button[data-home-topbar="logout"]{
  background:#fff7f7 !important;
  color:var(--button-danger) !important;
  border-color:rgba(180,35,24,.20) !important;
}

#rmccButton .dot,
#rmccButton [class*="dot"],
.chat-float .dot,
.floating-chat .dot,
#chatButton .dot{
  background:var(--button-chat) !important;
}

.button-color-preview{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  border-radius:20px !important;
  border:1px dashed rgba(21,94,239,.20) !important;
  background:linear-gradient(180deg,#fff,#f8fbff) !important;
  padding:14px !important;
}

.button-color-preview button{
  pointer-events:none !important;
}

.button-chat-preview{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#fff;
  color:var(--button-chat);
  font-weight:900;
  box-shadow:0 12px 28px rgba(16,24,40,.12);
  border:1px solid rgba(16,24,40,.08);
}


/* ===== /assets/css/12-rabbit-mobile-lite-v16.css ===== */
/* Extracted from index.html <style id="rabbit-mobile-lite-v16"> */

/* =========================================================
   Rabbit Mobile Lite V16
   PC invariato. Su smartphone alleggerisce rendering, blur,
   ombre, animazioni e sfondi pesanti senza rimuovere funzioni.
   ========================================================= */

@media (max-width: 820px){
  :root{
    --mobile-radius:18px;
    --mobile-shadow:0 6px 16px rgba(16,24,40,.07);
  }

  html,
  body{
    background:#f3f6fb !important;
    overflow-x:hidden !important;
    -webkit-text-size-adjust:100% !important;
  }

  body.rabbit-mobile-lite *,
  body.rabbit-mobile-lite *::before,
  body.rabbit-mobile-lite *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  /* Elimina i costi principali su mobile: blur, backdrop, filtri, ombre enormi */
  body.rabbit-mobile-lite .topbar,
  body.rabbit-mobile-lite .card,
  body.rabbit-mobile-lite .launch-card,
  body.rabbit-mobile-lite .home-launcher-shell,
  body.rabbit-mobile-lite .settings-section,
  body.rabbit-mobile-lite .profile-hero,
  body.rabbit-mobile-lite .command-center,
  body.rabbit-mobile-lite .hero,
  body.rabbit-mobile-lite #rmccPanel,
  body.rabbit-mobile-lite .rmcc-chat-window,
  body.rabbit-mobile-lite .rmcc-window,
  body.rabbit-mobile-lite .messenger-window,
  body.rabbit-mobile-lite .chat-window{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    filter:none !important;
    box-shadow:var(--mobile-shadow) !important;
  }

  /* Sfondi complessi sostituiti da superfici leggere */
  body.rabbit-mobile-lite .main,
  body.rabbit-mobile-lite .card,
  body.rabbit-mobile-lite .launch-card,
  body.rabbit-mobile-lite .home-launcher-shell,
  body.rabbit-mobile-lite .settings-section,
  body.rabbit-mobile-lite .command-center,
  body.rabbit-mobile-lite .hero,
  body.rabbit-mobile-lite #home > .card:first-child{
    background:#ffffff !important;
  }

  body.rabbit-mobile-lite .command-center::after,
  body.rabbit-mobile-lite .hero::after,
  body.rabbit-mobile-lite #home > .card:first-child::after,
  body.rabbit-mobile-lite .profile-hero::after,
  body.rabbit-mobile-lite .launch-card::before,
  body.rabbit-mobile-lite .pulse-card::after,
  body.rabbit-mobile-lite .settings-section::before,
  body.rabbit-mobile-lite .home-launcher-shell::before,
  body.rabbit-mobile-lite .home-launcher-shell::after{
    display:none !important;
    content:none !important;
  }

  /* Layout mobile: una colonna vera */
  body.rabbit-mobile-lite .app,
  body.rabbit-mobile-lite .app.no-rightbar,
  body.rabbit-mobile-lite .scale-root .app{
    display:block !important;
    grid-template-columns:1fr !important;
  }

  body.rabbit-mobile-lite .main{
    width:100% !important;
    max-width:100% !important;
    padding:10px !important;
    margin:0 !important;
  }

  body.rabbit-mobile-lite .rightbar,
  body.rabbit-mobile-lite .sidebar,
  body.rabbit-mobile-lite aside,
  body.rabbit-mobile-lite [data-rightbar]{
    display:none !important;
  }

  /* Topbar mobile leggera */
  body.rabbit-mobile-lite .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:80 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin:0 0 10px !important;
    padding:8px !important;
    border-radius:18px !important;
    background:#ffffff !important;
    border:1px solid rgba(16,24,40,.08) !important;
  }

  body.rabbit-mobile-lite .topbar .search{
    max-width:none !important;
    width:100% !important;
  }

  body.rabbit-mobile-lite .topbar .search input{
    height:42px !important;
    min-height:42px !important;
    font-size:16px !important;
  }

  body.rabbit-mobile-lite .topbar .actions{
    display:flex !important;
    overflow-x:auto !important;
    gap:6px !important;
    padding-bottom:2px !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.rabbit-mobile-lite .topbar .actions button{
    min-width:max-content !important;
    min-height:38px !important;
    padding:0 10px !important;
    border-radius:12px !important;
    font-size:12px !important;
  }

  /* Hero compatto */
  body.rabbit-mobile-lite .command-center,
  body.rabbit-mobile-lite .hero,
  body.rabbit-mobile-lite #home > .card:first-child{
    border-radius:20px !important;
    padding:16px !important;
    margin-bottom:10px !important;
  }

  body.rabbit-mobile-lite h1{
    font-size:28px !important;
    line-height:1.02 !important;
    letter-spacing:-.05em !important;
  }

  body.rabbit-mobile-lite h2{
    font-size:22px !important;
  }

  /* Griglie trasformate in lista/2 colonne leggere */
  body.rabbit-mobile-lite .home-launcher-grid{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  body.rabbit-mobile-lite .launch-card{
    min-height:104px !important;
    padding:11px !important;
    border-radius:16px !important;
  }

  body.rabbit-mobile-lite .launch-icon{
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
  }

  body.rabbit-mobile-lite .launch-title{
    font-size:15px !important;
  }

  body.rabbit-mobile-lite .launch-desc{
    display:none !important;
  }

  body.rabbit-mobile-lite .launch-footer{
    font-size:12px !important;
  }

  body.rabbit-mobile-lite .home-launcher-shell{
    padding:12px !important;
    border-radius:20px !important;
  }

  body.rabbit-mobile-lite .home-launcher-head{
    margin-bottom:10px !important;
  }

  body.rabbit-mobile-lite .home-launcher-head p{
    display:none !important;
  }

  body.rabbit-mobile-lite .home-launcher-meta{
    font-size:12px !important;
    padding:6px 9px !important;
  }

  body.rabbit-mobile-lite .priority-board,
  body.rabbit-mobile-lite .home-grid,
  body.rabbit-mobile-lite .grid,
  body.rabbit-mobile-lite .settings-layout,
  body.rabbit-mobile-lite .settings-overview{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body.rabbit-mobile-lite .board-col,
  body.rabbit-mobile-lite .card,
  body.rabbit-mobile-lite .settings-section{
    border-radius:18px !important;
    padding:12px !important;
  }

  /* Calendario: meno ombre/effetti, scroll fluido */
  body.rabbit-mobile-lite .gcal-scroll,
  body.rabbit-mobile-lite .gcal-main{
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.rabbit-mobile-lite .gcal-event{
    box-shadow:none !important;
  }

  /* Chat floating: leggera ma funzionante */
  body.rabbit-mobile-lite #rmccButton,
  body.rabbit-mobile-lite .chat-float,
  body.rabbit-mobile-lite .floating-chat,
  body.rabbit-mobile-lite #chatButton{
    right:14px !important;
    bottom:14px !important;
    box-shadow:0 8px 18px rgba(16,24,40,.14) !important;
  }

  body.rabbit-mobile-lite #rmccPanel{
    inset:auto 8px 76px 8px !important;
    width:auto !important;
    max-width:none !important;
    height:min(74dvh, 600px) !important;
    border-radius:20px !important;
  }

  /* Login mobile super leggero */
  body.rabbit-mobile-lite [id*="login"],
  body.rabbit-mobile-lite [class*="login"],
  body.rabbit-mobile-lite .auth,
  body.rabbit-mobile-lite .auth-screen{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:none !important;
  }

  body.rabbit-mobile-lite input,
  body.rabbit-mobile-lite textarea,
  body.rabbit-mobile-lite select{
    font-size:16px !important;
    min-height:44px !important;
  }

  /* Evita repaint mentre si scrive */
  body.rabbit-input-active .home-launcher-shell,
  body.rabbit-input-active .priority-board,
  body.rabbit-input-active .pulse-strip,
  body.rabbit-input-active #rmccButton,
  body.rabbit-input-active .floating-chat{
    visibility:hidden !important;
  }
}

@media (max-width: 430px){
  body.rabbit-mobile-lite .home-launcher-grid{
    grid-template-columns:1fr 1fr !important;
  }

  body.rabbit-mobile-lite .launch-card{
    min-height:96px !important;
  }

  body.rabbit-mobile-lite .launch-footer span:first-child{
    display:none !important;
  }

  body.rabbit-mobile-lite h1{
    font-size:25px !important;
  }
}


/* ===== /assets/css/13-rabbit-chat-module-v22.css ===== */
/* Extracted from index.html <style id="rabbit-chat-module-v22"> */

/* =========================================================
   Rabbit Chat Module V22
   SOSTITUZIONE PULITA: un solo bottone, un solo pannello,
   una sola logica. Nessun RMCC, nessun layer precedente.
   ========================================================= */

#rmccButton,
#rmccPanel,
#rmccIncoming,
#rmccCallModal,
.rfc-launcher,
.rfc-panel,
.rfc-call{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.rc22-button{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:2147483905;
  height:60px;
  min-width:152px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 16px 0 10px;
  color:#fff;
  background:linear-gradient(135deg,var(--button-chat,#1d4ed8),#0f766e);
  box-shadow:0 18px 50px rgba(29,78,216,.28),0 8px 22px rgba(15,23,42,.14);
  font:900 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  user-select:none;
}

.rc22-button-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
  font-size:19px;
}

.rc22-button-text{
  display:grid;
  gap:3px;
  text-align:left;
}

.rc22-button-text b{
  font-size:14px;
}

.rc22-button-text small{
  font-size:11px;
  opacity:.82;
}

.rc22-panel{
  position:fixed;
  right:22px;
  bottom:94px;
  z-index:2147483001;
  width:min(920px,calc(100vw - 44px));
  height:min(690px,calc(100dvh - 126px));
  display:none;
  grid-template-columns:300px minmax(0,1fr);
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 34px 110px rgba(15,23,42,.25);
  color:#0f172a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.rc22-panel.open{
  display:grid;
}

.rc22-sidebar{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  background:linear-gradient(180deg,#f8fbff,#f3f7ff);
  border-right:1px solid rgba(15,23,42,.08);
}

.rc22-head{
  min-height:72px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#fff;
}

.rc22-head b{
  display:block;
  font-size:17px;
  letter-spacing:-.04em;
}

.rc22-head small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:750;
}

.rc22-close{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#0f172a;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-weight:950;
  font-size:18px;
}

.rc22-search{
  padding:10px 12px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.rc22-search input{
  width:100%;
  min-height:42px;
  border-radius:15px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  padding:0 13px;
  font-size:14px;
  outline:none;
}

.rc22-list{
  min-height:0;
  overflow:auto;
  padding:10px;
  display:grid;
  gap:8px;
  align-content:start;
}

.rc22-contact{
  width:100%;
  border:1px solid transparent;
  background:transparent;
  border-radius:18px;
  padding:10px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
  color:#0f172a;
  cursor:pointer;
  text-align:left;
}

.rc22-contact:hover,
.rc22-contact.active{
  background:#fff;
  border-color:rgba(29,78,216,.16);
  box-shadow:0 12px 26px rgba(15,23,42,.07);
}

.rc22-avatar{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:950;
  background:linear-gradient(135deg,#1d4ed8,#0f766e);
  position:relative;
}

.rc22-avatar::after{
  content:"";
  position:absolute;
  right:2px;
  bottom:2px;
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid #fff;
  background:#10b981;
}

.rc22-contact.off .rc22-avatar::after{background:#94a3b8;}
.rc22-contact.away .rc22-avatar::after{background:#f59e0b;}

.rc22-contact-text{
  min-width:0;
}

.rc22-contact-text b,
.rc22-contact-text small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rc22-contact-text b{
  font-size:13.5px;
}

.rc22-contact-text small{
  margin-top:3px;
  color:#64748b;
  font-size:11.5px;
}

.rc22-main{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  background:#fff;
}

.rc22-thread-head{
  min-height:76px;
  padding:13px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#fff,#f8fbff);
}

.rc22-peer{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.rc22-peer-text{
  min-width:0;
}

.rc22-peer-text b,
.rc22-peer-text small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rc22-peer-text b{
  font-size:15px;
}

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

.rc22-tools{
  display:flex;
  align-items:center;
  gap:8px;
}

.rc22-tool{
  width:42px;
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#0f172a;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:18px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}

.rc22-tool.audio{background:#0f766e;color:#fff;border-color:#0f766e;}
.rc22-tool.video{background:#7c3aed;color:#fff;border-color:#7c3aed;}

.rc22-messages{
  min-height:0;
  overflow:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:
    radial-gradient(circle at top right,rgba(191,219,254,.45),transparent 32%),
    linear-gradient(180deg,#f8fbff,#eef4ff 54%,#f8fbff);
}

.rc22-empty{
  margin:auto;
  max-width:420px;
  text-align:center;
  color:#64748b;
  line-height:1.45;
  font-weight:700;
}

.rc22-bubble{
  max-width:min(78%,560px);
  align-self:flex-start;
  padding:11px 13px;
  border-radius:20px 20px 20px 8px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  color:#0f172a;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  word-break:break-word;
  line-height:1.42;
}

.rc22-bubble.me{
  align-self:flex-end;
  border-radius:20px 20px 8px 20px;
  background:linear-gradient(180deg,#2563eb,#1d4ed8);
  color:#fff;
  border-color:#1d4ed8;
}

.rc22-bubble small{
  display:inline-block;
  margin-top:6px;
  font-size:10.5px;
  opacity:.78;
}

.rc22-bubble.me small{
  opacity:1;
  color:rgba(255,255,255,.95);
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
}

.rc22-compose{
  padding:12px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  border-top:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#fff,#f8fbff);
}

.rc22-compose input{
  min-width:0;
  min-height:46px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  padding:0 15px;
  outline:none;
  font-size:14px;
}

.rc22-compose button{
  min-height:46px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  background:#1d4ed8;
  color:#fff;
  font-weight:950;
  cursor:pointer;
}

.rc22-call{
  position:fixed;
  inset:0;
  z-index:2147483003;
  display:none;
  grid-template-rows:auto minmax(0,1fr) auto;
  padding:14px 14px 16px;
  background:
    radial-gradient(circle at 18% 14%, rgba(37,99,235,.22), transparent 28%),
    radial-gradient(circle at 78% 86%, rgba(16,185,129,.12), transparent 22%),
    linear-gradient(135deg,#041127 0%,#06142f 32%,#071326 100%);
  color:#fff;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-sizing:border-box;
}

.rc22-call.open{
  display:grid;
}

.rc22-call-head{
  min-height:58px;
  padding:0 0 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background:transparent;
  border-bottom:0;
}

.rc22-call-title{
  min-width:0;
}

.rc22-call-title b,
.rc22-call-title small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rc22-call-title b{font-size:28px;font-weight:900;letter-spacing:-.045em;}
.rc22-call-title small{margin-top:6px;color:#86efac;font-size:13px;font-weight:800;}

.rc22-call-body{
  min-height:0;
  padding:8px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 326px;
  gap:16px;
}

.rc22-stage{
  position:relative;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(5,18,46,.92) 0%, rgba(3,10,27,.96) 48%, rgba(5,20,48,.92) 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 32px 90px rgba(2,6,23,.42);
}

.rc22-stage video{
  width:100%;
  height:100%;
  object-fit:cover;
  background:#020617;
}

.rc22-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  text-align:left;
  padding:48px 310px 48px 56px;
  color:#e2e8f0;
  font-size:18px;
  line-height:1.6;
  font-weight:700;
  background:linear-gradient(90deg, rgba(3,7,18,.14) 0%, rgba(3,7,18,.08) 62%, rgba(3,7,18,.02) 100%);
}

.rc22-local{
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  width:228px;
  height:308px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:#020617;
  box-shadow:0 26px 60px rgba(2,6,23,.46);
}

.rc22-local video{
  width:100%;
  height:100%;
  object-fit:cover;
}

.rc22-live{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 30px 80px rgba(15,23,42,.18);
}

.rc22-live-head{
  padding:16px 18px;
  border-bottom:1px solid rgba(226,232,240,.9);
  background:#fff;
  font-weight:950;
  font-size:18px;
  letter-spacing:-.03em;
}

.rc22-live-list{
  min-height:0;
  overflow:auto;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}

.rc22-live-msg{
  padding:11px 12px;
  border-radius:16px;
  background:#f1f5f9;
  border:1px solid #e5e7eb;
  font-size:13px;
  line-height:1.4;
  color:#334155;
}

.rc22-live-msg.me{
  align-self:flex-end;
  background:linear-gradient(135deg,#2563eb 0%,#10b981 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:0 16px 34px rgba(37,99,235,.20);
}

.rc22-live-msg small{
  display:block;
  margin-top:4px;
  opacity:.78;
  font-size:10px;
}

.rc22-live-compose{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(226,232,240,.92);
  background:#fff;
}

.rc22-live-compose input{
  min-width:0;
  min-height:42px;
  border-radius:14px;
  border:1px solid #d7deea;
  padding:0 14px;
  font-size:14px;
}

.rc22-live-compose button{
  min-height:42px;
  border:0;
  border-radius:14px;
  padding:0 16px;
  background:#fff;
  color:#0f172a;
  font-weight:950;
  box-shadow:inset 0 0 0 1px #d7deea;
}

.rc22-call-controls{
  padding:16px 0 0;
  display:flex;
  justify-content:center;
  gap:12px;
  border-top:0;
  background:transparent;
}

.rc22-call-controls button{
  min-height:44px;
  min-width:110px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.12);
  background:#fff;
  color:#0f172a;
  font-weight:950;
  padding:0 16px;
  box-shadow:0 14px 34px rgba(2,6,23,.28);
}

.rc22-call-controls button.off{background:#1e293b;color:#fff;border-color:rgba(255,255,255,.14);}
.rc22-call-controls button.danger{background:#fff;color:#991b1b;border-color:#fecaca;}

@media(max-width:900px){
  .rc22-panel{
    grid-template-columns:1fr;
    grid-template-rows:250px minmax(0,1fr);
    right:12px;
    left:12px;
    width:auto;
    height:min(80dvh,760px);
  }
  .rc22-sidebar{
    border-right:0;
    border-bottom:1px solid rgba(15,23,42,.08);
  }
  .rc22-call-body{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) 260px;
  }
}

@media(max-width:640px){
  .rc22-button{
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom,0px));
    width:60px;
    min-width:60px;
    height:60px;
    padding:0;
  }
  .rc22-button-text{display:none;}

  .rc22-panel{
    inset:0;
    width:100vw;
    height:100dvh;
    max-width:100vw;
    max-height:100dvh;
    border-radius:0;
    grid-template-columns:1fr;
    grid-template-rows:minmax(220px,32dvh) minmax(0,1fr);
    box-shadow:none;
  }

  .rc22-thread-head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding:11px 12px;
    min-height:112px;
  }

  .rc22-tools{
    width:100%;
    justify-content:flex-start;
  }

  .rc22-tool{
    width:44px;
    height:44px;
    min-width:44px;
    border-radius:14px;
  }

  .rc22-messages{
    padding:13px 12px;
  }

  .rc22-bubble{
    max-width:91%;
  }

  .rc22-compose{
    position:sticky;
    bottom:0;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));
  }

  .rc22-compose input{
    font-size:16px;
  }

  .rc22-call-body{
    padding:10px;
    grid-template-rows:minmax(0,1fr) minmax(185px,28dvh);
    gap:10px;
  }

  .rc22-stage{
    border-radius:22px;
  }

  .rc22-local{
    width:116px;
    height:154px;
    right:12px;
    bottom:12px;
    border-radius:18px;
  }

  .rc22-live{
    border-radius:20px;
  }

  .rc22-live-compose input{
    font-size:16px;
  }

  .rc22-call-controls{
    justify-content:space-between;
    gap:8px;
    padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));
  }

  .rc22-call-controls button{
    flex:1;
    min-width:0;
    min-height:46px;
    padding:0 7px;
    font-size:11px;
  }
}


/* ===== /assets/css/14-rabbit-single-chat-entry-v26.css ===== */
/* Extracted from index.html <style id="rabbit-single-chat-entry-v26"> */

/* Rabbit V26 — single chat entry, old mobile nav/dock removed */
.mobile-nav,
.bottom-nav,
[class*="bottom-nav"],
[id*="bottomNav"],
#chatDock,
.rabbit-chat-dock,
.rabbit-dock-chat,
#nexaFbLauncher,
#nexaFbChat,
.nexa-fb-chat,
.nexa-floating-chat,
.nexa-floating-launcher{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:640px){
  .main{
    padding-bottom:18px!important;
  }

  .rc22-button{
    right:14px!important;
    bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;
    z-index:2147483500!important;
  }
}


/* ===== /assets/css/15-rabbit-livekit-v27.css ===== */
/* Extracted from index.html <style id="rabbit-livekit-v27"> */

.rc22-incoming{
  position:fixed;
  right:22px;
  bottom:96px;
  z-index:2147483600;
  width:min(390px,calc(100vw - 32px));
  display:none;
  border-radius:24px;
  background:#fff;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 30px 110px rgba(15,23,42,.30);
  overflow:hidden;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.rc22-incoming.show{display:block}
.rc22-incoming header{
  padding:16px;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);
  color:#fff;
}
.rc22-incoming header b{display:block;font-size:15px}
.rc22-incoming header small{color:#dbeafe}
.rc22-incoming main{padding:14px 16px;color:#334155;font-size:13px;line-height:1.4}
.rc22-incoming footer{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 16px 16px;
  background:#f8fafc;
  border-top:1px solid #e2e8f0;
}
.rc22-incoming button{
  min-height:40px;
  border-radius:999px;
  padding:0 14px;
  font-weight:950;
}
.rc22-incoming .reject{background:#fff;border:1px solid #fecaca;color:#991b1b}
.rc22-incoming .accept{background:#16a34a;border:1px solid #16a34a;color:#fff}

.rc22-call-status-livekit{
  color:#a7f3d0!important;
}
.rc22-stage video[data-livekit-remote="true"]{
  object-fit:cover;
}
@media(max-width:640px){
  .rc22-incoming{
    left:12px;
    right:12px;
    bottom:calc(16px + env(safe-area-inset-bottom,0px));
    width:auto;
  }
}


/* ===== /assets/css/16-rabbit-mobile-chat-clean-v31.css ===== */
/* Extracted from index.html <style id="rabbit-mobile-chat-clean-v31"> */

/* V31: un solo ingresso chat su mobile e desktop */
.mobile-nav,
.bottom-nav,
.bottomDock,
.mobileDock,
#chatDock,
.rabbit-chat-dock,
.rabbit-dock-chat,
.nexa-fb-chat,
.nexa-floating-chat,
.nexa-floating-launcher,
#rmccButton,
#rfcLauncher{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

#rc22Button{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2147483900!important;
}

@media(max-width:640px){
  body{padding-bottom:0!important;}
  .main{padding-bottom:18px!important;}
  #rc22Button.rc22-button{
    right:14px!important;
    bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;
    width:60px!important;
    min-width:60px!important;
    height:60px!important;
    border-radius:999px!important;
  }
  #rc22Panel.rc22-panel{
    z-index:2147483901!important;
  }
  #rc22Call.rc22-call{
    z-index:2147483903!important;
  }
}


/* V1.1: eliminazione strutturale dei vecchi launcher chat rimasti nel CSS storico */
#rmccButton,
#rmccPanel,
#rmccIncoming,
#rmccCallModal,
#nexaFbLauncher,
#nexaFbChat,
.nexa-fb-launcher,
.nexa-fb-chat,
.nexa-floating-launcher,
.nexa-floating-chat,
.nexa-official-toast,
.nexa-official-incoming,
.nexa-chat-rescue-floating,
.nexa-hard-chat-floating,
.nexa-unified-chat-launcher,
.nexa-restore-chat-launcher{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Solo il sistema nuovo rc22 può restare visibile */
#rc22Button{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}


/* ===== /assets/css/17-rabbit-auth-endpoint-fix-v32.css ===== */
/* Extracted from index.html <style id="rabbit-auth-endpoint-fix-v32"> */

/* V32: endpoint auth users pulito + nessun vecchio ingresso chat mobile */
.mobile-nav,
.bottom-nav,
.bottomDock,
.mobileDock,
#chatDock,
.rabbit-chat-dock,
.rabbit-dock-chat,
.nexa-fb-chat,
.nexa-floating-chat,
.nexa-floating-launcher,
#rmccButton,
#rfcLauncher{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

#rc22Button{
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2147483900!important;
}


/* ===== /assets/css/rabbit-notifications-v1.css ===== */
/* Rabbit Notifications V1 */
#rabbitNotificationsPrompt{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:2147483000;
  width:min(390px,calc(100vw - 32px));
  pointer-events:auto;
}
#rabbitNotificationsPrompt .rnp-card{
  border:1px solid rgba(130,153,184,.26);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border-radius:24px;
  box-shadow:0 28px 90px rgba(15,23,42,.20);
  padding:16px;
  color:#0f172a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#rabbitNotificationsPrompt b{
  display:block;
  font-size:15px;
  letter-spacing:-.02em;
  margin-bottom:4px;
}
#rabbitNotificationsPrompt span{
  display:block;
  color:#64748b;
  font-size:13px;
  font-weight:750;
  line-height:1.35;
}
#rabbitNotificationsPrompt div div{
  display:flex;
  gap:8px;
  margin-top:12px;
  justify-content:flex-end;
}
#rabbitNotificationsPrompt button{
  border:1px solid #dbe5f2;
  background:#fff;
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
  cursor:pointer;
}
#rabbitNotificationsPrompt button[data-rnp-enable]{
  background:linear-gradient(135deg,#2563eb,#0891b2);
  border-color:transparent;
  color:#fff;
}
@media(max-width:640px){
  #rabbitNotificationsPrompt{
    left:12px;
    right:12px;
    bottom:calc(84px + env(safe-area-inset-bottom,0px));
    width:auto;
  }
}


/* V1.1: prompt notifiche leggibile sopra la floating chat */
#rabbitNotificationsPrompt{
  left:18px!important;
  right:auto!important;
  bottom:104px!important;
  z-index:2147483990!important;
}
#rabbitNotificationsPrompt .rnp-status{
  display:none;
  margin-top:10px;
  padding:10px 11px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #dbe5f2;
  color:#334155;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}
#rabbitNotificationsPrompt .rnp-status:not(:empty){display:block;}
#rabbitNotificationsPrompt .rnp-status[data-kind="error"]{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#991b1b;
}
#rabbitNotificationsPrompt .rnp-status[data-kind="success"]{
  background:#ecfdf5;
  border-color:#bbf7d0;
  color:#065f46;
}
@media(max-width:700px){
  #rabbitNotificationsPrompt{
    left:12px!important;
    right:12px!important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
  }
}


/* ===== /assets/css/rabbit-performance-cleanup-v5.css ===== */
/* =========================================================
   RABBIT PERFORMANCE CLEANUP V5
   Mobile chat/call responsive leggero.
   Niente MutationObserver, niente scansioni continue.
   ========================================================= */

:root{
  --rabbit-safe-top: env(safe-area-inset-top, 0px);
  --rabbit-safe-bottom: env(safe-area-inset-bottom, 0px);
  --rabbit-z-chat: 2147482000;
}

/* Elimina solo visivamente eventuali vecchi launcher noti */
#rmccButton,
.rmcc-button,
.rmcc-launcher,
#nexaChatButton,
.nexa-chat-button,
.old-chat-floating,
.legacy-chat-floating,
[data-legacy-chat="true"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media (max-width:768px){

  body.rc22-mobile-open,
  html.rc22-mobile-open,
  body.rc22-mobile-call-open,
  html.rc22-mobile-call-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  #rc22Button{
    position:fixed !important;
    right:16px !important;
    bottom:calc(16px + var(--rabbit-safe-bottom)) !important;
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    min-height:62px !important;
    border-radius:22px !important;
    z-index:var(--rabbit-z-chat) !important;
  }

  #rc22Panel.open{
    position:fixed !important;
    left:8px !important;
    right:8px !important;
    top:calc(8px + var(--rabbit-safe-top)) !important;
    bottom:calc(8px + var(--rabbit-safe-bottom)) !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0, 1fr) !important;
    overflow:hidden !important;
    z-index:calc(var(--rabbit-z-chat) + 1) !important;
    border-radius:28px !important;
    background:#fff !important;
    border:1px solid #dbe5f2 !important;
    box-shadow:0 24px 70px rgba(15,23,42,.22) !important;
  }

  #rc22Panel.open .rc22-sidebar{
    display:none !important;
  }

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

  #rc22Panel.open .rc22-thread-head{
    min-height:128px !important;
    padding:16px !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:10px 14px !important;
    align-items:center !important;
    border-bottom:1px solid #dbe5f2 !important;
    background:#fff !important;
  }

  #rc22Panel.open .rc22-peer{
    grid-column:1 / 3 !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:center !important;
  }

  #rc22Panel.open .rc22-peer .rc22-avatar{
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    border-radius:24px !important;
    font-size:24px !important;
  }

  #rc22Panel.open .rc22-peer-text{
    min-width:0 !important;
  }

  #rc22Panel.open .rc22-peer-text b{
    display:block !important;
    font-size:24px !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  #rc22Panel.open .rc22-peer-text small{
    display:block !important;
    margin-top:4px !important;
    color:#64748b !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    white-space:normal !important;
    word-break:break-word !important;
  }

  #rc22Panel.open .rc22-tools{
    grid-column:1 / 3 !important;
    display:flex !important;
    gap:10px !important;
    overflow-x:auto !important;
    padding:0 !important;
  }

  #rc22Panel.open .rc22-tool{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    border-radius:18px !important;
    font-size:24px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
  }

  #rc22Panel.open #rc22Messages,
  #rc22Panel.open .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:18px 14px 22px !important;
    background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%) !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #rc22Panel.open .rc22-bubble{
    max-width:86% !important;
    width:max-content !important;
    padding:13px 15px !important;
    border-radius:20px !important;
    font-size:16px !important;
    line-height:1.36 !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  #rc22Panel.open .rc22-bubble.me{
    align-self:flex-end !important;
  }

  #rc22Panel.open #rc22Compose,
  #rc22Panel.open .rc22-compose{
    min-height:86px !important;
    padding:12px 12px calc(12px + var(--rabbit-safe-bottom)) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
    border-top:1px solid #dbe5f2 !important;
    background:#fff !important;
  }

  #rc22Panel.open #rc22Input{
    height:58px !important;
    min-width:0 !important;
    border-radius:20px !important;
    padding:0 16px !important;
    font-size:16px !important;
  }

  #rc22Panel.open #rc22Compose button{
    width:72px !important;
    height:58px !important;
    border-radius:20px !important;
    font-size:16px !important;
    font-weight:950 !important;
  }

  /* Call mobile: chat live sotto il video */
  #rc22Call.show{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    overflow:hidden !important;
    z-index:calc(var(--rabbit-z-chat) + 10) !important;
    background:#020617 !important;
  }

  #rc22Call.show .rc22-call-head{
    min-height:calc(92px + var(--rabbit-safe-top)) !important;
    padding:calc(14px + var(--rabbit-safe-top)) 14px 14px !important;
    background:#0b1224 !important;
    color:#fff !important;
  }

  #rc22Call.show .rc22-call-body{
    min-height:0 !important;
    height:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0,1fr) minmax(170px,30dvh) !important;
    gap:10px !important;
    padding:10px !important;
    overflow:hidden !important;
    background:#020617 !important;
  }

  #rc22Call.show .rc22-stage{
    position:relative !important;
    min-height:0 !important;
    height:100% !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#020617 !important;
  }

  #rc22Call.show #rc22Remote,
  #rc22Call.show .rc22-stage > video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  #rc22Call.show .rc22-local{
    position:absolute !important;
    right:14px !important;
    bottom:14px !important;
    width:108px !important;
    height:144px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    z-index:5 !important;
  }

  #rc22Call.show .rc22-live{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#fff !important;
    color:#0f172a !important;
  }

  #rc22Call.show .rc22-live-head{
    min-height:42px !important;
    padding:9px 12px !important;
    border-bottom:1px solid #e2e8f0 !important;
    font-weight:950 !important;
  }

  #rc22Call.show #rc22LiveList{
    min-height:0 !important;
    overflow:auto !important;
    padding:10px 12px !important;
    background:#f8fbff !important;
  }

  #rc22Call.show #rc22LiveForm{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:8px 10px !important;
    border-top:1px solid #e2e8f0 !important;
    background:#fff !important;
  }

  #rc22Call.show #rc22LiveInput{
    height:44px !important;
    min-width:0 !important;
    border-radius:15px !important;
    font-size:16px !important;
  }

  #rc22Call.show #rc22LiveForm button{
    width:56px !important;
    height:44px !important;
    border-radius:15px !important;
    font-size:14px !important;
    font-weight:950 !important;
  }

  #rc22Call.show .rc22-call-controls{
    min-height:calc(84px + var(--rabbit-safe-bottom)) !important;
    padding:12px 12px calc(12px + var(--rabbit-safe-bottom)) !important;
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:10px !important;
    background:#0b1224 !important;
  }

  #rc22Call.show .rc22-call-controls button{
    height:56px !important;
    border-radius:19px !important;
    font-size:16px !important;
    font-weight:950 !important;
  }
}


/* ===== /assets/css/rabbit-call-responsive-v7.css ===== */
/* =========================================================
   RABBIT CALL RESPONSIVE V7
   Pulito e leggero:
   - niente swipe down
   - X floating chat
   - videocall/call mobile realmente bilanciata
   ========================================================= */

:root{
  --r7-safe-top: env(safe-area-inset-top, 0px);
  --r7-safe-bottom: env(safe-area-inset-bottom, 0px);
  --r7-dark: #020617;
  --r7-panel: #0b1224;
  --r7-line: rgba(148,163,184,.18);
  --r7-z: 2147482800;
}

#rc22CloseMobile{
  display:none;
}

@media (max-width:768px){

  /* =======================================================
     FLOATING CHAT: SOLO X, NO SWIPE
     ======================================================= */

  #rc22Panel.open{
    transition:none !important;
  }

  #rc22Panel.rc22-dragging,
  #rc22Panel.rc22-closing{
    transform:none !important;
    opacity:1 !important;
  }

  #rc22CloseMobile{
    display:grid !important;
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    width:46px !important;
    height:46px !important;
    border-radius:17px !important;
    border:1px solid #dbe5f2 !important;
    background:#fff !important;
    color:#0f172a !important;
    place-items:center !important;
    font-size:22px !important;
    font-weight:950 !important;
    z-index:40 !important;
    box-shadow:0 10px 26px rgba(15,23,42,.10) !important;
    cursor:pointer !important;
  }

  #rc22Panel.open .rc22-thread-head{
    position:relative !important;
    padding-right:72px !important;
  }

  #rc22Panel.open .rc22-swipe-handle{
    display:none !important;
  }

  /* =======================================================
     CALL / VIDEO CALL MOBILE
     ======================================================= */

  html.rc22-mobile-call-open,
  body.rc22-mobile-call-open{
    overflow:hidden !important;
    height:100% !important;
    background:var(--r7-dark) !important;
  }

  /*
    Root call: 3 aree vere.
    Header: piccolo.
    Body: video + chat live.
    Controls: fissi in basso.
  */
  #rc22Call.show{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    z-index:var(--r7-z) !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    overflow:hidden !important;
    background:var(--r7-dark) !important;
    color:#fff !important;
  }

  #rc22Call.show .rc22-call-head{
    min-height:calc(74px + var(--r7-safe-top)) !important;
    padding:calc(9px + var(--r7-safe-top)) 12px 9px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 50px !important;
    align-items:center !important;
    gap:10px !important;
    background:var(--r7-panel) !important;
    border-bottom:1px solid var(--r7-line) !important;
  }

  #rc22Call.show .rc22-call-title{
    min-width:0 !important;
    overflow:hidden !important;
  }

  #rc22Call.show .rc22-call-title b{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:19px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    color:#fff !important;
  }

  #rc22Call.show .rc22-call-title small{
    display:block !important;
    margin-top:4px !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:14px !important;
    line-height:1.18 !important;
    font-weight:900 !important;
    color:#9df0bd !important;
  }

  #rc22Call.show #rc22CallX{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    border-radius:18px !important;
    padding:0 !important;
    font-size:22px !important;
    display:grid !important;
    place-items:center !important;
    justify-self:end !important;
  }

  /*
    Body: la chat live è parte del layout, non laterale, non nascosta.
    Usiamo minmax/clamp per adattarci a Safari mobile e Chrome mobile.
  */
  #rc22Call.show .rc22-call-body{
    min-height:0 !important;
    height:100% !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0, 1fr) clamp(176px, 30dvh, 240px) !important;
    gap:8px !important;
    padding:8px 8px 6px !important;
    overflow:hidden !important;
    background:var(--r7-dark) !important;
  }

  /*
    Video stage: object-fit contain per vedere tutta l'immagine.
    Se vuoi effetto pieno cinema si usa cover, ma tu ora vuoi vederla tutta.
  */
  #rc22Call.show .rc22-stage{
    position:relative !important;
    min-height:0 !important;
    height:100% !important;
    width:100% !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:#050a18 !important;
    border:1px solid var(--r7-line) !important;
    display:grid !important;
    place-items:center !important;
  }

  #rc22Call.show #rc22Remote,
  #rc22Call.show .rc22-stage > video,
  #rc22Call.show video#rc22Remote{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#050a18 !important;
    border-radius:22px !important;
  }

  #rc22Call.show .rc22-placeholder{
    position:absolute !important;
    inset:0 !important;
    display:grid !important;
    place-items:center !important;
    text-align:center !important;
    padding:18px !important;
    color:rgba(226,232,240,.86) !important;
    font-size:16px !important;
    font-weight:850 !important;
    line-height:1.36 !important;
    overflow:hidden !important;
  }

  /*
    Local preview piccola, non copre chat e non invade controlli.
  */
  #rc22Call.show .rc22-local{
    position:absolute !important;
    right:12px !important;
    bottom:12px !important;
    width:96px !important;
    height:128px !important;
    border-radius:20px !important;
    overflow:hidden !important;
    border:2px solid rgba(255,255,255,.24) !important;
    background:#020617 !important;
    z-index:5 !important;
    box-shadow:0 14px 42px rgba(0,0,0,.38) !important;
  }

  #rc22Call.show .rc22-local video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  /*
    Chat live: forzata visibile e dimensionata.
  */
  #rc22Call.show .rc22-live{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:#fff !important;
    color:#0f172a !important;
    border:1px solid rgba(226,232,240,.94) !important;
    box-shadow:0 -8px 26px rgba(0,0,0,.15) !important;
  }

  #rc22Call.show .rc22-live-head{
    min-height:38px !important;
    padding:8px 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    border-bottom:1px solid #e2e8f0 !important;
    background:#fff !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:950 !important;
  }

  #rc22Call.show .rc22-live-head small{
    color:#64748b !important;
    font-size:11px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
  }

  #rc22Call.show #rc22LiveList,
  #rc22Call.show .rc22-live-list{
    min-height:0 !important;
    height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:8px 10px !important;
    background:#f8fbff !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #rc22Call.show .rc22-live-msg,
  #rc22Call.show #rc22LiveList .rc22-empty{
    max-width:90% !important;
    width:max-content !important;
    padding:8px 10px !important;
    border-radius:14px !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    color:#0f172a !important;
    font-size:14px !important;
    line-height:1.3 !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  #rc22Call.show .rc22-live-msg.me{
    align-self:flex-end !important;
    background:#2563eb !important;
    border-color:#2563eb !important;
    color:#fff !important;
  }

  #rc22Call.show #rc22LiveForm{
    min-height:52px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 56px !important;
    align-items:center !important;
    gap:8px !important;
    padding:7px 9px !important;
    border-top:1px solid #e2e8f0 !important;
    background:#fff !important;
  }

  #rc22Call.show #rc22LiveInput{
    min-width:0 !important;
    width:100% !important;
    height:40px !important;
    border-radius:14px !important;
    padding:0 11px !important;
    font-size:16px !important;
    border:1px solid #cbd5e1 !important;
    background:#fff !important;
  }

  #rc22Call.show #rc22LiveForm button{
    width:56px !important;
    height:40px !important;
    border-radius:14px !important;
    padding:0 !important;
    font-size:13px !important;
    font-weight:950 !important;
  }

  /*
    Controlli: sempre visibili, anche con browser bottom bar.
  */
  #rc22Call.show .rc22-call-controls{
    min-height:calc(76px + var(--r7-safe-bottom)) !important;
    padding:9px 8px calc(9px + var(--r7-safe-bottom)) !important;
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    align-items:center !important;
    gap:8px !important;
    background:var(--r7-panel) !important;
    border-top:1px solid var(--r7-line) !important;
  }

  #rc22Call.show .rc22-call-controls button{
    min-width:0 !important;
    width:100% !important;
    height:54px !important;
    border-radius:18px !important;
    padding:0 6px !important;
    font-size:15px !important;
    font-weight:950 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

/*
  Schermi molto bassi: priorità a video + controlli, chat più compatta ma presente.
*/
@media (max-width:768px) and (max-height:720px){
  #rc22Call.show .rc22-call-head{
    min-height:calc(64px + var(--r7-safe-top)) !important;
  }

  #rc22Call.show .rc22-call-title b{
    font-size:17px !important;
  }

  #rc22Call.show .rc22-call-title small{
    font-size:12px !important;
  }

  #rc22Call.show .rc22-call-body{
    grid-template-rows:minmax(0, 1fr) clamp(142px, 25dvh, 190px) !important;
    gap:6px !important;
    padding:6px !important;
  }

  #rc22Call.show .rc22-live-head{
    min-height:32px !important;
    padding:6px 10px !important;
  }

  #rc22Call.show #rc22LiveForm{
    min-height:46px !important;
    padding:5px 8px !important;
  }

  #rc22Call.show #rc22LiveInput,
  #rc22Call.show #rc22LiveForm button{
    height:36px !important;
  }

  #rc22Call.show .rc22-call-controls{
    min-height:calc(66px + var(--r7-safe-bottom)) !important;
    padding-top:7px !important;
    padding-bottom:calc(7px + var(--r7-safe-bottom)) !important;
  }

  #rc22Call.show .rc22-call-controls button{
    height:50px !important;
  }

  #rc22Call.show .rc22-local{
    width:84px !important;
    height:112px !important;
  }
}

@media (max-width:390px){
  #rc22Call.show .rc22-call-body{
    grid-template-rows:minmax(0, 1fr) clamp(158px, 28dvh, 215px) !important;
  }

  #rc22Call.show .rc22-call-controls{
    gap:6px !important;
  }

  #rc22Call.show .rc22-call-controls button{
    font-size:14px !important;
  }
}


/* ===== /assets/css/rabbit-global-mobile-incoming-call-v8.css ===== */
/* RABBIT GLOBAL MOBILE + INCOMING CALL V8 - lightweight */
:root{--r8-safe-top:env(safe-area-inset-top,0px);--r8-safe-bottom:env(safe-area-inset-bottom,0px);--r8-line:#dbe5f2;--r8-text:#0f172a;--r8-muted:#64748b;--r8-blue:#2563eb;--r8-teal:#0f8a8a;}
@media(max-width:768px){html,body{max-width:100%!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}img,video,canvas,svg{max-width:100%}main,.app,.app-shell,.workspace,.workspace-shell,.page,.page-shell,.view,.view-shell,.content,.content-shell,.main-content,.settings-page,.profile-page,.calendar-page,.dashboard-page,.home-page{width:100%!important;max-width:100vw!important;min-width:0!important;overflow-x:hidden!important}.topbar,.app-topbar,.nav-topbar,.workspace-topbar,header.topbar{width:calc(100% - 20px)!important;margin:10px auto 12px!important;padding:12px!important;border-radius:24px!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important}.topbar input,.app-topbar input,.workspace-topbar input,.search-input,input[type="search"]{min-width:0!important;width:100%!important;max-width:100%!important;height:56px!important;font-size:16px!important;border-radius:20px!important}.topbar button,.app-topbar button,.workspace-topbar button,.nav-btn,.toolbar button{min-height:48px!important;border-radius:17px!important;white-space:nowrap!important}.hero,.command-center,.rabbit-hero,.home-hero,.settings-hero,.profile-hero{width:calc(100% - 24px)!important;margin:12px auto!important;padding:24px 20px!important;border-radius:28px!important;overflow:hidden!important}.hero h1,.command-center h1,.rabbit-hero h1,.home-hero h1,.settings-hero h1,.profile-hero h1{max-width:100%!important;font-size:clamp(34px,10vw,52px)!important;line-height:.98!important;letter-spacing:-.07em!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.hero p,.command-center p,.rabbit-hero p,.home-hero p,.settings-hero p,.profile-hero p{max-width:100%!important;font-size:clamp(17px,4.4vw,22px)!important;line-height:1.42!important;white-space:normal!important;overflow:visible!important}.grid,.cards-grid,.settings-grid,.module-grid,.dashboard-grid,.profile-grid,.calendar-grid{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.quick-grid,.home-quick-grid,.area-grid{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.card,.area-card,.settings-card,.module-card,.profile-card,.panel,.section-card{min-width:0!important;max-width:100%!important;overflow:hidden!important;border-radius:24px!important}.card h2,.card h3,.area-card h2,.area-card h3,.settings-card h2,.settings-card h3,.module-card h2,.module-card h3,.panel h2,.panel h3{max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:normal!important;overflow-wrap:anywhere!important;line-height:1.1!important}.card p,.card small,.area-card p,.area-card small,.settings-card p,.settings-card small,.module-card p,.module-card small,.panel p,.panel small{max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important;overflow-wrap:anywhere!important}.settings-area-list,.settings-list,.settings-menu,.config-list{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important;display:grid!important;gap:12px!important}.settings-area-list>*,.settings-list>*,.settings-menu>*,.config-list>*,.settings-row,.config-row{min-width:0!important;width:100%!important;display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;padding:16px!important;border-radius:22px!important;overflow:hidden!important}.settings-area-list h3,.settings-list h3,.settings-menu h3,.config-list h3,.settings-row h3,.config-row h3{margin:0 0 4px!important;font-size:clamp(22px,7vw,30px)!important;line-height:1.05!important;letter-spacing:-.05em!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.settings-area-list p,.settings-list p,.settings-menu p,.config-list p,.settings-row p,.config-row p,.settings-area-list small,.settings-list small,.settings-menu small,.config-list small{margin:0!important;display:block!important;font-size:clamp(14px,4vw,17px)!important;line-height:1.32!important;color:var(--r8-muted)!important;font-weight:760!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.settings-area-list .icon,.settings-list .icon,.settings-menu .icon,.config-list .icon,.settings-row .icon,.config-row .icon{width:58px!important;height:58px!important;min-width:58px!important;border-radius:18px!important}table,.table,.calendar-board,.calendar-week,.kanban-board{max-width:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}#rc22Button{bottom:calc(18px + var(--r8-safe-bottom))!important;right:16px!important}}
#rc22IncomingCall,.rc22-incoming-call{position:fixed;left:50%;bottom:calc(20px + var(--r8-safe-bottom));transform:translateX(-50%) translateY(18px);width:min(430px,calc(100vw - 28px));z-index:2147483000;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.28);border:1px solid rgba(219,229,242,.95);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}#rc22IncomingCall.show,.rc22-incoming-call.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}.rc22-incoming-head{padding:20px 22px;color:#fff;background:linear-gradient(135deg,#0f1d48,#2563eb 70%,#0f8a8a)}.rc22-incoming-kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.88}.rc22-incoming-title{margin:8px 0 0;font-size:26px;line-height:1.05;letter-spacing:-.055em;font-weight:950}.rc22-incoming-from{margin-top:6px;font-size:16px;line-height:1.25;font-weight:850;opacity:.88;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc22-incoming-body{padding:18px 20px;color:#0f172a;font-size:17px;line-height:1.35;font-weight:780;background:#fff}.rc22-incoming-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 18px 18px;background:#fff}.rc22-incoming-actions button{height:58px;border-radius:20px;font-size:18px;font-weight:950;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.rc22-incoming-actions .decline{background:#fff5f5;border-color:#fecaca;color:#991b1b}.rc22-incoming-actions .answer{background:linear-gradient(135deg,#2563eb,#0f8a8a);border-color:transparent;color:#fff}@media(max-width:768px){#rc22IncomingCall,.rc22-incoming-call{bottom:calc(14px + var(--r8-safe-bottom));width:calc(100vw - 28px);border-radius:28px}.rc22-incoming-head{padding:18px 20px}.rc22-incoming-title{font-size:24px}.rc22-incoming-body{padding:16px 18px;font-size:16px}.rc22-incoming-actions{padding:0 16px 16px}.rc22-incoming-actions button{height:56px;font-size:17px}}#rc22IncomingCall.expired,.rc22-incoming-call.expired{display:none!important}


/* ===== /assets/css/rabbit-background-push-v9.css ===== */
/* =========================================================
   RABBIT BACKGROUND PUSH V9
   Foreground overlay + vecchia modale chiamata nascosta.
   ========================================================= */

:root{
  --rbp9-safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* La vecchia modale resta nel DOM per i bottoni reali, ma non resta più appesa a schermo. */
#rc22Incoming{
  position:fixed !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(120%) !important;
}

/* Overlay tipo WhatsApp quando Rabbit è aperto */
#rbp9IncomingCall{
  position:fixed;
  left:50%;
  bottom:calc(18px + var(--rbp9-safe-bottom));
  width:min(440px, calc(100vw - 28px));
  z-index:2147483200;
  transform:translateX(-50%) translateY(18px);
  opacity:0;
  pointer-events:none;
  transition:transform .22s ease, opacity .22s ease;
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(219,229,242,.96);
  box-shadow:0 28px 90px rgba(15,23,42,.28);
}

#rbp9IncomingCall.show{
  transform:translateX(-50%) translateY(0);
  opacity:1;
  pointer-events:auto;
}

.rbp9-head{
  padding:20px 22px;
  color:#fff;
  background:linear-gradient(135deg,#0f1d48,#2563eb 70%,#0f8a8a);
}

.rbp9-kicker{
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.88;
}

.rbp9-title{
  margin-top:8px;
  font-size:26px;
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:950;
}

.rbp9-from{
  margin-top:6px;
  font-size:16px;
  line-height:1.25;
  font-weight:850;
  opacity:.88;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rbp9-body{
  padding:18px 20px;
  color:#0f172a;
  font-size:17px;
  line-height:1.35;
  font-weight:780;
  background:#fff;
}

.rbp9-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:0 18px 18px;
  background:#fff;
}

.rbp9-actions button{
  height:58px;
  border-radius:20px;
  font-size:18px;
  font-weight:950;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#0f172a;
}

.rbp9-actions .decline{
  background:#fff5f5;
  border-color:#fecaca;
  color:#991b1b;
}

.rbp9-actions .answer{
  background:linear-gradient(135deg,#2563eb,#0f8a8a);
  border-color:transparent;
  color:#fff;
}

@media(max-width:768px){
  #rbp9IncomingCall{
    bottom:calc(14px + var(--rbp9-safe-bottom));
    width:calc(100vw - 28px);
    border-radius:28px;
  }

  .rbp9-head{ padding:18px 20px; }
  .rbp9-title{ font-size:24px; }
  .rbp9-body{ padding:16px 18px; font-size:16px; }
  .rbp9-actions{ padding:0 16px 16px; }
  .rbp9-actions button{ height:56px; font-size:17px; }
}


/* ===== /assets/css/rabbit-home-card-covers-v11-4-section-only.css ===== */
/* =========================================================
   RABBIT HOME CARD COVERS V11.4 SECTION ONLY
   Personalizza SOLO i blocchi principali, incluso il contenitore
   “Vai dove ti serve”, NON le singole card interne.
   ========================================================= */

:root{
  --rhc114-overlay:linear-gradient(135deg, rgba(2,6,23,.76), rgba(15,23,42,.46));
}

/* ---------- Pannello Impostazioni ---------- */

#rhcCoversSettingsPanel{
  width:calc(100% - 24px);
  max-width:1180px;
  margin:18px auto;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(219,229,242,.94);
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 54px rgba(15,23,42,.08);
  color:#0f172a;
}

.rhc114-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}

.rhc114-head span{
  display:inline-flex;
  margin-bottom:6px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#2563eb;
}

.rhc114-head h2{
  margin:0;
  color:#0f172a;
  font-size:clamp(28px, 5vw, 44px);
  line-height:1.02;
  letter-spacing:-.06em;
}

.rhc114-head p{
  margin:8px 0 0;
  max-width:780px;
  color:#64748b;
  font-size:15px;
  line-height:1.4;
  font-weight:750;
}

.rhc114-refresh{
  min-height:46px;
  border-radius:16px;
  padding:0 16px;
  font-weight:950;
}

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

.rhc114-group{
  grid-column:1 / -1;
  margin:8px 0 0;
  padding:8px 2px 2px;
  color:#2563eb;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.rhc114-row{
  min-width:0;
  padding:14px;
  border-radius:22px;
  border:1px solid #dbe5f2;
  background:#f8fbff;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

.rhc114-info{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}

.rhc114-thumb{
  width:62px;
  height:52px;
  min-width:62px;
  border-radius:16px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#eaf2ff;
  border:1px solid #dbe5f2;
  font-size:24px;
}

.rhc114-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.rhc114-info b{
  display:block;
  color:#0f172a;
  font-size:16px;
  line-height:1.15;
  font-weight:950;
}

.rhc114-info small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:13px;
  line-height:1.25;
  font-weight:760;
}

.rhc114-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.rhc114-actions button{
  min-height:42px;
  border-radius:14px;
  font-weight:950;
}

.rhc114-actions .danger{
  color:#991b1b;
  border-color:#fecaca;
  background:#fff5f5;
}

.rhc114-status{
  grid-column:1 / -1;
  min-height:16px;
  color:#64748b;
  font-size:12px;
  line-height:1.28;
}

/* ---------- Cover sui blocchi principali ---------- */

.rhc-has-cover{
  position:relative !important;
  overflow:hidden !important;
  background-image:var(--rhc114-overlay), var(--rhc-bg) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 22px 60px rgba(15,23,42,.22) !important;
}

.rhc-has-cover::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.20), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  z-index:0;
}

.rhc-has-cover > *{
  position:relative;
  z-index:1;
}

.rhc-has-cover h1,
.rhc-has-cover h2,
.rhc-has-cover h3,
.rhc-has-cover h4,
.rhc-has-cover b,
.rhc-has-cover .command-title,
.rhc-has-cover .launch-title{
  color:#fff !important;
  text-shadow:0 2px 20px rgba(0,0,0,.22);
}

.rhc-has-cover p,
.rhc-has-cover small,
.rhc-has-cover span,
.rhc-has-cover .muted,
.rhc-has-cover .launch-desc{
  color:rgba(255,255,255,.88) !important;
}

.rhc-has-cover button:not(.primary):not(.danger),
.rhc-has-cover .launch-arrow,
.rhc-has-cover .pill,
.rhc-has-cover .badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  backdrop-filter:blur(10px);
}

.command-panel.rhc-has-cover{
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.priority-board.rhc-has-cover{
  padding:18px;
  border-radius:28px;
}

/* Blocco contenitore “Vai dove ti serve” */
.rhc-home-areas-section.rhc-has-cover{
  padding:24px !important;
  border-radius:30px !important;
}

.rhc-home-areas-section.rhc-has-cover .area-card,
.rhc-home-areas-section.rhc-has-cover .launch-card,
.rhc-home-areas-section.rhc-has-cover .home-area-card,
.rhc-home-areas-section.rhc-has-cover .quick-area-card,
.rhc-home-areas-section.rhc-has-cover .workspace-area-card{
  background:rgba(255,255,255,.88) !important;
  color:#0f172a !important;
  border-color:rgba(255,255,255,.36) !important;
  backdrop-filter:blur(10px);
}

.rhc-home-areas-section.rhc-has-cover .area-card h2,
.rhc-home-areas-section.rhc-has-cover .area-card h3,
.rhc-home-areas-section.rhc-has-cover .launch-card h2,
.rhc-home-areas-section.rhc-has-cover .launch-card h3,
.rhc-home-areas-section.rhc-has-cover .home-area-card h2,
.rhc-home-areas-section.rhc-has-cover .home-area-card h3{
  color:#0f172a !important;
  text-shadow:none !important;
}

.rhc-home-areas-section.rhc-has-cover .area-card p,
.rhc-home-areas-section.rhc-has-cover .area-card small,
.rhc-home-areas-section.rhc-has-cover .launch-card p,
.rhc-home-areas-section.rhc-has-cover .launch-card small,
.rhc-home-areas-section.rhc-has-cover .home-area-card p,
.rhc-home-areas-section.rhc-has-cover .home-area-card small{
  color:#64748b !important;
}

@media(max-width:768px){
  #rhcCoversSettingsPanel{
    width:calc(100% - 20px);
    margin:14px auto;
    padding:14px;
    border-radius:26px;
  }

  .rhc114-head{
    display:grid;
    grid-template-columns:1fr;
  }

  .rhc114-grid{
    grid-template-columns:1fr;
  }

  .rhc114-row{
    grid-template-columns:1fr;
  }

  .rhc114-actions{
    justify-content:flex-start;
  }

  .command-panel.rhc-has-cover{
    min-height:420px;
  }

  .rhc-home-areas-section.rhc-has-cover{
    padding:16px !important;
    border-radius:26px !important;
  }
}


/* ===== /assets/css/18-rabbit-professional-home-v2.css ===== */
/* =========================================================
   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;
  }
}


/* ===== /assets/css/19-rabbit-assistant-floating-v1.css ===== */
/* =========================================================
   Rabbit Assistant Floating V3
   Hub unico Chat/Assistente + posizione rialzata + no status dot
   ========================================================= */
:root{
  --ra-bg:#ffffff;
  --ra-ink:#0f172a;
  --ra-muted:#64748b;
  --ra-line:#e2e8f0;
  --ra-soft:#f8fafc;
  --ra-blue:#2563eb;
  --ra-teal:#0f766e;
  --ra-green:#10b981;
  --ra-purple:#7c3aed;
  --ra-orange:#f97316;
  --ra-shadow:0 28px 86px rgba(15,23,42,.22),0 12px 34px rgba(15,23,42,.12);
}

#rabbitUnifiedHub,
#rabbitAssistantPanel,
#rabbitUnifiedHub *,
#rabbitAssistantPanel *{
  box-sizing:border-box!important;
  font-family:Inter,Segoe UI,Roboto,system-ui,-apple-system,BlinkMacSystemFont,sans-serif!important;
}

/* Nasconde il vecchio bottone Chat: resta cliccabile via JS, ma non duplica la UI. */
#rc22Button.rc22-button,
button#rc22Button{
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  max-width:1px!important;
  overflow:hidden!important;
  transform:scale(.01)!important;
  left:-9999px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:-1!important;
}

/* HUB UNICO A SINISTRA */
#rabbitUnifiedHub{
  position:fixed!important;
  left:22px!important;
  bottom:155px!important;
  z-index:2147483906!important;
  display:grid!important;
  justify-items:start!important;
  gap:10px!important;
  pointer-events:auto!important;
}
#rabbitHubMain{
  min-width:168px!important;
  height:60px!important;
  border:0!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:0 17px 0 10px!important;
  background:linear-gradient(135deg,#101827,#2563eb 54%,#10b981)!important;
  color:#fff!important;
  box-shadow:0 24px 60px rgba(37,99,235,.28),0 12px 28px rgba(15,23,42,.20)!important;
  cursor:pointer!important;
  user-select:none!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
#rabbitHubMain:hover{transform:translateY(-2px)!important;box-shadow:0 30px 76px rgba(37,99,235,.34),0 16px 38px rgba(15,23,42,.22)!important;}
#rabbitHubMain .rah-main-icon{
  width:42px!important;height:42px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important;
  font-size:20px!important;flex:0 0 auto!important;
}
#rabbitHubMain .rah-main-text{display:grid!important;gap:2px!important;text-align:left!important;line-height:1.05!important;}
#rabbitHubMain .rah-main-text b{color:#fff!important;font-size:13px!important;font-weight:950!important;letter-spacing:-.02em!important;}
#rabbitHubMain .rah-main-text small{color:rgba(255,255,255,.78)!important;font-size:10px!important;font-weight:800!important;}
#rabbitHubMain i{
  display:none!important;
}
.rah-menu{
  display:grid!important;
  gap:10px!important;
  opacity:0!important;
  transform:translateY(12px) scale(.96)!important;
  pointer-events:none!important;
  transition:opacity .2s ease, transform .2s cubic-bezier(.2,.8,.2,1)!important;
}
#rabbitUnifiedHub.open .rah-menu{opacity:1!important;transform:translateY(0) scale(1)!important;pointer-events:auto!important;}
.rah-choice{
  width:228px!important;
  min-height:72px!important;
  border:1px solid rgba(226,232,240,.96)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 20px 52px rgba(15,23,42,.16),0 8px 18px rgba(15,23,42,.07)!important;
  display:grid!important;
  grid-template-columns:46px 1fr!important;
  align-items:center!important;
  gap:11px!important;
  padding:12px!important;
  text-align:left!important;
  color:#0f172a!important;
  cursor:pointer!important;
  transform-origin:left bottom!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
.rah-choice:hover{transform:translateX(4px)!important;box-shadow:0 26px 66px rgba(15,23,42,.19),0 10px 22px rgba(15,23,42,.08)!important;}
.rah-choice span{
  width:46px!important;height:46px!important;border-radius:17px!important;display:grid!important;place-items:center!important;
  font-size:20px!important;font-weight:950!important;
}
.rah-choice.assistant span{background:linear-gradient(135deg,#dbeafe,#ccfbf1)!important;color:#0f4c81!important;}
.rah-choice.chat span{background:linear-gradient(135deg,#ede9fe,#dbeafe)!important;color:#5b21b6!important;}
.rah-choice b{display:block!important;color:#0f172a!important;font-size:14px!important;font-weight:950!important;letter-spacing:-.03em!important;}
.rah-choice small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:11px!important;font-weight:750!important;}

/* PANNELLO ASSISTENTE */
#rabbitAssistantPanel{
  position:fixed!important;
  left:22px!important;
  bottom:232px!important;
  z-index:2147483907!important;
  width:min(465px,calc(100vw - 34px))!important;
  height:min(650px,calc(100vh - 258px))!important;
  min-height:480px!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:var(--ra-bg)!important;
  border:1px solid rgba(226,232,240,.96)!important;
  box-shadow:var(--ra-shadow)!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  opacity:0!important;
  transform:translateY(16px) scale(.96)!important;
  pointer-events:none!important;
  visibility:hidden!important;
  transition:opacity .22s ease, transform .22s cubic-bezier(.2,.8,.2,1), visibility .22s ease!important;
}
#rabbitAssistantPanel.open{opacity:1!important;transform:translateY(0) scale(1)!important;pointer-events:auto!important;visibility:visible!important;}
.ra-head{
  position:relative!important;
  padding:18px 18px 16px!important;
  color:#fff!important;
  background:radial-gradient(circle at 86% 10%,rgba(16,185,129,.24),transparent 28%),radial-gradient(circle at 15% 90%,rgba(37,99,235,.28),transparent 32%),linear-gradient(135deg,#06172b,#102b46 62%,#0d4f47)!important;
}
.ra-head::before{
  content:""!important;position:absolute!important;inset:0!important;opacity:.42!important;
  background:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px)!important;
  background-size:36px 36px!important;
}
.ra-head>*{position:relative!important;z-index:1!important;}
.ra-head-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;}
.ra-title{display:flex!important;gap:12px!important;align-items:center!important;min-width:0!important;}
.ra-orb{width:42px!important;height:42px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.18)!important;font-size:19px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;flex:0 0 auto!important;}
.ra-title b{display:block!important;font-size:17px!important;font-weight:950!important;letter-spacing:-.04em!important;color:#fff!important;}
.ra-title small{display:block!important;margin-top:3px!important;color:#cbd5e1!important;font-size:11px!important;font-weight:750!important;}
.ra-close{width:38px!important;height:38px!important;border:0!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.13)!important;color:#fff!important;font-size:20px!important;cursor:pointer!important;}
.ra-head-note{margin-top:14px!important;padding:12px!important;border-radius:18px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.13)!important;color:#dbeafe!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;}
.ra-head-note b{color:#fff!important;}

.ra-quick{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:12px 14px!important;background:#fbfdff!important;border-bottom:1px solid var(--ra-line)!important;scrollbar-width:none!important;}
.ra-quick::-webkit-scrollbar{display:none!important;}
.ra-chip{flex:0 0 auto!important;min-height:35px!important;border-radius:999px!important;border:1px solid #dbeafe!important;background:#fff!important;color:#1d4ed8!important;display:inline-flex!important;align-items:center!important;gap:7px!important;padding:0 11px!important;font-size:11px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 6px 14px rgba(15,23,42,.04)!important;transition:transform .16s ease, background .16s ease!important;}
.ra-chip:hover{transform:translateY(-1px)!important;background:#eff6ff!important;}
.ra-chip.primary{background:linear-gradient(135deg,#2563eb,#10b981)!important;color:#fff!important;border-color:transparent!important;}

.ra-messages{overflow:auto!important;padding:14px!important;display:flex!important;flex-direction:column!important;gap:10px!important;background:linear-gradient(180deg,#ffffff,#f8fafc)!important;}
.ra-msg{display:flex!important;gap:9px!important;align-items:flex-end!important;}
.ra-msg.user{justify-content:flex-end!important;}
.ra-avatar{width:30px!important;height:30px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#dbeafe,#ccfbf1)!important;color:#0f4c81!important;font-size:11px!important;font-weight:950!important;flex:0 0 auto!important;}
.ra-bubble{max-width:86%!important;border-radius:19px!important;padding:11px 12px!important;background:#fff!important;border:1px solid #e6edf5!important;color:var(--ra-ink)!important;box-shadow:0 8px 20px rgba(15,23,42,.055)!important;font-size:13px!important;line-height:1.43!important;font-weight:650!important;}
.ra-msg.user .ra-bubble{background:linear-gradient(135deg,#2563eb,#0f766e)!important;color:#fff!important;border-color:transparent!important;border-bottom-right-radius:8px!important;}
.ra-bubble b{font-weight:950!important;}
.ra-bubble small{display:block!important;margin-top:7px!important;opacity:.72!important;font-size:10px!important;font-weight:800!important;}

.ra-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:10px!important;}
.ra-action{min-height:31px!important;border:0!important;border-radius:11px!important;padding:0 10px!important;font-size:11px!important;font-weight:900!important;background:#eef6ff!important;color:#1d4ed8!important;cursor:pointer!important;transition:transform .15s ease!important;}
.ra-action:hover{transform:translateY(-1px)!important;}
.ra-action.primary{background:#0f766e!important;color:#fff!important;}

.ra-starter{border:1px solid #e6edf5!important;background:#fff!important;border-radius:22px!important;padding:12px!important;box-shadow:0 10px 24px rgba(15,23,42,.055)!important;}
.ra-starter.compact{display:none!important;}
.ra-starter-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important;}
.ra-starter-title b{font-size:14px!important;letter-spacing:-.03em!important;color:#0f172a!important;}
.ra-starter-title small{color:#64748b!important;font-size:10.5px!important;font-weight:750!important;}
.ra-starter-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;}
.ra-starter-card{min-height:88px!important;border:1px solid #e2e8f0!important;border-radius:18px!important;background:#f8fafc!important;text-align:left!important;padding:11px!important;color:#0f172a!important;cursor:pointer!important;display:grid!important;align-content:start!important;gap:5px!important;transition:transform .16s ease, box-shadow .16s ease!important;}
.ra-starter-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(15,23,42,.08)!important;background:#fff!important;}
.ra-starter-card span{width:30px!important;height:30px!important;border-radius:11px!important;display:grid!important;place-items:center!important;font-weight:950!important;margin-bottom:2px!important;}
.ra-starter-card.blue span{background:#dbeafe!important;color:#1d4ed8!important;}
.ra-starter-card.orange span{background:#ffedd5!important;color:#c2410c!important;}
.ra-starter-card.green span{background:#dcfce7!important;color:#15803d!important;}
.ra-starter-card.purple span{background:#ede9fe!important;color:#6d28d9!important;}
.ra-starter-card b{font-size:12px!important;font-weight:950!important;}
.ra-starter-card small{font-size:10.5px!important;color:#64748b!important;line-height:1.25!important;font-weight:700!important;}

.ra-mini-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:10px 0 8px!important;}
.ra-mini-stat{display:grid!important;place-items:center!important;text-align:center!important;min-height:58px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;}
.ra-mini-stat b{font-size:19px!important;color:#0f172a!important;line-height:1!important;}
.ra-mini-stat small{margin-top:4px!important;color:#64748b!important;font-size:9.5px!important;text-transform:uppercase!important;letter-spacing:.04em!important;}
.ra-mini-stat.blue{background:#eff6ff!important;border-color:#dbeafe!important;}
.ra-mini-stat.orange{background:#fff7ed!important;border-color:#fed7aa!important;}
.ra-mini-stat.green{background:#ecfdf5!important;border-color:#bbf7d0!important;}
.ra-guide-grid{display:grid!important;gap:8px!important;margin-top:10px!important;}
.ra-answer-card{display:grid!important;grid-template-columns:32px 1fr!important;gap:10px!important;padding:10px!important;border-radius:16px!important;background:#f8fafc!important;border:1px solid #e6edf5!important;}
.ra-answer-card>span{width:32px!important;height:32px!important;border-radius:12px!important;display:grid!important;place-items:center!important;font-weight:950!important;}
.ra-answer-card.blue>span{background:#dbeafe!important;color:#1d4ed8!important;}
.ra-answer-card.green>span{background:#dcfce7!important;color:#15803d!important;}
.ra-answer-card.purple>span{background:#ede9fe!important;color:#6d28d9!important;}
.ra-answer-card b{display:block!important;font-size:12px!important;color:#0f172a!important;}
.ra-answer-card small{margin:3px 0 0!important;font-size:10.5px!important;color:#64748b!important;line-height:1.28!important;}
.ra-list{display:grid!important;gap:7px!important;margin:8px 0 12px!important;}
.ra-row{padding:9px 10px!important;border-radius:14px!important;background:#f8fafc!important;border:1px solid #e6edf5!important;}
.ra-row.critical{background:#fff7ed!important;border-color:#fed7aa!important;}
.ra-row b{display:block!important;color:#0f172a!important;font-size:12px!important;}
.ra-row small{margin-top:4px!important;color:#64748b!important;font-size:10.5px!important;line-height:1.28!important;}
.ra-empty{margin:8px 0 12px!important;padding:10px!important;border-radius:14px!important;background:#f8fafc!important;border:1px dashed #cbd5e1!important;color:#64748b!important;font-size:12px!important;font-weight:750!important;}
.ra-typing{display:inline-flex!important;gap:4px!important;align-items:center!important;min-width:38px!important;}
.ra-typing i{width:7px!important;height:7px!important;border-radius:50%!important;background:#94a3b8!important;display:block!important;animation:raTyping 1s infinite ease-in-out!important;}
.ra-typing i:nth-child(2){animation-delay:.14s!important;}.ra-typing i:nth-child(3){animation-delay:.28s!important;}
@keyframes raTyping{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}

.ra-compose{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;padding:12px!important;border-top:1px solid var(--ra-line)!important;background:#fff!important;}
.ra-compose input{min-height:45px!important;border:1px solid #dbe4ee!important;border-radius:16px!important;background:#f8fafc!important;padding:0 13px!important;color:#0f172a!important;outline:none!important;font-size:13px!important;font-weight:650!important;}
.ra-compose input:focus{border-color:#93c5fd!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important;background:#fff!important;}
.ra-send{min-width:82px!important;min-height:45px!important;border:0!important;border-radius:16px!important;color:#fff!important;background:linear-gradient(135deg,#2563eb,#10b981)!important;font-size:12px!important;font-weight:950!important;cursor:pointer!important;}

#login.show ~ #rabbitUnifiedHub,
#login.show ~ #rabbitAssistantPanel{display:none!important;}

@media(max-width:640px){
  #rabbitUnifiedHub{left:14px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;}
  #rabbitHubMain{min-width:62px!important;width:62px!important;height:62px!important;padding:0!important;}
  #rabbitHubMain .rah-main-text{display:none!important;}
  #rabbitHubMain .rah-main-icon{width:46px!important;height:46px!important;}
  .rah-menu{gap:8px!important;}
  .rah-choice{width:214px!important;min-height:66px!important;border-radius:22px!important;}
  #rabbitAssistantPanel{left:10px!important;right:10px!important;bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;width:auto!important;height:calc(100vh - 112px - env(safe-area-inset-bottom,0px))!important;min-height:0!important;border-radius:24px!important;}
  .ra-head{padding:15px!important;}
  .ra-head-note{display:none!important;}
  .ra-starter-grid{grid-template-columns:1fr!important;}
  .ra-mini-stats{grid-template-columns:1fr 1fr 1fr!important;}
  .ra-compose{grid-template-columns:1fr 68px!important;}
  .ra-send{min-width:68px!important;}
}

/* Rabbit Assistant · Mail Desk awareness */
.ra-mail-list{margin-top:10px!important;}
.ra-row.ra-mail-row{position:relative!important;padding-left:12px!important;background:#f8fbff!important;border-color:#dbeafe!important;}
.ra-row.ra-mail-row.unread{background:linear-gradient(90deg,#eff6ff,#ffffff)!important;border-color:#bfdbfe!important;box-shadow:0 8px 18px rgba(37,99,235,.07)!important;}
.ra-row.ra-mail-row.unread::before{content:""!important;position:absolute!important;left:-1px!important;top:12px!important;bottom:12px!important;width:4px!important;border-radius:999px!important;background:#2563eb!important;}
.ra-row.ra-mail-row b{padding-right:4px!important;}
.ra-row.ra-mail-row small{display:block!important;line-height:1.35!important;}


/* ===== /assets/css/20-rabbit-responsive-faithful-v1.css ===== */
/* =========================================================
   RABBIT RESPONSIVE FAITHFUL V1
   Obiettivo:
   - rendere il responsive coerente con la versione desktop
   - preservare funzionalità esistenti
   - giustificare spazi di Chat, Assistente e Videocall
   - nessuna modifica a Supabase / realtime / LiveKit / logica JS
   ========================================================= */

:root{
  --rf-safe-top: env(safe-area-inset-top, 0px);
  --rf-safe-bottom: env(safe-area-inset-bottom, 0px);
  --rf-grid: rgba(99,102,241,.028);
  --rf-line: #e4ebf5;
  --rf-soft: #f8fafc;
  --rf-ink: #0f172a;
  --rf-muted: #64748b;
  --rf-shadow: 0 18px 45px rgba(15,23,42,.10), 0 6px 18px rgba(15,23,42,.05);
  --rf-shadow-strong: 0 32px 90px rgba(15,23,42,.22), 0 14px 32px rgba(15,23,42,.12);
}

html, body{
  overflow-x:hidden !important;
}

body{
  background-color:#f8fafc !important;
  background-image:
    linear-gradient(to right, var(--rf-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--rf-grid) 1px, transparent 1px) !important;
  background-size:44px 44px !important;
}

/* =========================================================
   TABLET / MOBILE SHELL — fedele al desktop, senza finto browser
   ========================================================= */
@media (max-width: 900px){
  .scale-root,
  .scale-root .app,
  .app{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .scale-root .app,
  .app.no-rightbar,
  .app{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

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

  /* Corregge le vecchie regole mobile troppo aggressive: gli aside interni di chat/call restano visibili. */
  #rc22Panel aside,
  #rc22Panel .rc22-sidebar,
  #rc22Panel .rc22-info,
  #rc22Call aside,
  #rc22Call .rc22-live,
  #rc22Incoming,
  #rc22ConferencePicker{
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:12px clamp(10px,2.4vw,18px) calc(96px + var(--rf-safe-bottom)) !important;
    overflow-x:hidden !important;
    background-color:#f8fafc !important;
    background-image:
      linear-gradient(to right, var(--rf-grid) 1px, transparent 1px),
      linear-gradient(to bottom, var(--rf-grid) 1px, transparent 1px) !important;
    background-size:44px 44px !important;
  }

  .view{
    width:100% !important;
    max-width:100% !important;
    padding:clamp(10px,2.4vw,18px) !important;
    margin:0 auto !important;
  }

  #home.view{
    max-width:100% !important;
    padding:clamp(10px,2.4vw,18px) !important;
  }

  /* Topbar: mantiene la logica desktop, ma compatta. Niente barra URL finta. */
  .topbar,
  .topbar.rabbit-pro-topbar{
    position:sticky !important;
    top:0 !important;
    z-index:90 !important;
    width:100% !important;
    min-height:62px !important;
    margin:0 0 14px !important;
    padding:9px 10px !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    grid-template-areas:"menu search user" !important;
    align-items:center !important;
    gap:9px !important;
    border-radius:20px !important;
    border:1px solid rgba(226,232,240,.95) !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 12px 32px rgba(15,23,42,.075) !important;
    backdrop-filter:blur(16px) saturate(145%) !important;
    -webkit-backdrop-filter:blur(16px) saturate(145%) !important;
  }

  .topbar::before,
  .topbar .search::before,
  .topbar .search::after{
    content:none !important;
    display:none !important;
  }

  .mobile-menu-btn{
    grid-area:menu !important;
    display:grid !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:14px !important;
    place-items:center !important;
    background:#ffffff !important;
    color:#0f172a !important;
    border:1px solid #dbe4ee !important;
    box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
    font-size:22px !important;
    line-height:1 !important;
  }
  .mobile-menu-btn::before{content:none !important;}

  .topbar .search,
  .topbar.rabbit-pro-topbar .search{
    grid-area:search !important;
    width:100% !important;
    max-width:none !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .topbar .search input,
  .topbar input#globalSearch{
    width:100% !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 40px 0 14px !important;
    border-radius:15px !important;
    border:1px solid #dbe4ee !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:15px !important;
    font-weight:650 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  .topbar .search input::placeholder,
  .topbar input#globalSearch::placeholder{
    color:#94a3b8 !important;
    opacity:1 !important;
  }

  .topbar .search button{
    position:absolute !important;
    right:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:30px !important;
    height:30px !important;
    border:0 !important;
    background:transparent !important;
    color:#94a3b8 !important;
    font-size:17px !important;
    box-shadow:none !important;
  }
  .topbar .search button::before{content:none !important;}

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

  .rabbit-bell{
    display:grid !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:14px !important;
  }

  .rabbit-admin-chip{
    height:40px !important;
    min-height:40px !important;
    max-width:172px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:0 10px 0 6px !important;
    border-radius:999px !important;
    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
  }
  .rabbit-admin-chip::after{content:none !important;}

  .rabbit-avatar-dot{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:999px !important;
  }

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

@media (max-width: 520px){
  .topbar,
  .topbar.rabbit-pro-topbar{
    grid-template-columns:42px minmax(0,1fr) auto !important;
    gap:7px !important;
    padding:8px !important;
    border-radius:18px !important;
  }
  .rabbit-bell{display:none !important;}
  .rabbit-admin-chip{max-width:124px !important;padding-right:6px !important;}
  .rabbit-admin-chip b{max-width:76px !important;font-size:12px !important;}
}

/* =========================================================
   HOME RESPONSIVE FEDELE: stessi blocchi desktop, solo impilati
   ========================================================= */
@media (max-width: 1180px){
  #home.view{max-width:1180px !important;}

  .command-center,
  .command-center.rabbit-pro-command,
  .rabbit-pro-command{
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin-bottom:24px !important;
  }

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

  .home-launcher-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
  }
}

@media (max-width: 700px){
  #home.view{
    max-width:100% !important;
  }

  .command-panel,
  .rabbit-pro-hero,
  .command-panel.rabbit-pro-hero{
    width:100% !important;
    min-height:220px !important;
    height:auto !important;
    padding:22px !important;
    border-radius:24px !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
    box-shadow:0 18px 38px rgba(15,23,42,.18) !important;
  }

  .rabbit-pro-hero-content{
    height:auto !important;
    min-height:176px !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    gap:18px !important;
  }

  .rabbit-pro-hero h1,
  .command-title,
  .rabbit-pro-hero h1 span,
  .command-title span{
    display:block !important;
    max-width:100% !important;
    color:#fff !important;
    font-size:clamp(27px,7.4vw,36px) !important;
    line-height:1.04 !important;
    letter-spacing:-.055em !important;
    font-weight:950 !important;
    text-align:left !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .rabbit-pro-hero p,
  .command-subtitle,
  .rabbit-pro-hero .muted{
    display:block !important;
    color:rgba(226,232,240,.78) !important;
    font-size:13px !important;
    line-height:1.35 !important;
    max-width:100% !important;
    margin:0 !important;
  }

  .rabbit-mobile-hero-actions,
  .rabbit-pro-hero-actions,
  .hero-actions{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:9px !important;
    justify-content:flex-start !important;
    align-items:center !important;
    overflow-x:auto !important;
    padding:0 2px 2px !important;
    scrollbar-width:none !important;
  }
  .rabbit-mobile-hero-actions::-webkit-scrollbar,
  .rabbit-pro-hero-actions::-webkit-scrollbar,
  .hero-actions::-webkit-scrollbar{display:none !important;}

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

  .rabbit-mobile-hero-actions button,
  .rabbit-pro-hero-actions button,
  .hero-actions button,
  .rabbit-mobile-hero-actions button.active{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:112px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 14px !important;
    border-radius:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.14) !important;
    border:1px solid rgba(255,255,255,.20) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:850 !important;
    white-space:nowrap !important;
  }
  .rabbit-mobile-hero-actions button.active,
  .hero-actions button.primary{
    background:linear-gradient(135deg,#2563eb,#0f9aa8) !important;
  }

  .rabbit-pro-pulse,
  .command-center > .card.rabbit-pro-pulse{
    min-height:0 !important;
    padding:0 !important;
    border-radius:22px !important;
  }

  .rabbit-pro-pulse h3,
  .command-center > .card.rabbit-pro-pulse h3{
    display:block !important;
    margin:0 0 10px !important;
    color:#0f172a !important;
    font-size:15px !important;
    font-weight:900 !important;
  }

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

  .pulse-card{
    min-height:88px !important;
    border-radius:18px !important;
    padding:14px 38px 12px 14px !important;
  }
  .pulse-card b{font-size:27px !important;}
  .pulse-card span,
  .pulse-card .muted{font-size:12px !important;margin-top:5px !important;}

  .home-launcher-shell,
  .rabbit-pro-modules{
    padding:0 !important;
  }

  .home-launcher-head h3{
    font-size:24px !important;
    margin-bottom:4px !important;
  }

  .rabbit-module-groups{
    gap:22px !important;
  }

  .home-launcher-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .launch-card,
  .rabbit-pro-module-card{
    min-height:138px !important;
    padding:16px !important;
    border-radius:18px !important;
    grid-template-columns:42px minmax(0,1fr) 18px !important;
    gap:12px !important;
    background:#fff !important;
    box-shadow:0 12px 26px rgba(15,23,42,.065) !important;
  }

  .launch-icon{width:42px !important;height:42px !important;border-radius:14px !important;}

  .launch-title,
  .rabbit-pro-module-card .launch-title{
    display:block !important;
    font-size:14px !important;
    line-height:1.18 !important;
    font-weight:900 !important;
    color:#0f172a !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .launch-desc,
  .rabbit-pro-module-card .launch-desc{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    color:#64748b !important;
    font-size:11.5px !important;
    line-height:1.32 !important;
    overflow:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  #home .rabbit-pro-home-lower,
  #home .home-grid,
  #home .priority-board,
  #home .dashboard-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
  }
}

@media (max-width: 380px){
  .home-launcher-grid{gap:10px !important;}
  .launch-card,
  .rabbit-pro-module-card{
    min-height:132px !important;
    padding:13px !important;
    grid-template-columns:38px minmax(0,1fr) 16px !important;
    gap:9px !important;
  }
  .launch-icon{width:38px !important;height:38px !important;}
  .launch-title{font-size:13px !important;}
  .launch-desc{font-size:10.5px !important;}
}

/* =========================================================
   UNIFIED HUB / ASSISTANT — sinistra, ordinato e non sovrapposto
   ========================================================= */
@media (max-width: 900px){
  #rabbitUnifiedHub{
    left:14px !important;
    bottom:calc(18px + var(--rf-safe-bottom)) !important;
    z-index:2147482500 !important;
  }

  #rabbitHubMain{
    min-width:64px !important;
    width:64px !important;
    height:64px !important;
    border-radius:22px !important;
    padding:0 !important;
  }
  #rabbitHubMain .rah-main-text{display:none !important;}
  #rabbitHubMain .rah-main-icon{width:48px !important;height:48px !important;}

  .rah-menu{
    align-items:flex-start !important;
    gap:8px !important;
  }

  .rah-choice{
    width:min(240px,calc(100vw - 28px)) !important;
    min-height:64px !important;
    border-radius:22px !important;
  }

  #rabbitAssistantPanel{
    left:10px !important;
    right:10px !important;
    bottom:calc(90px + var(--rf-safe-bottom)) !important;
    width:auto !important;
    height:min(640px,calc(100dvh - 112px - var(--rf-safe-bottom))) !important;
    max-height:calc(100dvh - 112px - var(--rf-safe-bottom)) !important;
    border-radius:24px !important;
  }
}

/* Il bottone chat nativo resta nascosto se esiste il macro-hub, ma la chat si apre regolarmente dal menu. */
#rabbitUnifiedHub ~ #rc22Button,
body:has(#rabbitUnifiedHub) #rc22Button.rc22-button{
  opacity:0 !important;
  pointer-events:none !important;
  transform:scale(.01) !important;
}

/* =========================================================
   CHAT RESPONSIVE — desktop fedele, mobile pieno e giustificato
   ========================================================= */
@media (min-width: 901px){
  #rc22Panel.rc22-panel{
    width:min(1180px,calc(100vw - 56px)) !important;
    height:min(720px,calc(100dvh - 132px)) !important;
    right:28px !important;
    bottom:106px !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    grid-template-columns:226px minmax(420px,1fr) 238px !important;
  }
}

@media (max-width: 900px) and (min-width: 641px){
  #rc22Panel.rc22-panel{
    position:fixed !important;
    left:14px !important;
    right:14px !important;
    top:calc(var(--rf-safe-top) + 14px) !important;
    bottom:calc(var(--rf-safe-bottom) + 14px) !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    transform:none !important;
    display:none !important;
    grid-template-columns:250px minmax(0,1fr) !important;
    grid-template-rows:1fr !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:var(--rf-shadow-strong) !important;
    z-index:2147483001 !important;
  }

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

  #rc22Panel .rc22-sidebar{
    display:grid !important;
    grid-template-rows:auto auto minmax(0,1fr) !important;
    height:100% !important;
    min-height:0 !important;
    background:#f8fafc !important;
    border-right:1px solid #e5eaf2 !important;
  }

  #rc22Panel .rc22-list{
    overflow:auto !important;
    padding:10px 12px 16px !important;
  }

  #rc22Panel .rc22-main{
    display:grid !important;
    grid-template-rows:74px minmax(0,1fr) auto !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    border-radius:0 !important;
  }

  #rc22Panel .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    overflow:auto !important;
  }
}

@media (max-width: 640px){
  #rc22Panel.rc22-panel{
    position:fixed !important;
    left:8px !important;
    right:8px !important;
    top:calc(var(--rf-safe-top) + 8px) !important;
    bottom:calc(var(--rf-safe-bottom) + 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:clamp(142px,25dvh,174px) minmax(0,1fr) !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:var(--rf-shadow-strong) !important;
    z-index:2147483001 !important;
  }
  #rc22Panel.rc22-panel.open{display:grid !important;}

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

  #rc22Panel .rc22-head{
    height:50px !important;
    min-height:50px !important;
    padding:10px 12px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#fff !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-search{display:none !important;}

  #rc22Panel .rc22-list{
    display:flex !important;
    flex-direction:row !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;
    scrollbar-width:none !important;
  }
  #rc22Panel .rc22-list::-webkit-scrollbar{display:none !important;}

  #rc22Panel .rc22-contact{
    flex:0 0 clamp(190px,58vw,220px) !important;
    width:clamp(190px,58vw,220px) !important;
    min-width:clamp(190px,58vw,220px) !important;
    height:64px !important;
    min-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;
    background:#fff !important;
    border:1px solid #e5eaf2 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.045) !important;
  }
  #rc22Panel .rc22-contact.active{
    background:#1e1b4b !important;
    color:#fff !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-main{
    grid-row:2 !important;
    display:grid !important;
    grid-template-rows:64px minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  #rc22Panel .rc22-thread-head{
    min-height:64px !important;
    height:64px !important;
    padding:9px 11px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    border-bottom:1px solid #e5eaf2 !important;
    overflow:hidden !important;
  }
  #rc22Panel .rc22-peer{min-width:0 !important;gap:8px !important;}
  #rc22Panel .rc22-peer .rc22-avatar{
    display:grid !important;
    width:36px !important;
    height:36px !important;
    border-radius:13px !important;
    font-size:12px !important;
  }
  #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text small{
    max-width:calc(100vw - 240px) !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{
    display:flex !important;
    flex:0 0 auto !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  #rc22Panel .rc22-tools::-webkit-scrollbar{display:none !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:#f4f8ff !important;
    gap:10px !important;
    -webkit-overflow-scrolling:touch !important;
  }
  #rc22Panel .rc22-empty{
    margin:auto !important;
    max-width:290px !important;
    padding:14px !important;
    font-size:15px !important;
    line-height:1.35 !important;
    text-align:center !important;
  }
  #rc22Panel .rc22-bubble{
    max-width:84% !important;
    padding:10px 12px !important;
    border-radius:16px 16px 16px 8px !important;
    font-size:13px !important;
    line-height:1.36 !important;
    overflow-wrap:anywhere !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{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 58px !important;
    gap:8px !important;
    padding:10px 10px max(10px,var(--rf-safe-bottom)) !important;
    background:#fff !important;
    border-top:1px solid #e5eaf2 !important;
  }
  #rc22Panel .rc22-compose input{
    height:46px !important;
    min-height:46px !important;
    border-radius:16px !important;
    font-size:16px !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;
    padding:0 !important;
    font-size:0 !important;
  }
  #rc22Panel .rc22-compose button::after{content:"➤" !important;font-size:18px !important;}
}

@media (max-width: 380px){
  #rc22Panel.rc22-panel{left:6px !important;right:6px !important;top:calc(var(--rf-safe-top) + 6px) !important;bottom:calc(var(--rf-safe-bottom) + 6px) !important;border-radius:22px !important;}
  #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text small{max-width:calc(100vw - 222px) !important;}
  #rc22Panel .rc22-tool{width:32px !important;min-width:32px !important;height:32px !important;}
}

/* =========================================================
   VIDEO / AUDIO CALL RESPONSIVE — stage e chat sempre proporzionati
   ========================================================= */
.rc22-call.open,
#rc22Call.open,
#rc22Call.show{
  box-sizing:border-box !important;
}

#rc22Call .rc22-remote-grid,
.rc22-call .rc22-remote-grid{
  min-width:0 !important;
  min-height:0 !important;
}

@media (min-width: 901px){
  #rc22Call.open,
  #rc22Call.show,
  .rc22-call.open,
  .rc22-call.show{
    padding:14px 14px 16px !important;
  }
  #rc22Call .rc22-call-body,
  .rc22-call .rc22-call-body{
    grid-template-columns:minmax(0,1fr) minmax(300px,340px) !important;
    gap:16px !important;
  }
  #rc22Call .rc22-call-controls,
  .rc22-call .rc22-call-controls{
    display:flex !important;
    justify-content:center !important;
    gap:12px !important;
    flex-wrap:wrap !important;
  }
  #rc22Call .rc22-call-controls button,
  .rc22-call .rc22-call-controls button{
    min-width:118px !important;
  }
  #rc22Call #rc22Screen,
  .rc22-call #rc22Screen{
    min-width:170px !important;
  }
}

@media (max-width: 900px){
  html.rc22-mobile-call-open,
  body.rc22-mobile-call-open{
    overflow:hidden !important;
    height:100% !important;
  }

  #rc22Call.open,
  #rc22Call.show,
  .rc22-call.open,
  .rc22-call.show{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    padding:0 !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    overflow:hidden !important;
    background:#020617 !important;
    color:#fff !important;
    z-index:2147483903 !important;
  }

  #rc22Call .rc22-call-head,
  .rc22-call .rc22-call-head{
    min-height:calc(66px + var(--rf-safe-top)) !important;
    padding:calc(8px + var(--rf-safe-top)) 10px 8px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 48px !important;
    align-items:center !important;
    gap:9px !important;
    background:#08111f !important;
    border-bottom:1px solid rgba(148,163,184,.18) !important;
  }

  #rc22Call .rc22-call-title,
  .rc22-call .rc22-call-title{min-width:0 !important;}
  #rc22Call .rc22-call-title b,
  .rc22-call .rc22-call-title b{
    font-size:clamp(17px,4.9vw,21px) !important;
    line-height:1.08 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  #rc22Call .rc22-call-title small,
  .rc22-call .rc22-call-title small{
    margin-top:4px !important;
    font-size:12px !important;
    line-height:1.18 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  #rc22Call #rc22CallX,
  .rc22-call #rc22CallX{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:17px !important;
    display:grid !important;
    place-items:center !important;
  }

  #rc22Call .rc22-call-body,
  .rc22-call .rc22-call-body{
    min-height:0 !important;
    height:100% !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0,1fr) clamp(176px,29dvh,250px) !important;
    gap:8px !important;
    padding:8px !important;
    overflow:hidden !important;
    background:#020617 !important;
  }

  #rc22Call .rc22-stage,
  .rc22-call .rc22-stage{
    position:relative !important;
    min-height:0 !important;
    height:100% !important;
    width:100% !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:#050a18 !important;
    border:1px solid rgba(148,163,184,.18) !important;
    display:grid !important;
    place-items:center !important;
  }

  #rc22Call .rc22-remote-grid,
  .rc22-call .rc22-remote-grid{
    position:absolute !important;
    inset:0 !important;
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(165px,1fr)) !important;
    gap:8px !important;
    padding:8px !important;
  }

  #rc22Call .rc22-remote-tile,
  .rc22-call .rc22-remote-tile{
    min-height:0 !important;
    border-radius:16px !important;
  }

  #rc22Call #rc22Remote,
  #rc22Call .rc22-stage video,
  .rc22-call .rc22-stage video{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#050a18 !important;
  }

  #rc22Call .rc22-placeholder,
  .rc22-call .rc22-placeholder{
    inset:0 !important;
    padding:20px !important;
    display:grid !important;
    place-items:center !important;
    text-align:center !important;
    color:rgba(226,232,240,.86) !important;
    font-size:15px !important;
    line-height:1.35 !important;
  }

  #rc22Call .rc22-local,
  .rc22-call .rc22-local{
    position:absolute !important;
    top:auto !important;
    right:10px !important;
    bottom:10px !important;
    transform:none !important;
    width:96px !important;
    height:126px !important;
    border-radius:18px !important;
    z-index:6 !important;
    border:2px solid rgba(255,255,255,.24) !important;
  }

  #rc22Call .rc22-live,
  .rc22-call .rc22-live{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    width:100% !important;
    overflow:hidden !important;
    border-radius:22px !important;
    background:#fff !important;
    color:#0f172a !important;
    border:1px solid rgba(226,232,240,.94) !important;
    box-shadow:0 -8px 26px rgba(0,0,0,.15) !important;
  }

  #rc22Call .rc22-live-head,
  .rc22-call .rc22-live-head{
    min-height:38px !important;
    padding:8px 12px !important;
    border-bottom:1px solid #e2e8f0 !important;
    background:#fff !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:950 !important;
  }

  #rc22Call .rc22-live-list,
  #rc22Call #rc22LiveList,
  .rc22-call .rc22-live-list{
    min-height:0 !important;
    height:100% !important;
    overflow:auto !important;
    padding:8px 10px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    background:#f8fbff !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #rc22Call .rc22-live-msg,
  .rc22-call .rc22-live-msg,
  #rc22Call #rc22LiveList .rc22-empty{
    max-width:90% !important;
    width:max-content !important;
    padding:8px 10px !important;
    border-radius:14px !important;
    font-size:13px !important;
    line-height:1.3 !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }
  #rc22Call .rc22-live-msg.me,
  .rc22-call .rc22-live-msg.me{
    align-self:flex-end !important;
    background:#2563eb !important;
    border-color:#2563eb !important;
    color:#fff !important;
  }

  #rc22Call .rc22-live-compose,
  #rc22Call #rc22LiveForm,
  .rc22-call .rc22-live-compose{
    min-height:52px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 56px !important;
    align-items:center !important;
    gap:8px !important;
    padding:7px 9px !important;
    border-top:1px solid #e2e8f0 !important;
    background:#fff !important;
  }
  #rc22Call #rc22LiveInput,
  .rc22-call .rc22-live-compose input{
    width:100% !important;
    min-width:0 !important;
    height:40px !important;
    border-radius:14px !important;
    padding:0 11px !important;
    font-size:16px !important;
    border:1px solid #cbd5e1 !important;
    background:#fff !important;
  }
  #rc22Call #rc22LiveForm button,
  .rc22-call .rc22-live-compose button{
    width:56px !important;
    height:40px !important;
    min-width:56px !important;
    border-radius:14px !important;
    padding:0 !important;
    font-size:12px !important;
    font-weight:950 !important;
  }

  #rc22Call .rc22-call-controls,
  .rc22-call .rc22-call-controls{
    min-height:calc(74px + var(--rf-safe-bottom)) !important;
    padding:9px 8px calc(9px + var(--rf-safe-bottom)) !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:center !important;
    gap:8px !important;
    overflow:visible !important;
    background:#08111f !important;
    border-top:1px solid rgba(148,163,184,.18) !important;
  }
  #rc22Call .rc22-call-controls button,
  .rc22-call .rc22-call-controls button{
    min-width:0 !important;
    width:100% !important;
    height:52px !important;
    min-height:52px !important;
    border-radius:17px !important;
    padding:0 4px !important;
    font-size:clamp(10px,2.7vw,13px) !important;
    font-weight:950 !important;
    white-space:normal !important;
    line-height:1.05 !important;
  }
}

@media (max-width: 520px){
  #rc22Call .rc22-call-body,
  .rc22-call .rc22-call-body{
    grid-template-rows:minmax(0,1fr) clamp(158px,26dvh,220px) !important;
    gap:7px !important;
    padding:7px !important;
  }

  #rc22Call .rc22-call-controls,
  .rc22-call .rc22-call-controls{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    min-height:calc(126px + var(--rf-safe-bottom)) !important;
    gap:7px !important;
    padding:7px 8px calc(8px + var(--rf-safe-bottom)) !important;
  }
  #rc22Call .rc22-call-controls button,
  .rc22-call .rc22-call-controls button{
    height:54px !important;
    min-height:54px !important;
    font-size:13px !important;
  }

  #rc22Call .rc22-local,
  .rc22-call .rc22-local{
    width:86px !important;
    height:112px !important;
    right:9px !important;
    bottom:9px !important;
  }
}

@media (max-height: 720px) and (max-width: 900px){
  #rc22Call .rc22-call-head,
  .rc22-call .rc22-call-head{
    min-height:calc(58px + var(--rf-safe-top)) !important;
  }
  #rc22Call .rc22-call-body,
  .rc22-call .rc22-call-body{
    grid-template-rows:minmax(0,1fr) clamp(140px,24dvh,190px) !important;
  }
  #rc22Call .rc22-live-head,
  .rc22-call .rc22-live-head{
    min-height:32px !important;
    padding:6px 10px !important;
  }
  #rc22Call .rc22-live-compose,
  #rc22Call #rc22LiveForm,
  .rc22-call .rc22-live-compose{
    min-height:46px !important;
    padding:5px 8px !important;
  }
  #rc22Call #rc22LiveInput,
  #rc22Call #rc22LiveForm button,
  .rc22-call .rc22-live-compose input,
  .rc22-call .rc22-live-compose button{
    height:36px !important;
  }
}

/* Screen share: sempre a tutto campo, con PiP e chat proporzionata anche su smartphone. */
.rc22-call.screen-present .rc22-stage,
.rc22-call.screen-sharing .rc22-stage,
#rc22Call.screen-present .rc22-stage,
#rc22Call.screen-sharing .rc22-stage{
  background:#020617 !important;
}

.rc22-call.screen-present .rc22-remote-grid,
.rc22-call.screen-sharing .rc22-remote-grid,
#rc22Call.screen-present .rc22-remote-grid,
#rc22Call.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,
#rc22Call.screen-present .rc22-remote-tile.screen-share,
#rc22Call.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:22px !important;
  border:0 !important;
  box-shadow:none !important;
  z-index:2 !important;
  background:#020617 !important;
}

.rc22-call.screen-present .rc22-remote-tile.screen-share video,
.rc22-call.screen-sharing .rc22-remote-tile.screen-share video,
#rc22Call.screen-present .rc22-remote-tile.screen-share video,
#rc22Call.screen-sharing .rc22-remote-tile.screen-share video{
  object-fit:contain !important;
  background:#020617 !important;
}

@media (max-width: 640px){
  .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,
  #rc22Call.screen-present .rc22-remote-tile:not(.screen-share),
  #rc22Call.screen-sharing .rc22-remote-tile:not(.screen-share),
  #rc22Call.screen-present .rc22-local,
  #rc22Call.screen-sharing .rc22-local{
    width:92px !important;
    height:58px !important;
    right:9px !important;
    bottom:9px !important;
    border-radius:13px !important;
  }
}

/* =========================================================
   RABBIT RESPONSIVE FAITHFUL V2 PATCH
   Correzioni richieste:
   - Home mobile di nuovo fedele alla versione PC: colori, KPI, hero e card non anonime
   - Chat mobile: torna la scelta contatto, spazi giustificati, conversazione/input proporzionati
   ========================================================= */

@media (max-width: 820px){
  /* Il mobile-lite non deve appiattire la Home professionale */
  body.rabbit-mobile-lite .main,
  body.rabbit-mobile-lite #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;
  }

  body.rabbit-mobile-lite #home .command-center,
  body.rabbit-mobile-lite #home .command-center.rabbit-pro-command,
  body.rabbit-mobile-lite #home .rabbit-pro-command{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    padding:0 !important;
    margin:0 0 18px !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
  }

  body.rabbit-mobile-lite #home .command-panel,
  body.rabbit-mobile-lite #home .rabbit-pro-hero,
  body.rabbit-mobile-lite #home .command-panel.rabbit-pro-hero{
    display:flex !important;
    min-height:220px !important;
    padding:22px !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background-image:var(--rhc114-overlay, linear-gradient(135deg,rgba(4,12,24,.72),rgba(15,23,42,.42))), var(--rhc-bg, linear-gradient(135deg,#0f172a,#0f766e)) !important;
    background-size:cover !important;
    background-position:center !important;
    box-shadow:0 20px 44px rgba(15,23,42,.18) !important;
    color:#fff !important;
  }

  body.rabbit-mobile-lite #home .rabbit-pro-hero::before,
  body.rabbit-mobile-lite #home .command-panel::before{
    display:block !important;
  }

  body.rabbit-mobile-lite #home .rabbit-pro-hero h1,
  body.rabbit-mobile-lite #home .command-title,
  body.rabbit-mobile-lite #home .rabbit-pro-hero h1 span,
  body.rabbit-mobile-lite #home .command-title span{
    color:#fff !important;
    font-size:clamp(27px,7.2vw,35px) !important;
    line-height:1.05 !important;
    letter-spacing:-.055em !important;
    text-align:left !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  body.rabbit-mobile-lite #home .rabbit-pro-hero p,
  body.rabbit-mobile-lite #home .command-subtitle,
  body.rabbit-mobile-lite #home .rabbit-pro-hero .muted{
    display:block !important;
    color:rgba(226,232,240,.82) !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
    opacity:1 !important;
  }

  body.rabbit-mobile-lite #home .rabbit-mobile-hero-actions,
  body.rabbit-mobile-lite #home .rabbit-pro-hero-actions,
  body.rabbit-mobile-lite #home .hero-actions{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:9px !important;
    overflow-x:auto !important;
    padding-bottom:2px !important;
    scrollbar-width:none !important;
  }
  body.rabbit-mobile-lite #home .rabbit-mobile-hero-actions::-webkit-scrollbar,
  body.rabbit-mobile-lite #home .rabbit-pro-hero-actions::-webkit-scrollbar,
  body.rabbit-mobile-lite #home .hero-actions::-webkit-scrollbar{display:none !important;}

  body.rabbit-mobile-lite #home .rabbit-mobile-hero-actions button,
  body.rabbit-mobile-lite #home .rabbit-pro-hero-actions button,
  body.rabbit-mobile-lite #home .hero-actions button{
    flex:0 0 auto !important;
    min-width:112px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 14px !important;
    border-radius:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.24) !important;
    font-size:13px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  body.rabbit-mobile-lite #home .rabbit-mobile-hero-actions button.active,
  body.rabbit-mobile-lite #home .rabbit-pro-hero-actions button.active,
  body.rabbit-mobile-lite #home .hero-actions button.primary{
    background:linear-gradient(135deg,#2563eb,#0f9aa8) !important;
    box-shadow:0 12px 24px rgba(37,99,235,.22) !important;
  }

  body.rabbit-mobile-lite #home .rabbit-pro-pulse,
  body.rabbit-mobile-lite #home .command-center > .card.rabbit-pro-pulse{
    display:block !important;
    padding:16px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid #e2eaf3 !important;
    box-shadow:0 16px 34px rgba(15,23,42,.075) !important;
  }

  body.rabbit-mobile-lite #home .rabbit-pro-pulse h3,
  body.rabbit-mobile-lite #home .command-center > .card.rabbit-pro-pulse h3{
    display:block !important;
    margin:0 0 12px !important;
    color:#0f172a !important;
    font-size:15px !important;
    font-weight:950 !important;
  }

  body.rabbit-mobile-lite #home .pulse-strip,
  body.rabbit-mobile-lite #home .rabbit-pro-kpis{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  body.rabbit-mobile-lite #home .pulse-card{
    min-height:86px !important;
    border-radius:18px !important;
    padding:14px 38px 12px 14px !important;
    color:#fff !important;
    box-shadow:0 12px 26px rgba(15,23,42,.12) !important;
  }
  body.rabbit-mobile-lite #home .pulse-card:nth-child(1){background:#10b981 !important;}
  body.rabbit-mobile-lite #home .pulse-card:nth-child(2){background:linear-gradient(135deg,#ff9800,#ff5722) !important;}
  body.rabbit-mobile-lite #home .pulse-card:nth-child(3){background:#2563eb !important;}
  body.rabbit-mobile-lite #home .pulse-card:nth-child(4){background:#fef08a !important;color:#0f172a !important;}
  body.rabbit-mobile-lite #home .pulse-card b{font-size:27px !important;color:inherit !important;}
  body.rabbit-mobile-lite #home .pulse-card span,
  body.rabbit-mobile-lite #home .pulse-card .muted{font-size:12px !important;margin-top:5px !important;color:inherit !important;opacity:.9 !important;}

  body.rabbit-mobile-lite #home .home-launcher-shell,
  body.rabbit-mobile-lite #home .rabbit-pro-modules{
    padding:18px !important;
    border-radius:28px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid #e2eaf3 !important;
    box-shadow:0 18px 42px rgba(15,23,42,.075) !important;
  }

  body.rabbit-mobile-lite #home .home-launcher-head h3{
    display:block !important;
    color:#0f172a !important;
    font-size:clamp(25px,7vw,34px) !important;
    line-height:1.05 !important;
    letter-spacing:-.055em !important;
    font-weight:950 !important;
    margin:0 0 8px !important;
  }

  body.rabbit-mobile-lite #home .rabbit-module-groups{gap:24px !important;}
  body.rabbit-mobile-lite #home .rabbit-module-group h4{
    color:#64748b !important;
    font-size:12px !important;
    letter-spacing:.08em !important;
    font-weight:950 !important;
    margin:0 0 12px !important;
  }

  body.rabbit-mobile-lite #home .home-launcher-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  body.rabbit-mobile-lite #home .launch-card,
  body.rabbit-mobile-lite #home .rabbit-pro-module-card{
    min-height:124px !important;
    max-height:124px !important;
    padding:14px !important;
    border-radius:20px !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) 18px !important;
    grid-template-rows:auto 1fr !important;
    gap:11px !important;
    background:#fff !important;
    border:1px solid #e5edf6 !important;
    box-shadow:0 12px 26px rgba(15,23,42,.06) !important;
    overflow:hidden !important;
  }

  body.rabbit-mobile-lite #home .launch-icon{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:42px !important;
    height:42px !important;
    border-radius:15px !important;
    display:grid !important;
    place-items:center !important;
    flex:0 0 auto !important;
  }
  body.rabbit-mobile-lite #home .launch-icon svg{width:21px !important;height:21px !important;stroke-width:2.15 !important;}

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

  body.rabbit-mobile-lite #home .rabbit-module-text{
    grid-column:2 !important;
    grid-row:1 / span 2 !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    justify-content:flex-start !important;
  }

  body.rabbit-mobile-lite #home .launch-title,
  body.rabbit-mobile-lite #home .rabbit-pro-module-card .launch-title{
    display:block !important;
    color:#0f172a !important;
    font-size:15px !important;
    line-height:1.16 !important;
    font-weight:950 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body.rabbit-mobile-lite #home .launch-desc,
  body.rabbit-mobile-lite #home .rabbit-pro-module-card .launch-desc{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    color:#64748b !important;
    font-size:11px !important;
    line-height:1.28 !important;
    font-weight:650 !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  body.rabbit-mobile-lite #home .launch-arrow{
    grid-column:3 !important;
    grid-row:2 !important;
    align-self:end !important;
    justify-self:end !important;
    color:#0f5f92 !important;
    font-size:18px !important;
    opacity:.9 !important;
  }
}

@media (max-width: 390px){
  body.rabbit-mobile-lite #home .home-launcher-shell,
  body.rabbit-mobile-lite #home .rabbit-pro-modules{padding:14px !important;border-radius:24px !important;}
  body.rabbit-mobile-lite #home .home-launcher-grid{gap:10px !important;}
  body.rabbit-mobile-lite #home .launch-card,
  body.rabbit-mobile-lite #home .rabbit-pro-module-card{
    min-height:116px !important;
    max-height:116px !important;
    padding:12px !important;
    grid-template-columns:38px minmax(0,1fr) 16px !important;
    gap:9px !important;
  }
  body.rabbit-mobile-lite #home .launch-icon{width:38px !important;height:38px !important;border-radius:14px !important;}
  body.rabbit-mobile-lite #home .launch-title{font-size:14px !important;}
  body.rabbit-mobile-lite #home .launch-desc{font-size:10.5px !important;}
}

/* CHAT V2: su mobile la lista contatti resta sempre disponibile, sopra la conversazione. */
@media (max-width: 700px){
  body.rabbit-mobile-lite #rc22Panel.rc22-panel,
  #rc22Panel.rc22-panel{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:calc(var(--rf-safe-top) + 10px) !important;
    bottom:calc(var(--rf-safe-bottom) + 10px) !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:196px minmax(0,1fr) !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 34px 90px rgba(15,23,42,.24),0 14px 34px rgba(15,23,42,.12) !important;
    z-index:2147483001 !important;
  }

  body.rabbit-mobile-lite #rc22Panel.rc22-panel.open,
  #rc22Panel.rc22-panel.open{display:grid !important;}

  body.rabbit-mobile-lite #rc22Panel .rc22-sidebar,
  body.rabbit-mobile-lite #rc22Panel aside.rc22-sidebar,
  #rc22Panel .rc22-sidebar,
  #rc22Panel aside.rc22-sidebar{
    display:grid !important;
    grid-row:1 !important;
    grid-template-rows:52px 44px minmax(0,1fr) !important;
    width:100% !important;
    height:196px !important;
    min-height:196px !important;
    max-height:196px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
    border:0 !important;
    border-bottom:1px solid #e2e8f0 !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  body.rabbit-mobile-lite #rc22Panel .rc22-head,
  #rc22Panel .rc22-head{
    display:flex !important;
    height:52px !important;
    min-height:52px !important;
    padding:10px 12px 6px !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:transparent !important;
    border:0 !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-head b,
  #rc22Panel .rc22-head b{display:block !important;color:#0f172a !important;font-size:16px !important;line-height:1.05 !important;font-weight:950 !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-head small,
  #rc22Panel .rc22-head small{display:block !important;color:#64748b !important;font-size:11px !important;line-height:1.1 !important;font-weight:700 !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-close,
  #rc22Panel .rc22-close{width:36px !important;height:36px !important;min-width:36px !important;border-radius:14px !important;}

  body.rabbit-mobile-lite #rc22Panel .rc22-search,
  #rc22Panel .rc22-search{
    display:block !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 12px !important;
    background:transparent !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-search input,
  #rc22Panel .rc22-search input{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    border-radius:16px !important;
    border:1px solid #dbe4ee !important;
    background:#fff !important;
    color:#0f172a !important;
    font-size:14px !important;
    padding:0 13px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  body.rabbit-mobile-lite #rc22Panel .rc22-list,
  #rc22Panel .rc22-list{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:9px 12px 12px !important;
    min-height:0 !important;
    height:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    background:transparent !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-list::-webkit-scrollbar,
  #rc22Panel .rc22-list::-webkit-scrollbar{display:none !important;}

  body.rabbit-mobile-lite #rc22Panel .rc22-contact,
  #rc22Panel .rc22-contact{
    flex:0 0 220px !important;
    width:220px !important;
    min-width:220px !important;
    height:74px !important;
    min-height:74px !important;
    padding:10px !important;
    border-radius:18px !important;
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    scroll-snap-align:start !important;
    background:#fff !important;
    border:1px solid #e5eaf2 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.05) !important;
    color:#0f172a !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-contact.active,
  #rc22Panel .rc22-contact.active{
    background:#1e1b4b !important;
    border-color:#1e1b4b !important;
    color:#fff !important;
    box-shadow:0 14px 28px rgba(30,27,75,.24) !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-contact .rc22-avatar,
  #rc22Panel .rc22-contact .rc22-avatar{
    width:44px !important;
    height:44px !important;
    border-radius:16px !important;
    font-size:12px !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text,
  #rc22Panel .rc22-contact-text{display:block !important;min-width:0 !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text small,
  #rc22Panel .rc22-contact-text b,
  #rc22Panel .rc22-contact-text small{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text b,
  #rc22Panel .rc22-contact-text b{font-size:13px !important;font-weight:950 !important;line-height:1.12 !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text small,
  #rc22Panel .rc22-contact-text small{font-size:11px !important;margin-top:4px !important;color:#64748b !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-contact.active .rc22-contact-text small,
  #rc22Panel .rc22-contact.active .rc22-contact-text small{color:#cbd5e1 !important;}

  body.rabbit-mobile-lite #rc22Panel .rc22-main,
  #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;
    min-width:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  body.rabbit-mobile-lite #rc22Panel .rc22-thread-head,
  #rc22Panel .rc22-thread-head{
    height:64px !important;
    min-height:64px !important;
    padding:9px 11px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    border-bottom:1px solid #e5eaf2 !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-peer,
  #rc22Panel .rc22-peer{min-width:0 !important;display:flex !important;align-items:center !important;gap:8px !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-peer .rc22-avatar,
  #rc22Panel .rc22-peer .rc22-avatar{width:36px !important;height:36px !important;min-width:36px !important;border-radius:13px !important;font-size:12px !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text,
  #rc22Panel .rc22-peer-text{min-width:0 !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text small,
  #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text small{
    display:block !important;
    max-width:calc(100vw - 232px) !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text b{font-size:14px !important;color:#0f172a !important;font-weight:950 !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text small,
  #rc22Panel .rc22-peer-text small{font-size:11px !important;color:#64748b !important;font-weight:700 !important;}

  body.rabbit-mobile-lite #rc22Panel .rc22-tools,
  #rc22Panel .rc22-tools{
    display:flex !important;
    flex:0 0 auto !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-tools::-webkit-scrollbar,
  #rc22Panel .rc22-tools::-webkit-scrollbar{display:none !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-tool,
  #rc22Panel .rc22-tool{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:12px !important;
    font-size:14px !important;
  }

  body.rabbit-mobile-lite #rc22Panel .rc22-messages,
  #rc22Panel .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    padding:14px 12px !important;
    overflow:auto !important;
    background:#f4f8ff !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-empty,
  #rc22Panel .rc22-empty{
    margin:auto !important;
    max-width:290px !important;
    padding:14px !important;
    font-size:14px !important;
    line-height:1.35 !important;
    text-align:center !important;
    color:#64748b !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-bubble,
  #rc22Panel .rc22-bubble{
    max-width:84% !important;
    padding:10px 12px !important;
    border-radius:16px 16px 16px 8px !important;
    font-size:13px !important;
    line-height:1.36 !important;
    overflow-wrap:anywhere !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-bubble.me,
  #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;
  }

  body.rabbit-mobile-lite #rc22Panel .rc22-compose,
  #rc22Panel .rc22-compose{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 72px !important;
    gap:8px !important;
    padding:10px 10px max(10px,var(--rf-safe-bottom)) !important;
    background:#fff !important;
    border-top:1px solid #e5eaf2 !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-compose input,
  #rc22Panel .rc22-compose input{
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    border-radius:16px !important;
    font-size:16px !important;
    padding:0 13px !important;
    border:1px solid #cbd5e1 !important;
    background:#fff !important;
    color:#0f172a !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-compose button,
  #rc22Panel .rc22-compose button{
    width:72px !important;
    min-width:72px !important;
    height:46px !important;
    min-height:46px !important;
    border-radius:16px !important;
    padding:0 !important;
    font-size:13px !important;
    font-weight:950 !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-compose button::after,
  #rc22Panel .rc22-compose button::after{content:none !important;}

  body.rabbit-mobile-lite #rc22Panel .rc22-info,
  #rc22Panel .rc22-info{display:none !important;}
}

@media (max-width: 390px){
  body.rabbit-mobile-lite #rc22Panel.rc22-panel,
  #rc22Panel.rc22-panel{
    left:7px !important;right:7px !important;top:calc(var(--rf-safe-top) + 7px) !important;bottom:calc(var(--rf-safe-bottom) + 7px) !important;
    border-radius:24px !important;
    grid-template-rows:186px minmax(0,1fr) !important;
  }
  body.rabbit-mobile-lite #rc22Panel .rc22-sidebar,
  #rc22Panel .rc22-sidebar{height:186px !important;min-height:186px !important;max-height:186px !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-contact,
  #rc22Panel .rc22-contact{flex-basis:204px !important;width:204px !important;min-width:204px !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text small,
  #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text small{max-width:calc(100vw - 218px) !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-compose{grid-template-columns:minmax(0,1fr) 62px !important;}
  body.rabbit-mobile-lite #rc22Panel .rc22-compose button{width:62px !important;min-width:62px !important;font-size:12px !important;}
}

/* =========================================================
   RABBIT RESPONSIVE FAITHFUL V3
   Correzione reale floating chat mobile:
   - mantiene visibile “Chat aziendale” + ricerca + lista contatti
   - mantiene visibile “Contatti attivi” sotto la conversazione
   - non schiaccia input e messaggi
   - sovrascrive le vecchie regole che nascondevano .rc22-info
   ========================================================= */
@media (max-width: 700px){
  #rc22Panel.rc22-panel,
  body.rabbit-mobile-lite #rc22Panel.rc22-panel{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    top:calc(var(--rf-safe-top) + 10px) !important;
    bottom:calc(var(--rf-safe-bottom) + 10px) !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    display:none !important;
    grid-template-columns:1fr !important;
    grid-template-rows:204px minmax(0,1fr) 118px !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    box-shadow:0 34px 90px rgba(15,23,42,.24),0 14px 34px rgba(15,23,42,.12) !important;
    transform:none !important;
  }

  #rc22Panel.rc22-panel.open,
  body.rabbit-mobile-lite #rc22Panel.rc22-panel.open{
    display:grid !important;
  }

  /* Riga 1: area Chat aziendale + ricerca + scelta contatto */
  #rc22Panel .rc22-sidebar,
  #rc22Panel aside.rc22-sidebar,
  body.rabbit-mobile-lite #rc22Panel .rc22-sidebar,
  body.rabbit-mobile-lite #rc22Panel aside.rc22-sidebar{
    grid-row:1 !important;
    display:grid !important;
    grid-template-rows:54px 44px minmax(0,1fr) !important;
    width:100% !important;
    height:204px !important;
    min-height:204px !important;
    max-height:204px !important;
    min-width:0 !important;
    overflow:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
    border:0 !important;
    border-bottom:1px solid #e2e8f0 !important;
  }

  #rc22Panel .rc22-head,
  body.rabbit-mobile-lite #rc22Panel .rc22-head{
    height:54px !important;
    min-height:54px !important;
    padding:10px 12px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:transparent !important;
    border:0 !important;
  }
  #rc22Panel .rc22-head b,
  body.rabbit-mobile-lite #rc22Panel .rc22-head b{
    display:block !important;
    color:#0f172a !important;
    font-size:16px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
  }
  #rc22Panel .rc22-head small,
  body.rabbit-mobile-lite #rc22Panel .rc22-head small{
    display:block !important;
    color:#64748b !important;
    font-size:11px !important;
    line-height:1.12 !important;
    font-weight:700 !important;
  }
  #rc22Panel .rc22-close,
  body.rabbit-mobile-lite #rc22Panel .rc22-close{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:14px !important;
  }

  #rc22Panel .rc22-search,
  body.rabbit-mobile-lite #rc22Panel .rc22-search{
    display:block !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 12px !important;
    border:0 !important;
    background:transparent !important;
  }
  #rc22Panel .rc22-search input,
  body.rabbit-mobile-lite #rc22Panel .rc22-search input{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    border-radius:16px !important;
    border:1px solid #dbe4ee !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:14px !important;
    padding:0 13px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  #rc22Panel .rc22-list,
  body.rabbit-mobile-lite #rc22Panel .rc22-list{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:9px 12px 12px !important;
    min-height:0 !important;
    height:100% !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    background:transparent !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  #rc22Panel .rc22-list::-webkit-scrollbar,
  body.rabbit-mobile-lite #rc22Panel .rc22-list::-webkit-scrollbar{display:none !important;}

  #rc22Panel .rc22-contact,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact{
    flex:0 0 220px !important;
    width:220px !important;
    min-width:220px !important;
    height:76px !important;
    min-height:76px !important;
    padding:10px !important;
    border-radius:18px !important;
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    scroll-snap-align:start !important;
    background:#fff !important;
    border:1px solid #e5eaf2 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.05) !important;
    color:#0f172a !important;
    text-align:left !important;
  }
  #rc22Panel .rc22-contact.active,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact.active{
    background:#1e1b4b !important;
    border-color:#1e1b4b !important;
    color:#fff !important;
    box-shadow:0 14px 28px rgba(30,27,75,.24) !important;
  }
  #rc22Panel .rc22-contact .rc22-avatar,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact .rc22-avatar{
    width:44px !important;
    height:44px !important;
    border-radius:16px !important;
    font-size:12px !important;
  }
  #rc22Panel .rc22-contact-text,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text{display:block !important;min-width:0 !important;}
  #rc22Panel .rc22-contact-text b,
  #rc22Panel .rc22-contact-text small,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text small{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #rc22Panel .rc22-contact-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text b{
    font-size:13px !important;
    font-weight:950 !important;
    line-height:1.12 !important;
  }
  #rc22Panel .rc22-contact-text small,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact-text small{
    font-size:11px !important;
    margin-top:4px !important;
    color:#64748b !important;
  }
  #rc22Panel .rc22-contact.active .rc22-contact-text small,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact.active .rc22-contact-text small{color:#cbd5e1 !important;}

  /* Riga 2: conversazione, senza profilo gigante e spazi vuoti inutili */
  #rc22Panel .rc22-main,
  body.rabbit-mobile-lite #rc22Panel .rc22-main{
    grid-row:2 !important;
    display:grid !important;
    grid-template-rows:62px minmax(0,1fr) auto !important;
    height:100% !important;
    min-height:0 !important;
    min-width:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  #rc22Panel .rc22-thread-head,
  body.rabbit-mobile-lite #rc22Panel .rc22-thread-head{
    height:62px !important;
    min-height:62px !important;
    padding:8px 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    border-bottom:1px solid #e5eaf2 !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  #rc22Panel .rc22-peer,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer{min-width:0 !important;display:flex !important;align-items:center !important;gap:8px !important;}
  #rc22Panel .rc22-peer .rc22-avatar,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer .rc22-avatar{
    width:36px !important;height:36px !important;min-width:36px !important;border-radius:13px !important;font-size:12px !important;
  }
  #rc22Panel .rc22-peer-text,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text{min-width:0 !important;}
  #rc22Panel .rc22-peer-text b,
  #rc22Panel .rc22-peer-text small,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text small{
    display:block !important;
    max-width:calc(100vw - 232px) !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #rc22Panel .rc22-peer-text b,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text b{font-size:14px !important;color:#0f172a !important;font-weight:950 !important;}
  #rc22Panel .rc22-peer-text small,
  body.rabbit-mobile-lite #rc22Panel .rc22-peer-text small{font-size:11px !important;color:#64748b !important;font-weight:700 !important;}

  #rc22Panel .rc22-tools,
  body.rabbit-mobile-lite #rc22Panel .rc22-tools{
    display:flex !important;
    flex:0 0 auto !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
    max-width:150px !important;
  }
  #rc22Panel .rc22-tools::-webkit-scrollbar,
  body.rabbit-mobile-lite #rc22Panel .rc22-tools::-webkit-scrollbar{display:none !important;}
  #rc22Panel .rc22-tool,
  body.rabbit-mobile-lite #rc22Panel .rc22-tool{
    width:33px !important;height:33px !important;min-width:33px !important;border-radius:12px !important;font-size:13px !important;
  }

  #rc22Panel .rc22-messages,
  body.rabbit-mobile-lite #rc22Panel .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    padding:12px 11px !important;
    overflow:auto !important;
    background:#f4f8ff !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    -webkit-overflow-scrolling:touch !important;
  }
  #rc22Panel .rc22-empty,
  body.rabbit-mobile-lite #rc22Panel .rc22-empty{
    margin:auto !important;
    max-width:290px !important;
    padding:14px !important;
    font-size:14px !important;
    line-height:1.35 !important;
    text-align:center !important;
    color:#64748b !important;
  }
  #rc22Panel .rc22-bubble,
  body.rabbit-mobile-lite #rc22Panel .rc22-bubble{
    max-width:84% !important;
    padding:10px 12px !important;
    border-radius:16px 16px 16px 8px !important;
    font-size:13px !important;
    line-height:1.36 !important;
    overflow-wrap:anywhere !important;
  }
  #rc22Panel .rc22-bubble.me,
  body.rabbit-mobile-lite #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,
  body.rabbit-mobile-lite #rc22Panel .rc22-compose{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 72px !important;
    gap:8px !important;
    padding:9px 10px max(9px,var(--rf-safe-bottom)) !important;
    background:#fff !important;
    border-top:1px solid #e5eaf2 !important;
  }
  #rc22Panel .rc22-compose input,
  body.rabbit-mobile-lite #rc22Panel .rc22-compose input{
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    border-radius:16px !important;
    font-size:16px !important;
    padding:0 13px !important;
    border:1px solid #cbd5e1 !important;
    background:#fff !important;
    color:#0f172a !important;
  }
  #rc22Panel .rc22-compose button,
  body.rabbit-mobile-lite #rc22Panel .rc22-compose button{
    width:72px !important;
    min-width:72px !important;
    height:46px !important;
    min-height:46px !important;
    border-radius:16px !important;
    padding:0 !important;
    font-size:13px !important;
    font-weight:950 !important;
  }

  /* Riga 3: contatti attivi veri, non nascosti */
  #rc22Panel .rc22-info,
  body.rabbit-mobile-lite #rc22Panel .rc22-info{
    grid-row:3 !important;
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    height:118px !important;
    min-height:118px !important;
    max-height:118px !important;
    overflow:hidden !important;
    padding:10px 12px !important;
    background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
    border-left:0 !important;
    border-top:1px solid #e2e8f0 !important;
    gap:8px !important;
  }
  #rc22Panel .rc22-info-block,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-block{min-width:0 !important;}
  #rc22Panel .rc22-info-block:not(:first-child),
  body.rabbit-mobile-lite #rc22Panel .rc22-info-block:not(:first-child){display:none !important;}
  #rc22Panel .rc22-info-block h3,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-block h3{
    margin:0 !important;
    font-size:13px !important;
    line-height:1.1 !important;
    color:#0f172a !important;
    font-weight:950 !important;
  }
  #rc22Panel .rc22-info-contacts,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-contacts{
    display:flex !important;
    flex-direction:row !important;
    gap:9px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    min-height:0 !important;
    padding-bottom:2px !important;
  }
  #rc22Panel .rc22-info-contacts::-webkit-scrollbar,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-contacts::-webkit-scrollbar{display:none !important;}
  #rc22Panel .rc22-info-contact,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-contact{
    flex:0 0 176px !important;
    width:176px !important;
    min-width:176px !important;
    min-height:54px !important;
    height:54px !important;
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) 9px !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px !important;
    border-radius:17px !important;
    background:#fff !important;
    border:1px solid #e5eaf2 !important;
    box-shadow:0 7px 16px rgba(15,23,42,.045) !important;
    text-align:left !important;
    color:#0f172a !important;
  }
  #rc22Panel .rc22-info-avatar,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-avatar{
    width:36px !important;height:36px !important;min-width:36px !important;border-radius:50% !important;font-size:11px !important;
  }
  #rc22Panel .rc22-info-name b,
  #rc22Panel .rc22-info-name small,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-name b,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-name small{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #rc22Panel .rc22-info-name b,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-name b{font-size:12px !important;font-weight:900 !important;color:#0f172a !important;}
  #rc22Panel .rc22-info-name small,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-name small{font-size:10px !important;color:#64748b !important;margin-top:2px !important;}
}

@media (max-width: 390px){
  #rc22Panel.rc22-panel,
  body.rabbit-mobile-lite #rc22Panel.rc22-panel{
    left:6px !important;
    right:6px !important;
    top:calc(var(--rf-safe-top) + 6px) !important;
    bottom:calc(var(--rf-safe-bottom) + 6px) !important;
    grid-template-rows:188px minmax(0,1fr) 108px !important;
    border-radius:22px !important;
  }
  #rc22Panel .rc22-sidebar,
  #rc22Panel aside.rc22-sidebar,
  body.rabbit-mobile-lite #rc22Panel .rc22-sidebar,
  body.rabbit-mobile-lite #rc22Panel aside.rc22-sidebar{
    height:188px !important;
    min-height:188px !important;
    max-height:188px !important;
    grid-template-rows:50px 40px minmax(0,1fr) !important;
  }
  #rc22Panel .rc22-info,
  body.rabbit-mobile-lite #rc22Panel .rc22-info{
    height:108px !important;
    min-height:108px !important;
    max-height:108px !important;
  }
  #rc22Panel .rc22-contact,
  body.rabbit-mobile-lite #rc22Panel .rc22-contact{flex-basis:198px !important;width:198px !important;min-width:198px !important;height:68px !important;min-height:68px !important;}
  #rc22Panel .rc22-info-contact,
  body.rabbit-mobile-lite #rc22Panel .rc22-info-contact{flex-basis:160px !important;width:160px !important;min-width:160px !important;height:50px !important;min-height:50px !important;}
  #rc22Panel .rc22-tools,
  body.rabbit-mobile-lite #rc22Panel .rc22-tools{max-width:122px !important;}
}


/* ===== /assets/css/24-rabbit-macrocard-home-v1.css ===== */
/* =========================================================
   Rabbit MacroCard Home V1
   4 macrocard hover/focus per raggruppare i moduli centrali.
   ========================================================= */
#home .rabbit-macro-modules-v1{
  width:100% !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}
#home .rabbit-macro-head{
  margin:0 0 14px !important;
  padding:0 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
}
#home .rabbit-macro-head h3{
  margin:0 !important;
  font-size:28px !important;
  line-height:1.04 !important;
  letter-spacing:-.065em !important;
  color:#0f172a !important;
  font-weight:950 !important;
}
#home .rabbit-macro-head p{
  margin:7px 0 0 !important;
  max-width:720px !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
}
#home .rabbit-macro-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}
#home .rabbit-macro-card{
  position:relative !important;
  min-height:238px !important;
  border-radius:32px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(203,213,225,.74) !important;
  box-shadow:0 24px 68px rgba(15,23,42,.10),0 6px 18px rgba(15,23,42,.04) !important;
  transition:min-height .38s cubic-bezier(.2,.8,.2,1), transform .24s ease, box-shadow .24s ease, opacity .24s ease, border-color .24s ease !important;
  outline:none !important;
  color:#0f172a !important;
}
#home .rabbit-macro-card:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  opacity:.86 !important;
  pointer-events:none !important;
  background:radial-gradient(circle at 92% 4%,var(--macro-glow),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.83)) !important;
}
#home .rabbit-macro-card:after{
  content:"" !important;
  position:absolute !important;
  inset:auto 18px 0 18px !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,var(--macro-line),transparent) !important;
  opacity:.75 !important;
}
#home .rabbit-macro-card.tone-operativo{--macro:#10b981;--macro-dark:#047857;--macro-glow:rgba(16,185,129,.18);--macro-soft:#d1fae5;--macro-line:rgba(16,185,129,.45)}
#home .rabbit-macro-card.tone-finanza{--macro:#f59e0b;--macro-dark:#a16207;--macro-glow:rgba(245,158,11,.20);--macro-soft:#fef3c7;--macro-line:rgba(245,158,11,.45)}
#home .rabbit-macro-card.tone-hr{--macro:#8b5cf6;--macro-dark:#6d28d9;--macro-glow:rgba(139,92,246,.20);--macro-soft:#ede9fe;--macro-line:rgba(139,92,246,.45)}
#home .rabbit-macro-card.tone-sistema{--macro:#0ea5e9;--macro-dark:#0369a1;--macro-glow:rgba(14,165,233,.19);--macro-soft:#e0f2fe;--macro-line:rgba(14,165,233,.45)}
#home .rabbit-macro-card:hover,
#home .rabbit-macro-card:focus-within{
  min-height:474px !important;
  transform:translateY(-4px) !important;
  border-color:color-mix(in srgb,var(--macro) 42%,#cbd5e1) !important;
  box-shadow:0 36px 92px rgba(15,23,42,.16),0 10px 28px rgba(15,23,42,.075) !important;
  z-index:5 !important;
}
#home .rabbit-macro-grid:has(.rabbit-macro-card:hover) .rabbit-macro-card:not(:hover),
#home .rabbit-macro-grid:has(.rabbit-macro-card:focus-within) .rabbit-macro-card:not(:focus-within){
  opacity:.64 !important;
  transform:scale(.986) !important;
}
#home .rabbit-macro-cover,
#home .rabbit-macro-content{
  position:relative !important;
  z-index:1 !important;
}
#home .rabbit-macro-cover{
  min-height:238px !important;
  padding:22px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  grid-template-rows:auto 1fr auto !important;
  gap:12px !important;
  align-content:start !important;
}
#home .rabbit-macro-icon{
  width:62px !important;
  height:62px !important;
  border-radius:24px !important;
  display:grid !important;
  place-items:center !important;
  color:var(--macro-dark) !important;
  background:var(--macro-soft) !important;
  border:1px solid color-mix(in srgb,var(--macro) 28%,#fff) !important;
  box-shadow:0 14px 32px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.88) !important;
}
#home .rabbit-macro-icon svg{width:25px !important;height:25px !important;}
#home .rabbit-macro-kicker{
  grid-column:3 !important;
  align-self:start !important;
  min-height:28px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  background:#fff !important;
  border:1px solid rgba(203,213,225,.78) !important;
  color:#64748b !important;
  font-size:10px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
}
#home .rabbit-macro-cover h4{
  grid-column:1 / -1 !important;
  margin:12px 0 0 !important;
  color:#0f172a !important;
  font-size:30px !important;
  line-height:.98 !important;
  letter-spacing:-.07em !important;
  font-weight:950 !important;
}
#home .rabbit-macro-cover p{
  grid-column:1 / -1 !important;
  margin:0 !important;
  max-width:520px !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
}
#home .rabbit-macro-footer{
  grid-column:1 / -1 !important;
  align-self:end !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  color:var(--macro-dark) !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
#home .rabbit-macro-footer b{
  width:34px !important;
  height:34px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--macro),var(--macro-dark)) !important;
  box-shadow:0 14px 28px color-mix(in srgb,var(--macro) 24%,transparent) !important;
}
#home .rabbit-macro-content{
  margin:0 16px 16px !important;
  padding:0 0 2px !important;
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  transform:translateY(18px) !important;
  transition:max-height .42s cubic-bezier(.2,.8,.2,1), opacity .24s ease, transform .28s ease !important;
}
#home .rabbit-macro-card:hover .rabbit-macro-content,
#home .rabbit-macro-card:focus-within .rabbit-macro-content{
  max-height:420px !important;
  opacity:1 !important;
  transform:translateY(0) !important;
}
#home .rabbit-macro-content-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 10px !important;
  padding:11px 13px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(203,213,225,.58) !important;
}
#home .rabbit-macro-content-head b{font-size:13px !important;color:#0f172a !important;font-weight:950 !important;}
#home .rabbit-macro-content-head small{font-size:10.5px !important;color:#64748b !important;font-weight:850 !important;}
#home .rabbit-macro-inner-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
}
#home .rabbit-macro-inner-grid .launch-card{
  min-height:78px !important;
  border-radius:18px !important;
  padding:11px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(203,213,225,.70) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.045) !important;
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:center !important;
  opacity:0 !important;
  transform:translateY(12px) scale(.985) !important;
  transition:opacity .24s ease, transform .24s ease, background .18s ease, border-color .18s ease !important;
}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card,
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card:nth-child(1),
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card:nth-child(1){transition-delay:.03s !important;}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card:nth-child(2),
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card:nth-child(2){transition-delay:.07s !important;}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card:nth-child(3),
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card:nth-child(3){transition-delay:.11s !important;}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card:nth-child(4),
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card:nth-child(4){transition-delay:.15s !important;}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card:nth-child(5),
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card:nth-child(5){transition-delay:.19s !important;}
#home .rabbit-macro-card:hover .rabbit-macro-inner-grid .launch-card:nth-child(6),
#home .rabbit-macro-card:focus-within .rabbit-macro-inner-grid .launch-card:nth-child(6){transition-delay:.23s !important;}
#home .rabbit-macro-inner-grid .launch-card:hover{
  background:#fff !important;
  border-color:color-mix(in srgb,var(--macro) 38%,#cbd5e1) !important;
  transform:translateY(-2px) scale(1.01) !important;
}
#home .rabbit-macro-inner-grid .launch-icon{
  width:40px !important;
  height:40px !important;
  border-radius:15px !important;
  background:var(--macro-soft) !important;
  color:var(--macro-dark) !important;
}
#home .rabbit-macro-inner-grid .launch-icon svg{width:18px !important;height:18px !important;}
#home .rabbit-macro-inner-grid .launch-title{font-size:12.2px !important;font-weight:950 !important;color:#0f172a !important;}
#home .rabbit-macro-inner-grid .launch-desc{font-size:10.5px !important;line-height:1.25 !important;color:#64748b !important;font-weight:750 !important;}
#home .rabbit-macro-inner-grid .launch-arrow{color:var(--macro-dark) !important;font-weight:950 !important;}
@media(max-width:1380px){
  #home .rabbit-macro-grid{grid-template-columns:1fr !important;}
  #home .rabbit-macro-card:hover,#home .rabbit-macro-card:focus-within{min-height:448px !important;}
}
@media(max-width:1120px){
  #home .rabbit-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:820px){
  #home .rabbit-macro-grid{grid-template-columns:1fr !important;}
  #home .rabbit-macro-content{max-height:none !important;opacity:1 !important;transform:none !important;}
  #home .rabbit-macro-card{min-height:auto !important;}
  #home .rabbit-macro-card:hover,#home .rabbit-macro-card:focus-within{min-height:auto !important;}
  #home .rabbit-macro-inner-grid .launch-card{opacity:1 !important;transform:none !important;}
  #home .rabbit-macro-footer span{display:none !important;}
}
@media(max-width:560px){
  #home .rabbit-macro-cover{padding:18px !important;min-height:205px !important;}
  #home .rabbit-macro-cover h4{font-size:25px !important;}
  #home .rabbit-macro-inner-grid{grid-template-columns:1fr !important;}
}


/* ===== /assets/css/25-rabbit-quick-create-center-v1.css ===== */
/* =========================================================
   Rabbit Quick Create Center V1
   Popup centrale per il pulsante Nuovo / Crea nuovo.
   Non altera le altre maschere operative.
   ========================================================= */
.mask.quick-create-center.show{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:32px !important;
  background:rgba(15,23,42,.46) !important;
  backdrop-filter:blur(15px) saturate(125%) !important;
}
.mask.quick-create-center .mask-panel{
  width:min(1040px,calc(100vw - 48px)) !important;
  height:auto !important;
  max-height:min(86vh,820px) !important;
  overflow:auto !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 86% 0%,rgba(37,99,235,.08),transparent 30%),
    radial-gradient(circle at 6% 100%,rgba(16,185,129,.08),transparent 32%),
    rgba(255,255,255,.96) !important;
  border:1px solid rgba(226,232,240,.95) !important;
  box-shadow:0 46px 130px rgba(15,23,42,.34),0 14px 42px rgba(15,23,42,.16) !important;
  display:grid !important;
  grid-template-rows:auto 1fr !important;
}
.mask.quick-create-center .mask-head{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  background:rgba(255,255,255,.84) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  border-bottom:1px solid rgba(226,232,240,.86) !important;
  padding:18px 20px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.mask.quick-create-center .mask-title .badge,
.mask.quick-create-center #maskBadge{
  min-height:26px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 10px !important;
  border-radius:999px !important;
  background:#eff6ff !important;
  border:1px solid #dbeafe !important;
  color:#1d4ed8 !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}
.mask.quick-create-center .mask-title h2{
  margin:8px 0 5px !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  color:#0f172a !important;
  font-size:30px !important;
  line-height:1.03 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}
.mask.quick-create-center .mask-title p{
  margin:0 !important;
  max-width:620px !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}
.mask.quick-create-center .mask-head .actions{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.mask.quick-create-center .mask-head .actions button{
  min-height:38px !important;
  border-radius:14px !important;
  border:1px solid #dbe4ee !important;
  background:#fff !important;
  color:#0f172a !important;
  padding:0 13px !important;
  font-size:12px !important;
  font-weight:950 !important;
  box-shadow:0 10px 22px rgba(15,23,42,.055) !important;
}
.mask.quick-create-center .mask-head .actions button.primary{
  color:#fff !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb,#10b981) !important;
}
.mask.quick-create-center .mask-body{
  padding:20px !important;
}
.quick-create-hero{
  min-height:150px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:end;
  padding:22px;
  border-radius:28px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(16,185,129,.30),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(37,99,235,.30),transparent 34%),
    linear-gradient(135deg,#07182d,#102c46 56%,#0d4f47);
  box-shadow:0 24px 60px rgba(15,23,42,.16);
  position:relative;
}
.quick-create-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:38px 38px;
  opacity:.55;
}
.quick-create-hero>*{position:relative;z-index:1}
.quick-create-hero span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  color:#dbeafe;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.quick-create-hero h3{
  margin:10px 0 6px;
  color:#fff;
  font-size:28px;
  line-height:1.04;
  letter-spacing:-.06em;
  font-weight:950;
}
.quick-create-hero p{
  margin:0;
  max-width:700px;
  color:#cbd5e1;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
.quick-create-hero button{
  min-height:40px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  color:#fff;
  padding:0 13px;
  font-weight:950;
}
.quick-create-card-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.quick-create-card{
  min-height:150px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:15px;
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  justify-items:start;
  gap:9px;
  text-align:left;
  background:#fff;
  color:#0f172a;
  box-shadow:0 14px 34px rgba(15,23,42,.065),0 5px 14px rgba(15,23,42,.035);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  position:relative;
  overflow:hidden;
}
.quick-create-card:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  background:radial-gradient(circle at 92% 8%,currentColor,transparent 38%);
  pointer-events:none;
}
.quick-create-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 58px rgba(15,23,42,.12),0 8px 22px rgba(15,23,42,.055);
  border-color:#cbd5e1;
}
.quick-create-card .qcc-icon{
  width:48px;
  height:48px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,currentColor 13%,#fff);
  border:1px solid color-mix(in srgb,currentColor 24%,#fff);
  color:currentColor;
  font-size:18px;
  font-weight:950;
  position:relative;
  z-index:1;
}
.quick-create-card strong{
  color:#0f172a;
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:950;
  position:relative;
  z-index:1;
}
.quick-create-card small{
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  font-weight:750;
  position:relative;
  z-index:1;
}
.quick-create-card i{
  justify-self:end;
  color:#94a3b8;
  font-style:normal;
  font-weight:950;
  position:relative;
  z-index:1;
}
.quick-create-card.blue{color:#2563eb}.quick-create-card.mint{color:#0f766e}.quick-create-card.sky{color:#0284c7}.quick-create-card.green{color:#059669}.quick-create-card.amber{color:#d97706}.quick-create-card.slate{color:#475569}.quick-create-card.gold{color:#ca8a04}.quick-create-card.purple{color:#7c3aed}.quick-create-card.violet{color:#6d28d9}.quick-create-card.cyan{color:#0891b2}.quick-create-card.red{color:#e11d48}
@media(max-width:980px){
  .mask.quick-create-center.show{padding:18px !important;}
  .mask.quick-create-center .mask-panel{width:100% !important;max-height:88vh !important;border-radius:28px !important;}
  .quick-create-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  .mask.quick-create-center.show{align-items:flex-end !important;padding:10px !important;}
  .mask.quick-create-center .mask-panel{width:100% !important;max-height:92vh !important;border-radius:28px 28px 18px 18px !important;}
  .mask.quick-create-center .mask-head{padding:15px !important;}
  .mask.quick-create-center .mask-title h2{font-size:24px !important;}
  .mask.quick-create-center .mask-head .actions{display:none !important;}
  .quick-create-hero{grid-template-columns:1fr;min-height:132px;padding:18px;border-radius:24px;}
  .quick-create-card-grid{grid-template-columns:1fr;gap:10px;}
  .quick-create-card{min-height:108px;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;}
  .quick-create-card .qcc-icon{grid-row:1 / span 2;}
  .quick-create-card small{grid-column:2 / 3;}
  .quick-create-card i{grid-column:3;grid-row:1 / span 2;align-self:center;}
}


/* ===== /assets/css/26-rabbit-quick-form-center-v1.css ===== */
/* =========================================================
   Rabbit Quick Form Center V1
   Le azioni selezionate da Nuovo non aprono più pannelli laterali:
   ogni form si apre come popup centrale premium.
   ========================================================= */
.mask.quick-form-center.show{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:34px !important;
  background:rgba(15,23,42,.48) !important;
  backdrop-filter:blur(16px) saturate(130%) !important;
}
.mask.quick-form-center .mask-panel{
  width:min(980px,calc(100vw - 56px)) !important;
  height:auto !important;
  max-height:min(88vh,820px) !important;
  overflow:auto !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 92% 4%,rgba(37,99,235,.08),transparent 32%),
    radial-gradient(circle at 6% 100%,rgba(16,185,129,.08),transparent 32%),
    rgba(255,255,255,.97) !important;
  border:1px solid rgba(226,232,240,.96) !important;
  box-shadow:0 46px 130px rgba(15,23,42,.34),0 14px 42px rgba(15,23,42,.16) !important;
  display:grid !important;
  grid-template-rows:auto 1fr !important;
}
.mask.quick-form-center .mask-head{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
  border-bottom:1px solid rgba(226,232,240,.88) !important;
  padding:18px 20px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.mask.quick-form-center #maskBadge,
.mask.quick-form-center .mask-title .badge{
  min-height:26px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 10px !important;
  border-radius:999px !important;
  background:#eff6ff !important;
  border:1px solid #dbeafe !important;
  color:#1d4ed8 !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}
.mask.quick-form-center .mask-title h2{
  margin:8px 0 5px !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  color:#0f172a !important;
  font-size:30px !important;
  line-height:1.03 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}
.mask.quick-form-center .mask-title p{
  margin:0 !important;
  max-width:680px !important;
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:700 !important;
}
.mask.quick-form-center .mask-head .actions{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.mask.quick-form-center .mask-head .actions button{
  min-height:38px !important;
  border-radius:14px !important;
  border:1px solid #dbe4ee !important;
  background:#fff !important;
  color:#0f172a !important;
  padding:0 13px !important;
  font-size:12px !important;
  font-weight:950 !important;
  box-shadow:0 10px 22px rgba(15,23,42,.055) !important;
}
.mask.quick-form-center .mask-head .actions button.primary,
.mask.quick-form-center #maskSave{
  color:#fff !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb,#10b981) !important;
}
.mask.quick-form-center .mask-body{
  padding:20px !important;
  background:
    linear-gradient(to right,rgba(37,99,235,.028) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(37,99,235,.028) 1px,transparent 1px),
    transparent !important;
  background-size:42px 42px !important;
}
.mask.quick-form-center .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.mask.quick-form-center .form-grid label,
.mask.quick-form-center .form-grid .full,
.mask.quick-form-center .mask-body > label{
  min-width:0 !important;
  display:grid !important;
  gap:7px !important;
  padding:14px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(226,232,240,.94) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.052) !important;
  color:#334155 !important;
  font-size:11px !important;
  font-weight:950 !important;
}
.mask.quick-form-center .form-grid .full{grid-column:1 / -1 !important;}
.mask.quick-form-center input,
.mask.quick-form-center select,
.mask.quick-form-center textarea{
  width:100% !important;
  min-height:42px !important;
  border-radius:14px !important;
  border:1px solid #dbe4ee !important;
  background:#fff !important;
  color:#0f172a !important;
  padding:0 12px !important;
  font-size:13px !important;
  font-weight:750 !important;
  outline:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.90) !important;
}
.mask.quick-form-center textarea{
  min-height:132px !important;
  padding:12px !important;
  resize:vertical !important;
  line-height:1.45 !important;
}
.mask.quick-form-center input:focus,
.mask.quick-form-center select:focus,
.mask.quick-form-center textarea:focus{
  border-color:#93c5fd !important;
  box-shadow:0 0 0 4px rgba(59,130,246,.12) !important;
}
.mask.quick-form-center .form-grid label:nth-child(4n+1){border-top:4px solid rgba(37,99,235,.28) !important;}
.mask.quick-form-center .form-grid label:nth-child(4n+2){border-top:4px solid rgba(16,185,129,.28) !important;}
.mask.quick-form-center .form-grid label:nth-child(4n+3){border-top:4px solid rgba(245,158,11,.30) !important;}
.mask.quick-form-center .form-grid label:nth-child(4n+4){border-top:4px solid rgba(124,58,237,.26) !important;}
.mask.quick-form-center .mask-body .grid,
.mask.quick-form-center .mask-body .card{
  border-radius:22px !important;
}
@media(max-width:900px){
  .mask.quick-form-center.show{padding:18px !important;}
  .mask.quick-form-center .mask-panel{width:100% !important;max-height:88vh !important;border-radius:28px !important;}
  .mask.quick-form-center .form-grid{grid-template-columns:1fr !important;}
}
@media(max-width:560px){
  .mask.quick-form-center.show{align-items:flex-end !important;padding:10px !important;}
  .mask.quick-form-center .mask-panel{width:100% !important;max-height:92vh !important;border-radius:28px 28px 18px 18px !important;}
  .mask.quick-form-center .mask-head{padding:15px !important;}
  .mask.quick-form-center .mask-title h2{font-size:24px !important;}
  .mask.quick-form-center .mask-title p{font-size:12px !important;}
  .mask.quick-form-center .mask-head .actions button{min-height:36px !important;padding:0 10px !important;}
  .mask.quick-form-center .mask-body{padding:14px !important;}
  .mask.quick-form-center .form-grid label{padding:12px !important;border-radius:18px !important;}
}


/* ===== /assets/css/27-rabbit-maildesk-v1.css ===== */
/* =========================================================
   Rabbit Mail Desk V1 — Aruba IMAP ready
   Macrocard Home + pagina Mail Desk + azioni operative.
   ========================================================= */
#home .rabbit-maildesk-wide-card{
  position:relative!important;
  grid-column:1 / -1!important;
  min-height:214px!important;
  margin:0 0 18px!important;
  border-radius:34px!important;
  padding:20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) 280px minmax(300px,.92fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  overflow:hidden!important;
  color:#0f172a!important;
  border:1px solid rgba(203,213,225,.78)!important;
  background:radial-gradient(circle at 92% 0%,rgba(37,99,235,.14),transparent 34%),radial-gradient(circle at 8% 100%,rgba(16,185,129,.13),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.88))!important;
  box-shadow:0 28px 78px rgba(15,23,42,.13),0 8px 24px rgba(15,23,42,.055)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
#home .rabbit-maildesk-wide-card:hover,#home .rabbit-maildesk-wide-card:focus-within{transform:translateY(-3px)!important;border-color:#bfdbfe!important;box-shadow:0 36px 98px rgba(15,23,42,.17),0 12px 30px rgba(15,23,42,.07)!important;z-index:6!important}
#home .rabbit-maildesk-wide-card:before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(to right,rgba(37,99,235,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(37,99,235,.035) 1px,transparent 1px)!important;background-size:38px 38px!important;opacity:.60!important;pointer-events:none!important}
#home .rabbit-maildesk-wide-card>*{position:relative!important;z-index:1!important}
#home .maildesk-wide-left{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:16px!important;align-items:start!important}
#home .maildesk-wide-icon{width:72px!important;height:72px!important;border-radius:26px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#dbeafe,#ccfbf1)!important;color:#0f5f8f!important;border:1px solid #bfdbfe!important;box-shadow:0 18px 38px rgba(15,95,143,.15)!important}
#home .maildesk-wide-icon svg{width:30px!important;height:30px!important}
#home .maildesk-wide-kicker{display:inline-flex!important;min-height:28px!important;align-items:center!important;padding:0 10px!important;border-radius:999px!important;background:#eff6ff!important;border:1px solid #dbeafe!important;color:#1d4ed8!important;font-size:10px!important;font-weight:950!important;letter-spacing:.07em!important;text-transform:uppercase!important}
#home .maildesk-wide-left h4{margin:12px 0 7px!important;color:#0f172a!important;font-size:34px!important;line-height:.97!important;letter-spacing:-.075em!important;font-weight:950!important}
#home .maildesk-wide-left p{margin:0!important;max-width:620px!important;color:#64748b!important;font-size:13px!important;line-height:1.45!important;font-weight:750!important}
#home .maildesk-wide-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:14px!important}
#home .maildesk-wide-actions button{min-height:39px!important;border-radius:15px!important;font-size:12px!important;font-weight:950!important}
#home .maildesk-wide-actions button:first-child{border:0!important;color:#fff!important;background:linear-gradient(135deg,#2563eb,#10b981)!important;box-shadow:0 16px 34px rgba(37,99,235,.22)!important}
#home .maildesk-wide-center{display:grid!important;gap:12px!important;align-content:center!important}
#home .maildesk-wide-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important}
#home .maildesk-wide-stats span{min-height:72px!important;border-radius:20px!important;display:grid!important;place-items:center!important;text-align:center!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 12px 28px rgba(15,23,42,.055)!important}
#home .maildesk-wide-stats b{color:#0f172a!important;font-size:25px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.05em!important}
#home .maildesk-wide-stats small{margin-top:5px!important;color:#64748b!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:900!important}
#home .maildesk-wide-note{min-height:42px!important;border-radius:17px!important;display:flex!important;align-items:center!important;padding:10px 12px!important;background:#ecfdf5!important;border:1px solid #bbf7d0!important;color:#047857!important;font-size:11px!important;line-height:1.3!important;font-weight:850!important}
#home .maildesk-wide-note.demo{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important}
#home .maildesk-wide-list{display:grid!important;gap:8px!important;align-content:center!important}
#home .maildesk-home-row{min-height:54px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important;padding:8px!important;border-radius:17px!important;background:#fff!important;border:1px solid #e6edf5!important;box-shadow:0 10px 22px rgba(15,23,42,.045)!important}
#home .maildesk-home-row>span{width:38px!important;height:38px!important;border-radius:15px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#dbeafe,#ccfbf1)!important;color:#0f4c81!important;font-weight:950!important}
#home .maildesk-home-row b{display:block!important;color:#0f172a!important;font-size:12px!important;font-weight:950!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#home .maildesk-home-row small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:10px!important;font-weight:750!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#home .maildesk-home-row em{height:24px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;padding:0 8px!important;background:#fef3c7!important;color:#92400e!important;font-size:9px!important;font-weight:950!important;font-style:normal!important;text-transform:uppercase!important}
#maildesk .maildesk-page{display:grid;gap:16px;color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#maildesk .maildesk-hero{position:relative;overflow:hidden;min-height:270px;border-radius:34px;padding:26px;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px;align-items:end;background:radial-gradient(circle at 86% 0%,rgba(37,99,235,.16),transparent 34%),radial-gradient(circle at 10% 100%,rgba(16,185,129,.12),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.88));border:1px solid rgba(203,213,225,.78);box-shadow:0 28px 72px rgba(15,23,42,.10),0 8px 22px rgba(15,23,42,.045)}
#maildesk .maildesk-kicker{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
#maildesk .maildesk-hero h2{margin:12px 0 8px;color:#0f172a;font-size:46px;line-height:.98;letter-spacing:-.075em;font-weight:950}
#maildesk .maildesk-hero h2 span{color:#0f5f8f}
#maildesk .maildesk-hero p{max-width:760px;margin:0 0 18px;color:#64748b;font-size:14px;line-height:1.5;font-weight:700}
#maildesk .maildesk-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#maildesk .maildesk-hero-stats>div{min-height:92px;border-radius:24px;padding:16px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 14px 34px rgba(15,23,42,.06);display:grid;align-content:center}
#maildesk .maildesk-hero-stats b{font-size:28px;line-height:1;color:#0f172a;font-weight:950;letter-spacing:-.05em}
#maildesk .maildesk-hero-stats small{margin-top:7px;color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
#maildesk .maildesk-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid #e2e8f0;box-shadow:0 16px 42px rgba(15,23,42,.07)}
#maildesk .maildesk-search{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:44px;padding:0 10px;border-radius:999px;background:#f8fafc;border:1px solid #e6edf5;color:#94a3b8}
#maildesk .maildesk-search input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0!important}
#maildesk .maildesk-filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#maildesk .maildesk-filter button{min-height:40px;border-radius:999px;font-size:12px;font-weight:900}
#maildesk .maildesk-grid{display:grid;gap:12px}
#maildesk .maildesk-message{min-height:152px;display:grid;grid-template-columns:58px minmax(0,1fr) 260px;gap:14px;align-items:start;padding:16px;border-radius:26px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 48px rgba(15,23,42,.075);border-left:6px solid #3b82f6;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
#maildesk .maildesk-message.unread{border-left-color:#10b981;background:linear-gradient(135deg,#fff,#f8fffc)}
#maildesk .maildesk-message:hover{transform:translateY(-2px);box-shadow:0 28px 70px rgba(15,23,42,.12);border-color:#cbd5e1}
#maildesk .maildesk-avatar{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#ccfbf1);color:#0f4c81;font-size:18px;font-weight:950;border:1px solid #dbeafe}
#maildesk .maildesk-message-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
#maildesk .maildesk-message h3{margin:0;color:#0f172a;font-size:17px;line-height:1.12;letter-spacing:-.04em;font-weight:950}
#maildesk .maildesk-message small{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:800;line-height:1.3}
#maildesk .maildesk-message p{margin:11px 0 0;color:#334155;font-size:12px;line-height:1.45;font-weight:750}
#maildesk .maildesk-badge{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
#maildesk .maildesk-badge.unread{background:#dcfce7;color:#166534}
#maildesk .maildesk-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
#maildesk .maildesk-tags span{height:24px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:10px;font-weight:900}
#maildesk .maildesk-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:center}
#maildesk .maildesk-actions button{min-height:38px;border-radius:14px;font-size:11px;font-weight:950}
.mail-open p{font-size:13px;line-height:1.45;color:#334155}
@media(max-width:1180px){#home .rabbit-maildesk-wide-card{grid-template-columns:1fr!important}#maildesk .maildesk-hero{grid-template-columns:1fr}#maildesk .maildesk-toolbar{grid-template-columns:1fr}#maildesk .maildesk-filter{justify-content:flex-start}#maildesk .maildesk-message{grid-template-columns:52px minmax(0,1fr)}}
@media(max-width:720px){#home .rabbit-maildesk-wide-card{padding:16px!important;border-radius:26px!important}#home .maildesk-wide-left{grid-template-columns:56px minmax(0,1fr)!important}#home .maildesk-wide-icon{width:56px!important;height:56px!important;border-radius:20px!important}#home .maildesk-wide-left h4{font-size:27px!important}#home .maildesk-wide-stats{grid-template-columns:1fr 1fr 1fr!important}#maildesk .maildesk-hero{padding:18px;border-radius:26px}#maildesk .maildesk-hero h2{font-size:34px}#maildesk .maildesk-hero-stats{grid-template-columns:1fr 1fr}#maildesk .maildesk-message{grid-template-columns:1fr;border-radius:22px;padding:14px}#maildesk .maildesk-actions{grid-template-columns:1fr 1fr}}

/* =========================================================
   Rabbit Mail Desk Home Summary V3 — UX/UI operativa
   Card riepilogo compatta: stato, KPI, unread-first preview.
   ========================================================= */
#home .rabbit-maildesk-summary-v3{
  grid-column:1 / -1!important;
  min-height:238px!important;
  margin:0 0 20px!important;
  padding:22px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr) minmax(360px,1.04fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  border-radius:32px!important;
  border:1px solid rgba(170,194,225,.62)!important;
  background:radial-gradient(circle at 7% 15%,rgba(40,196,173,.13),transparent 28%),radial-gradient(circle at 92% 18%,rgba(44,118,232,.14),transparent 30%),linear-gradient(120deg,rgba(255,255,255,.94),rgba(250,253,255,.78))!important;
  box-shadow:0 24px 70px rgba(20,45,85,.12),0 8px 22px rgba(20,45,85,.045)!important;
  overflow:hidden!important;
  color:#07152d!important;
}
#home .rabbit-maildesk-summary-v3:after{
  content:"MAIL DESK"!important;
  position:absolute!important;
  right:22px!important;
  bottom:-20px!important;
  font-size:72px!important;
  line-height:.85!important;
  font-weight:1000!important;
  letter-spacing:-.08em!important;
  color:rgba(16,47,88,.04)!important;
  pointer-events:none!important;
}
#home .rabbit-maildesk-summary-v3:hover,#home .rabbit-maildesk-summary-v3:focus-within{
  transform:translateY(-2px)!important;
  border-color:rgba(38,116,232,.28)!important;
  box-shadow:0 34px 90px rgba(20,45,85,.15),0 10px 28px rgba(20,45,85,.07)!important;
}
#home .maildesk-summary-left,#home .maildesk-summary-center,#home .maildesk-summary-right{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
#home .maildesk-summary-left{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  justify-content:space-between!important;
}
#home .maildesk-summary-identity{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-icon{
  width:58px!important;
  height:58px!important;
  border-radius:22px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#e4fbff,#d8f1ff)!important;
  border:1px solid #bee9fb!important;
  color:#116c91!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 14px 28px rgba(15,95,143,.12)!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-icon svg{width:25px!important;height:25px!important}
#home .maildesk-summary-eyebrows{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  margin-bottom:7px!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-kicker{
  min-height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  border:1px solid #d9e8ff!important;
  color:#275bdc!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#home .maildesk-summary-status{
  min-height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#e9fbf2!important;
  color:#08764b!important;
  font-size:11px!important;
  font-weight:900!important;
}
#home .maildesk-summary-status:before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#16a66a!important;
  box-shadow:0 0 0 4px rgba(22,166,106,.12)!important;
}
#home .maildesk-summary-status.demo{background:#fff7ed!important;color:#9a3412!important}
#home .maildesk-summary-status.demo:before{background:#f59e0b!important;box-shadow:0 0 0 4px rgba(245,158,11,.14)!important}
#home .rabbit-maildesk-summary-v3 h4{
  margin:0!important;
  font-size:32px!important;
  line-height:.98!important;
  letter-spacing:-.07em!important;
  font-weight:950!important;
  color:#07152d!important;
}
#home .rabbit-maildesk-summary-v3 p{
  margin:8px 0 0!important;
  max-width:460px!important;
  color:#5f728a!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
#home .maildesk-summary-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
#home .maildesk-summary-strip span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:0 10px!important;
  border-radius:13px!important;
  border:1px solid rgba(182,204,230,.82)!important;
  background:rgba(255,255,255,.68)!important;
  color:#52677e!important;
  font-size:11px!important;
  font-weight:850!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-actions{
  margin-top:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button{
  min-height:42px!important;
  border-radius:15px!important;
  padding:0 16px!important;
  font-size:12px!important;
  font-weight:950!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button:hover{transform:translateY(-1px)!important;box-shadow:0 12px 28px rgba(20,45,85,.12)!important}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button:first-child{
  border:0!important;
  color:#fff!important;
  background:linear-gradient(135deg,#2674e8,#18b789)!important;
  box-shadow:0 15px 34px rgba(38,116,232,.22)!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button:not(:first-child){
  color:#153355!important;
  background:#fff!important;
  border:1px solid rgba(178,200,226,.85)!important;
}
#home .maildesk-summary-center{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:12px!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-stats{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-stats span{
  min-height:78px!important;
  border:1px solid rgba(182,204,230,.75)!important;
  background:rgba(255,255,255,.72)!important;
  border-radius:21px!important;
  padding:13px 12px!important;
  box-shadow:0 10px 22px rgba(20,45,85,.055)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  text-align:left!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-stats span.important{
  background:linear-gradient(145deg,#eaf3ff,#fff)!important;
  border-color:rgba(38,116,232,.35)!important;
  box-shadow:0 16px 32px rgba(38,116,232,.12)!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-stats b{
  color:#07152d!important;
  font-size:30px!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  font-weight:950!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-stats small{
  color:#6a7c91!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-stats span.important small{color:#235dc9!important}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-note{
  min-height:38px!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  padding:9px 12px!important;
  background:#ecfdf5!important;
  border:1px solid #bbf7d0!important;
  color:#047857!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-note.demo{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important}
#home .maildesk-summary-right{
  min-height:0!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(186,207,232,.72)!important;
  border-radius:26px!important;
  padding:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
#home .maildesk-preview-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding:4px 4px 11px!important;
  border-bottom:1px solid rgba(184,204,230,.70)!important;
}
#home .maildesk-preview-head strong{
  color:#07152d!important;
  font-size:14px!important;
  letter-spacing:-.03em!important;
  font-weight:950!important;
}
#home .maildesk-preview-head span{
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  color:#235dc9!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-wide-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  align-content:unset!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row{
  min-height:58px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  padding:10px!important;
  border-radius:18px!important;
  border:1px solid transparent!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 8px 18px rgba(20,45,85,.055)!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row.unread{
  background:linear-gradient(90deg,#f1f7ff,#fff)!important;
  border-color:rgba(38,116,232,.22)!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-avatar{
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:#dff8ff!important;
  color:#127192!important;
  font-weight:950!important;
  position:relative!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row.unread .maildesk-home-avatar:after{
  content:""!important;
  position:absolute!important;
  right:-2px!important;
  top:-2px!important;
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  background:#2674e8!important;
  border:2px solid #fff!important;
}
#home .maildesk-home-text{min-width:0!important}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row b{
  display:block!important;
  color:#07152d!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row small{
  display:block!important;
  margin-top:4px!important;
  color:#697b90!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:780!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#home .maildesk-home-tags{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:5px!important;
  white-space:nowrap!important;
}
#home .maildesk-home-tags time{
  color:#53677e!important;
  font-size:10px!important;
  font-weight:850!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row em{
  height:22px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 7px!important;
  background:#fff3cd!important;
  color:#9a6400!important;
  font-size:9px!important;
  font-weight:1000!important;
  font-style:normal!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row em.new{background:#eaf3ff!important;color:#235dc9!important}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row em.read{background:#f1f5f9!important;color:#64748b!important}
#home .maildesk-summary-insights{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:2px!important;
}
#home .maildesk-summary-insights span{
  min-height:36px!important;
  border:1px dashed rgba(140,164,194,.55)!important;
  border-radius:14px!important;
  padding:8px 9px!important;
  background:rgba(255,255,255,.48)!important;
  color:#566b82!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:850!important;
  overflow:hidden!important;
}
#home .maildesk-home-empty{
  min-height:66px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  border:1px dashed rgba(140,164,194,.55)!important;
  color:#64748b!important;
  font-weight:850!important;
  background:rgba(255,255,255,.48)!important;
}
@media(max-width:1280px){
  #home .rabbit-maildesk-summary-v3{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr)!important}
  #home .maildesk-summary-center{grid-column:1 / -1!important;order:3!important}
  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:920px){
  #home .rabbit-maildesk-summary-v3{grid-template-columns:1fr!important;padding:18px!important;border-radius:28px!important}
  #home .maildesk-summary-center{order:initial!important}
  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  #home .maildesk-summary-identity{grid-template-columns:1fr!important}
  #home .rabbit-maildesk-summary-v3 h4{font-size:28px!important}
  #home .rabbit-maildesk-summary-v3 .maildesk-home-row{grid-template-columns:38px minmax(0,1fr)!important}
  #home .maildesk-home-tags{grid-column:2!important;flex-direction:row!important;align-items:center!important}
  #home .maildesk-summary-insights{grid-template-columns:1fr!important}
}

/* =========================================================
   Rabbit Mail Desk V4 — preview rapida Home + allegati
   ========================================================= */
#home .rabbit-maildesk-summary-v3 .maildesk-home-row{
  cursor:pointer!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-home-row:hover,
#home .rabbit-maildesk-summary-v3 .maildesk-home-row:focus{
  transform:translateY(-1px)!important;
  border-color:rgba(38,116,232,.36)!important;
  box-shadow:0 14px 30px rgba(20,45,85,.10)!important;
  outline:0!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-left{
  justify-content:center!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-identity{
  margin-bottom:4px!important;
}
.mail-open-preview-v4{
  display:grid!important;
  gap:14px!important;
}
.mail-open-preview-v4 .mail-open-meta{
  display:grid!important;
  gap:7px!important;
  padding:12px!important;
  border-radius:18px!important;
  background:#f8fbff!important;
  border:1px solid #e1ebf7!important;
}
.mail-open-preview-v4 .mail-open-meta p{
  margin:0!important;
  color:#334155!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:760!important;
}
.mail-open-preview-v4 .mail-open-body{
  max-height:320px!important;
  overflow:auto!important;
  border-radius:20px!important;
  background:#fff!important;
}
.mail-open-preview-v4 .mail-open-body p{
  margin:0!important;
  color:#1f2937!important;
  font-size:13px!important;
  line-height:1.55!important;
  font-weight:650!important;
  white-space:normal!important;
}
.mail-open-attachments{
  display:grid!important;
  gap:8px!important;
  padding:12px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
  border:1px solid #e1ebf7!important;
}
.mail-open-attachments h4{
  margin:0!important;
  color:#0f172a!important;
  font-size:14px!important;
  letter-spacing:-.025em!important;
  font-weight:950!important;
}
.mail-open-attachments.empty p{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:750!important;
}
.mail-open-attachment{
  min-height:50px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px 11px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #e6edf5!important;
  box-shadow:0 8px 18px rgba(15,23,42,.045)!important;
}
.mail-open-attachment.warning{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
}
.mail-open-attachment b{
  display:block!important;
  color:#0f172a!important;
  font-size:12px!important;
  font-weight:950!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mail-open-attachment small{
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-size:10px!important;
  font-weight:780!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mail-open-download{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 12px!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#2674e8,#18b789)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:950!important;
  box-shadow:0 12px 24px rgba(38,116,232,.18)!important;
}
.mail-open-download.disabled{
  background:#e2e8f0!important;
  color:#64748b!important;
  box-shadow:none!important;
}
@media(max-width:620px){
  .mail-open-attachment{grid-template-columns:1fr!important}
  .mail-open-download{width:100%!important}
}

/* =========================================================
   Rabbit Mail Desk Home V10 — action rail orizzontale
   ========================================================= */
#home .rabbit-maildesk-summary-v3{
  grid-template-rows:minmax(0,1fr) auto!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-left{
  grid-column:1!important;
  grid-row:1!important;
  justify-content:center!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-center{
  grid-column:2!important;
  grid-row:1!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-right{
  grid-column:3!important;
  grid-row:1 / span 2!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail{
  grid-column:1 / 3!important;
  grid-row:2!important;
  margin-top:2px!important;
  display:grid!important;
  grid-template-columns:1.15fr .92fr .92fr!important;
  gap:10px!important;
  align-items:center!important;
  align-self:end!important;
  max-width:760px!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail button{
  width:100%!important;
  min-height:44px!important;
  border-radius:16px!important;
  padding:0 16px!important;
  white-space:nowrap!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail button:first-child{
  min-height:48px!important;
  font-size:13px!important;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail button:nth-child(2):before{
  content:'↻';
  margin-right:6px;
  font-weight:950;
}
#home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail button:nth-child(3):before{
  content:'⚙';
  margin-right:6px;
  font-weight:950;
}
@media(max-width:1280px){
  #home .rabbit-maildesk-summary-v3{
    grid-template-columns:minmax(0,1fr) minmax(360px,.92fr)!important;
    grid-template-rows:auto auto auto!important;
  }
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-left{grid-column:1!important;grid-row:1!important}
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-right{grid-column:2!important;grid-row:1 / span 3!important}
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-center{grid-column:1!important;grid-row:2!important;order:initial!important}
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail{grid-column:1!important;grid-row:3!important;max-width:none!important}
}
@media(max-width:920px){
  #home .rabbit-maildesk-summary-v3{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-left,
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-center,
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-right,
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail{
    grid-column:1!important;
    grid-row:auto!important;
  }
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail{
    grid-template-columns:1fr 1fr 1fr!important;
    max-width:none!important;
  }
}
@media(max-width:620px){
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail{
    grid-template-columns:1fr!important;
  }
  #home .rabbit-maildesk-summary-v3 .maildesk-summary-actions-rail button{
    width:100%!important;
  }
}


/* ===== /assets/css/23-rabbit-operational-rightbar-v1.css ===== */
/* =========================================================
   Rabbit Operational Rightbar V1
   Centro operativo spostato nella rail destra della Home.
   ========================================================= */
#home.view.rabbit-home-with-rightbar-v1.active{
  max-width:1560px !important;
  width:100% !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 380px !important;
  grid-auto-rows:auto !important;
  gap:20px !important;
  align-items:start !important;
  padding:26px 28px 34px !important;
}
#home.rabbit-home-with-rightbar-v1 > .command-center,
#home.rabbit-home-with-rightbar-v1 > .rabbit-pro-command{
  grid-column:1 / -1 !important;
  margin-bottom:2px !important;
}
#home.rabbit-home-with-rightbar-v1 > #homeLauncherCards{
  grid-column:1 !important;
  grid-row:auto !important;
  min-width:0 !important;
  margin:0 !important;
}
#home.rabbit-home-with-rightbar-v1 .home-launcher-shell,
#home.rabbit-home-with-rightbar-v1 .rabbit-pro-modules{width:100% !important;}
#home .rabbit-ops-rightbar-v1{
  grid-column:2 !important;
  grid-row:2 / span 5 !important;
  position:sticky !important;
  top:92px !important;
  align-self:start !important;
  max-height:calc(100vh - 118px) !important;
  overflow:auto !important;
  padding:16px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(226,232,240,.98) !important;
  box-shadow:0 24px 60px rgba(15,23,42,.10),0 8px 20px rgba(15,23,42,.045) !important;
  backdrop-filter:blur(18px) !important;
  color:#0f172a !important;
  z-index:4 !important;
}
#home .rabbit-ops-rightbar-v1::-webkit-scrollbar{width:8px !important;}
#home .rabbit-ops-rightbar-v1::-webkit-scrollbar-thumb{background:#cbd5e1 !important;border-radius:999px !important;}
#home .ror-head{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:12px !important;align-items:start !important;padding:3px 2px 13px !important;border-bottom:1px solid #e6edf5 !important;}
#home .ror-head span{display:inline-flex !important;min-height:24px !important;align-items:center !important;padding:0 9px !important;border-radius:999px !important;background:#eff6ff !important;color:#1d4ed8 !important;font-size:10px !important;font-weight:950 !important;text-transform:uppercase !important;letter-spacing:.055em !important;}
#home .ror-head h2{margin:8px 0 5px !important;color:#0f172a !important;font-size:22px !important;line-height:1.05 !important;letter-spacing:-.055em !important;font-weight:950 !important;}
#home .ror-head p{margin:0 !important;color:#64748b !important;font-size:12px !important;line-height:1.38 !important;font-weight:700 !important;}
#home .ror-head button{min-height:36px !important;border-radius:14px !important;border:1px solid #dbe4ee !important;background:#fff !important;color:#0f3360 !important;padding:0 11px !important;font-size:11px !important;font-weight:950 !important;box-shadow:0 8px 18px rgba(15,23,42,.045) !important;}
#home .ror-summary{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:8px !important;margin:12px 0 14px !important;}
#home .ror-summary span{min-height:52px !important;display:grid !important;align-content:center !important;justify-items:center !important;border-radius:18px !important;background:#f8fafc !important;border:1px solid #e6edf5 !important;color:#64748b !important;font-size:10px !important;font-weight:850 !important;text-align:center !important;}
#home .ror-summary b{display:block !important;color:#0f172a !important;font-size:18px !important;line-height:1 !important;letter-spacing:-.04em !important;}
#home .ror-sections{display:grid !important;gap:10px !important;}
#home .ror-section{border-radius:22px !important;background:#fff !important;border:1px solid #e6edf5 !important;box-shadow:0 10px 24px rgba(15,23,42,.045) !important;padding:12px !important;overflow:hidden !important;}
#home .ror-section.priority{border-left:4px solid #fb7185 !important;}
#home .ror-section.today{border-left:4px solid #3b82f6 !important;}
#home .ror-section.upcoming{border-left:4px solid #8b5cf6 !important;}
#home .ror-section.programs{border-left:4px solid #10b981 !important;}
#home .ror-section.docs{border-left:4px solid #0ea5e9 !important;}
#home .ror-section.invoices{border-left:4px solid #f59e0b !important;}
#home .ror-section.feed{border-left:4px solid #64748b !important;}
#home .ror-section-head{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:10px !important;align-items:start !important;margin-bottom:10px !important;}
#home .ror-section-head h3{margin:0 !important;color:#0f172a !important;font-size:13px !important;line-height:1.12 !important;letter-spacing:-.025em !important;font-weight:950 !important;}
#home .ror-section-head small{display:block !important;margin-top:4px !important;color:#64748b !important;font-size:10.5px !important;line-height:1.28 !important;font-weight:750 !important;}
#home .ror-section-head em{min-width:26px !important;height:24px !important;border-radius:999px !important;display:grid !important;place-items:center !important;background:#f1f5f9 !important;color:#334155 !important;font-size:10px !important;font-style:normal !important;font-weight:950 !important;}
#home .ror-section-body{display:grid !important;gap:7px !important;}
#home .ror-item{display:grid !important;grid-template-columns:36px minmax(0,1fr) auto auto !important;gap:8px !important;align-items:center !important;min-height:50px !important;padding:8px !important;border-radius:16px !important;background:#f8fafc !important;border:1px solid #e8eef6 !important;}
#home .ror-item-icon{width:36px !important;height:36px !important;border-radius:14px !important;display:grid !important;place-items:center !important;background:#eef6ff !important;color:#1d4ed8 !important;font-size:11px !important;font-weight:950 !important;}
#home .ror-item b{display:block !important;max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;color:#0f172a !important;font-size:11.5px !important;font-weight:950 !important;}
#home .ror-item small{display:block !important;margin-top:3px !important;max-width:100% !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;color:#64748b !important;font-size:10px !important;font-weight:750 !important;}
#home .ror-item em{min-width:24px !important;height:22px !important;border-radius:999px !important;display:grid !important;place-items:center !important;background:#fee2e2 !important;color:#b91c1c !important;font-size:9px !important;font-style:normal !important;font-weight:950 !important;}
#home .ror-item button,#home .ror-program button,#home .ror-section-action{min-height:28px !important;border-radius:11px !important;border:1px solid #dbe4ee !important;background:#fff !important;color:#0f3360 !important;padding:0 9px !important;font-size:10px !important;font-weight:950 !important;}
#home .ror-section-action{margin-top:9px !important;width:100% !important;min-height:34px !important;background:#f8fafc !important;}
#home .ror-program{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:8px !important;align-items:center !important;padding:9px !important;border-radius:16px !important;background:#f8fafc !important;border:1px solid #e8eef6 !important;}
#home .ror-program b{display:block !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;font-size:11.5px !important;font-weight:950 !important;}
#home .ror-program small{display:block !important;margin-top:3px !important;color:#64748b !important;font-size:10px !important;font-weight:750 !important;}
#home .ror-progress{grid-column:1 / -1 !important;height:6px !important;border-radius:999px !important;background:#e2e8f0 !important;overflow:hidden !important;}
#home .ror-progress span{display:block !important;height:100% !important;border-radius:999px !important;background:linear-gradient(90deg,#0f766e,#10b981) !important;}
#home .ror-empty{min-height:48px !important;display:flex !important;align-items:center !important;padding:10px !important;border-radius:15px !important;background:#f8fafc !important;border:1px dashed #cbd5e1 !important;color:#64748b !important;font-size:11px !important;font-weight:800 !important;}
@media(max-width:1380px){#home.view.rabbit-home-with-rightbar-v1.active{grid-template-columns:minmax(0,1fr) 350px !important;gap:18px !important;padding-left:22px !important;padding-right:22px !important;}}
@media(max-width:1120px){#home.view.rabbit-home-with-rightbar-v1.active{display:block !important;max-width:1180px !important;}#home .rabbit-ops-rightbar-v1{position:relative !important;top:auto !important;max-height:none !important;overflow:visible !important;margin-top:20px !important;}}
@media(max-width:640px){#home.view.rabbit-home-with-rightbar-v1.active{padding:16px !important;}#home .rabbit-ops-rightbar-v1{border-radius:24px !important;padding:13px !important;}#home .ror-summary{grid-template-columns:1fr 1fr 1fr !important;}#home .ror-item{grid-template-columns:34px minmax(0,1fr) auto !important;}#home .ror-item button{grid-column:2 / -1 !important;justify-self:start !important;margin-top:3px !important;}}


/* ===== /assets/css/28-rabbit-smartphone-faithful-v6.css ===== */
/* =========================================================
   Rabbit Smartphone Faithful V6
   Responsive mobile fedele alla Home desktop:
   - stessa gerarchia visiva, una colonna ordinata
   - card Mail Desk stabile e leggibile
   - preview mail/allegati ottimizzati touch
   - nessuna modifica a logica, Supabase, Gmail OAuth o Netlify
   ========================================================= */

@media (max-width: 760px){
  :root{
    --rf-mobile-pad: clamp(10px, 3.2vw, 16px);
    --rf-mobile-radius: 22px;
    --rf-mobile-line: #dfe8f4;
    --rf-mobile-shadow: 0 16px 38px rgba(15, 23, 42, .09), 0 5px 14px rgba(15, 23, 42, .045);
  }

  html,
  body{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    background-color:#f7fafc !important;
    background-image:
      linear-gradient(to right, rgba(37,99,235,.032) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(37,99,235,.032) 1px, transparent 1px) !important;
    background-size:40px 40px !important;
    -webkit-text-size-adjust:100% !important;
    overscroll-behavior-x:none !important;
  }

  *{
    box-sizing:border-box !important;
  }

  .scale-root,
  .scale-root .app,
  .app,
  .app.no-rightbar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:block !important;
    transform:none !important;
  }

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

  .main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding: max(8px, env(safe-area-inset-top, 0px)) var(--rf-mobile-pad) calc(98px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x:hidden !important;
    background:transparent !important;
  }

  .view,
  #home.view,
  #home.view.rabbit-home-with-rightbar-v1.active{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:visible !important;
  }

  /* Topbar fedele: menu, ricerca, profilo, ma senza compressioni o scroll laterale. */
  .topbar,
  .topbar.rabbit-pro-topbar{
    position:sticky !important;
    top:max(0px, env(safe-area-inset-top, 0px)) !important;
    z-index:100 !important;
    width:100% !important;
    min-height:60px !important;
    margin:0 0 12px !important;
    padding:8px !important;
    display:grid !important;
    grid-template-columns:42px minmax(0, 1fr) auto !important;
    grid-template-areas:"menu search user" !important;
    align-items:center !important;
    gap:8px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(220,231,244,.96) !important;
    box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
    backdrop-filter:blur(14px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(140%) !important;
  }

  .mobile-menu-btn{
    grid-area:menu !important;
    display:grid !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    padding:0 !important;
    place-items:center !important;
    border-radius:15px !important;
    border:1px solid #dbe5f1 !important;
    background:#fff !important;
    color:#0f172a !important;
    box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
    font-size:21px !important;
    line-height:1 !important;
  }

  .topbar .search,
  .topbar.rabbit-pro-topbar .search{
    grid-area:search !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:42px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .topbar input#globalSearch,
  .topbar .search input{
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 36px 0 13px !important;
    border-radius:15px !important;
    border:1px solid #dbe5f1 !important;
    background:#fff !important;
    color:#0f172a !important;
    font-size:16px !important;
    font-weight:650 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
  }

  .topbar .search button{
    position:absolute !important;
    right:7px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#94a3b8 !important;
    font-size:16px !important;
    padding:0 !important;
  }

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

  .rabbit-bell{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:14px !important;
    display:grid !important;
    place-items:center !important;
  }

  .rabbit-admin-chip{
    width:auto !important;
    max-width:122px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 8px 0 5px !important;
    gap:7px !important;
    border-radius:999px !important;
    background:#fff !important;
    border:1px solid #e0e8f2 !important;
    box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
  }

  .rabbit-avatar-dot{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    border-radius:999px !important;
    font-size:11px !important;
  }

  .rabbit-admin-chip b{
    max-width:72px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:12px !important;
    font-weight:850 !important;
    color:#0f172a !important;
  }

  /* Home: stessa struttura desktop, impilata. */
  #home .command-center,
  #home .command-center.rabbit-pro-command,
  #home .rabbit-pro-command{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:0 0 14px !important;
  }

  #home .command-panel,
  #home .rabbit-pro-hero,
  #home .command-panel.rabbit-pro-hero{
    width:100% !important;
    min-height:214px !important;
    height:auto !important;
    padding:18px !important;
    border-radius:26px !important;
    overflow:hidden !important;
    box-shadow:0 22px 48px rgba(15,23,42,.18) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
  }

  #home .command-title,
  #home .rabbit-pro-hero h1,
  #home .command-title span{
    width:100% !important;
    max-width:100% !important;
    color:#fff !important;
    font-size:clamp(30px, 8.8vw, 39px) !important;
    line-height:1.02 !important;
    letter-spacing:-.065em !important;
    text-align:left !important;
    margin:10px 0 8px !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  #home .command-panel .muted,
  #home .command-subtitle,
  #home .rabbit-pro-hero p{
    display:block !important;
    max-width:100% !important;
    color:rgba(226,232,240,.80) !important;
    font-size:12.5px !important;
    line-height:1.36 !important;
    margin:0 0 14px !important;
  }

  #home .command-actions,
  #home .rabbit-pro-hero-actions,
  #home .hero-actions{
    width:100% !important;
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:1px 1px 4px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    scroll-snap-type:x mandatory !important;
  }
  #home .command-actions::-webkit-scrollbar,
  #home .rabbit-pro-hero-actions::-webkit-scrollbar,
  #home .hero-actions::-webkit-scrollbar{display:none !important;}

  #home .command-actions button,
  #home .rabbit-pro-hero-actions button,
  #home .hero-actions button{
    flex:0 0 auto !important;
    min-width:112px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 14px !important;
    border-radius:15px !important;
    white-space:nowrap !important;
    font-size:12px !important;
    font-weight:900 !important;
    scroll-snap-align:start !important;
  }

  #home .command-center > .card,
  #home .rabbit-pro-pulse{
    width:100% !important;
    min-height:0 !important;
    padding:14px !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(220,231,244,.96) !important;
    box-shadow:var(--rf-mobile-shadow) !important;
  }

  #home .command-center > .card h3,
  #home .rabbit-pro-pulse h3{
    margin:0 0 10px !important;
    font-size:15px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    letter-spacing:-.025em !important;
  }

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

  #home .pulse-card{
    min-height:84px !important;
    border-radius:19px !important;
    padding:13px 36px 11px 13px !important;
  }
  #home .pulse-card b{font-size:28px !important;line-height:1 !important;}
  #home .pulse-card span,
  #home .pulse-card .muted{font-size:11px !important;line-height:1.15 !important;}

  #home #homeLauncherCards,
  #home.rabbit-home-with-rightbar-v1 > #homeLauncherCards{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    grid-column:auto !important;
  }

  #home .home-launcher-shell,
  #home .rabbit-pro-modules,
  #home .rabbit-macro-modules-v1{
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  #home .rabbit-macro-head,
  #home .home-launcher-head{
    margin:0 0 12px !important;
    padding:0 !important;
    display:block !important;
  }

  #home .rabbit-macro-head h3,
  #home .home-launcher-head h3{
    font-size:25px !important;
    line-height:1.05 !important;
    letter-spacing:-.06em !important;
  }

  #home .rabbit-macro-head p,
  #home .home-launcher-head p{
    display:none !important;
  }

  /* Mail Desk card: desktop fedele, ma mobile ordinato e leggibile. */
  #home .rabbit-maildesk-summary-v3,
  #home .rabbit-maildesk-wide-card.rabbit-maildesk-summary-v3{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 0 14px !important;
    padding:14px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    border-radius:26px !important;
    overflow:hidden !important;
    box-shadow:0 20px 48px rgba(20,45,85,.12), 0 6px 18px rgba(20,45,85,.05) !important;
  }

  #home .rabbit-maildesk-summary-v3:after{
    right:12px !important;
    bottom:-8px !important;
    font-size:46px !important;
    opacity:.74 !important;
  }

  #home .maildesk-summary-left,
  #home .maildesk-summary-center,
  #home .maildesk-summary-right{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  #home .maildesk-summary-left{
    gap:12px !important;
    justify-content:flex-start !important;
  }

  #home .maildesk-summary-identity{
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
    margin:0 !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-icon{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    border-radius:18px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-icon svg{
    width:22px !important;
    height:22px !important;
  }

  #home .maildesk-summary-eyebrows{
    gap:6px !important;
    margin:0 0 5px !important;
    flex-wrap:wrap !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-kicker{
    min-height:23px !important;
    max-width:100% !important;
    padding:0 8px !important;
    font-size:8.5px !important;
    letter-spacing:.065em !important;
  }

  #home .maildesk-summary-status{
    min-height:23px !important;
    padding:0 8px !important;
    font-size:10px !important;
  }

  #home .rabbit-maildesk-summary-v3 h4{
    font-size:28px !important;
    line-height:.98 !important;
    letter-spacing:-.07em !important;
  }

  #home .rabbit-maildesk-summary-v3 p{
    max-width:100% !important;
    margin-top:5px !important;
    font-size:12px !important;
    line-height:1.34 !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin:0 !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    height:42px !important;
    border-radius:15px !important;
    padding:0 10px !important;
    font-size:11.5px !important;
    touch-action:manipulation !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button:first-child{
    grid-column:1 / -1 !important;
  }

  #home .maildesk-summary-center{
    order:2 !important;
    gap:9px !important;
    justify-content:stretch !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:8px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats span{
    min-height:72px !important;
    border-radius:18px !important;
    padding:11px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats b{
    font-size:28px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats small{
    font-size:9px !important;
    letter-spacing:.075em !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-note{
    min-height:38px !important;
    padding:9px 11px !important;
    border-radius:15px !important;
    font-size:10.5px !important;
    line-height:1.22 !important;
  }

  #home .maildesk-summary-right{
    order:3 !important;
    padding:10px !important;
    border-radius:21px !important;
    gap:9px !important;
  }

  #home .maildesk-preview-head{
    padding:2px 2px 9px !important;
    gap:8px !important;
  }

  #home .maildesk-preview-head strong{
    font-size:13px !important;
  }

  #home .maildesk-preview-head span{
    padding:5px 8px !important;
    font-size:8.5px !important;
    letter-spacing:.045em !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-list{
    gap:8px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-home-row{
    width:100% !important;
    min-height:66px !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:10px !important;
    border-radius:17px !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-home-avatar{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    border-radius:14px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-home-row b{
    font-size:12px !important;
    line-height:1.18 !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-home-row small{
    font-size:10px !important;
    line-height:1.25 !important;
  }

  #home .maildesk-home-tags{
    grid-column:2 !important;
    width:100% !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    margin-top:-1px !important;
    gap:7px !important;
  }

  #home .maildesk-home-tags time{
    font-size:10px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-home-row em{
    height:22px !important;
    padding:0 7px !important;
    font-size:8.5px !important;
  }

  #home .maildesk-summary-insights{
    display:flex !important;
    grid-template-columns:none !important;
    gap:7px !important;
    overflow-x:auto !important;
    padding-bottom:2px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  #home .maildesk-summary-insights::-webkit-scrollbar{display:none !important;}

  #home .maildesk-summary-insights span{
    flex:0 0 auto !important;
    min-width:138px !important;
    max-width:180px !important;
    min-height:34px !important;
    border-radius:13px !important;
    padding:8px !important;
    font-size:9.5px !important;
    line-height:1.14 !important;
  }

  /* Macrocard: su smartphone si aprono già, senza hover obbligatorio. */
  #home .rabbit-macro-grid,
  #home .home-launcher-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  #home .rabbit-macro-card{
    width:100% !important;
    min-height:0 !important;
    border-radius:25px !important;
    box-shadow:0 18px 42px rgba(15,23,42,.09),0 5px 14px rgba(15,23,42,.045) !important;
  }

  #home .rabbit-macro-card:hover,
  #home .rabbit-macro-card:focus-within{
    min-height:0 !important;
    transform:none !important;
  }

  #home .rabbit-macro-cover{
    min-height:176px !important;
    padding:16px !important;
    grid-template-columns:50px minmax(0,1fr) auto !important;
    gap:11px !important;
  }

  #home .rabbit-macro-icon{
    width:50px !important;
    height:50px !important;
    border-radius:19px !important;
  }

  #home .rabbit-macro-kicker{
    min-height:25px !important;
    padding:0 8px !important;
    font-size:9px !important;
  }

  #home .rabbit-macro-cover h4{
    font-size:25px !important;
    line-height:1.02 !important;
    margin-top:8px !important;
  }

  #home .rabbit-macro-cover p{
    display:block !important;
    font-size:12px !important;
    line-height:1.34 !important;
  }

  #home .rabbit-macro-content{
    margin:0 12px 12px !important;
    max-height:none !important;
    opacity:1 !important;
    transform:none !important;
  }

  #home .rabbit-macro-inner-grid{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  #home .rabbit-macro-inner-grid .launch-card,
  #home .launch-card,
  #home .rabbit-pro-module-card{
    width:100% !important;
    min-height:72px !important;
    padding:10px !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    gap:10px !important;
    border-radius:17px !important;
    opacity:1 !important;
    transform:none !important;
  }

  #home .rabbit-macro-inner-grid .launch-icon,
  #home .launch-icon{
    width:38px !important;
    height:38px !important;
    border-radius:14px !important;
  }

  #home .launch-title,
  #home .rabbit-macro-inner-grid .launch-title{
    font-size:12px !important;
    line-height:1.18 !important;
  }

  #home .launch-desc,
  #home .rabbit-macro-inner-grid .launch-desc{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    font-size:10.5px !important;
    line-height:1.25 !important;
  }

  /* Centro operativo: fedele ma impilato sotto la Home, non come rail sticky. */
  #home .rabbit-ops-rightbar-v1{
    display:block !important;
    position:relative !important;
    top:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    max-height:none !important;
    overflow:visible !important;
    margin:14px 0 0 !important;
    padding:12px !important;
    border-radius:24px !important;
    box-shadow:0 18px 42px rgba(15,23,42,.09),0 5px 14px rgba(15,23,42,.045) !important;
  }

  #home .ror-head{
    padding:2px 1px 11px !important;
  }

  #home .ror-head h2{
    font-size:21px !important;
  }

  #home .ror-head p{
    font-size:11.5px !important;
  }

  #home .ror-summary{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:7px !important;
    margin:11px 0 12px !important;
  }

  #home .ror-summary span{
    min-height:50px !important;
    border-radius:16px !important;
  }

  #home .ror-sections{
    gap:9px !important;
  }

  #home .ror-section{
    border-radius:20px !important;
    padding:11px !important;
  }

  #home .ror-item{
    grid-template-columns:34px minmax(0,1fr) auto !important;
    gap:8px !important;
  }

  #home .ror-item button{
    grid-column:2 / -1 !important;
    justify-self:start !important;
    margin-top:2px !important;
  }

  /* Mail Desk pagina completa su smartphone. */
  #maildesk .maildesk-page{
    gap:12px !important;
  }

  #maildesk .maildesk-hero{
    min-height:0 !important;
    padding:16px !important;
    border-radius:25px !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }

  #maildesk .maildesk-hero h2{
    font-size:34px !important;
    line-height:1 !important;
  }

  #maildesk .maildesk-hero p{
    margin-bottom:12px !important;
    font-size:12.5px !important;
  }

  #maildesk .maildesk-hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  #maildesk .maildesk-hero-stats > div{
    min-height:76px !important;
    border-radius:18px !important;
    padding:12px !important;
  }

  #maildesk .maildesk-toolbar{
    grid-template-columns:1fr !important;
    padding:10px !important;
    border-radius:20px !important;
  }

  #maildesk .maildesk-filter{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    padding-bottom:2px !important;
    scrollbar-width:none !important;
  }
  #maildesk .maildesk-filter::-webkit-scrollbar{display:none !important;}

  #maildesk .maildesk-filter button{
    flex:0 0 auto !important;
    min-height:38px !important;
    font-size:11px !important;
  }

  #maildesk .maildesk-message{
    min-height:0 !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:21px !important;
    border-left-width:5px !important;
  }

  #maildesk .maildesk-avatar{
    width:42px !important;
    height:42px !important;
    border-radius:16px !important;
    font-size:14px !important;
  }

  #maildesk .maildesk-message-top{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  #maildesk .maildesk-message h3{
    font-size:14px !important;
    line-height:1.16 !important;
  }

  #maildesk .maildesk-message p{
    font-size:11.5px !important;
    line-height:1.36 !important;
    margin-top:8px !important;
  }

  #maildesk .maildesk-actions{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
  }

  #maildesk .maildesk-actions button{
    min-height:38px !important;
    border-radius:14px !important;
  }

  /* Anteprima email e allegati: bottom sheet comodo da smartphone. */
  .mask.show{
    align-items:flex-end !important;
    justify-content:center !important;
    padding:8px !important;
    background:rgba(15,23,42,.52) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }

  .mask-panel{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top, 0px)) !important;
    border-radius:26px 26px 18px 18px !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    overflow:hidden !important;
    background:#f8fafc !important;
    box-shadow:0 -18px 70px rgba(15,23,42,.34) !important;
  }

  .mask-head{
    position:relative !important;
    top:auto !important;
    min-height:76px !important;
    padding:14px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:start !important;
    background:#fff !important;
    border-bottom:1px solid #e2e8f0 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .mask-title{
    min-width:0 !important;
  }

  .mask-title h2{
    font-size:22px !important;
    line-height:1.05 !important;
    letter-spacing:-.05em !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .mask-title p,
  .mask-title small{
    font-size:11px !important;
    line-height:1.25 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .mask-head .actions{
    display:flex !important;
    gap:7px !important;
    align-items:center !important;
  }

  .mask-head .actions button,
  #maskSave{
    min-height:38px !important;
    border-radius:14px !important;
    padding:0 11px !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }

  .mask-body{
    min-height:0 !important;
    overflow:auto !important;
    padding:12px !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .mail-open-preview-v4{
    gap:10px !important;
  }

  .mail-open-preview-v4 .mail-open-meta{
    padding:10px !important;
    border-radius:16px !important;
  }

  .mail-open-preview-v4 .mail-open-meta p{
    font-size:11.5px !important;
    overflow-wrap:anywhere !important;
  }

  .mail-open-preview-v4 .mail-open-body{
    max-height:34dvh !important;
    border-radius:18px !important;
    padding:12px !important;
  }

  .mail-open-preview-v4 .mail-open-body p{
    font-size:12.5px !important;
    line-height:1.48 !important;
  }

  .mail-open-attachments{
    padding:10px !important;
    border-radius:18px !important;
  }

  .mail-open-attachment{
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:10px !important;
    border-radius:15px !important;
  }

  .mail-open-download{
    width:100% !important;
    min-height:38px !important;
    border-radius:13px !important;
  }

  .mail-open-preview-v4 .actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .mail-open-preview-v4 .actions button{
    width:100% !important;
    min-height:40px !important;
    border-radius:14px !important;
  }

  /* Drawer menu mobile coerente con sidebar desktop. */
  #mobileDrawer.mobile-drawer.show{
    z-index:2147483200 !important;
  }

  #mobileDrawer .mobile-drawer-panel{
    width:min(88vw, 360px) !important;
    max-width:360px !important;
    border-radius:0 28px 28px 0 !important;
    background:linear-gradient(180deg,#0b1b30 0%,#031020 100%) !important;
    color:#fff !important;
    box-shadow:28px 0 80px rgba(15,23,42,.28) !important;
  }

  #mobileDrawer .mobile-drawer-head{
    border-bottom:1px solid rgba(255,255,255,.11) !important;
  }

  #mobileDrawerNav.mobile-drawer-nav button{
    min-height:46px !important;
    border-radius:15px !important;
    margin-bottom:7px !important;
    color:#eaf2ff !important;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }
}

@media (max-width: 430px){
  .main{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .topbar,
  .topbar.rabbit-pro-topbar{
    grid-template-columns:40px minmax(0,1fr) 40px !important;
    gap:7px !important;
    padding:7px !important;
    border-radius:18px !important;
  }

  .mobile-menu-btn,
  .rabbit-admin-chip,
  .rabbit-bell{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }

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

  .rabbit-admin-chip{
    padding:0 !important;
    justify-content:center !important;
    border-radius:14px !important;
  }

  .rabbit-admin-chip b{
    display:none !important;
  }

  .rabbit-avatar-dot{
    width:30px !important;
    min-width:30px !important;
    height:30px !important;
  }

  #home .command-panel,
  #home .rabbit-pro-hero,
  #home .command-panel.rabbit-pro-hero{
    min-height:204px !important;
    padding:16px !important;
    border-radius:24px !important;
  }

  #home .command-title,
  #home .rabbit-pro-hero h1,
  #home .command-title span{
    font-size:clamp(28px, 9vw, 35px) !important;
  }

  #home .command-panel .muted,
  #home .command-subtitle,
  #home .rabbit-pro-hero p{
    font-size:12px !important;
  }

  #home .pulse-strip,
  #home .rabbit-pro-kpis{
    grid-template-columns:1fr 1fr !important;
  }

  #home .rabbit-maildesk-summary-v3,
  #home .rabbit-maildesk-wide-card.rabbit-maildesk-summary-v3{
    padding:12px !important;
    border-radius:24px !important;
  }

  #home .maildesk-summary-identity{
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:10px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-icon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border-radius:17px !important;
  }

  #home .rabbit-maildesk-summary-v3 h4{
    font-size:26px !important;
  }

  #home .rabbit-maildesk-summary-v3 p{
    font-size:11.5px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats span{
    min-height:68px !important;
    padding:10px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats b{
    font-size:26px !important;
  }

  #home .rabbit-macro-cover{
    min-height:164px !important;
    padding:14px !important;
  }

  #home .rabbit-macro-cover h4{
    font-size:23px !important;
  }

  #home .ror-head{
    grid-template-columns:1fr !important;
  }

  #home .ror-head button{
    width:100% !important;
  }
}

@media (max-width: 360px){
  .topbar input#globalSearch,
  .topbar .search input{
    padding-left:11px !important;
    padding-right:31px !important;
    font-size:15px !important;
  }

  #home .command-actions button,
  #home .rabbit-pro-hero-actions button,
  #home .hero-actions button{
    min-width:104px !important;
    padding:0 11px !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-actions{
    grid-template-columns:1fr !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-actions button:first-child{
    grid-column:auto !important;
  }

  #home .rabbit-maildesk-summary-v3 .maildesk-wide-stats{
    grid-template-columns:1fr 1fr !important;
  }

  .mask-title h2{
    font-size:20px !important;
  }
}


/* ===== /assets/css/29-rabbit-task-operativo-v8.css ===== */
/* =========================================================
   RABBIT TASK OPERATIVO V8
   UX/UI pagina Task coerente con Home, Mail Desk e macrocard.
   ========================================================= */
#assignments .rabbit-task-page-v8{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  color:#081a33 !important;
}
#assignments .task-hero-v8{
  position:relative !important;
  overflow:hidden !important;
  border-radius:30px !important;
  padding:28px !important;
  min-height:190px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 290px !important;
  gap:22px !important;
  align-items:center !important;
  background:
    radial-gradient(circle at 84% 8%,rgba(38,116,232,.16),transparent 34%),
    radial-gradient(circle at 12% 90%,rgba(17,185,129,.12),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,249,255,.86)) !important;
  border:1px solid rgba(190,210,236,.88) !important;
  box-shadow:0 24px 72px rgba(20,45,85,.11), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
#assignments .task-hero-v8:after{
  content:"TASK" !important;
  position:absolute !important;
  right:22px !important;
  bottom:-24px !important;
  font-size:96px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:-.09em !important;
  color:rgba(15,23,42,.035) !important;
  pointer-events:none !important;
}
#assignments .task-kicker{
  display:inline-flex !important;
  width:max-content !important;
  align-items:center !important;
  min-height:28px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  color:#2457d6 !important;
  background:#eef5ff !important;
  border:1px solid rgba(80,132,235,.18) !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
#assignments .task-hero-v8 h2{
  margin:12px 0 8px !important;
  font-size:42px !important;
  line-height:.96 !important;
  letter-spacing:-.075em !important;
  font-weight:1000 !important;
  color:#081a33 !important;
}
#assignments .task-hero-v8 h2 span{color:#2061d7 !important;}
#assignments .task-hero-v8 p{
  max-width:760px !important;
  margin:0 !important;
  color:#5b6f88 !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:650 !important;
}
#assignments .task-hero-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:18px !important;
}
#assignments .task-hero-actions button,
#assignments .rabbit-task-empty button{
  min-height:42px !important;
  padding:0 16px !important;
  border-radius:15px !important;
  border:1px solid rgba(178,200,226,.85) !important;
  background:#fff !important;
  color:#153355 !important;
  font-size:13px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(20,45,85,.055) !important;
}
#assignments .task-hero-actions button.primary,
#assignments .rabbit-task-empty button{
  color:#fff !important;
  border:0 !important;
  background:linear-gradient(135deg,#2674e8,#18b789) !important;
  box-shadow:0 15px 34px rgba(38,116,232,.22) !important;
}
#assignments .task-hero-panel{
  position:relative !important;
  z-index:1 !important;
  border-radius:26px !important;
  padding:22px !important;
  min-height:135px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  background:rgba(255,255,255,.68) !important;
  border:1px solid rgba(186,207,232,.76) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 12px 28px rgba(20,45,85,.07) !important;
}
#assignments .task-hero-panel b{
  display:block !important;
  font-size:48px !important;
  line-height:.9 !important;
  letter-spacing:-.08em !important;
  color:#0b2648 !important;
}
#assignments .task-hero-panel span{
  margin-top:8px !important;
  font-size:13px !important;
  text-transform:uppercase !important;
  letter-spacing:.07em !important;
  font-weight:950 !important;
  color:#2457d6 !important;
}
#assignments .task-hero-panel small{
  margin-top:9px !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:780 !important;
}
#assignments .task-kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}
#assignments .task-kpi{
  min-height:96px !important;
  text-align:left !important;
  padding:16px !important;
  border-radius:22px !important;
  border:1px solid rgba(190,210,236,.86) !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 14px 32px rgba(20,45,85,.07) !important;
  cursor:pointer !important;
  transition:.18s ease !important;
}
#assignments .task-kpi:hover,
#assignments .task-kpi.active{
  transform:translateY(-2px) !important;
  border-color:rgba(38,116,232,.38) !important;
  background:linear-gradient(145deg,#eef6ff,#fff) !important;
}
#assignments .task-kpi b{
  display:block !important;
  font-size:32px !important;
  line-height:1 !important;
  letter-spacing:-.06em !important;
  color:#0b2648 !important;
}
#assignments .task-kpi span{
  display:block !important;
  margin-top:8px !important;
  font-size:11px !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-weight:950 !important;
  color:#64748b !important;
}
#assignments .task-kpi.danger.active,
#assignments .task-kpi.danger:hover{border-color:rgba(239,68,68,.28) !important;background:linear-gradient(145deg,#fff1f2,#fff) !important;}
#assignments .task-kpi.success.active,
#assignments .task-kpi.success:hover{border-color:rgba(22,166,106,.28) !important;background:linear-gradient(145deg,#ecfdf5,#fff) !important;}
#assignments .task-toolbar-v8{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px) !important;
  gap:12px !important;
  align-items:center !important;
  padding:12px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(190,210,236,.80) !important;
  box-shadow:0 12px 34px rgba(20,45,85,.055) !important;
}
#assignments .task-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
#assignments .task-tabs button{
  min-height:36px !important;
  padding:0 12px !important;
  border-radius:13px !important;
  border:1px solid rgba(190,210,236,.82) !important;
  background:#fff !important;
  color:#42566d !important;
  font-size:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
#assignments .task-tabs button.active{
  color:#fff !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,#2674e8,#18b789) !important;
  box-shadow:0 10px 22px rgba(38,116,232,.18) !important;
}
#assignments .task-search{
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 12px !important;
  border-radius:15px !important;
  background:#fff !important;
  border:1px solid rgba(190,210,236,.86) !important;
}
#assignments .task-search span{color:#8aa0b7 !important;font-weight:900 !important;}
#assignments .task-search input{
  flex:1 !important;
  min-width:0 !important;
  border:0 !important;
  outline:0 !important;
  color:#0b2648 !important;
  font-size:13px !important;
  font-weight:760 !important;
  background:transparent !important;
}
#assignments .task-result-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:12px !important;
  color:#53677e !important;
  font-size:13px !important;
  font-weight:850 !important;
}
#assignments .task-result-head b{color:#0b2648 !important;font-size:18px !important;}
#assignments .rabbit-task-board{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
#assignments .task-column{
  min-width:0 !important;
  border-radius:26px !important;
  padding:12px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(190,210,236,.76) !important;
  box-shadow:0 16px 42px rgba(20,45,85,.06) !important;
}
#assignments .task-column header{
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:0 4px 0 8px !important;
}
#assignments .task-column h3{
  margin:0 !important;
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
  color:#0b2648 !important;
}
#assignments .task-column header span{
  min-width:27px !important;
  height:27px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#eef5ff !important;
  color:#2457d6 !important;
  font-size:12px !important;
  font-weight:950 !important;
}
#assignments .rabbit-task-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
#assignments .rabbit-task-card{
  position:relative !important;
  overflow:hidden !important;
  margin:0 0 10px !important;
  border-radius:22px !important;
  padding:14px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(190,210,236,.78) !important;
  box-shadow:0 12px 30px rgba(20,45,85,.065) !important;
}
#assignments .rabbit-task-card:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:4px !important;
  background:#2674e8 !important;
}
#assignments .rabbit-task-card.late:before{background:#ef4444 !important;}
#assignments .rabbit-task-card.progress:before{background:#f59e0b !important;}
#assignments .rabbit-task-card.done:before{background:#16a66a !important;}
#assignments .task-card-top{
  display:grid !important;
  grid-template-columns:12px minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:start !important;
}
#assignments .task-state-dot{
  width:10px !important;
  height:10px !important;
  margin-top:4px !important;
  border-radius:50% !important;
  background:#2674e8 !important;
  box-shadow:0 0 0 4px rgba(38,116,232,.12) !important;
}
#assignments .late .task-state-dot{background:#ef4444 !important;box-shadow:0 0 0 4px rgba(239,68,68,.12) !important;}
#assignments .progress .task-state-dot{background:#f59e0b !important;box-shadow:0 0 0 4px rgba(245,158,11,.14) !important;}
#assignments .done .task-state-dot{background:#16a66a !important;box-shadow:0 0 0 4px rgba(22,166,106,.12) !important;}
#assignments .task-title-block{min-width:0 !important;}
#assignments .task-title-block b{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#0b2648 !important;
  font-size:14px !important;
  line-height:1.18 !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}
#assignments .task-title-block small{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:760 !important;
}
#assignments .task-priority{
  padding:5px 8px !important;
  border-radius:999px !important;
  font-size:9px !important;
  text-transform:uppercase !important;
  letter-spacing:.065em !important;
  font-weight:1000 !important;
  background:#eef5ff !important;
  color:#2457d6 !important;
}
#assignments .task-priority.high{background:#fff1f2 !important;color:#be123c !important;}
#assignments .task-priority.medium{background:#fffbeb !important;color:#a16207 !important;}
#assignments .task-priority.low{background:#ecfdf5 !important;color:#047857 !important;}
#assignments .task-card-body{margin-top:12px !important;display:flex !important;flex-direction:column !important;gap:10px !important;}
#assignments .task-owner{display:flex !important;align-items:center !important;gap:9px !important;}
#assignments .task-owner>span{
  width:34px !important;
  height:34px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  background:#e0f2fe !important;
  color:#0369a1 !important;
  font-size:12px !important;
  font-weight:1000 !important;
}
#assignments .task-owner b{display:block !important;font-size:12px !important;color:#0b2648 !important;font-weight:950 !important;}
#assignments .task-owner small{display:block !important;font-size:10.5px !important;color:#64748b !important;font-weight:760 !important;}
#assignments .task-info-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
}
#assignments .task-info-grid span{
  border-radius:14px !important;
  padding:9px 10px !important;
  background:#f8fbff !important;
  border:1px solid rgba(220,232,247,.88) !important;
  color:#53677e !important;
  font-size:11px !important;
  font-weight:780 !important;
}
#assignments .task-info-grid b{
  display:block !important;
  color:#0b2648 !important;
  font-size:9px !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  letter-spacing:.065em !important;
  margin-bottom:3px !important;
}
#assignments .task-notes{
  margin:0 !important;
  padding:10px !important;
  border-radius:14px !important;
  background:#fff !important;
  border:1px dashed rgba(190,210,236,.95) !important;
  color:#5b6f88 !important;
  font-size:11.5px !important;
  line-height:1.4 !important;
  font-weight:680 !important;
}
#assignments .task-card-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin-top:12px !important;
}
#assignments .task-mini-btn{
  min-height:32px !important;
  padding:0 10px !important;
  border-radius:12px !important;
  border:1px solid rgba(190,210,236,.86) !important;
  background:#fff !important;
  color:#123456 !important;
  font-size:11px !important;
  font-weight:920 !important;
  cursor:pointer !important;
}
#assignments .task-mini-btn.primary{background:#eef5ff !important;color:#2457d6 !important;border-color:rgba(38,116,232,.20) !important;}
#assignments .task-mini-btn.success{background:#ecfdf5 !important;color:#047857 !important;border-color:rgba(22,166,106,.22) !important;}
#assignments .task-empty-col,
#assignments .rabbit-task-empty{
  border-radius:18px !important;
  padding:18px !important;
  background:rgba(255,255,255,.62) !important;
  border:1px dashed rgba(190,210,236,.95) !important;
  color:#64748b !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:800 !important;
}
#assignments .rabbit-task-empty{
  grid-column:1/-1 !important;
  padding:34px !important;
}
#assignments .rabbit-task-empty b{display:block !important;color:#0b2648 !important;font-size:18px !important;margin-bottom:6px !important;}
#assignments .rabbit-task-empty p{margin:0 0 16px !important;}
@media(max-width:1260px){
  #assignments .rabbit-task-board{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:920px){
  #assignments .task-hero-v8{grid-template-columns:1fr !important;padding:22px !important;}
  #assignments .task-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #assignments .task-toolbar-v8{grid-template-columns:1fr !important;}
  #assignments .rabbit-task-list{grid-template-columns:1fr !important;}
}
@media(max-width:620px){
  #assignments .rabbit-task-page-v8{gap:14px !important;}
  #assignments .task-hero-v8{border-radius:24px !important;padding:18px !important;min-height:0 !important;}
  #assignments .task-hero-v8 h2{font-size:31px !important;letter-spacing:-.065em !important;}
  #assignments .task-hero-v8 p{font-size:13px !important;}
  #assignments .task-hero-panel{padding:18px !important;min-height:105px !important;}
  #assignments .task-hero-panel b{font-size:38px !important;}
  #assignments .task-hero-actions{display:grid !important;grid-template-columns:1fr !important;}
  #assignments .task-hero-actions button{width:100% !important;}
  #assignments .task-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px !important;}
  #assignments .task-kpi{min-height:82px !important;padding:13px !important;border-radius:18px !important;}
  #assignments .task-kpi b{font-size:27px !important;}
  #assignments .task-tabs{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #assignments .task-tabs button{width:100% !important;}
  #assignments .rabbit-task-board{grid-template-columns:1fr !important;}
  #assignments .task-card-top{grid-template-columns:12px minmax(0,1fr) !important;}
  #assignments .task-priority{grid-column:2 !important;width:max-content !important;margin-top:4px !important;}
}


/* ===== /assets/css/30-rabbit-mail-popup-center-v13.css ===== */
/* =========================================================
   Rabbit Mail Desk V13 — Floating popup centrale email
   Trasforma la preview email da pannello laterale a modal centrale
   senza alterare le altre maschere del gestionale.
   ========================================================= */

#mask.mail-floating-popup.show{
  align-items:center!important;
  justify-content:center!important;
  padding:32px!important;
  background:
    radial-gradient(circle at 18% 18%, rgba(37,99,235,.18), transparent 34%),
    radial-gradient(circle at 78% 22%, rgba(16,185,129,.15), transparent 32%),
    rgba(7,18,35,.52)!important;
  backdrop-filter:blur(18px) saturate(132%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(132%)!important;
}

#mask.mail-floating-popup .mask-panel{
  width:min(980px, calc(100vw - 64px))!important;
  height:auto!important;
  max-height:min(86vh, 820px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  border-radius:34px!important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,250,255,.90))!important;
  border:1px solid rgba(190,211,238,.85)!important;
  box-shadow:
    0 34px 110px rgba(7,18,35,.34),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
}

#mask.mail-floating-popup .mask-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.10), transparent 30%),
    radial-gradient(circle at 100% 10%, rgba(20,184,166,.10), transparent 32%);
  opacity:.9;
}

#mask.mail-floating-popup .mask-head{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  min-height:118px!important;
  padding:24px 26px!important;
  align-items:flex-start!important;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(239,247,255,.88))!important;
  border-bottom:1px solid rgba(208,224,244,.9)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

#mask.mail-floating-popup .mask-title{
  min-width:0!important;
  padding-right:14px!important;
}

#mask.mail-floating-popup #maskBadge,
#mask.mail-floating-popup .mask-title .badge{
  display:inline-flex!important;
  align-items:center!important;
  height:28px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  color:#235ed7!important;
  border:1px solid #d6e6ff!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}

#mask.mail-floating-popup .mask-title h2{
  margin:9px 0 7px!important;
  max-width:780px!important;
  color:#07152d!important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
  font-size:clamp(24px, 3vw, 34px)!important;
  line-height:1.03!important;
  letter-spacing:-.06em!important;
  font-weight:1000!important;
  white-space:normal!important;
}

#mask.mail-floating-popup .mask-title p,
#mask.mail-floating-popup #maskSubtitle{
  margin:0!important;
  color:#53677e!important;
  font-size:13px!important;
  font-weight:800!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

#mask.mail-floating-popup .mask-head .actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}

#mask.mail-floating-popup .mask-head .actions button:not(#maskSave){
  display:none!important;
}

#mask.mail-floating-popup .mask-head .actions #maskSave{
  min-height:42px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#2674e8,#18b789)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 16px 34px rgba(38,116,232,.22)!important;
}

#mask.mail-floating-popup .mask-body{
  position:relative!important;
  z-index:2!important;
  padding:18px 20px 22px!important;
  overflow:auto!important;
  background:linear-gradient(180deg, rgba(248,251,255,.78), rgba(255,255,255,.96))!important;
}

#mask.mail-floating-popup .mail-open-floating-v13{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr)!important;
  gap:14px!important;
}

#mask.mail-floating-popup .mail-open-preview-v4 .mail-open-meta{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

#mask.mail-floating-popup .mail-open-preview-v4 .mail-open-meta p{
  min-height:58px!important;
  margin:0!important;
  padding:13px 14px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(214,228,245,.94)!important;
  color:#35475f!important;
  font-size:12px!important;
  line-height:1.38!important;
  font-weight:760!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#mask.mail-floating-popup .mail-open-preview-v4 .mail-open-meta b{
  color:#0f2f5c!important;
  font-weight:1000!important;
}

#mask.mail-floating-popup .mail-open-preview-v4 .mail-open-body{
  max-height:36vh!important;
  min-height:170px!important;
  overflow:auto!important;
  padding:18px!important;
  border-radius:24px!important;
  background:#ffffff!important;
  border:1px solid rgba(214,228,245,.95)!important;
  box-shadow:0 12px 32px rgba(20,45,85,.07)!important;
}

#mask.mail-floating-popup .mail-open-preview-v4 .mail-open-body p{
  margin:0!important;
  color:#162338!important;
  font-size:14px!important;
  line-height:1.62!important;
  font-weight:650!important;
  word-break:break-word!important;
}

#mask.mail-floating-popup .mail-open-attachments{
  padding:15px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(246,251,255,.92))!important;
  border:1px solid rgba(214,228,245,.95)!important;
  box-shadow:0 10px 26px rgba(20,45,85,.055)!important;
}

#mask.mail-floating-popup .mail-open-attachments h4{
  color:#07152d!important;
  font-size:15px!important;
  letter-spacing:-.035em!important;
}

#mask.mail-floating-popup .mail-open-attachment{
  min-height:56px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(220,231,245,.95)!important;
}

#mask.mail-floating-popup .mail-open-download{
  min-height:38px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#2674e8,#18b789)!important;
}

#mask.mail-floating-popup .mail-open-actions-v13,
#mask.mail-floating-popup .mail-open-preview-v4 .actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  padding-top:2px!important;
}

#mask.mail-floating-popup .mail-open-actions-v13 button,
#mask.mail-floating-popup .mail-open-preview-v4 .actions button{
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:15px!important;
  border:1px solid rgba(190,211,238,.94)!important;
  background:#fff!important;
  color:#12345a!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 10px 22px rgba(20,45,85,.055)!important;
}

#mask.mail-floating-popup .mail-open-actions-v13 button:first-child,
#mask.mail-floating-popup .mail-open-preview-v4 .actions button:first-child{
  border:0!important;
  color:#fff!important;
  background:linear-gradient(135deg,#2674e8,#18b789)!important;
  box-shadow:0 16px 32px rgba(38,116,232,.18)!important;
}

@media(max-width:760px){
  #mask.mail-floating-popup.show{
    align-items:flex-end!important;
    padding:10px!important;
  }
  #mask.mail-floating-popup .mask-panel{
    width:100%!important;
    max-height:92vh!important;
    border-radius:28px 28px 18px 18px!important;
  }
  #mask.mail-floating-popup .mask-head{
    min-height:auto!important;
    padding:18px!important;
  }
  #mask.mail-floating-popup .mask-title h2{
    font-size:24px!important;
  }
  #mask.mail-floating-popup .mask-title p,
  #mask.mail-floating-popup #maskSubtitle{
    white-space:normal!important;
  }
  #mask.mail-floating-popup .mask-body{
    padding:14px!important;
  }
  #mask.mail-floating-popup .mail-open-preview-v4 .mail-open-meta{
    grid-template-columns:1fr!important;
  }
  #mask.mail-floating-popup .mail-open-preview-v4 .mail-open-body{
    max-height:38vh!important;
    min-height:190px!important;
  }
  #mask.mail-floating-popup .mail-open-actions-v13 button,
  #mask.mail-floating-popup .mail-open-preview-v4 .actions button{
    width:100%!important;
  }
}


/* ===== /assets/css/31-rabbit-settings-premium-v15.css ===== */
/* Rabbit Settings Premium v15 */
#settings{padding:26px clamp(18px,3vw,42px) 90px;}
#settings .settings-premium{max-width:1480px;margin:0 auto;color:#07152d;}
.settings-prem-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:24px;align-items:flex-end;min-height:230px;padding:34px;border:1px solid rgba(184,204,230,.74);border-radius:34px;background:radial-gradient(circle at 8% 10%,rgba(37,99,235,.16),transparent 30%),radial-gradient(circle at 85% 15%,rgba(17,185,153,.14),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.94),rgba(244,249,255,.82));box-shadow:0 28px 80px rgba(15,45,91,.12);}
.settings-prem-hero:after{content:"SETTINGS";position:absolute;right:26px;bottom:-26px;font-size:96px;font-weight:1000;letter-spacing:-.08em;color:rgba(15,45,91,.035);pointer-events:none;}
.settings-prem-kicker,.settings-prem-section-head span{display:inline-flex;width:max-content;padding:7px 12px;border-radius:999px;background:#eef5ff;color:#245ddd;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:950;}
.settings-prem-hero h1{margin:14px 0 10px;max-width:820px;font-size:clamp(32px,4.5vw,58px);line-height:.96;letter-spacing:-.075em;font-weight:1000;}
.settings-prem-hero p{max-width:760px;margin:0;color:#607287;font-size:15px;line-height:1.55;font-weight:700;}
.settings-prem-hero-actions{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
#settings button,.settings-premium button{border:1px solid rgba(178,200,226,.9);background:#fff;color:#133455;border-radius:16px;min-height:42px;padding:0 16px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(20,45,85,.06);transition:.18s ease;}
#settings button:hover,.settings-premium button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(20,45,85,.12);}
#settings button.primary,.settings-premium button.primary{border:0;color:#fff;background:linear-gradient(135deg,#2878eb,#17b89f);box-shadow:0 18px 38px rgba(39,120,235,.24);}
#settings button.danger,.settings-premium button.danger{color:#b42318;background:#fff6f5;border-color:#ffd6d2;}
.settings-prem-toolbar{position:sticky;top:76px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;padding:12px;border:1px solid rgba(184,204,230,.75);border-radius:24px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);box-shadow:0 14px 40px rgba(20,45,85,.08);}
.settings-prem-search{flex:1;min-width:260px;display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border:1px solid rgba(184,204,230,.88);border-radius:17px;background:#fff;color:#7b8fa8;font-weight:850;}
.settings-prem-search input{width:100%;border:0;outline:0;background:transparent;font-weight:800;color:#153455;}
.settings-prem-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start;}
.settings-prem-nav{position:sticky;top:158px;display:grid;gap:9px;padding:14px;border:1px solid rgba(184,204,230,.74);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,251,255,.78));box-shadow:0 22px 55px rgba(20,45,85,.10);}
.settings-prem-nav:before{content:"Menu impostazioni";padding:8px 10px;color:#697d95;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:1000;}
.settings-prem-nav button{justify-content:flex-start;text-align:left;border-radius:15px;box-shadow:none;background:rgba(255,255,255,.72);}
.settings-prem-main{display:grid;gap:20px;min-width:0;}
.settings-prem-section{scroll-margin-top:150px;border:1px solid rgba(184,204,230,.74);border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,252,255,.82));box-shadow:0 22px 70px rgba(20,45,85,.10);padding:24px;overflow:hidden;}
.settings-prem-section-head{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.settings-prem-section-head h2{margin:0;font-size:30px;line-height:1;letter-spacing:-.06em;font-weight:1000;}
.settings-prem-section-head p{margin:0;color:#63768b;font-size:13px;line-height:1.45;font-weight:750;}
.settings-prem-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.settings-prem-kpis div{min-height:110px;border:1px solid rgba(184,204,230,.82);border-radius:24px;background:radial-gradient(circle at 20% 10%,rgba(37,99,235,.12),transparent 40%),rgba(255,255,255,.74);padding:18px;display:grid;align-content:space-between;box-shadow:0 12px 30px rgba(20,45,85,.07);}
.settings-prem-kpis b{font-size:38px;line-height:1;letter-spacing:-.07em;}
.settings-prem-kpis small{color:#667a90;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:950;}
.settings-prem-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.settings-prem-mini{min-height:110px;display:grid;gap:6px;align-content:start;border:1px solid rgba(184,204,230,.74);border-radius:22px;background:rgba(255,255,255,.65);padding:16px;}
.settings-prem-mini span{width:38px;height:38px;display:grid;place-items:center;border-radius:15px;background:#e7f7ff;}
.settings-prem-mini b{font-size:15px;letter-spacing:-.025em;}
.settings-prem-mini small{color:#687d94;font-weight:750;line-height:1.35;}
.settings-prem-card{border:1px solid rgba(184,204,230,.72);border-radius:26px;background:rgba(255,255,255,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.76);padding:16px;}
.settings-prem-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:16px;align-items:start;}
.settings-prem-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.settings-prem-form.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;}
.settings-prem-form label{display:grid;gap:7px;color:#52677e;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:950;}
.settings-prem-form label.full{grid-column:1/-1;}
.settings-prem-form input,.settings-prem-form textarea,.settings-prem-form select,.settings-prem-toggle select{width:100%;min-height:46px;border:1px solid rgba(178,200,226,.88);border-radius:16px;background:#fff;color:#07152d;padding:0 13px;font-size:13px;font-weight:850;outline:none;box-shadow:0 8px 18px rgba(20,45,85,.045);}
.settings-prem-form textarea{min-height:94px;padding:13px;resize:vertical;line-height:1.45;}
.settings-prem-form input[type="color"]{padding:5px;height:46px;}
.settings-prem-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.settings-prem-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.settings-prem-toggle-grid.modules{grid-template-columns:repeat(4,minmax(0,1fr));}
.settings-prem-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:74px;border:1px solid rgba(184,204,230,.78);border-radius:20px;background:rgba(255,255,255,.72);padding:12px 14px;box-shadow:0 9px 22px rgba(20,45,85,.055);}
.settings-prem-toggle span{display:grid;gap:4px;min-width:0;}
.settings-prem-toggle b{font-size:13px;letter-spacing:-.015em;}
.settings-prem-toggle small{color:#6c7f95;font-size:11px;line-height:1.35;font-weight:750;}
.settings-prem-toggle input[type="checkbox"]{appearance:none;width:48px;min-width:48px;height:28px;border-radius:999px;border:1px solid #cfe0f5;background:#eaf1f8;position:relative;cursor:pointer;transition:.18s ease;}
.settings-prem-toggle input[type="checkbox"]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.18);transition:.18s ease;}
.settings-prem-toggle input[type="checkbox"]:checked{border-color:#21b696;background:linear-gradient(135deg,#2878eb,#18b89f);}
.settings-prem-toggle input[type="checkbox"]:checked:after{left:23px;}
.settings-prem-toggle-stack{display:grid;gap:10px;}
.settings-prem-toggle-stack .settings-prem-toggle{min-height:66px;}
.settings-prem-statline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.settings-prem-statline div{border:1px solid rgba(184,204,230,.74);border-radius:20px;background:#fff;padding:14px;display:grid;gap:6px;}
.settings-prem-statline b{font-size:30px;line-height:1;letter-spacing:-.06em;}
.settings-prem-statline small{text-transform:uppercase;letter-spacing:.08em;color:#667a90;font-size:10px;font-weight:950;}
.settings-prem-rules{display:grid;gap:10px;}
.settings-prem-rule{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:13px;border:1px solid rgba(184,204,230,.76);border-radius:20px;background:#fff;padding:14px;}
.settings-prem-rule i{width:10px;height:10px;border-radius:50%;background:#cbd5e1;box-shadow:0 0 0 5px rgba(148,163,184,.12);}
.settings-prem-rule.on i{background:#17b67f;box-shadow:0 0 0 5px rgba(23,182,127,.13);}
.settings-prem-rule b{display:block;font-size:13px;margin-bottom:3px;}
.settings-prem-rule small{display:block;color:#687d94;font-weight:750;line-height:1.35;}
.settings-prem-table{max-width:100%;overflow:auto;border-radius:20px;border:1px solid rgba(184,204,230,.72);background:#fff;}
.settings-prem-table table{min-width:1100px;margin:0;border-collapse:separate;border-spacing:0;}
.settings-prem-table th{position:sticky;top:0;background:#f5f9ff;color:#5f728a;text-transform:uppercase;letter-spacing:.06em;font-size:10px;z-index:2;}
.settings-prem-table td,.settings-prem-table th{border-bottom:1px solid #e4eef9;padding:10px;}
.settings-prem-table button.mini{min-height:32px;padding:0 10px;border-radius:12px;box-shadow:none;font-size:11px;}
.settings-prem-db{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.settings-prem-db p{margin:0;border:1px solid rgba(184,204,230,.74);border-radius:20px;background:#fff;padding:16px;color:#61768d;font-weight:750;line-height:1.45;}
.settings-prem-db b{color:#07152d;font-size:13px;}
/* Covers panel alignment inside premium settings */
#settings #rhcCoversSettingsPanel{margin-top:20px;border:1px solid rgba(184,204,230,.74)!important;border-radius:30px!important;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,252,255,.82))!important;box-shadow:0 22px 70px rgba(20,45,85,.10)!important;padding:24px!important;}
#settings #rhcCoversSettingsPanel .rhc114-head,#settings #rhcCoversSettingsPanel .rhc116-head{border:0!important;background:transparent!important;padding:0 0 12px!important;}
#settings #rhcCoversSettingsPanel h2{font-size:28px!important;letter-spacing:-.055em!important;}
#settings #rhcCoversSettingsPanel .rhc114-row,#settings #rhcCoversSettingsPanel .rhc116-row{border:1px solid rgba(184,204,230,.74)!important;border-radius:20px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 9px 22px rgba(20,45,85,.055)!important;}
@media(max-width:1200px){.settings-prem-grid{grid-template-columns:1fr}.settings-prem-nav{position:relative;top:auto;display:flex;overflow:auto}.settings-prem-nav:before{display:none}.settings-prem-nav button{white-space:nowrap}.settings-prem-split{grid-template-columns:1fr}.settings-prem-toggle-grid.modules{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-prem-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#settings{padding:16px 12px 90px}.settings-prem-hero{border-radius:26px;padding:22px;min-height:auto;display:grid}.settings-prem-hero h1{font-size:34px}.settings-prem-hero-actions,.settings-prem-toolbar{display:grid;grid-template-columns:1fr}.settings-prem-toolbar{position:relative;top:auto}.settings-prem-search{min-width:0}.settings-prem-section{border-radius:25px;padding:16px}.settings-prem-kpis,.settings-prem-mini-grid,.settings-prem-toggle-grid,.settings-prem-toggle-grid.modules,.settings-prem-form,.settings-prem-form.two,.settings-prem-statline,.settings-prem-db{grid-template-columns:1fr}.settings-prem-toggle{align-items:flex-start}.settings-prem-rule{grid-template-columns:12px 1fr}.settings-prem-rule button{grid-column:2;width:100%}.settings-prem-nav{margin-inline:-4px;padding:8px}.settings-prem-nav button{min-height:40px}.settings-prem-hero-actions button,.settings-prem-toolbar button{width:100%}}


/* Rabbit Settings Premium v16: copertine integrate nella sezione Home */
#settings .settings-prem-cover-mount{
  margin-top:16px;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:18px !important;
  align-items:flex-start !important;
  margin:0 0 14px !important;
  padding:18px !important;
  border:1px solid rgba(184,204,230,.74) !important;
  border-radius:24px !important;
  background:radial-gradient(circle at 10% 10%,rgba(37,99,235,.08),transparent 35%),rgba(255,255,255,.70) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76) !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-head span{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 7px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:#eef5ff !important;
  color:#245ddd !important;
  text-transform:uppercase !important;
  letter-spacing:.09em !important;
  font-size:11px !important;
  font-weight:950 !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-head h2{
  margin:0 !important;
  font-size:26px !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  font-weight:1000 !important;
  color:#07152d !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-head p{
  margin:8px 0 0 !important;
  max-width:760px !important;
  color:#63768b !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:750 !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-refresh{
  min-height:42px !important;
  white-space:nowrap !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-group{
  grid-column:1/-1 !important;
  margin:6px 0 0 !important;
  padding:8px 2px 2px !important;
  color:#245ddd !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:12px !important;
  font-weight:950 !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-row{
  min-height:76px !important;
  border:1px solid rgba(184,204,230,.78) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:0 9px 22px rgba(20,45,85,.055) !important;
  padding:12px 14px !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-thumb{
  width:56px !important;
  height:46px !important;
  min-width:56px !important;
  border-radius:15px !important;
  background:#eaf2ff !important;
  border:1px solid #dbe5f2 !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-info b{
  color:#07152d !important;
  font-size:13px !important;
  letter-spacing:-.015em !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-info small{
  color:#6c7f95 !important;
  font-size:11px !important;
  font-weight:750 !important;
}
#settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-actions button{
  min-height:38px !important;
  border-radius:14px !important;
  padding:0 13px !important;
  font-size:12px !important;
}
@media(max-width:760px){
  #settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-head{
    display:grid !important;
  }
  #settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-refresh{
    width:100% !important;
  }
  #settings .settings-prem-cover-mount #rhcCoversSettingsPanel .rhc114-grid{
    grid-template-columns:1fr !important;
  }
}


/* ===== /assets/css/32-rabbit-leftbar-rightstyle-v17.css ===== */
/* =========================================================
   Rabbit Left Sidebar Rightbar Style V17
   Obiettivo: rendere la sidebar sinistra coerente con la rail
   destra "Da monitorare" senza modificare logica, viste o dati.
   ========================================================= */

@media (min-width:1181px){
  .scale-root .app,
  .app,
  .app.no-rightbar{
    grid-template-columns:286px minmax(0,1fr) !important;
    column-gap:0 !important;
  }

  .sidebar,
  .rabbit-pro-sidebar,
  .app > aside.sidebar{
    position:sticky !important;
    top:18px !important;
    align-self:start !important;
    width:auto !important;
    max-width:none !important;
    height:calc(100vh - 36px) !important;
    min-height:calc(100vh - 36px) !important;
    margin:18px 0 18px 18px !important;
    padding:16px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    overflow:auto !important;
    border-radius:28px !important;
    background:
      radial-gradient(circle at 12% 4%, rgba(37,99,235,.075), transparent 30%),
      radial-gradient(circle at 96% 82%, rgba(16,185,129,.07), transparent 30%),
      rgba(255,255,255,.92) !important;
    border:1px solid rgba(226,232,240,.98) !important;
    box-shadow:0 24px 60px rgba(15,23,42,.10), 0 8px 20px rgba(15,23,42,.045) !important;
    backdrop-filter:blur(18px) !important;
    color:#0f172a !important;
  }

  .sidebar::before,
  .rabbit-pro-sidebar::before{
    content:"WORKSPACE" !important;
    display:inline-flex !important;
    width:max-content !important;
    min-height:24px !important;
    align-items:center !important;
    padding:0 9px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    color:#1d4ed8 !important;
    font-size:10px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.055em !important;
    margin:0 0 2px 2px !important;
    order:0 !important;
  }

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

  .sidebar::-webkit-scrollbar,
  .rabbit-pro-sidebar::-webkit-scrollbar{width:8px !important;}
  .sidebar::-webkit-scrollbar-thumb,
  .rabbit-pro-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1 !important;border-radius:999px !important;}

  .rabbit-pro-brand,
  .sidebar .brand{
    order:1 !important;
    position:relative !important;
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    align-items:center !important;
    gap:12px !important;
    min-height:66px !important;
    margin:0 0 2px !important;
    padding:10px !important;
    border-radius:22px !important;
    background:#f8fafc !important;
    border:1px solid #e6edf5 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.045) !important;
    color:#0f172a !important;
  }

  .rabbit-pro-brand::after,
  .sidebar .brand::after{
    content:"Command Center" !important;
    position:absolute !important;
    left:66px !important;
    bottom:11px !important;
    color:#64748b !important;
    font-size:10.5px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.01em !important;
  }

  .rabbit-pro-brand .logo,
  .sidebar .logo{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border-radius:16px !important;
    background:#eef6ff !important;
    border:1px solid #dbeafe !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 20px rgba(37,99,235,.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,
  .sidebar .brand strong{
    display:block !important;
    color:#0f172a !important;
    font-size:22px !important;
    line-height:1 !important;
    letter-spacing:-.06em !important;
    font-weight:950 !important;
    padding-bottom:13px !important;
  }

  .sidebar .nav,
  .rabbit-pro-sidebar .nav{
    order:2 !important;
    display:grid !important;
    gap:8px !important;
    margin:4px 0 0 !important;
    padding:0 !important;
  }

  .sidebar .nav button,
  .rabbit-sidebar-logout,
  #signupRequestsMenuItem{
    position:relative !important;
    width:100% !important;
    min-height:50px !important;
    border-radius:16px !important;
    border:1px solid #e8eef6 !important;
    background:#f8fafc !important;
    color:#334155 !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:8px 10px !important;
    font-size:13px !important;
    font-weight:850 !important;
    letter-spacing:-.01em !important;
    text-align:left !important;
    cursor:pointer !important;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
  }

  .sidebar .nav button:hover,
  .rabbit-sidebar-logout:hover,
  #signupRequestsMenuItem:hover{
    transform:translateY(-1px) !important;
    background:#ffffff !important;
    border-color:#dbeafe !important;
    box-shadow:0 12px 26px rgba(15,23,42,.06) !important;
  }

  .sidebar .nav button.active{
    background:#ffffff !important;
    border-color:#bfdbfe !important;
    color:#0f172a !important;
    box-shadow:0 16px 32px rgba(37,99,235,.10), 0 6px 14px rgba(15,23,42,.045) !important;
  }

  .sidebar .nav button.active::before{
    content:"" !important;
    position:absolute !important;
    left:-1px !important;
    top:10px !important;
    bottom:10px !important;
    width:4px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#2563eb,#10b981) !important;
  }

  .rabbit-side-ico,
  .sidebar .nav button .rabbit-side-ico{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:14px !important;
    display:grid !important;
    place-items:center !important;
    background:#eef6ff !important;
    color:#1d4ed8 !important;
    font-size:12px !important;
    font-weight:950 !important;
    border:1px solid #dbeafe !important;
  }

  .sidebar .nav button.active .rabbit-side-ico{
    background:linear-gradient(135deg,#dbeafe,#ccfbf1) !important;
    border-color:#bfdbfe !important;
    color:#0f4c81 !important;
  }

  .sidebar .nav button span:not(.rabbit-side-ico),
  .rabbit-sidebar-logout span:not(.rabbit-side-ico){
    color:inherit !important;
  }

  #signupRequestsMenuItem{
    order:3 !important;
    margin-top:4px !important;
    justify-content:space-between !important;
    background:#ffffff !important;
    border-color:#e8eef6 !important;
    color:#0f3360 !important;
  }

  #signupRequestsMenuItem::before{
    content:"" !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,#eef6ff,#ecfdf5) !important;
    border:1px solid #dbeafe !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85) !important;
  }

  #signupRequestsMenuItem span:first-child{
    margin-right:auto !important;
    color:#0f3360 !important;
    font-weight:900 !important;
  }

  #signupRequestsMenuItem .signup-nav-badge,
  #signupRequestsMenuItem [data-signup-count]{
    min-width:24px !important;
    height:22px !important;
    padding:0 7px !important;
    border-radius:999px !important;
    background:#fff7ed !important;
    border:1px solid #fed7aa !important;
    color:#c2410c !important;
    display:inline-grid !important;
    place-items:center !important;
    font-size:10px !important;
    font-weight:950 !important;
  }

  .rabbit-sidebar-logout{
    order:10 !important;
    margin-top:auto !important;
    background:#fff7f7 !important;
    border-color:#fee2e2 !important;
    color:#b91c1c !important;
    box-shadow:0 10px 24px rgba(185,28,28,.045) !important;
  }

  .rabbit-sidebar-logout .rabbit-side-ico{
    background:#fee2e2 !important;
    border-color:#fecaca !important;
    color:#b91c1c !important;
  }

  /* Il launcher Chat/Assistente resta nello stesso punto ma diventa più coerente
     con la rail chiara, senza toccare la logica del modulo. */
  #rabbitUnifiedHub{
    left:34px !important;
  }
  #rabbitHubMain{
    min-width:184px !important;
    background:rgba(255,255,255,.94) !important;
    color:#0f172a !important;
    border:1px solid rgba(226,232,240,.98) !important;
    box-shadow:0 18px 44px rgba(15,23,42,.14), 0 8px 18px rgba(15,23,42,.06) !important;
    backdrop-filter:blur(16px) !important;
  }
  #rabbitHubMain .rah-main-icon{
    background:linear-gradient(135deg,#dbeafe,#ccfbf1) !important;
    border-color:#dbeafe !important;
    color:#1d4ed8 !important;
  }
  #rabbitHubMain .rah-main-text b{
    color:#0f172a !important;
  }
  #rabbitHubMain .rah-main-text small{
    color:#64748b !important;
  }
}

@media (max-width:1180px){
  /* Mobile/tablet: non tocchiamo la navigazione già ottimizzata. */
  .sidebar,
  .rabbit-pro-sidebar{
    margin:0 !important;
  }
}


/* ===== /assets/css/33-rabbit-assistant-right-safe-v18.css ===== */
/* =========================================================
   Rabbit Assistant Right Safe v18
   - Sposta il launcher Chat/Assistente a destra
   - Riserva spazio alle notifiche/toast in basso a destra
   - Mantiene stile glass della sidebar/rightbar
   ========================================================= */
:root{
  /* Fallback sicuro se il JS anti-sovrapposizione non è ancora partito. */
  --rabbit-toast-stack-height:72px;
  --rabbit-assistant-edge:26px;
  --rabbit-assistant-base-bottom:24px;
  --rabbit-assistant-gap:18px;
}

/* Launcher principale spostato a destra, fuori dalla sidebar sinistra. */
#rabbitUnifiedHub{
  left:auto !important;
  right:var(--rabbit-assistant-edge) !important;
  bottom:calc(var(--rabbit-assistant-base-bottom) + var(--rabbit-toast-stack-height, 72px)) !important;
  z-index:8800 !important;
  justify-items:end !important;
  align-items:end !important;
  pointer-events:auto !important;
}

#rabbitUnifiedHub .rah-menu,
#rabbitUnifiedHubMenu{
  justify-items:end !important;
  align-items:end !important;
  transform-origin:right bottom !important;
}

#rabbitUnifiedHub .rah-choice{
  transform-origin:right bottom !important;
}

#rabbitUnifiedHub .rah-choice:hover{
  transform:translateX(-4px) !important;
}

/* Il bottone resta coerente con il nuovo stile chiaro/glass. */
#rabbitHubMain{
  min-width:184px !important;
  background:rgba(255,255,255,.94) !important;
  color:#0f172a !important;
  border:1px solid rgba(226,232,240,.98) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.14), 0 8px 18px rgba(15,23,42,.06) !important;
  backdrop-filter:blur(16px) !important;
}
#rabbitHubMain .rah-main-icon{
  background:linear-gradient(135deg,#dbeafe,#ccfbf1) !important;
  border-color:#dbeafe !important;
  color:#1d4ed8 !important;
}
#rabbitHubMain .rah-main-text b{color:#0f172a !important;}
#rabbitHubMain .rah-main-text small{color:#64748b !important;}

/* Anche il pannello dell’assistente si apre da destra, sopra l’eventuale toast. */
#rabbitAssistantPanel{
  left:auto !important;
  right:var(--rabbit-assistant-edge) !important;
  bottom:calc(96px + var(--rabbit-toast-stack-height, 72px)) !important;
  z-index:8850 !important;
  transform-origin:right bottom !important;
}

/* Le notifiche applicative devono sempre poter stare sopra il launcher. */
#toast.toast,
.nexa-toast,
.nexa-official-toast,
.nexa-clean-toast,
.nexa-call-status-toast,
.nexa-call-watchdog-toast,
.nexa-peer-fix-toast{
  z-index:9000 !important;
}

/* Se una vecchia chat flottante usa il bottom-right, non deve incastrarsi col nuovo hub. */
.nexa-fb-launcher.show,
.nexa-floating-launcher.show{
  bottom:calc(24px + var(--rabbit-toast-stack-height, 72px)) !important;
}

@media (max-width:1180px){
  :root{
    --rabbit-assistant-edge:18px;
    --rabbit-assistant-base-bottom:18px;
  }
}

@media (max-width:640px){
  :root{
    --rabbit-assistant-edge:14px;
    --rabbit-assistant-base-bottom:calc(14px + env(safe-area-inset-bottom,0px));
  }

  #rabbitUnifiedHub{
    left:auto !important;
    right:var(--rabbit-assistant-edge) !important;
    bottom:calc(var(--rabbit-assistant-base-bottom) + var(--rabbit-toast-stack-height, 72px)) !important;
  }

  #rabbitHubMain{
    min-width:62px !important;
    width:62px !important;
    height:62px !important;
    padding:0 !important;
  }

  #rabbitHubMain .rah-main-text{display:none !important;}

  #rabbitAssistantPanel{
    left:10px !important;
    right:10px !important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px) + var(--rabbit-toast-stack-height, 0px)) !important;
    width:auto !important;
    height:calc(100vh - 112px - env(safe-area-inset-bottom,0px) - var(--rabbit-toast-stack-height, 0px)) !important;
    min-height:0 !important;
  }
}


/* ===== /assets/css/34-rabbit-loading-screen-v19.css ===== */
/* Rabbit Loading Screen V19 */
#loading.rabbit-loading-cover{
  display:grid !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
  background:
    radial-gradient(circle at 18% 20%, rgba(59,130,246,.24), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(45,212,191,.20), transparent 28%),
    radial-gradient(circle at 50% 82%, rgba(255,255,255,.10), transparent 32%),
    linear-gradient(135deg, #071827 0%, #0d3350 38%, #145374 68%, #0f766e 100%);
  overflow:hidden;
}
#loading.rabbit-loading-cover.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
#loading .rabbit-loading-shell{
  position:relative;
  width:min(760px, calc(100vw - 40px));
  min-height:320px;
  display:grid;
  place-items:center;
}
#loading .rabbit-loading-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(8px);
  opacity:.7;
  animation:rabbitLoadingFloat 8s ease-in-out infinite;
}
#loading .rabbit-loading-glow-a{
  width:220px;height:220px;
  left:-40px;top:-10px;
  background:radial-gradient(circle, rgba(59,130,246,.36), rgba(59,130,246,0));
}
#loading .rabbit-loading-glow-b{
  width:260px;height:260px;
  right:-70px;bottom:-40px;
  background:radial-gradient(circle, rgba(45,212,191,.32), rgba(45,212,191,0));
  animation-delay:-3.2s;
}
#loading .rabbit-loading-panel{
  position:relative;
  width:100%;
  border-radius:30px;
  padding:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.10));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 120px rgba(2,6,23,.38);
  backdrop-filter:blur(22px) saturate(135%);
  color:#fff;
}
#loading .rabbit-loading-panel::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:29px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
#loading .rabbit-loading-brand{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
}
#loading .rabbit-loading-brand-icon{
  width:78px;height:78px;border-radius:24px;
  background:linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.10));
  border:1px solid rgba(255,255,255,.18);
  display:grid;place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 18px 42px rgba(2,6,23,.20);
}
#loading .rabbit-loading-brand-icon img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(2,6,23,.24));}
#loading .rabbit-loading-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(232,248,255,.78);
  margin-bottom:8px;
}
#loading .rabbit-loading-kicker::before{
  content:"";width:8px;height:8px;border-radius:999px;background:#34d399;box-shadow:0 0 0 8px rgba(52,211,153,.15);
}
#loading .rabbit-loading-brand-copy h3{
  margin:0 0 8px;
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#fff;
}
#loading .rabbit-loading-brand-copy p{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:rgba(234,244,255,.82);
  max-width:520px;
}
#loading .rabbit-loading-progress{
  position:relative;
  height:14px;
  border-radius:999px;
  margin:28px 0 16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
#loading .rabbit-loading-progress span{
  position:absolute;inset:0 auto 0 0;width:45%;border-radius:inherit;
  background:linear-gradient(90deg, rgba(96,165,250,.95), rgba(45,212,191,.96), rgba(255,255,255,.95));
  box-shadow:0 0 24px rgba(96,165,250,.30);
  animation:rabbitLoadingSweep 1.8s ease-in-out infinite;
}
#loading .rabbit-loading-steps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
#loading .rabbit-loading-step{
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(235,245,255,.72);
  font-weight:800;
  font-size:13px;
  letter-spacing:.01em;
  transition:transform .24s ease, background .24s ease, border-color .24s ease, color .24s ease, box-shadow .24s ease;
}
#loading .rabbit-loading-step.is-active{
  transform:translateY(-2px);
  color:#fff;
  background:linear-gradient(135deg, rgba(59,130,246,.24), rgba(45,212,191,.22));
  border-color:rgba(255,255,255,.18);
  box-shadow:0 18px 34px rgba(2,6,23,.18);
}
#loading .rabbit-loading-status-line{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:700;
  color:#eff8ff;
}
#loading .rabbit-loading-pulse-dot{
  width:10px;height:10px;border-radius:999px;background:#34d399;flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(52,211,153,.5);
  animation:rabbitLoadingPulse 1.8s ease infinite;
}
#loading .rabbit-loading-note{
  margin-top:14px;
  font-size:12px;
  line-height:1.55;
  color:rgba(232,242,255,.72);
}
@keyframes rabbitLoadingSweep{
  0%{transform:translateX(-90%) scaleX(.9)}
  50%{transform:translateX(110%) scaleX(1)}
  100%{transform:translateX(240%) scaleX(.92)}
}
@keyframes rabbitLoadingPulse{
  0%{box-shadow:0 0 0 0 rgba(52,211,153,.52)}
  70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}
  100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}
}
@keyframes rabbitLoadingFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-12px,0)}
}
@media (max-width: 780px){
  #loading .rabbit-loading-panel{padding:24px 20px;border-radius:24px;}
  #loading .rabbit-loading-panel::before{border-radius:23px;}
  #loading .rabbit-loading-brand{grid-template-columns:1fr;justify-items:start;}
  #loading .rabbit-loading-brand-icon{width:68px;height:68px;border-radius:20px;}
  #loading .rabbit-loading-brand-icon img{width:46px;height:46px;}
  #loading .rabbit-loading-steps{grid-template-columns:1fr;}
  #loading .rabbit-loading-status-line{align-items:flex-start;}
}


/* ===== /assets/css/37-rabbit-pulse-operativo-clicks-v25.css ===== */
/* Rabbit Pulse Operativo Cliccabile V25 - leggero, senza effetti pesanti */
#home .pulse-card.rabbit-pulse-action-card{
  cursor:pointer !important;
  user-select:none;
  position:relative;
  outline:none;
}
#home .pulse-card.rabbit-pulse-action-card::before{
  content:"Apri";
  position:absolute;
  right:12px;
  bottom:10px;
  z-index:2;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
  opacity:0;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
  pointer-events:none;
}
#home .pulse-card.rabbit-pulse-action-card:nth-child(4)::before{
  color:rgba(15,23,42,.70);
}
#home .pulse-card.rabbit-pulse-action-card:hover::before,
#home .pulse-card.rabbit-pulse-action-card:focus-visible::before{
  opacity:1;
  transform:translateY(0);
}
#home .pulse-card.rabbit-pulse-action-card:focus-visible{
  box-shadow:0 0 0 3px rgba(37,99,235,.22), 0 14px 30px rgba(15,35,60,.12) !important;
}
#home .pulse-card.rabbit-pulse-action-card:active{
  transform:translateY(1px) scale(.99) !important;
}
@media (hover:none){
  #home .pulse-card.rabbit-pulse-action-card::before{opacity:.9;transform:none;}
}


/* Rabbit v45 — Loading logo border/corner fix
   Rimuove i pezzetti neri intorno al logo nella loading page:
   il contenitore ora ha sfondo chiaro, overflow hidden e clipping coerente. */
#loading .rabbit-loading-brand-icon{
  overflow:hidden !important;
  background:linear-gradient(145deg, rgba(248,252,255,.96), rgba(219,237,248,.82)) !important;
  border:1px solid rgba(187,225,244,.52) !important;
}
#loading .rabbit-loading-brand-icon img{
  display:block !important;
  border-radius:19px !important;
  background:transparent !important;
}


/* =========================================================
   Rabbit V47 — Onboarding nuove aziende + piani gratuiti
   ========================================================= */
.rabbit-onboarding-modal{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 18% 12%,rgba(34,211,238,.22),transparent 34%),radial-gradient(circle at 86% 20%,rgba(37,99,235,.18),transparent 32%),linear-gradient(135deg,rgba(7,24,39,.92),rgba(15,95,143,.82));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.rabbit-onboarding-modal.show{display:flex}.rabbit-onboarding-shell{width:min(1180px,100%);max-height:min(860px,calc(100vh - 36px));overflow:auto;border:1px solid rgba(255,255,255,.22);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.92));box-shadow:0 34px 110px rgba(0,20,38,.38);position:relative}.rabbit-onboarding-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:16px;background:#fff;border:1px solid rgba(203,213,225,.9);font-size:25px;line-height:1;color:#0f172a;z-index:2}.rabbit-onboarding-hero{padding:34px 36px 24px;border-bottom:1px solid rgba(203,213,225,.72);background:radial-gradient(circle at 8% 0%,rgba(45,212,191,.20),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.88),rgba(239,246,255,.82))}.rabbit-onboarding-hero span{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eef6ff;color:#2563eb;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.rabbit-onboarding-hero h2{margin:14px 0 8px;font-size:46px;line-height:.95;letter-spacing:-.06em;color:#071827}.rabbit-onboarding-hero p{max-width:760px;margin:0;color:#475569;font-weight:750;line-height:1.45}.rabbit-onboarding-body{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;padding:22px}.rabbit-onboarding-form,.rabbit-onboarding-plans{border:1px solid rgba(203,213,225,.82);border-radius:26px;background:rgba(255,255,255,.72);box-shadow:0 14px 40px rgba(15,35,60,.08);padding:18px}.rabbit-onboarding-form{display:grid;gap:12px;align-content:start}.rabbit-onboarding-form h3,.rabbit-onboarding-plans h3{margin:0;color:#071827;font-size:20px;letter-spacing:-.035em}.rabbit-onboarding-form label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:900}.rabbit-onboarding-form input{height:44px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;padding:0 12px;font-weight:800;color:#071827}.rabbit-onboarding-note{padding:13px;border-radius:18px;background:linear-gradient(135deg,#ecfeff,#eef6ff);border:1px solid #bae6fd;color:#0f3f60;font-size:12px;line-height:1.45;font-weight:750}.rabbit-onboarding-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.rabbit-onboarding-plan-head p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:750}.rabbit-onboarding-plan-head>b{padding:8px 11px;border-radius:999px;background:#dcfce7;color:#047857;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.rabbit-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rabbit-plan-card{position:relative;text-align:left;padding:18px;border:1px solid #dbe7f3;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(15,35,60,.06);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.rabbit-plan-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(15,35,60,.12)}.rabbit-plan-card.active{border-color:#22c5bd;box-shadow:0 0 0 4px rgba(34,197,189,.13),0 18px 48px rgba(15,35,60,.12)}.rabbit-plan-card.recommended:before{content:"";position:absolute;inset:-1px;border-radius:24px;padding:1px;background:linear-gradient(135deg,#22c5bd,#2563eb,#7c3aed);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.rabbit-plan-card span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:1000}.rabbit-plan-card h4{margin:13px 0 2px;color:#071827;font-size:23px;letter-spacing:-.045em}.rabbit-plan-card small{display:block;color:#0f8a8a;font-weight:900}.rabbit-plan-card p{min-height:54px;color:#475569;font-size:13px;line-height:1.35;font-weight:700}.rabbit-plan-card ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:7px}.rabbit-plan-card li{font-size:12px;color:#334155;font-weight:850;display:flex;gap:7px}.rabbit-plan-card li:before{content:"✓";color:#0f8a8a;font-weight:1000}.rabbit-plan-card em{position:absolute;right:14px;top:14px;font-style:normal;font-size:11px;font-weight:1000;color:#fff;background:linear-gradient(135deg,#2563eb,#0f8a8a);padding:7px 9px;border-radius:999px}.rabbit-onboarding-summary{margin-top:14px;border:1px dashed #93c5fd;border-radius:20px;background:#f8fbff;padding:14px;display:grid;gap:4px}.rabbit-onboarding-summary b{font-size:16px;color:#071827}.rabbit-onboarding-summary span{color:#2563eb;font-weight:950}.rabbit-onboarding-summary small{color:#64748b;font-weight:750;line-height:1.4}.rabbit-onboarding-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.rabbit-onboarding-actions button{border-radius:16px;min-height:44px}.rabbit-onboarding-actions .primary{background:linear-gradient(135deg,#2563eb,#0f8a8a);border-color:transparent;color:#fff}
@media(max-width:920px){.rabbit-onboarding-modal{padding:10px}.rabbit-onboarding-body{grid-template-columns:1fr;padding:14px}.rabbit-onboarding-hero{padding:26px 20px 18px}.rabbit-onboarding-hero h2{font-size:34px}.rabbit-plan-grid{grid-template-columns:1fr}.rabbit-onboarding-actions{position:sticky;bottom:0;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);padding-top:10px}}
