/* ======================================================================
   iSwiss Vault - CSS overrides (avatar terra/ink, link, buttons)
   ====================================================================== */
:root, .cpd-theme-light, .cpd-theme-dark {
  /* Avatar: palette terra/ink coerente (dal chiaro allo scuro) */
  --cpd-color-bg-decorative-1:#EFECE5;--cpd-color-text-decorative-1:#3A332A;--cpd-color-border-decorative-1:#D8D1C2;
  --cpd-color-bg-decorative-2:#EBE5DA;--cpd-color-text-decorative-2:#4A3F30;--cpd-color-border-decorative-2:#D0C6B2;
  --cpd-color-bg-decorative-3:#E8DFD0;--cpd-color-text-decorative-3:#5A4A36;--cpd-color-border-decorative-3:#C8B99D;
  --cpd-color-bg-decorative-4:#E0D5C2;--cpd-color-text-decorative-4:#6B5840;--cpd-color-border-decorative-4:#BEAE92;
  --cpd-color-bg-decorative-5:#D9CCB6;--cpd-color-text-decorative-5:#5A4A3A;--cpd-color-border-decorative-5:#B5A68A;
  --cpd-color-bg-decorative-6:#D2C3AB;--cpd-color-text-decorative-6:#3A332A;--cpd-color-border-decorative-6:#AC9E82;

  /* Surface / canvas */
  --cpd-color-bg-canvas-default:#FFFFFF;--cpd-color-bg-canvas-disabled:#E8DFD0;
  --cpd-color-bg-subtle-primary:#F1EDE4;--cpd-color-bg-subtle-secondary:#E3DBCB;

  /* Text */
  --cpd-color-text-primary:#1A1A1A;--cpd-color-text-secondary:#4A4A48;
  --cpd-color-text-action-accent:#8B2420;--cpd-color-text-action-primary:#2B2A28;

  /* Borders */
  --cpd-color-border-default:#E5E2DA;--cpd-color-border-interactive-primary:#D6D3CC;

  /* Accent */
  --cpd-color-bg-accent-rest:#D52B1E;--cpd-color-bg-accent-hovered:#B8241A;
  --cpd-color-text-on-solid-primary:#FFFFFF;--cpd-color-icon-accent-primary:#D52B1E;
}

/* Vecchi selettori (pre-CPD) - stessa palette terra */
.mx_Username_color1{color:#3A332A!important}
.mx_Username_color2{color:#4A3F30!important}
.mx_Username_color3{color:#5A4A36!important}
.mx_Username_color4{color:#6B5840!important}
.mx_Username_color5{color:#5A4A3A!important}
.mx_Username_color6{color:#3A332A!important}
.mx_Username_color7{color:#4A3F30!important}
.mx_Username_color8{color:#5A4A36!important}

/* Link inline bordeaux */
a,.mx_EventTile_content a,.mx_Markdown a{color:#8B2420!important;text-decoration-color:rgba(139,36,32,.35)!important}
a:hover{color:#D52B1E!important;text-decoration-color:#D52B1E!important}

/* Bottoni disabled */
.mx_AccessibleButton_kind_primary[disabled],.mx_AccessibleButton_kind_primary_sm[disabled],button[disabled]{background-color:#ECE9E3!important;color:#8A8782!important}

/* Chip spotlight */
.mx_SpotlightDialog_filter{background-color:#ECE9E3!important;color:#2B2A28!important;border-radius:8px!important}

/* iSwiss Vault - Bordo tra sidebar/roomlist e main area */
.mx_LeftPanel, .mx_SpacePanel {
  border-right: 1px solid #D6CBB8 !important;
}

/* iSwiss Vault - SpacePanel (sidebar stretta sinistra) */
.mx_SpacePanel {
  background: linear-gradient(90deg, #E0D5C2 0%, #E8DFD0 70%, #DDD0B8 100%) !important;
  box-shadow: inset -2px 0 4px rgba(139, 115, 75, 0.08) !important;
  border-right: 1px solid #C8B99D !important;
}

/* iSwiss Vault - Pannello lista stanze (gradient + bordo destro) */
.mx_LeftPanel {
  background: linear-gradient(90deg, #F1EDE4 0%, #F1EDE4 85%, #E5DCC6 100%) !important;
  border-right: 1px solid #D6CBB8 !important;
  box-shadow: inset -2px 0 4px rgba(139, 115, 75, 0.05) !important;
}

/* ============================================================
   iSwiss Vault — Privacy: nascondere lista membri/persone
   ============================================================ */

/* Bottone "Persone" nell'header della stanza */
.mx_LegacyRoomHeader_button[aria-label="Persone"],
.mx_LegacyRoomHeader_button[aria-label="People"],
.mx_RoomHeader_button[aria-label="Persone"],
.mx_RoomHeader_button[aria-label="People"],
.mx_RoomHeader_toggleButton[aria-label="Persone"],
.mx_RoomHeader_toggleButton[aria-label="People"] {
  display: none !important;
}

/* Pannello "Persone" (right panel) */
.mx_MemberList,
.mx_RightPanel .mx_MemberList,
.mx_BaseCard .mx_MemberList {
  display: none !important;
}

/* Voce "Persone/Members" nel pannello info stanza */
.mx_RoomSummaryCard_icon_people,
.mx_RoomSummaryCard_appsGroup .mx_AccessibleButton[aria-label*="Persone"],
.mx_RoomSummaryCard_appsGroup .mx_AccessibleButton[aria-label*="Members"],
.mx_RoomSummaryCard button[aria-label*="people" i],
.mx_RoomSummaryCard button[aria-label*="persone" i],
.mx_RoomSummaryCard button[aria-label*="member" i],
.mx_RoomSummaryCard button[aria-label*="membri" i] {
  display: none !important;
}

/* Avatar facepile (la pillola "X membri") */
.mx_RoomSummaryCard_avatar_facepile,
.mx_FacePile {
  display: none !important;
}

/* Read receipts (avatar dei messaggi letti) */
.mx_ReadReceiptGroup,
.mx_EventTile_readAvatars {
  display: none !important;
}

/* ============================================================
   iSwiss Vault — Privacy v2: classi compound Element 1.12.x
   ============================================================ */

/* Bottone "Persone" nel pannello info (menu compound)
   Element ora usa span con testo "Persone". Selezioniamo il button
   che contiene quel testo. */
button[role="menuitem"]:has(span:is([class*="_typography_"])):has(svg) {
  /* Non possiamo ancora filtrare per testo via CSS standard, vedi sotto */
}

/* Soluzione robusta: CSS :has() + testo via attribute non funziona,
   ma possiamo nascondere TUTTI i menuitem con icona "person" usando
   l'aria-label del bottone. Cerca in Italiano e Inglese. */
button[role="menuitem"][aria-label*="Persone" i],
button[role="menuitem"][aria-label*="People" i],
button[role="menuitem"][aria-label*="Members" i],
button[role="menuitem"][aria-label*="Membri" i] {
  display: none !important;
}

/* Bottone "i" (info) nell'header della stanza, che apre il pannello
   summary -- se vuoi nasconderlo del tutto agli utenti normali */
/* button[aria-label*="info" i][aria-label*="stanza" i],
   button[aria-label*="info" i][aria-label*="room" i] {
     display: none !important;
   } */

/* Right panel "Persone" header - quando il pannello membri è aperto */
aside[aria-label*="Persone" i],
aside[aria-label*="People" i],
[role="complementary"][aria-label*="Persone" i],
[role="complementary"][aria-label*="People" i] {
  display: none !important;
}

/* === iSwiss Vault: logo home page ingrandito (26 apr 2026) === */
/* Default Element renderizza il logo a height 48px → wordmark "iSwiss"
   diventa illeggibile (3 puntini rossi). Ingrandiamo a 180px così
   il logo è ben visibile sulla welcome page Cartier. */
.mx_HomePage_default img {
  display: none !important;
  width: auto !important;
  max-width: 80% !important;
  margin-bottom: 24px;
}
/* === end iSwiss home logo === */

/* === iSwiss Vault: override accent verde → bordeaux (26 apr 2026) === */
/* Element 1.12 usa Compound Design Tokens (--cpd-*). Forziamo il colore
   primario action su bordeaux Cartier ovunque appaia. */
:root,
.cpd-theme-light,
.cpd-theme-dark {
  --cpd-color-bg-action-primary-rest: #6B1F2A !important;
  --cpd-color-bg-action-primary-hovered: #8a2838 !important;
  --cpd-color-bg-action-primary-pressed: #4d1620 !important;
  --cpd-color-text-action-accent: #6B1F2A !important;
  --cpd-color-icon-accent-primary: #6B1F2A !important;
  --cpd-color-border-interactive-primary: #6B1F2A !important;
}

/* Bottone invio messaggio (la freccina dentro la chat) */
.mx_MessageComposer_sendMessage {
  background-color: #6B1F2A !important;
}
.mx_MessageComposer_sendMessage:hover {
  background-color: #8a2838 !important;
}

/* Fallback: qualunque elemento con accent verde Element default */
[style*="#0DBD8B"] {
  color: #6B1F2A !important;
}
/* === end accent override === */

/* === iSwiss Vault: critical/danger → bordeaux === */
/* Element 1.12 usa --cpd-color-*-critical-* per azioni distruttive
   (Disconnetti, Disattiva account, Reimposta identità, link rossi).
   Forziamo tutto su bordeaux Cartier (#6B1F2A) per coerenza brand. */
:root,
.cpd-theme-light,
.cpd-theme-dark {
  --cpd-color-bg-critical-primary: #6B1F2A !important;
  --cpd-color-bg-critical-hovered: #8a2838 !important;
  --cpd-color-bg-critical-pressed: #4d1620 !important;
  --cpd-color-bg-critical-subtle: #f5e6e8 !important;
  --cpd-color-bg-critical-subtle-hovered: #ebd0d4 !important;
  --cpd-color-text-critical-primary: #6B1F2A !important;
  --cpd-color-text-on-solid-critical-primary: #FFFFFF !important;
  --cpd-color-icon-critical-primary: #6B1F2A !important;
  --cpd-color-border-critical-primary: #6B1F2A !important;
  --cpd-color-border-critical-subtle: #c89299 !important;
}

/* Fallback diretti su classi Element più comuni */
.mx_AccessibleButton_kind_danger,
.mx_AccessibleButton_kind_danger_outline,
button[data-kind="destructive"],
.cpd-button[data-kind="destructive"] {
  background-color: #6B1F2A !important;
  border-color: #6B1F2A !important;
}

.mx_AccessibleButton_kind_danger:hover,
.mx_AccessibleButton_kind_danger_outline:hover,
button[data-kind="destructive"]:hover {
  background-color: #8a2838 !important;
  border-color: #8a2838 !important;
}

/* Link "Disconnetti" e simili (testo rosso, no sfondo) */
.mx_AccessibleButton_kind_link_critical,
.mx_AccessibleButton_kind_danger_inline,
a[data-kind="critical"] {
  color: #6B1F2A !important;
}

/* === end critical bordeaux === */

/* === iSwiss Vault: testo bianco su critical bordeaux === */
/* Forza testo bianco su tutti i bottoni critical/danger bordeaux */
.mx_AccessibleButton_kind_danger,
.mx_AccessibleButton_kind_danger_outline,
button[data-kind="destructive"],
.cpd-button[data-kind="destructive"] {
  color: #FFFFFF !important;
}

.mx_AccessibleButton_kind_danger *,
.mx_AccessibleButton_kind_danger_outline *,
button[data-kind="destructive"] *,
.cpd-button[data-kind="destructive"] * {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* SVG icone dentro bottoni critical → bianco */
.mx_AccessibleButton_kind_danger svg,
button[data-kind="destructive"] svg {
  color: #FFFFFF !important;
  fill: currentColor !important;
}
/* === end testo critical bianco === */

/* === Tooltip validation: bianco + testo nero, bordo bordeaux === */
[role="tooltip"],
.mx_Tooltip,
.cpd-tooltip {
    background-color: #FFFFFF !important;
    color: #1A1414 !important;
    border: 1px solid #6B1F2A !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

[role="tooltip"] *,
.mx_Tooltip *,
.cpd-tooltip * {
    color: #1A1414 !important;
}

/* Freccetta del tooltip (se presente) */
[role="tooltip"]::before,
[role="tooltip"]::after,
.mx_Tooltip_chevron,
.cpd-tooltip-arrow {
    border-color: #6B1F2A !important;
    background-color: #FFFFFF !important;
}

/* Icona "X" / warning dentro al tooltip — mantieni bordeaux per accent */
[role="tooltip"] svg,
.mx_Tooltip svg,
.cpd-tooltip svg {
    color: #6B1F2A !important;
    fill: #6B1F2A !important;
}

/* === Bordo sottile sul rettangolo arrotondato dello SpaceButton attivo === */
.mx_SpaceButton_selectionWrapper {
  border-width: 1px !important;
}

.mx_SpaceButton.mx_SpaceButton_active .mx_SpaceButton_selectionWrapper,
.mx_SpaceButton[aria-selected="true"] .mx_SpaceButton_selectionWrapper {
  border-width: 1px !important;
}

/* === Override colore selezione SpaceButton: rosso Element → bordeaux Cartier === */

/* Indicatore active (sia colore esterno bordo che barretta a sinistra) */
.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active::before,
.mx_SpacePanel .mx_SpaceButton[aria-selected="true"]::before {
  background-color: #6B1F2A !important;
}

/* Bordo del wrapper esterno quando selezionato */
.mx_SpacePanel .mx_SpaceItem .mx_SpaceButton.mx_SpaceButton_active .mx_SpaceButton_selectionWrapper,
.mx_SpacePanel .mx_SpaceItem .mx_SpaceButton[aria-selected="true"] .mx_SpaceButton_selectionWrapper {
  border-color: #6B1F2A !important;
  outline-color: #6B1F2A !important;
}

/* Override CSS variable Element accent (se usata) */
.mx_SpacePanel {
  --cpd-color-bg-action-primary-rest: #6B1F2A;
  --cpd-color-icon-accent-tertiary: #6B1F2A;
}

/* Casetta home: forza l'aria-selected="true" quando hash è #/home, via JS */

/* === Casetta home: niente bordo "active" (rimane sempre uguale) === */
#__iswiss_home_button_injected .mx_SpaceButton_selectionWrapper {
  border-color: transparent !important;
  outline: none !important;
}

#__iswiss_home_button_injected .mx_SpaceButton.mx_SpaceButton_active::before,
#__iswiss_home_button_injected .mx_SpaceButton[aria-selected="true"]::before {
  display: none !important;
}

/* FINAL FIX sidebar iSwiss Vault */

/* elimina barra e fondo rosso/rosato di selezione */
.mx_SpacePanel li[role="treeitem"][aria-selected="true"],
.mx_SpacePanel li[role="treeitem"],
.mx_SpacePanel .mx_SpaceItem,
.mx_SpacePanel .mx_SpaceItem.mx_SpaceItem_active,
.mx_SpacePanel .mx_SpaceButton,
.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active,
.mx_SpacePanel .mx_SpaceButton_selectionWrapper {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.mx_SpacePanel li[role="treeitem"]::before,
.mx_SpacePanel li[role="treeitem"][aria-selected="true"]::before,
.mx_SpacePanel .mx_SpaceButton::before,
.mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active::before {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

/* mantiene solo il bordo bordeaux delle icone */
#__iswiss_home_button_injected .mx_BaseAvatar,
.mx_SpacePanel .mx_SpaceButton_selectionWrapper {
  border-color: #6B1F2A !important;
}

/* centra i blocchi senza deformare loghi/immagini */
.mx_SpacePanel li[role="treeitem"],
.mx_SpacePanel .mx_SpaceItem,
#__iswiss_home_button_injected {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}


/* Uniforma Home button al layout nativo Element */
#__iswiss_home_button_injected {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  margin: 6px auto !important;
  padding: 0 !important;
}

/* stesso contenitore avatar */
#__iswiss_home_button_injected .mx_BaseAvatar {
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* dimensione icona uguale a Element */
#__iswiss_home_button_injected svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}


/* Allineamento definitivo Home + iS nella sidebar */
.mx_SpacePanel ul[role="tree"] > li,
#__iswiss_home_button_injected {
  width: 40px !important;
  height: 40px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.mx_SpacePanel .mx_SpaceButton,
.mx_SpacePanel .mx_SpaceButton_selectionWrapper,
.mx_SpacePanel .mx_SpaceButton_avatarWrapper,
.mx_SpacePanel .mx_BaseAvatar,
#__iswiss_home_button_injected .mx_BaseAvatar {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Non spostare più immagini/loghi */
.mx_SpacePanel img {
  transform: none !important;
}




/* ============================================================
   iSwiss Vault — Sidebar consolidata (28 apr 2026)
   Sostituisce ~100 righe di regole spacing/centering precedenti.
   La casetta home è ora la nativa "Tutte le chat" di Element 1.12,
   stilata coerente con iS La Suite.
   ============================================================ */

/* Bordo bordeaux su tutti gli avatar SpaceItem (iS La Suite, etc.)
   gemello del bordo della casetta home nativa */
.mx_SpacePanel .mx_SpaceItem:not(#__iswiss_home_button_injected) .mx_BaseAvatar {
  border-radius: 8px !important;
  border: 1.5px solid #6B1F2A !important;
}

/* Gap uniforme 10px tra i bottoni della SpacePanel */
.mx_SpacePanel ul[data-rbd-droppable-id="top-level-spaces"] > li + li {
  margin-top: 10px !important;
}

/* Plus più vicino: compensa il vuoto interno dell'icona */
.mx_SpacePanel ul[data-rbd-droppable-id="top-level-spaces"] > li.mx_SpaceItem_new {
  margin-top: 0px !important;
}

/* Avvicina l'intero blocco a UserMenu */
.mx_SpacePanel ul[data-rbd-droppable-id="top-level-spaces"] {
  margin-top: 8px !important;
}

/* Centratura li nell'ul (compensa shift di 5px verso sinistra) */
.mx_SpacePanel ul[data-rbd-droppable-id="top-level-spaces"] > li {
  position: relative !important;
  left: 5px !important;
}

/* Nascondi dropdown server in dialog "Esplora stanze pubbliche"
   (resta solo iswiss.ch implicito, niente Matrix.org o "Aggiungi server") */
[role="dialog"] .mx_GenericDropdownMenu_button {
  display: none !important;
}

/* Casetta home: rimuovi margin-bottom per uniformare casetta-iS (10px) a iS-+ (10px) */
#__iswiss_home_button_injected {
  margin-bottom: 0 !important;
}

/* Fase 1: nascondi pallino rosso "alert" sulla tab Crittografia di Settings */
.mx_SettingsDialog_tabLabelsAlert::before,
.mx_SettingsDialog_tabLabelsAlert::after {
  display: none !important;
  content: none !important;
}


/* ===================================================================
 * Banner Fase 2 — Configura backup chiavi
 * Stile Cartier discreto: avorio + bordo sinistro bordeaux
 * =================================================================== */
#__iswiss_recovery_banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px 12px 24px;
  background-color: #F5EFE6;
  border-bottom: 2px solid #6B1F2A;

  font-size: 14px;
  line-height: 1.4;
  color: #1A1414;
  z-index: 1000;
  flex-shrink: 0;
}

#__iswiss_recovery_banner .__iswiss_banner_text {
  flex: 1;
  min-width: 0;
}

#__iswiss_recovery_banner .__iswiss_banner_actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

#__iswiss_recovery_banner .__iswiss_banner_configure {
  background-color: #6B1F2A;
  color: #FFFFFF;
  border: none;
  padding: 8px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

#__iswiss_recovery_banner .__iswiss_banner_configure:hover {
  background-color: #511720;
}

#__iswiss_recovery_banner .__iswiss_banner_later {
  color: #6B1F2A;
  text-decoration: underline;
  font-size: 13px;
  cursor: pointer;
}

#__iswiss_recovery_banner .__iswiss_banner_later:hover {
  color: #511720;
}

@media (max-width: 600px) {
  #__iswiss_recovery_banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* ===================================================================
 * iSwiss Vault — Soppressione globale toast Element
 * Aggiunto 14 maggio 2026 (Fix C v2, scelta UX banking-style).
 *
 * Element mostra vari toast popup ("Attiva notifiche desktop",
 * "Controlla account", "Verifica dispositivo", ecc.) che si
 * sovrappongono al banner Fase 2 e non sono appropriati per UX HNW.
 *
 * Soppressione totale. Il banner Fase 2 (iSwiss custom) resta visibile
 * e veicola tutte le call-to-action di sicurezza necessarie.
 * =================================================================== */
.mx_ToastContainer,
.mx_Toast,
.mx_Toast_toast {
    display: none !important;
}

/* ===================================================================
 * iSwiss Vault — Fase 2: nasconde la dialog "Chiave di sicurezza"
 * Strategia A: la 4S non viene proposta all'utente (Tutanota-style).
 * La dialog appare nel primo bootstrap quando Element vuole esportare
 * cross-signing keys in 4S. Bloccarla con CSS la nasconde visualmente.
 * Il bootstrap fallisce silenziosamente (atteso) e l'utente entra in
 * Element senza popup.
 * =================================================================== */
.mx_AccessSecretStorageDialog,
.mx_Dialog_wrapper:has(.mx_AccessSecretStorageDialog),
.mx_Dialog_wrapper:has(.mx_EncryptionCard.mx_AccessSecretStorageDialog) {
    display: none !important;
}

/* Rimuove anche l'overlay scuro di background della dialog quando è di tipo 4S */
.mx_Dialog_background:has(+ .mx_Dialog_wrapper .mx_AccessSecretStorageDialog) {
    display: none !important;
}

/* === iSwiss Vault — Nasconde toggle theme nel menu utente === */
.mx_UserMenu_contextMenu_themePicker,
.mx_UserMenu_contextMenu_themeButton,
[aria-label="Switch to dark mode"],
[aria-label="Switch to light mode"],
[aria-label="Passa al tema scuro"],
[aria-label="Passa al tema chiaro"] {
    display: none !important;
}
