:root {
  --innari2026-ui-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --app-bg: #f3efe7;
  --app-paper: #fffdf7;
  --app-paper-2: #f9f4e9;
  --app-ink: #1d211f;
  --app-muted: #6d746e;
  --app-line: #ded7c9;
  --app-green: #176a5f;
  --app-green-soft: #e4f1ec;
  --app-coral: #ba5338;
  --app-shadow: 0 22px 70px rgba(52, 45, 34, 0.16);
  --app-radius: 8px;
}

body {
  margin: 0 !important;
  color: var(--app-ink) !important;
  background:
    linear-gradient(90deg, rgba(23, 106, 95, 0.08) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 20% 0%, rgba(211, 146, 40, 0.2), transparent 30rem),
    linear-gradient(180deg, #faf7ef 0%, var(--app-bg) 100%) !important;
  font-family: var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  padding-bottom: 32px;
  zoom: 1;
  overflow-x: hidden;
}

body.innari2026TopbarOpen,
html.innari2026TopbarOpen {
  overscroll-behavior: none;
}

.innari2026Backdrop {
  position: fixed;
  inset: 0;
  z-index: 75;
  background: rgba(12, 14, 14, 0.52);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  touch-action: none;
}

.innari2026Backdrop[data-active="1"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.2s ease, visibility 0s;
}


body.innari2026SheetOpen .innari2026Backdrop,
html.innari2026SheetOpen .innari2026Backdrop {
  z-index: 115;
}

body.innari2026BackdropOn,
html.innari2026BackdropOn {
  overscroll-behavior: none;
}

.innari2026Topbar {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 90;
  width: 100%;
  box-sizing: border-box;
  min-height: 62px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 6px clamp(10px, 3vw, 22px);
  border-bottom: 1px solid rgba(222, 215, 201, 0.78);
  background: rgba(255, 253, 247, 0.9);
  backdrop-filter: blur(18px);
  transition: min-height 0.22s ease, background 0.22s ease;
}

body.stage .innari2026Topbar {
  background: rgba(22, 26, 27, 0.9);
}

.innari2026Brand {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--app-radius) !important;
  background: transparent !important;
  color: var(--app-green) !important;
  text-decoration: none;
  cursor: pointer;
  align-self: center;
  justify-self: center;
}

.innari2026BrandIcon {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--app-green) !important;
  background: transparent !important;
  font-weight: 900;
  font-size: 1.9rem;
  line-height: 1;
  transform: translateY(1px);
}

.innari2026Brand:active .innari2026BrandIcon,
.innari2026Brand:focus-visible .innari2026BrandIcon {
  background: var(--app-green-soft) !important;
}

.innari2026TopSongNav {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: clamp(6px, 1.5vw, 14px);
}

.innari2026NowPlaying {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 3px;
  text-align: center;
  text-decoration: none !important;
  color: inherit !important;
}

.innari2026NowPlaying span {
  color: var(--app-muted);
  font-size: 0.88rem;
  font-weight: 900;
  text-transform: uppercase;
}

.innari2026NowPlaying strong {
  max-width: 100%;
  overflow: hidden;
  color: var(--app-ink);
  font-size: clamp(1.05rem, 2.2vw, 1.55rem);
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026TopButton,
.innari2026SongNavButton,
.innari2026DrawerButton,
.innari2026Segmented button {
  font: inherit !important;
  cursor: pointer;
}

.innari2026TopButton {
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

.innari2026TopButton .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.65rem;
  transition: transform 0.2s ease;
}

.innari2026Topbar[data-expanded="1"] .innari2026TopButton .material-symbols-rounded {
  transform: rotate(180deg);
}

.innari2026SongNavButton {
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid rgba(222, 215, 201, 0.86) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

.innari2026SongNavButton .material-symbols-rounded {
  font-size: 1.65rem;
  color: var(--app-green) !important;
}

.innari2026SongNavButton:disabled,
.innari2026DrawerButton:disabled,
.innari2026Segmented button:disabled {
  cursor: default;
  opacity: 0.38;
}

.innari2026TopSpacer {
  width: 40px;
  height: 40px;
}

.innari2026TopDrawer {
  grid-column: 1 / -1;
  display: block;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: max-height 0.24s ease, opacity 0.2s ease, padding-top 0.2s ease;
}

.innari2026Topbar[data-expanded="1"] {
  touch-action: none;
  box-shadow: 0 22px 70px rgba(13, 16, 15, 0.28);
}

.innari2026Topbar[data-expanded="1"] .innari2026TopDrawer {
  max-height: 430px;
  opacity: 1;
  pointer-events: auto;
  padding-top: 8px;
  overscroll-behavior: contain;
}

.innari2026DrawerRow {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 6px 0;
}

.innari2026HistoryRow {
  flex-wrap: nowrap;
  overflow: hidden;
}

.innari2026DrawerButton {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
  padding: 7px 12px !important;
  text-decoration: none !important;
}

.innari2026DrawerButton .material-symbols-rounded,
.innari2026Segmented .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.65rem;
}

.innari2026DrawerButton strong {
  color: var(--app-ink);
  font-size: 0.9rem;
  font-weight: 900;
  white-space: nowrap;
}

.innari2026HistoryButton {
  flex: 1 1 0;
  min-width: 0;
  max-width: 360px;
}

.innari2026HistoryButton strong {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026TransposePlaylistRow {
  align-items: end;
}

.innari2026ControlGroup {
  display: grid;
  gap: 5px;
  justify-items: center;
}

.innari2026ControlLabel {
  color: var(--app-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.innari2026Segmented {
  display: inline-grid;
  grid-template-columns: repeat(3, 48px);
  gap: 7px;
  padding: 6px;
  border-radius: var(--app-radius);
  background: rgba(249, 244, 233, 0.8);
}

.innari2026Segmented button {
  width: 48px !important;
  height: 44px !important;
  min-height: 44px !important;
  display: grid !important;
  place-items: center;
  border: 0 !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.innari2026Segmented button:nth-child(2) {
  background: var(--app-green) !important;
  color: #fff !important;
}

.innari2026Segmented button:nth-child(2) strong {
  color: #fff !important;
  font-size: 1.2rem;
  font-weight: 900;
}

.innari2026Segmented button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.innari2026Segmented button:nth-child(2):disabled {
  opacity: 0.78;
}

#innari2026TopPLbrowse[data-active="0"] {
  display: none !important;
}

.innari2026QuickActions {
  display: grid;
  grid-template-columns: repeat(6, minmax(74px, 1fr));
  gap: 8px;
  width: min(760px, 100%);
  margin: 0 auto;
}

.innari2026QuickActions .innari2026DrawerButton {
  min-width: 0;
  flex-direction: column;
  gap: 3px;
  padding: 8px 6px !important;
}

.innari2026QuickActions .innari2026DrawerButton strong {
  font-size: 0.72rem;
}

body.stage,
body[data-theme="stage"] {
  --app-bg: #161a1b;
  --app-paper: #202423;
  --app-paper-2: #282d2b;
  --app-ink: #f8f4e8;
  --app-muted: #c3bdae;
  --app-line: #414942;
  --app-green-soft: #24413c;
  background: linear-gradient(180deg, #111515 0%, #1e2320 100%) !important;
}

a {
  color: var(--app-green) !important;
}

button,
input,
select,
textarea {
  font-family: inherit !important;
}

.whiteBox,
.whiteUserBox,
.tabellaElenco,
.searchBox,
.nTABLEf {
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: rgba(255, 253, 247, 0.92) !important;
  color: var(--app-ink) !important;
  box-shadow: 0 12px 34px rgba(52, 45, 34, 0.09) !important;
}

.whiteUserBox {
  margin-top: 10px !important;
  padding: 14px !important;
}

.tabellaElenco {
  overflow: hidden;
}

.tabellaElenco th {
  background: var(--app-green) !important;
  color: #fff !important;
}

.trDispari {
  background: var(--app-green-soft) !important;
}

.trPari {
  background: var(--app-paper) !important;
}

.iTab,
.tTab,
.tTab2,
.soloTesto {
  color: var(--app-ink) !important;
}

.titolo,
p.titolo {
  color: var(--app-ink) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

/* Non sovrascrivere colore, dimensione e geometria degli accordi:
   la renderizzazione del brano deve restare quella storica del 2025
   definita in chords.css/chordss.css e regolata da chords.js. */

.pulsanteColorato,
.pulsanteColoratoBlu,
.selColorato,
.whiteUserBox button,
.whiteBox button,
.tabellaElenco button {
  min-height: 42px;
  border: 0 !important;
  border-radius: var(--app-radius) !important;
  color: #fff !important;
  background: var(--app-green) !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

.pulsanteColoratoBlu {
  background: var(--app-green) !important;
}

select.pulsanteColorato,
select.pulsanteColoratoBlu,
select.selColorato,
.whiteUserBox select,
.whiteBox select {
  border: 1px solid var(--app-line) !important;
  color: var(--app-ink) !important;
  background: var(--app-paper) !important;
}

input.whiteBox,
input.searchBox,
textarea.whiteBox,
textarea.searchBox {
  background: var(--app-paper) !important;
  color: var(--app-ink) !important;
}

#divUserBox,
#divBoxRicerca,
#divStrumentiAvanzati {
  position: fixed !important;
  width: min(440px, calc(100vw - 32px)) !important;
  height: calc(100dvh - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
  top: 24px !important;
  right: 16px !important;
  left: auto !important;
  transform: translateX(calc(100% + 32px)) !important;
  transition: transform 0.22s ease !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper) !important;
  color: var(--app-ink) !important;
  box-shadow: -24px 0 70px rgba(13, 16, 15, 0.26) !important;
  padding: 10px !important;
  z-index: 130 !important;
  overflow: hidden auto !important;
  overscroll-behavior: contain;
  pointer-events: none;
  -webkit-overflow-scrolling: touch;
}

#divUserBox[data-open="1"],
#divBoxRicerca[data-open="1"],
#divStrumentiAvanzati[data-open="1"] {
  transform: translateX(0) !important;
  pointer-events: auto;
  z-index: 130 !important;
}

#divUserBox.innari2026MenuPanel {
  padding: 0 !important;
  overflow: hidden auto !important;
}

#divUserBox.innari2026MenuPanel::before {
  content: "";
  display: none;
  width: 46px;
  height: 5px;
  margin: 10px auto 0;
  border-radius: 999px;
  background: rgba(109, 116, 110, 0.35);
}

.innari2026LegacyMenu {
  display: none !important;
}

.innari2026MenuShell,
.innari2026TransportPanel {
  color: var(--app-ink);
}

.innari2026PanelHeader {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 26px 26px 22px;
  border-bottom: 1px solid var(--app-line);
  background: rgba(255, 253, 247, 0.96);
  backdrop-filter: blur(14px);
}

.innari2026PanelHeader h2 {
  margin: 4px 0 0;
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: 0;
}

.innari2026Eyebrow {
  color: var(--app-muted);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.innari2026CloseButton,
.innari2026BackButton {
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper) !important;
  color: var(--app-muted) !important;
  box-shadow: none !important;
}

.innari2026CloseButton {
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
}

#divUserBoxButton.innari2026CloseButton {
  background: var(--app-paper) !important;
  color: var(--app-muted) !important;
}

.innari2026MenuOverview,
.innari2026SubPanel {
  padding: 22px;
}

.innari2026MenuCard {
  width: 100%;
  min-height: 88px;
  margin: 0 0 12px;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 18px;
  align-items: center;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  text-align: left;
  box-shadow: none !important;
}

.innari2026MenuCard > .material-symbols-outlined {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: var(--app-radius);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 2rem !important;
}

.innari2026MenuCard b {
  display: block;
  font-size: 1.05rem;
}

.innari2026MenuCard small {
  display: block;
  margin-top: 6px;
  color: var(--app-muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.innari2026BackButton {
  min-height: 38px !important;
  margin-bottom: 16px;
  padding: 0 12px !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.innari2026SubPanel h3 {
  margin: 0 0 18px;
  font-size: 1.7rem;
}

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

.innari2026Grid > div:empty {
  display: none;
}

.innari2026Grid button,
.innari2026Grid select,
.innari2026Grid form button {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
}

.innari2026DisplayHost table {
  width: 100% !important;
}

#divUserBox table,
#divBoxRicerca table,
#divStrumentiAvanzati table {
  max-width: 100%;
}

#divUserBoxButton,
#toggleButton,
#toggleButtonRicerca {
  width: 46px !important;
  height: 46px !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-coral) !important;
}

#fixedDivTools {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 14px !important;
  z-index: 30 !important;
  width: min(330px, calc(100% - 24px)) !important;
  height: auto !important;
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 7px;
  padding: 8px;
  transform: translateX(-50%);
  border: 1px solid rgba(222, 215, 201, 0.86);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.9);
  box-shadow: 0 18px 50px rgba(35, 31, 25, 0.24);
  backdrop-filter: blur(18px);
}

.fixedButtonTools {
  width: auto !important;
  height: 58px !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center;
  border-radius: 7px !important;
  background: transparent !important;
  opacity: 1 !important;
  color: var(--app-green) !important;
  text-align: center;
}

.fixedButtonTools a,
.fixedButtonTools {
  display: grid;
  place-items: center;
  gap: 2px;
  color: var(--app-green) !important;
}

.fixedButtonTools strong {
  font-size: 0.76rem;
  line-height: 1;
  color: var(--app-muted);
}

.fixedButtonTools .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 2rem !important;
}

.material-symbols-outlined,
.material-symbols-rounded {
  line-height: 1;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
}


/* Barra inferiore 2025/ibrida rimossa: il menu ora vive nella barra superiore. */
#fixedDivTools.innari2026BottomNav {
  display: none !important;
}

#divBottomBar {
  left: auto !important;
  right: 12px !important;
  bottom: 86px !important;
  width: min(520px, calc(100% - 24px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 112px) !important;
  overflow: hidden auto !important;
  transform: translateY(calc(100% + 120px)) !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 1px solid rgba(222, 215, 201, 0.86);
  border-radius: var(--app-radius) !important;
  background: rgba(255, 253, 247, 0.9) !important;
  color: var(--app-green) !important;
  box-shadow: 0 18px 50px rgba(35, 31, 25, 0.2) !important;
  backdrop-filter: blur(18px);
  font-size: 1rem !important;
  padding: 0;
  z-index: 82 !important;
  pointer-events: none;
  transition: transform 0.22s ease, opacity 0.22s ease, visibility 0s linear 0.22s !important;
  overscroll-behavior: contain;
}

#divBottomBar[data-open="1"] {
  transform: translateY(0) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
  z-index: 130 !important;
  transition: transform 0.22s ease, opacity 0.22s ease, visibility 0s !important;
}

#divBottomBar table {
  width: 100% !important;
  color: var(--app-green) !important;
}

#divBottomBar td {
  min-width: 44px;
  border-radius: 7px;
  color: var(--app-green) !important;
}

#divBottomBar .material-symbols-outlined {
  color: var(--app-green) !important;
}

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

.innari2026TransportGrid button {
  min-height: 76px !important;
  display: grid !important;
  place-items: center;
  gap: 4px;
  border: 0 !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
}

.innari2026TransportGrid button:nth-child(3n+2) {
  background: var(--app-green) !important;
  color: #fff !important;
}

.innari2026TransportGrid button:nth-child(3n+2) .material-symbols-outlined {
  color: #fff !important;
}

.innari2026TransportGrid strong {
  font-size: 0.8rem;
}

#boxInformazioni {
  display: none !important;
}

#tabellaTestoBrano,
#testo,
.testoAccordi {
  color: var(--app-ink) !important;
}

.innari2026SongBadges,
.innari2026SongStats {
  margin: 14px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.innari2026SongBadge,
.innari2026SongStat {
  min-height: 0;
  padding: 8px 11px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: rgba(249, 244, 233, 0.86);
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
}

.innari2026SongBadge span,
.innari2026SongStat span {
  display: inline;
  color: var(--app-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.innari2026SongBadge strong,
.innari2026SongStat strong {
  display: inline;
  margin: 0;
  color: var(--app-coral);
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

#tabellaTestoBrano {
  width: min(860px, calc(100% - 28px)) !important;
  min-height: 70vh;
  margin: 0 auto 38px !important;
  padding: clamp(32px, 7vw, 100px) !important;
  border-radius: var(--app-radius) !important;
  background: rgba(255, 253, 247, 0.94) !important;
  box-shadow: var(--app-shadow) !important;
  /* Font storico del brano: il ridimensionamento dinamico viene applicato
     al solo corpo del testo, cosi' testo e accordi scalano insieme. */
  font-family: "Roboto", sans-serif;
  font-size: 1em !important;
  line-height: normal;
  transform: none !important;
  transform-origin: center top !important;
  overflow: visible !important;
}

#tabellaTestoBrano td {
  overflow: visible !important;
}

.innari2026LegacyTitleBox {
  display: none !important;
}

.innari2026SongHead {
  position: relative;
  margin: 0 0 36px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--app-line);
}

.innari2026SongHead .innari2026SongSource {
  display: block;
  color: var(--app-muted);
  font-size: 0.72em;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.innari2026SongHead h1 {
  margin: 18px 0 0;
  color: var(--app-ink);
  font-size: clamp(2.05rem, 5vw, 3.65rem);
  font-weight: 900;
  line-height: 0.98;
}

.innari2026SongAuthor {
  margin-top: 8px;
  color: var(--app-muted);
  font-size: 0.88rem;
  line-height: 1.25;
}

.innari2026SongAuthor strong {
  color: var(--app-ink);
  font-weight: 800;
}

#testo.divBrano {
  width: 100% !important;
  max-width: 100%;
  margin-left: 1em;
  margin-top: -1.5em;
  font-size: clamp(1em, 1.55vw, 1.42em);
  transform-origin: left top;
  overflow-anchor: none;
}

#testo.divBrano.innari2026MobileWrap {
  box-sizing: border-box;
  width: var(--innari2026-song-safe-width, 100%) !important;
  max-width: var(--innari2026-song-safe-width, 100%);
  overflow: visible;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding-left: 1.55em;
  padding-right: 2.1em;
  margin-left: 0;
}

#testo.divBrano.innari2026MobileWrap p,
#testo.divBrano.innari2026MobileWrap p.testoAccordi,
#testo.divBrano.innari2026MobileWrap p.soloTesto {
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

#testo.divBrano.innari2026MobileWrap p.testoAccordi {
  line-height: 1.68em;
  margin-bottom: 0.42em;
}

#testo.divBrano.innari2026MobileWrap p.soloTesto {
  line-height: 1.28em;
  margin-bottom: 0.55em;
}

/* Non azzerare letter-spacing nel corpo del brano: classi storiche come
   .noc lo usano per allineare testo e accordi. */

#tableAnnotazioni {
  width: min(680px, calc(100% - 28px)) !important;
  margin: 24px auto 38px !important;
  padding: 18px 22px !important;
}

#tableAnnotazioni #annotazioni {
  color: var(--app-ink) !important;
  font-size: 1rem;
  line-height: 1.45;
}

#divFormAnnotazioni {
  margin: 20px auto 38px !important;
}

#noteInnario {
  margin-top: 28px;
  color: var(--app-coral) !important;
}

/* Gli accordi dentro #testo non vengono forzati dal tema 2026:
   dimensione, top, colore, line-height e fratti restano quelli 2025. */

#versettiRiferimento {
  width: min(680px, calc(100% - 28px)) !important;
}

#divBoxRicerca .titolo,
#divStrumentiAvanzati .titolo {
  display: block;
  margin-bottom: 10px;
  color: var(--app-ink) !important;
  font-size: 1.35rem !important;
  text-transform: uppercase;
}

#cercaTesto,
#divBoxRicerca input[type="text"],
#divBoxRicerca input[type="search"] {
  min-height: 48px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
}

.ui-autocomplete,
.ac_results {
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper) !important;
  box-shadow: 0 18px 50px rgba(35, 31, 25, 0.2) !important;
}

@media (max-width: 680px) {
  .innari2026Topbar {
    min-height: 50px;
    grid-template-columns: 38px minmax(0, 1fr) 32px;
    gap: 6px;
    padding: 5px 8px;
  }

  .innari2026Brand,
  .innari2026BrandIcon {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .innari2026TopButton {
    width: 32px !important;
    height: 34px !important;
    min-height: 34px !important;
  }

  .innari2026BrandIcon {
    font-size: 1.62rem;
    transform: translateY(1px);
  }

  .innari2026TopSongNav {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 4px;
  }

  .innari2026SongNavButton {
    width: 32px !important;
    height: 34px !important;
    min-height: 34px !important;
  }

  .innari2026SongNavButton .material-symbols-rounded,
  .innari2026TopButton .material-symbols-rounded {
    font-size: 1.48rem;
  }

  .innari2026NowPlaying span {
    font-size: 0.68rem;
  }

  .innari2026NowPlaying strong {
    font-size: 0.96rem;
  }

  .innari2026Topbar[data-expanded="1"] .innari2026TopDrawer {
    max-height: calc(100dvh - 74px);
    overflow: auto;
  }

  .innari2026HistoryRow {
    flex-wrap: nowrap;
  }

  .innari2026HistoryButton {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .innari2026HistoryButton .material-symbols-rounded {
    flex: 0 0 auto;
  }

  .innari2026TransposePlaylistRow {
    align-items: center;
  }

  .innari2026Segmented {
    grid-template-columns: repeat(3, 42px);
    gap: 6px;
  }

  .innari2026Segmented button {
    width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

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

  .innari2026MenuOverview,
  .innari2026SubPanel {
    padding: 16px;
  }

  .innari2026MenuCard {
    min-height: 78px;
    grid-template-columns: 48px 1fr;
    gap: 14px;
  }

  .innari2026MenuCard > .material-symbols-outlined {
    width: 42px;
    height: 42px;
    font-size: 1.75rem !important;
  }

  body {
    padding-bottom: 34px;
  }

  #divUserBox,
  #divBoxRicerca,
  #divStrumentiAvanzati {
    width: calc(100% - 18px) !important;
    height: min(86dvh, calc(100dvh - 28px), 760px) !important;
    max-height: min(86dvh, calc(100dvh - 28px), 760px) !important;
    right: 9px !important;
    top: auto !important;
    bottom: 10px !important;
    left: 9px !important;
    transform: translateY(calc(100% + 28px)) !important;
    border-radius: 18px !important;
    box-shadow: 0 -22px 70px rgba(13, 16, 15, 0.34) !important;
  }

  #divUserBox[data-open="1"],
  #divBoxRicerca[data-open="1"],
  #divStrumentiAvanzati[data-open="1"] {
    transform: translateY(0) !important;
    pointer-events: auto;
    z-index: 130 !important;
  }

  #divUserBox.innari2026MenuPanel::before {
    display: block;
  }

  #divUserBox.innari2026MenuPanel .innari2026PanelHeader {
    top: 0;
    padding: 14px 18px 16px;
  }

  #divUserBox.innari2026MenuPanel .innari2026PanelHeader h2 {
    font-size: 1.65rem;
  }

  #divUserBox.innari2026MenuPanel .innari2026CloseButton {
    width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
  }

  #fixedDivTools {
    width: min(360px, calc(100% - 24px)) !important;
  }

  #divBottomBar {
    bottom: 86px !important;
    width: calc(100% - 24px) !important;
    right: 12px !important;
    max-height: calc(100dvh - 112px) !important;
  }

  .innari2026Grid,
  .innari2026TransportGrid {
    grid-template-columns: 1fr;
  }

  .innari2026SongBadges,
  .innari2026SongStats {
    gap: 6px;
  }

  .innari2026SongBadge,
  .innari2026SongStat {
    padding: 7px 9px;
  }

  .innari2026PanelHeader {
    padding: 20px;
  }

  #tabellaTestoBrano {
    width: calc(100% - 20px) !important;
    padding: 28px 18px !important;
    font-size: 1em !important;
    line-height: normal;
  }

  #testo.divBrano {
    width: 100% !important;
    max-width: 100%;
    margin-left: 0.35em;
    font-size: 1em;
  }

  #testo.divBrano.innari2026MobileWrap {
    margin-left: 0;
    padding-left: 1.7em;
    padding-right: 2.2em;
  }

  .innari2026SongHead {
    margin-bottom: 28px;
  }

  .innari2026SongHead h1 {
    font-size: clamp(1.9rem, 9vw, 2.55rem);
  }

  .whiteBox,
  .whiteUserBox {
    padding: 12px !important;
  }
}

/* v1.7 - rifinitura menu app: icona centrata e scroll completo del pannello operazioni */
.innari2026Brand,
.innari2026BrandIcon {
  box-sizing: border-box;
}

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

.innari2026BrandIcon.material-symbols-rounded {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  overflow: hidden;
  color: transparent !important;
  background: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transform: none !important;
}

.innari2026BrandIcon.material-symbols-rounded::before {
  content: "";
  display: block;
  width: 22px;
  height: 3px;
  border-radius: 999px;
  background: var(--app-green);
  box-shadow: 0 -7px 0 var(--app-green), 0 7px 0 var(--app-green);
}

.innari2026Brand:active .innari2026BrandIcon,
.innari2026Brand:focus-visible .innari2026BrandIcon {
  background: transparent !important;
}

#divUserBox.innari2026MenuPanel {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
}

#divUserBox.innari2026MenuPanel .innari2026MenuShell {
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#divUserBox.innari2026MenuPanel .innari2026PanelHeader {
  position: relative;
  top: auto;
  flex: 0 0 auto;
}

#divUserBox.innari2026MenuPanel #innari2026MenuOverview,
#divUserBox.innari2026MenuPanel .innari2026SubPanel:not([hidden]) {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-bottom: max(34px, env(safe-area-inset-bottom));
}

#divUserBox.innari2026MenuPanel #innari2026MenuOverview[hidden],
#divUserBox.innari2026MenuPanel .innari2026SubPanel[hidden] {
  display: none !important;
}

@media (min-width: 681px) {
  #divUserBox.innari2026MenuPanel {
    height: min(88dvh, calc(100dvh - 64px)) !important;
    max-height: min(88dvh, calc(100dvh - 64px)) !important;
    top: 32px !important;
    bottom: auto !important;
    right: 18px !important;
  }
}

@media (max-width: 680px) {
  .innari2026BrandIcon.material-symbols-rounded {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
  }

  .innari2026BrandIcon.material-symbols-rounded::before {
    width: 20px;
    height: 2.5px;
    box-shadow: 0 -6.5px 0 var(--app-green), 0 6.5px 0 var(--app-green);
  }

  #divUserBox.innari2026MenuPanel #innari2026MenuOverview,
  #divUserBox.innari2026MenuPanel .innari2026SubPanel:not([hidden]) {
    padding-bottom: max(30px, env(safe-area-inset-bottom));
  }
}

/* v1.8 - elimina l'alone dei pannelli chiusi: ombre e visibilita' solo a pannello aperto */
#divUserBox,
#divBoxRicerca,
#divStrumentiAvanzati,
#divBottomBar {
  visibility: hidden !important;
  opacity: 0 !important;
  box-shadow: none !important;
  transition:
    transform 0.22s ease,
    opacity 0.18s ease,
    visibility 0s linear 0.22s !important;
}

#divUserBox[data-open="1"],
#divBoxRicerca[data-open="1"],
#divStrumentiAvanzati[data-open="1"],
#divBottomBar[data-open="1"] {
  visibility: visible !important;
  opacity: 1 !important;
  transition:
    transform 0.22s ease,
    opacity 0.18s ease,
    visibility 0s !important;
}

@media (min-width: 681px) {
  #divUserBox[data-open="1"],
  #divBoxRicerca[data-open="1"],
  #divStrumentiAvanzati[data-open="1"] {
    box-shadow: -24px 0 70px rgba(13, 16, 15, 0.26) !important;
  }
}

@media (max-width: 680px) {
  #divUserBox[data-open="1"],
  #divBoxRicerca[data-open="1"],
  #divStrumentiAvanzati[data-open="1"] {
    box-shadow: 0 -22px 70px rgba(13, 16, 15, 0.34) !important;
  }
}

#divBottomBar[data-open="1"] {
  box-shadow: 0 18px 50px rgba(35, 31, 25, 0.2) !important;
}

/* v1.9 - desktop: pannello menu scrollabile fino in fondo e bordo inferiore sempre visibile */
@media (min-width: 681px) {
  #divUserBox.innari2026MenuPanel {
    top: 24px !important;
    bottom: 24px !important;
    right: 18px !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  #divUserBox.innari2026MenuPanel .innari2026MenuShell {
    height: auto !important;
    min-height: 100%;
    display: block !important;
    overflow: visible !important;
  }

  #divUserBox.innari2026MenuPanel .innari2026PanelHeader {
    position: sticky !important;
    top: 0 !important;
    z-index: 4;
  }

  #divUserBox.innari2026MenuPanel #innari2026MenuOverview,
  #divUserBox.innari2026MenuPanel .innari2026SubPanel:not([hidden]) {
    display: block;
    overflow: visible !important;
    min-height: 0;
    padding-bottom: 56px !important;
  }
}

/* v2.0 - ricerca 2026 dal titolo della barra superiore */
body.innari2026SearchOpen,
html.innari2026SearchOpen {
  overscroll-behavior: none;
}

.innari2026SearchPanel {
  position: fixed;
  top: 70px;
  left: 50%;
  z-index: 96;
  width: min(760px, calc(100vw - 32px));
  max-height: min(78dvh, 720px);
  display: flex;
  flex-direction: column;
  transform: translate(-50%, -18px) scale(0.98);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.98);
  color: var(--app-ink);
  box-shadow: 0 28px 80px rgba(13, 16, 15, 0.28);
  overflow: hidden;
  transition: transform 0.22s ease, opacity 0.18s ease, visibility 0s linear 0.22s;
}

.innari2026SearchPanel[data-open="1"] {
  transform: translate(-50%, 0) scale(1);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform 0.22s ease, opacity 0.18s ease, visibility 0s;
}

.innari2026SearchGrip {
  display: none;
  flex: 0 0 auto;
  width: 54px;
  height: 5px;
  margin: 10px auto 0;
  border-radius: 999px;
  background: rgba(109, 116, 110, 0.34);
}

.innari2026SearchHeader {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--app-line);
  background: rgba(255, 253, 247, 0.96);
  backdrop-filter: blur(14px);
}

.innari2026SearchHeader h2 {
  margin: 4px 0 0;
  color: var(--app-ink);
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  line-height: 1.05;
  font-weight: 900;
}

.innari2026SearchBody {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 22px 20px;
  overflow: hidden;
}

.innari2026SearchForm {
  flex: 0 0 auto;
  display: grid;
  gap: 10px;
}

.innari2026SearchInputWrap {
  min-height: 54px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-paper-2);
}

.innari2026SearchInputWrap .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.8rem;
}

.innari2026SearchInputWrap input {
  width: 100%;
  min-width: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  font: 900 1.02rem/1.2 "Nunito Sans", "Roboto", system-ui, sans-serif !important;
  box-shadow: none !important;
}

.innari2026SearchInputWrap input::placeholder {
  color: rgba(109, 116, 110, 0.82);
  font-weight: 800;
}

.innari2026SearchLinks {
  display: flex;
  justify-content: flex-end;
  font-size: 0.86rem;
  font-weight: 900;
}

.innari2026SearchLinks a {
  color: var(--app-green) !important;
  text-decoration: none !important;
}

.innari2026SearchAdvanced {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(249, 244, 233, 0.72);
  overflow: hidden;
}

.innari2026SearchAdvanced summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  cursor: pointer;
  color: var(--app-muted);
  font-weight: 900;
  text-transform: uppercase;
  list-style: none;
}

.innari2026SearchAdvanced summary::-webkit-details-marker {
  display: none;
}

.innari2026SearchAdvanced summary .material-symbols-rounded {
  color: var(--app-green) !important;
  transition: transform 0.18s ease;
}

.innari2026SearchAdvanced[open] summary .material-symbols-rounded {
  transform: rotate(180deg);
}

.innari2026SearchAdvancedBody {
  display: grid;
  gap: 14px;
  padding: 0 14px 14px;
}

.innari2026SearchOptionGroup {
  display: grid;
  gap: 8px;
}

.innari2026SearchGroupTitle {
  color: var(--app-muted);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.innari2026CheckRow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--app-ink);
  font-weight: 800;
}

.innari2026CheckRow input,
.innari2026InnarioChip input {
  accent-color: var(--app-green);
}

.innari2026SearchHint {
  margin: -2px 0 2px;
  color: var(--app-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.innari2026SearchInnariList {
  max-height: 150px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}

.innari2026InnarioChip {
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper);
  color: var(--app-ink);
  font-size: 0.82rem;
  font-weight: 900;
}

.innari2026InnarioChip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026SearchStatus {
  flex: 0 0 auto;
  min-height: 20px;
  color: var(--app-muted);
  font-size: 0.86rem;
  font-weight: 800;
}

.innari2026SearchStatus[data-error="1"] {
  color: var(--app-coral);
}

.innari2026SearchResultsWrap {
  flex: 1 1 auto;
  min-height: 150px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.72);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.innari2026SearchResults {
  width: 100%;
  border-collapse: collapse;
}

.innari2026SearchResults tr + tr td {
  border-top: 1px solid rgba(222, 215, 201, 0.72);
}

.innari2026SearchResults td {
  padding: 0;
}

.innari2026SearchResult {
  display: grid;
  gap: 4px;
  padding: 13px 15px;
  color: var(--app-ink) !important;
  text-decoration: none !important;
}

.innari2026SearchResult:hover,
.innari2026SearchResult:focus-visible {
  background: var(--app-green-soft);
  outline: 0;
}

.innari2026SearchResult strong {
  overflow: hidden;
  color: var(--app-ink);
  font-size: 1rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026SearchResult small {
  overflow: hidden;
  color: var(--app-muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .innari2026SearchPanel {
    top: 62px;
    left: 10px;
    right: 10px;
    width: auto;
    max-height: calc(82dvh - 12px);
    transform: translateY(-18px) scale(0.98);
    border-radius: var(--app-radius);
  }

  .innari2026SearchPanel[data-open="1"] {
    transform: translateY(0) scale(1);
  }

  .innari2026SearchGrip {
    display: block;
  }

  .innari2026SearchHeader {
    padding: 18px 18px 14px;
  }

  .innari2026SearchHeader .innari2026CloseButton {
    width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
  }

  .innari2026SearchBody {
    padding: 14px 14px max(18px, env(safe-area-inset-bottom));
  }

  .innari2026SearchLinks {
    justify-content: flex-start;
  }

  .innari2026SearchInnariList {
    max-height: 122px;
  }
}

/* v2.1 - pannello ricerca piu' compatto, centrato e stabile anche con viewport stretti */
.innari2026SearchPanel {
  left: max(16px, env(safe-area-inset-left)) !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  width: auto !important;
  max-width: 760px !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-height: min(calc(100dvh - 92px), 620px) !important;
  transform: translateY(-14px) scale(0.985) !important;
}

.innari2026SearchPanel[data-open="1"] {
  transform: translateY(0) scale(1) !important;
}

.innari2026SearchHeader {
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 18px 12px !important;
}

.innari2026SearchHeader h2 {
  margin-top: 2px !important;
  font-size: clamp(1.28rem, 2.2vw, 1.72rem) !important;
  line-height: 1.02 !important;
}

.innari2026SearchHeader .innari2026CloseButton {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
}

.innari2026SearchBody {
  gap: 8px !important;
  padding: 12px 16px 16px !important;
}

.innari2026SearchForm {
  gap: 8px !important;
}

.innari2026SearchInputWrap {
  min-height: 46px !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 6px !important;
  padding: 0 12px !important;
}

.innari2026SearchInputWrap .material-symbols-rounded {
  font-size: 1.55rem !important;
}

.innari2026SearchInputWrap input {
  font-size: 0.98rem !important;
}

.innari2026SearchLinks {
  margin-top: -2px !important;
  font-size: 0.8rem !important;
  line-height: 1.1 !important;
}

.innari2026SearchAdvanced summary {
  min-height: 38px !important;
  padding: 0 12px !important;
  font-size: 0.86rem !important;
}

.innari2026SearchAdvancedBody {
  gap: 10px !important;
  padding: 0 12px 12px !important;
}

.innari2026SearchHint {
  margin: -4px 0 0 !important;
  font-size: 0.76rem !important;
}

.innari2026SearchInnariList {
  max-height: 118px !important;
  gap: 6px !important;
}

.innari2026InnarioChip {
  padding: 6px 9px !important;
  font-size: 0.78rem !important;
}

.innari2026SearchStatus {
  min-height: 0 !important;
  margin: 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
}

.innari2026SearchStatus:empty {
  display: none !important;
}

.innari2026SearchResultsWrap {
  min-height: 110px !important;
}

.innari2026SearchResult {
  gap: 3px !important;
  padding: 10px 13px !important;
}

.innari2026SearchResult strong {
  font-size: 0.98rem !important;
}

.innari2026SearchResult small {
  font-size: 0.78rem !important;
}

@media (max-width: 680px) {
  .innari2026SearchPanel {
    top: 54px !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 64px) !important;
    border-radius: 10px !important;
    transform: translateY(-14px) scale(0.985) !important;
  }

  .innari2026SearchPanel[data-open="1"] {
    transform: translateY(0) scale(1) !important;
  }

  .innari2026SearchGrip {
    width: 46px !important;
    height: 4px !important;
    margin-top: 7px !important;
  }

  .innari2026SearchHeader {
    padding: 9px 12px 8px !important;
  }

  .innari2026SearchHeader .innari2026Eyebrow {
    display: none !important;
  }

  .innari2026SearchHeader h2 {
    margin: 0 !important;
    font-size: 1.32rem !important;
  }

  .innari2026SearchHeader .innari2026CloseButton {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  .innari2026SearchBody {
    gap: 7px !important;
    padding: 10px 10px max(12px, env(safe-area-inset-bottom)) !important;
  }

  .innari2026SearchInputWrap {
    min-height: 42px !important;
    border-radius: 7px !important;
  }

  .innari2026SearchInputWrap input {
    font-size: 0.94rem !important;
  }

  .innari2026SearchLinks {
    font-size: 0.76rem !important;
  }

  .innari2026SearchAdvanced summary {
    min-height: 34px !important;
    font-size: 0.8rem !important;
  }

  .innari2026SearchAdvancedBody {
    padding-bottom: 10px !important;
  }

  .innari2026SearchInnariList {
    max-height: 92px !important;
  }

  .innari2026SearchResultsWrap {
    min-height: 76px !important;
  }

  .innari2026SearchResult {
    padding: 9px 11px !important;
  }
}

/* v2.1b - ancora meglio: il pannello ricerca viene centrato sul viewport visibile, non sulla larghezza scrollabile della pagina */
.innari2026SearchPanel {
  left: 50vw !important;
  left: 50dvw !important;
  right: auto !important;
  width: min(760px, calc(100vw - 32px)) !important;
  width: min(760px, calc(100dvw - 32px)) !important;
  transform: translateX(-50%) translateY(-14px) scale(0.985) !important;
}

.innari2026SearchPanel[data-open="1"] {
  transform: translateX(-50%) translateY(0) scale(1) !important;
}

@media (max-width: 680px) {
  .innari2026SearchPanel {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    width: auto !important;
    transform: translateY(-14px) scale(0.985) !important;
  }

  .innari2026SearchPanel[data-open="1"] {
    transform: translateY(0) scale(1) !important;
  }
}

/* v2.2 - ricerca: centratura desktop robusta e niente unita' dvw che su alcuni browser/zoom sposta il pannello */
.innari2026SearchPanel {
  left: max(20px, env(safe-area-inset-left)) !important;
  right: max(20px, env(safe-area-inset-right)) !important;
  width: auto !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-height: min(calc(100vh - 92px), 600px) !important;
  max-height: min(calc(100svh - 92px), 600px) !important;
  transform: translateY(-14px) scale(0.985) !important;
}

.innari2026SearchPanel[data-open="1"] {
  transform: translateY(0) scale(1) !important;
}

.innari2026SearchResultsWrap {
  flex: 1 1 auto !important;
  min-height: 96px !important;
  max-height: none !important;
}

.innari2026SearchResult small {
  letter-spacing: 0 !important;
}

@media (min-width: 681px) and (max-height: 720px) {
  .innari2026SearchPanel {
    top: 62px !important;
    max-height: calc(100vh - 78px) !important;
  }

  .innari2026SearchHeader {
    padding-top: 11px !important;
    padding-bottom: 9px !important;
  }

  .innari2026SearchBody {
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }
}

@media (max-width: 680px) {
  .innari2026SearchPanel {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-height: calc(100svh - 64px) !important;
    transform: translateY(-14px) scale(0.985) !important;
  }

  .innari2026SearchPanel[data-open="1"] {
    transform: translateY(0) scale(1) !important;
  }
}

/* v2.4 - ricerca: #tema, cambio innario e ripristino risultati */
.innari2026SearchLinks {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

.innari2026SearchLinks > a,
.innari2026SearchLinks > button {
  min-width: 0 !important;
  max-width: 50% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026SearchLinks > a {
  text-align: left !important;
}

.innari2026SearchLinks > button {
  text-align: right !important;
}

.innari2026SearchLinkButton {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--app-green) !important;
  font: inherit !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.innari2026SearchLinks a:hover,
.innari2026SearchLinkButton:hover {
  text-decoration: underline !important;
}

.innari2026InnarioPicker {
  position: relative;
  z-index: 2;
  margin-top: -2px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.98);
  box-shadow: 0 16px 44px rgba(13, 16, 15, 0.16);
  overflow: hidden;
}

.innari2026InnarioPicker[hidden] {
  display: none !important;
}

.innari2026InnarioPickerHead {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px 8px 14px;
  border-bottom: 1px solid rgba(222, 215, 201, 0.78);
  color: var(--app-muted);
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 900;
}

.innari2026InnarioPickerHead button {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--app-line);
  border-radius: 10px;
  background: var(--app-paper-2);
  color: var(--app-green);
  cursor: pointer;
}

.innari2026InnarioPickerHead .material-symbols-rounded {
  font-size: 1.2rem;
  color: var(--app-green) !important;
}

.innari2026InnarioPickerList {
  max-height: 210px;
  display: grid;
  gap: 6px;
  padding: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.innari2026InnarioPickButton {
  width: 100%;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid rgba(222, 215, 201, 0.86);
  border-radius: 12px;
  background: var(--app-paper-2);
  color: var(--app-ink);
  font: 900 0.86rem/1.16 "Nunito Sans", "Roboto", system-ui, sans-serif;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026InnarioPickButton:hover,
.innari2026InnarioPickButton:focus-visible {
  background: var(--app-green-soft);
  outline: 0;
}

@media (max-width: 680px) {
  .innari2026SearchLinks {
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .innari2026SearchLinks > a,
  .innari2026SearchLinks > button {
    font-size: 0.78rem !important;
  }

  .innari2026InnarioPickerHead {
    min-height: 36px;
    padding: 7px 8px 7px 12px;
    font-size: 0.74rem;
  }

  .innari2026InnarioPickerList {
    max-height: 150px;
    padding: 7px;
  }

  .innari2026InnarioPickButton {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 0.8rem;
  }
}



/* v6.5 - font ad alta leggibilita: OpenDyslexic da percorso relativo ./fonts */
@font-face {
  font-family: "OpenDyslexic";
  src: url("./fonts/OpenDyslexic-Regular.woff2") format("woff2"),
       url("./fonts/OpenDyslexic-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenDyslexic";
  src: url("./fonts/OpenDyslexic-Bold.woff2") format("woff2"),
       url("./fonts/OpenDyslexic-Bold.woff") format("woff");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OpenDyslexic";
  src: url("./fonts/OpenDyslexic-Italic.woff2") format("woff2"),
       url("./fonts/OpenDyslexic-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "OpenDyslexic";
  src: url("./fonts/OpenDyslexic-BoldItalic.woff2") format("woff2"),
       url("./fonts/OpenDyslexic-BoldItalic.woff") format("woff");
  font-weight: 700 900;
  font-style: italic;
  font-display: swap;
}

/* v2.6 - visualizzazione 2026, margini mobile e font reali */
:root {
  --innari2026-ui-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --innari2026-song-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
button,
input,
select,
textarea,
.innari2026Topbar,
.innari2026PanelHeader,
.innari2026MenuPanel,
.innari2026SearchPanel {
  font-family: var(--innari2026-ui-font) !important;
}

#tabellaTestoBrano,
#testo,
.testoAccordi,
.soloTesto {
  font-family: var(--innari2026-song-font) !important;
}

@media (max-width: 680px) {
  #tabellaTestoBrano {
    width: calc(100% - 8px) !important;
    margin-left: 4px !important;
    margin-right: 4px !important;
    padding: 24px 10px !important;
  }

  #tabellaTestoBrano > tbody > tr > td,
  #tabellaTestoBrano td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #testo.divBrano {
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #testo.divBrano.innari2026MobileWrap {
    padding-left: 1.35em !important;
    padding-right: 2.45em !important;
  }
}

#innari2026Panel-display {
  padding-bottom: 28px !important;
}

#innari2026Panel-display h3 {
  margin-bottom: 16px !important;
}

#innari2026DisplayHost {
  display: block;
  width: 100%;
}

#innari2026DisplayHost #tableStrumenti,
#innari2026DisplayHost #contenutoScomparsa,
#innari2026DisplayHost #contenutoScomparsa > tbody,
#innari2026DisplayHost #contenutoScomparsa > tbody > tr,
#innari2026DisplayHost #contenutoScomparsa > tbody > tr > td {
  width: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#innari2026DisplayHost #tableStrumenti {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#innari2026DisplayHost #tableStrumenti > tbody > tr:first-child,
#innari2026DisplayHost #toggleButton,
#innari2026DisplayHost #fissaBarraInferioreOpt,
#innari2026DisplayHost label[for="fissaBarraInferioreOpt"] {
  display: none !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 9px !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr {
  min-height: 46px;
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) minmax(156px, 0.9fr);
  align-items: center;
  gap: 12px;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(222, 215, 201, 0.72);
  background: transparent !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr:last-child {
  border-bottom: 0;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable td {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#innari2026DisplayHost label {
  color: var(--app-ink) !important;
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.18;
}

#innari2026DisplayHost select.selColorato,
#innari2026DisplayHost button.selColorato,
#innari2026DisplayHost button.pulsanteColorato,
#innari2026DisplayHost input.selColorato[type="range"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 900 0.92rem/1.2 var(--innari2026-ui-font) !important;
  box-shadow: none !important;
}

#innari2026DisplayHost button.selColorato,
#innari2026DisplayHost button.pulsanteColorato {
  background: var(--app-green) !important;
  color: #fff !important;
  cursor: pointer;
}

#innari2026DisplayHost #idtoggleVisualizzazioneAccordi,
#innari2026DisplayHost [id="2colonneButton"] {
  background: var(--app-green) !important;
  color: #fff !important;
}

#innari2026DisplayHost input[type="checkbox"].selColorato {
  appearance: none;
  -webkit-appearance: none;
  width: 52px !important;
  height: 30px !important;
  min-height: 30px !important;
  display: inline-block;
  position: relative;
  border: 1px solid var(--app-line) !important;
  border-radius: 999px !important;
  background: rgba(109, 116, 110, 0.28) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.38) !important;
  cursor: pointer;
  vertical-align: middle;
}

#innari2026DisplayHost input[type="checkbox"].selColorato::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--app-paper);
  box-shadow: 0 2px 8px rgba(13,16,15,0.18);
  transition: transform 0.18s ease;
}

#innari2026DisplayHost input[type="checkbox"].selColorato:checked {
  background: var(--app-green) !important;
}

#innari2026DisplayHost input[type="checkbox"].selColorato:checked::after {
  transform: translateX(22px);
}

#innari2026DisplayHost input[type="range"].selColorato {
  accent-color: var(--app-green);
  padding: 0 2px !important;
  background: transparent !important;
  border: 0 !important;
}

#innari2026DisplayHost script {
  display: none !important;
}

body.stage #innari2026DisplayHost select.selColorato,
body.stage #innari2026DisplayHost button.selColorato,
body.stage #innari2026DisplayHost button.pulsanteColorato {
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

body.stage #innari2026DisplayHost button.selColorato,
body.stage #innari2026DisplayHost button.pulsanteColorato,
body.stage #innari2026DisplayHost #idtoggleVisualizzazioneAccordi,
body.stage #innari2026DisplayHost [id="2colonneButton"] {
  background: var(--app-green) !important;
  color: #fff !important;
}

@media (max-width: 680px) {
  #innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px 0 !important;
  }

  #innari2026DisplayHost label {
    font-size: 0.9rem;
  }

  #innari2026DisplayHost select.selColorato,
  #innari2026DisplayHost button.selColorato,
  #innari2026DisplayHost button.pulsanteColorato {
    min-height: 38px !important;
    font-size: 0.88rem !important;
  }
}

/* v2.7 - rifiniture Visualizzazione, transizioni menu e spazio brano */
.innari2026NowPlaying span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026SongSource {
  display: none !important;
}

@media (max-width: 680px) {
  #tabellaTestoBrano {
    width: calc(100% - 2px) !important;
    margin-left: 1px !important;
    margin-right: 1px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  #tabellaTestoBrano > tbody > tr > td,
  #tabellaTestoBrano td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #testo.divBrano.innari2026MobileWrap {
    padding-left: 1.2em !important;
    padding-right: 1.75em !important;
  }
}

@keyframes innari2026MenuEnter {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes innari2026MenuEnterBack {
  from { opacity: 0; transform: translateX(-18px); }
  to { opacity: 1; transform: translateX(0); }
}

#divUserBox.innari2026MenuPanel #innari2026MenuOverview,
#divUserBox.innari2026MenuPanel .innari2026SubPanel {
  will-change: opacity, transform;
}

#divUserBox.innari2026MenuPanel #innari2026MenuOverview.innari2026ViewEntering {
  animation: innari2026MenuEnterBack 0.22s ease both;
}

#divUserBox.innari2026MenuPanel .innari2026SubPanel.innari2026ViewEntering {
  animation: innari2026MenuEnter 0.22s ease both;
}

#divUserBox.innari2026MenuPanel .innari2026ViewLeaving {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 0.12s ease, transform 0.12s ease;
}

#divUserBox,
#divBoxRicerca,
#divStrumentiAvanzati,
#divBottomBar {
  transition:
    transform 0.24s cubic-bezier(.2,.75,.2,1),
    opacity 0.2s ease,
    visibility 0s linear 0.24s !important;
}

#divUserBox[data-open="1"],
#divBoxRicerca[data-open="1"],
#divStrumentiAvanzati[data-open="1"],
#divBottomBar[data-open="1"] {
  transition:
    transform 0.24s cubic-bezier(.2,.75,.2,1),
    opacity 0.2s ease,
    visibility 0s !important;
}

#innari2026DisplayHost .titolo,
#innari2026DisplayHost span.titolo {
  display: none !important;
}

#innari2026DisplayHost .whiteBox,
#innari2026DisplayHost #contenutoScomparsa {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr {
  border-bottom: 1px solid rgba(222, 215, 201, 0.62);
}

#innari2026DisplayHost .innari2026DisplaySettingsTable td:first-child,
#innari2026DisplayHost .innari2026DisplaySettingsTable td:first-child strong {
  color: var(--app-ink) !important;
  font-weight: 900 !important;
}

#innari2026DisplayHost #temaScuroOpt {
  margin-left: 0 !important;
}

#innari2026DisplayHost tr[style*="display:none"] {
  display: none !important;
}

#innari2026DisplayHost button[id="2colonneButton"] {
  white-space: nowrap;
}

@media (max-width: 680px) {
  #divUserBox.innari2026MenuPanel .innari2026SubPanel:not([hidden]),
  #divUserBox.innari2026MenuPanel #innari2026MenuOverview:not([hidden]) {
    overscroll-behavior: contain;
  }
}


/* v2.8 - ripristino Visualizzazione, badge trasporto condizionale e colore accordi tema */
.innari2026SongBadge[hidden] {
  display: none !important;
}

/* Se il vecchio sistema imposta ancora 'red' inline, allinealo al corallo dei badge.
   Gli altri colori scelti manualmente restano liberi. */
#testo .c[style*="red"],
#testo .c[style*="rgb(255, 0, 0)"],
#testo .c[style*="#ff0000"] {
  color: var(--app-coral) !important;
}

#testo .fd[style*="red"],
#testo .fd[style*="rgb(255, 0, 0)"],
#testo .fd[style*="#ff0000"] {
  border-top-color: var(--app-coral) !important;
}

#innari2026DisplayHost #tableStrumenti,
#innari2026DisplayHost #contenutoScomparsa {
  display: block !important;
  width: 100% !important;
}

#innari2026DisplayHost #contenutoScomparsa > tbody,
#innari2026DisplayHost #contenutoScomparsa > tbody > tr,
#innari2026DisplayHost #contenutoScomparsa > tbody > tr > td {
  display: block !important;
  width: 100% !important;
}

/* v2.9 - Visualizzazione: lista moderna stabile e ripristino controlli */
#innari2026DisplayHost .innari2026LegacyDisplaySource,
#innari2026DisplayHost #tableStrumenti.innari2026LegacyDisplaySource {
  display: none !important;
}

#innari2026DisplayModernList {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
  margin-top: 6px;
}

#innari2026DisplayModernList .innari2026DisplayRow {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(168px, 0.86fr);
  align-items: center;
  gap: 14px;
  min-height: 48px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(222, 215, 201, 0.68);
}

#innari2026DisplayModernList .innari2026DisplayRow:last-child {
  border-bottom: 0;
}

#innari2026DisplayModernList .innari2026DisplayLabel,
#innari2026DisplayModernList .innari2026DisplayLabel strong {
  color: var(--app-ink) !important;
  font: 900 0.98rem/1.18 var(--innari2026-ui-font) !important;
}

#innari2026DisplayModernList .innari2026DisplayControl {
  min-width: 0;
}

#innari2026DisplayModernList select.selColorato,
#innari2026DisplayModernList button.selColorato,
#innari2026DisplayModernList button.pulsanteColorato,
#innari2026DisplayModernList input.selColorato[type="range"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 900 0.92rem/1.2 var(--innari2026-ui-font) !important;
  box-shadow: none !important;
}

#innari2026DisplayModernList button.selColorato,
#innari2026DisplayModernList button.pulsanteColorato,
#innari2026DisplayModernList #idtoggleVisualizzazioneAccordi,
#innari2026DisplayModernList [id="2colonneButton"] {
  background: var(--app-green) !important;
  color: #fff !important;
  cursor: pointer;
}

#innari2026DisplayModernList input[type="checkbox"].selColorato {
  appearance: none;
  -webkit-appearance: none;
  width: 52px !important;
  height: 30px !important;
  min-height: 30px !important;
  display: inline-block;
  position: relative;
  border: 1px solid var(--app-line) !important;
  border-radius: 999px !important;
  background: rgba(109, 116, 110, 0.28) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.38) !important;
  cursor: pointer;
  vertical-align: middle;
}

#innari2026DisplayModernList input[type="checkbox"].selColorato::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--app-paper);
  box-shadow: 0 2px 8px rgba(13,16,15,0.18);
  transition: transform 0.18s ease;
}

#innari2026DisplayModernList input[type="checkbox"].selColorato:checked {
  background: var(--app-green) !important;
}

#innari2026DisplayModernList input[type="checkbox"].selColorato:checked::after {
  transform: translateX(22px);
}

#innari2026DisplayModernList input[type="range"].selColorato {
  accent-color: var(--app-green);
  padding: 0 2px !important;
  background: transparent !important;
  border: 0 !important;
}

@media (max-width: 680px) {
  #innari2026DisplayModernList .innari2026DisplayRow {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px 0;
  }

  #innari2026DisplayModernList .innari2026DisplayLabel,
  #innari2026DisplayModernList .innari2026DisplayLabel strong {
    font-size: 0.9rem !important;
  }

  #innari2026DisplayModernList select.selColorato,
  #innari2026DisplayModernList button.selColorato,
  #innari2026DisplayModernList button.pulsanteColorato {
    min-height: 38px !important;
    font-size: 0.88rem !important;
  }
}


/* v3.0 - ripristino stabile pannello Visualizzazione: usa la tabella legacy come sorgente visibile, senza lista vuota */
#innari2026DisplayModernList {
  display: none !important;
}

#innari2026DisplayHost .innari2026LegacyDisplaySource,
#innari2026DisplayHost #tableStrumenti.innari2026LegacyDisplaySource,
#innari2026DisplayHost #tableStrumenti,
#innari2026DisplayHost #contenutoScomparsa {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
}

#innari2026DisplayHost #tableStrumenti > tbody,
#innari2026DisplayHost #tableStrumenti > tbody > tr,
#innari2026DisplayHost #tableStrumenti > tbody > tr > td,
#innari2026DisplayHost #contenutoScomparsa > tbody,
#innari2026DisplayHost #contenutoScomparsa > tbody > tr,
#innari2026DisplayHost #contenutoScomparsa > tbody > tr > td {
  display: block !important;
  width: 100% !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable {
  display: table !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody {
  display: table-row-group !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr {
  display: grid !important;
  grid-template-columns: minmax(140px, 1fr) minmax(168px, 0.86fr);
  align-items: center;
  gap: 14px;
  min-height: 48px;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(222, 215, 201, 0.68);
  background: transparent !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr:last-child {
  border-bottom: 0 !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable td {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#innari2026DisplayHost #tableStrumenti > tbody > tr:first-child,
#innari2026DisplayHost #toggleButton,
#innari2026DisplayHost .titolo,
#innari2026DisplayHost span.titolo,
#innari2026DisplayHost #fissaBarraInferioreOpt,
#innari2026DisplayHost label[for="fissaBarraInferioreOpt"] {
  display: none !important;
}

@media (max-width: 680px) {
  #innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 9px 0 !important;
  }
}

/* v3.1 - Visualizzazione: titolo interno nascosto, label colonne dinamiche e transizioni pannelli */
#innari2026Panel-display > h3 {
  display: none !important;
}

#divUserBox,
#divBoxRicerca,
#divStrumentiAvanzati,
#divBottomBar,
.innari2026SearchPanel,
.innari2026TopDrawer {
  will-change: transform, opacity;
}

#divUserBox,
#divBoxRicerca,
#divStrumentiAvanzati {
  transition:
    transform 0.28s cubic-bezier(.2,.75,.2,1),
    opacity 0.22s ease,
    visibility 0s linear 0.28s !important;
}

#divUserBox[data-open="1"],
#divBoxRicerca[data-open="1"],
#divStrumentiAvanzati[data-open="1"] {
  transition:
    transform 0.28s cubic-bezier(.2,.75,.2,1),
    opacity 0.22s ease,
    visibility 0s !important;
}

@keyframes innari2026MenuEnterForwardV31 {
  from { opacity: 0; transform: translateX(22px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes innari2026MenuEnterBackV31 {
  from { opacity: 0; transform: translateX(-22px); }
  to { opacity: 1; transform: translateX(0); }
}

#divUserBox.innari2026MenuPanel #innari2026MenuOverview,
#divUserBox.innari2026MenuPanel .innari2026SubPanel {
  will-change: opacity, transform;
}

#divUserBox.innari2026MenuPanel .innari2026ViewEntering {
  animation: innari2026MenuEnterForwardV31 0.24s cubic-bezier(.2,.75,.2,1) both;
}

#divUserBox.innari2026MenuPanel .innari2026ViewEnteringBack {
  animation: innari2026MenuEnterBackV31 0.24s cubic-bezier(.2,.75,.2,1) both;
}

#divUserBox.innari2026MenuPanel .innari2026ViewLeaving {
  opacity: 0;
  transform: translateX(-14px);
  transition: opacity 0.11s ease, transform 0.11s ease;
}

#divUserBox.innari2026MenuPanel .innari2026ViewLeavingBack {
  opacity: 0;
  transform: translateX(14px);
  transition: opacity 0.11s ease, transform 0.11s ease;
}

#innari2026QuickColumnsLabel,
#innari2026DisplayHost button[id="2colonneButton"] {
  white-space: nowrap !important;
}

/* v3.3 - note laterali {n ...}: niente taglio a destra su desktop e mobile */
#testo .nDIVp {
  position: relative !important;
  width: 100% !important;
  overflow: visible !important;
  z-index: 3;
}

#testo .nDIVf {
  position: absolute !important;
  left: auto !important;
  right: clamp(4px, 1vw, 14px) !important;
  top: -0.25em !important;
  width: auto !important;
  max-width: min(26rem, 38vw) !important;
  z-index: 4;
}

#testo .nTABLEf {
  width: auto !important;
  max-width: 100% !important;
  table-layout: auto !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  color: var(--app-ink) !important;
  background: rgba(255, 253, 247, 0.96) !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  box-shadow: 0 12px 34px rgba(52, 45, 34, 0.12) !important;
  font-size: clamp(0.78em, 0.9vw, 0.94em) !important;
  line-height: 1.24 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#testo .nTABLEf td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Sui dispositivi mobili le note entrano nel flusso del brano: restano leggibili
   e non interferiscono con il pinch-to-zoom n con lo scroll verticale. */
@media (max-width: 680px) {
  #testo .nDIVp {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0.12em 0 0.7em !important;
  }

  #testo .nDIVf {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    padding: 0 0.15em !important;
  }

  #testo .nTABLEf {
    max-width: min(100%, 24em) !important;
    padding: 8px 10px !important;
    font-size: 0.82em !important;
  }
}

/* v3.4 - note {n ...}: dentro il flusso del brano per evitare qualunque taglio laterale */
#testo .nDIVp {
  position: static !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  clear: both !important;
  margin: 0.12em 0 0.7em !important;
  padding: 0 !important;
}

#testo .nDIVf {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: block !important;
  width: min(100%, 24rem) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

#testo .nTABLEf {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  table-layout: fixed !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#testo .nTABLEf tbody,
#testo .nTABLEf tr,
#testo .nTABLEf td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (min-width: 681px) {
  #testo .nDIVp {
    padding-right: clamp(0.2em, 1vw, 0.8em) !important;
  }
}

@media (max-width: 680px) {
  #testo .nDIVp {
    padding-left: 0.2em !important;
    padding-right: 0.2em !important;
  }

  #testo .nDIVf {
    width: min(100%, 22rem) !important;
  }
}

/* v3.6 - note {n ...}: box compatto, largo solo quanto serve al testo */
#testo .nDIVp {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#testo .nDIVf {
  display: inline-flex !important;
  justify-content: flex-end !important;
  width: auto !important;
  max-width: min(100%, 24rem) !important;
  box-sizing: border-box !important;
  flex: 0 1 auto !important;
}

#testo .nTABLEf {
  display: inline-table !important;
  width: auto !important;
  max-width: min(100%, 24rem) !important;
  box-sizing: border-box !important;
  table-layout: auto !important;
  white-space: normal !important;
}

#testo .nTABLEf tbody {
  display: table-row-group !important;
  width: auto !important;
  max-width: 100% !important;
}

#testo .nTABLEf tr {
  display: table-row !important;
  width: auto !important;
  max-width: 100% !important;
}

#testo .nTABLEf td {
  display: table-cell !important;
  width: auto !important;
  max-width: min(100%, 24rem) !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 680px) {
  #testo .nDIVf,
  #testo .nTABLEf,
  #testo .nTABLEf td {
    max-width: min(100%, 21rem) !important;
  }
}


/* v3.7 - margine sinistro brano, badge trasporto condizionale e stop auto-zoom pagina */
.innari2026SongBadge[hidden],
#innari2026StatTransposedBadge[hidden] {
  display: none !important;
}

@media (max-width: 680px) {
  #tabellaTestoBrano {
    width: calc(100% - 12px) !important;
    margin-left: 6px !important;
    margin-right: 6px !important;
    padding-left: 12px !important;
    padding-right: 8px !important;
  }

  #testo.divBrano {
    box-sizing: border-box !important;
    padding-left: 1.15em !important;
    padding-right: 0.35em !important;
  }

  #testo.divBrano.innari2026MobileWrap {
    padding-left: 1.35em !important;
    padding-right: 1.75em !important;
  }
}

/* v3.8 - sottomenu Gestione Brani riorganizzato in sezioni */
.innari2026SubPanelTitleHidden {
  display: none !important;
}

.innari2026MenuSections {
  display: grid;
  gap: 24px;
}

.innari2026MenuSection {
  display: grid;
  gap: 12px;
  padding-top: 4px;
}

.innari2026MenuSection + .innari2026MenuSection {
  padding-top: 20px;
  border-top: 1px solid rgba(222, 215, 201, 0.72);
}

.innari2026MenuSection h4 {
  margin: 0;
  color: var(--app-muted);
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.innari2026SongManageSections .innari2026Grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

.innari2026SongManageSections .innari2026Grid > div,
.innari2026SongManageSections .innari2026PairedControls,
.innari2026SongManageSections .innari2026PairedControls > span {
  min-width: 0;
}

.innari2026SongManageSections .innari2026PairedControls {
  display: grid;
  gap: 8px;
}

.innari2026SongManageSections .innari2026PairedControls > span:empty,
.innari2026SongManageSections .innari2026Grid > div:empty {
  display: none !important;
}

.innari2026SongManageSections button,
.innari2026SongManageSections select,
.innari2026SongManageSections form,
.innari2026SongManageSections form button {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.innari2026SongManageSections button.pulsanteColorato,
.innari2026SongManageSections button.pulsanteColoratoBlu,
.innari2026SongManageSections select.pulsanteColorato,
.innari2026SongManageSections select.pulsanteColoratoBlu {
  min-height: 48px !important;
  margin: 0 !important;
  border-radius: var(--app-radius) !important;
  font-weight: 900 !important;
}

.innari2026SongManageSections select.pulsanteColorato,
.innari2026SongManageSections select.pulsanteColoratoBlu {
  padding: 0 12px !important;
  border: 1px solid var(--app-line) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
}

@media (max-width: 680px) {
  .innari2026MenuSections {
    gap: 20px;
  }

  .innari2026SongManageSections .innari2026Grid {
    grid-template-columns: 1fr;
  }

  .innari2026MenuSection + .innari2026MenuSection {
    padding-top: 16px;
  }
}

/* v3.9 - Gestione Brani: azioni in stile card con icone */
.innari2026SongManageSections .innari2026ActionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.innari2026SongManageSections .innari2026ActionGrid > div,
.innari2026SongManageSections .innari2026PairedControls,
.innari2026SongManageSections .innari2026PairedControls > span {
  min-width: 0;
}

.innari2026SongManageSections .innari2026ActionGrid > div:empty,
.innari2026SongManageSections .innari2026PairedControls > span:empty,
.innari2026SongManageSections .innari2026PairedControls:not(:has(button, select, form, a, input)) {
  display: none !important;
}

.innari2026SongManageSections .innari2026PairedControls {
  display: grid;
  gap: 10px;
}

.innari2026SongManageSections form {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.innari2026SongManageSections .innari2026ActionButton,
.innari2026SongManageSections form .innari2026ActionButton {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

.innari2026SongManageSections .innari2026ActionButton:not([style*="display: none"]) {
  display: grid;
}

.innari2026SongManageSections .innari2026ActionButton:hover,
.innari2026SongManageSections .innari2026ActionButton:focus-visible {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026ActionIcon {
  width: 46px;
  height: 46px;
  display: grid !important;
  place-items: center;
  border-radius: var(--app-radius);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  flex: 0 0 auto;
}

.innari2026ActionText {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.innari2026ActionText b {
  overflow: hidden;
  color: var(--app-ink) !important;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.14;
  text-overflow: ellipsis;
}

.innari2026ActionText small {
  color: var(--app-muted) !important;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.22;
}

.innari2026SongManageSections .innari2026ActionSelect {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 44px 12px 16px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background-color: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 900 0.98rem/1.15 var(--innari2026-ui-font) !important;
  box-shadow: none !important;
}

.innari2026SongManageSections .innari2026ActionSelect:hover,
.innari2026SongManageSections .innari2026ActionSelect:focus-visible {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background-color: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026SongManageSections .innari2026MenuSection h4 {
  margin-bottom: 2px;
}

@media (max-width: 680px) {
  .innari2026SongManageSections .innari2026ActionGrid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026SongManageSections .innari2026ActionButton,
  .innari2026SongManageSections form .innari2026ActionButton,
  .innari2026SongManageSections .innari2026ActionSelect {
    min-height: 72px !important;
  }

  .innari2026SongManageSections .innari2026ActionButton,
  .innari2026SongManageSections form .innari2026ActionButton {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 13px !important;
  }

  .innari2026ActionIcon {
    width: 42px;
    height: 42px;
    font-size: 1.6rem !important;
  }

  .innari2026ActionText b {
    font-size: 0.95rem;
  }

  .innari2026ActionText small {
    font-size: 0.78rem;
  }
}


/* v4.0 - Gestione Brani: fix icone card azione
   Evita che un nome icona non supportato venga renderizzato come testo lungo sovrapposto. */
.innari2026ActionIcon.material-symbols-outlined,
.innari2026ActionIcon.material-symbols-rounded {
  overflow: hidden !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 32;
}

/* v4.1 - Gestione Gruppi: card azione e testi puliti */
.innari2026GroupManageSections .innari2026ActionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.innari2026GroupManageSections .innari2026ActionGrid > div,
.innari2026GroupManageSections .innari2026ActionControl {
  min-width: 0;
}

.innari2026GroupManageSections .innari2026ActionGrid > div:empty {
  display: none !important;
}

.innari2026GroupManageSections .innari2026ActionButton,
.innari2026GroupManageSections .innari2026SelectActionCard {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

.innari2026GroupManageSections .innari2026ActionButton:hover,
.innari2026GroupManageSections .innari2026ActionButton:focus-visible,
.innari2026GroupManageSections .innari2026SelectActionCard:focus-within {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026GroupManageSections .innari2026ActionSelect {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
  margin: 8px 0 0 !important;
  padding: 8px 38px 8px 12px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background-color: var(--app-paper) !important;
  color: var(--app-ink) !important;
  font: 900 0.9rem/1.15 var(--innari2026-ui-font) !important;
  box-shadow: none !important;
}

.innari2026GroupManageSections .innari2026MenuSection h4 {
  margin-bottom: 2px;
}

@media (max-width: 680px) {
  .innari2026GroupManageSections .innari2026ActionGrid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026GroupManageSections .innari2026ActionButton,
  .innari2026GroupManageSections .innari2026SelectActionCard {
    min-height: 72px !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 13px !important;
  }

  .innari2026GroupManageSections .innari2026ActionSelect {
    min-height: 38px !important;
    font-size: 0.86rem !important;
  }
}

/* v4.2 - Scalette: card azione coerenti con menu 2026 */
.innari2026SetlistManageSections .innari2026ActionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.innari2026SetlistManageSections .innari2026ActionGrid > div,
.innari2026SetlistManageSections .innari2026ActionControl {
  min-width: 0;
}

.innari2026SetlistManageSections .innari2026ActionGrid > div:empty {
  display: none !important;
}

.innari2026SetlistManageSections .innari2026ActionButton,
.innari2026SetlistManageSections .innari2026SelectActionCard {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

.innari2026SetlistManageSections .innari2026ActionButton:hover,
.innari2026SetlistManageSections .innari2026ActionButton:focus-visible,
.innari2026SetlistManageSections .innari2026SelectActionCard:focus-within {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026SetlistManageSections .innari2026ActionSelect {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
  margin: 8px 0 0 !important;
  padding: 8px 38px 8px 12px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background-color: var(--app-paper) !important;
  color: var(--app-ink) !important;
  font: 900 0.9rem/1.15 var(--innari2026-ui-font) !important;
  box-shadow: none !important;
}

.innari2026SetlistManageSections .innari2026MenuSection h4 {
  margin-bottom: 2px;
}

@media (max-width: 680px) {
  .innari2026SetlistManageSections .innari2026ActionGrid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026SetlistManageSections .innari2026ActionButton,
  .innari2026SetlistManageSections .innari2026SelectActionCard {
    min-height: 72px !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 13px !important;
  }

  .innari2026SetlistManageSections .innari2026ActionSelect {
    min-height: 38px !important;
    font-size: 0.86rem !important;
  }
}

/* v4.4 - Editor scaletta 2026 */
.innari2026PlaylistEditor {
  width: min(980px, calc(100% - 24px));
  margin: clamp(18px, 4vw, 42px) auto 56px;
  color: var(--app-ink);
}

.innari2026PlaylistShell {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.95);
  box-shadow: var(--app-shadow);
  overflow: hidden;
}

.innari2026PlaylistHero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: clamp(22px, 4vw, 42px);
  border-bottom: 1px solid var(--app-line);
  background: linear-gradient(135deg, rgba(255,253,247,0.98), rgba(249,244,233,0.86));
}

.innari2026PlaylistHero h1 {
  margin: 4px 0 0;
  color: var(--app-ink);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 900;
  line-height: .95;
}

.innari2026PlaylistHero p {
  max-width: 56ch;
  margin: 12px 0 0;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.35;
}

.innari2026PlaylistBack {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-paper);
  color: var(--app-muted) !important;
  text-decoration: none !important;
  font-weight: 800;
}

.innari2026PlaylistBack .material-symbols-rounded {
  color: var(--app-muted) !important;
  font-size: 1.6rem;
}

#innari2026PlaylistForm {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3vw, 30px);
}

.innari2026PlaylistCard {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(249, 244, 233, 0.62);
  padding: clamp(14px, 2.5vw, 22px);
}

.innari2026PlaylistNameCard {
  display: grid;
  grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.innari2026PlaylistNameCard label {
  color: var(--app-muted);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.innari2026PlaylistNameCard input,
.innari2026PlaylistModal input,
.innari2026PlaylistSearchBox input {
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper) !important;
  color: var(--app-ink) !important;
  font: 900 1rem/1.2 var(--innari2026-ui-font, "Nunito Sans", "Roboto", system-ui, sans-serif) !important;
  padding: 0 14px !important;
  box-shadow: none !important;
}

.innari2026PlaylistToolbar,
.innari2026PlaylistFooter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.innari2026PlaylistAction,
.innari2026PlaylistSave,
.innari2026PlaylistDelete,
.innari2026PlaylistModalActions button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  padding: 0 16px !important;
  font: 900 .95rem/1 var(--innari2026-ui-font, "Nunito Sans", "Roboto", system-ui, sans-serif) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026PlaylistAction .material-symbols-rounded,
.innari2026PlaylistSave .material-symbols-rounded,
.innari2026PlaylistDelete .material-symbols-rounded {
  color: currentColor !important;
  font-size: 1.45rem;
}

.innari2026PlaylistPrimary,
.innari2026PlaylistSave,
.innari2026PlaylistModalActions .innari2026PlaylistPrimary {
  background: var(--app-green) !important;
  color: #fff !important;
  border-color: var(--app-green) !important;
}

.innari2026PlaylistDelete {
  color: var(--app-coral) !important;
}

.innari2026PlaylistListHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.innari2026PlaylistListHead h2 {
  margin: 3px 0 0;
  color: var(--app-ink);
  font-size: clamp(1.4rem, 3vw, 2.15rem);
  font-weight: 900;
  line-height: 1;
}

.innari2026PlaylistCount {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper);
  color: var(--app-muted);
  font-size: .8rem;
  font-weight: 900;
}

.innari2026PlaylistList {
  list-style: none;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.innari2026PlaylistItem {
  display: grid;
  grid-template-columns: 34px 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(222, 215, 201, 0.9);
  border-radius: var(--app-radius);
  background: var(--app-paper);
  box-shadow: 0 10px 28px rgba(52,45,34,.06);
}

.innari2026PlaylistItem.dragging {
  opacity: .55;
}

.innari2026PlaylistItem-section {
  background: linear-gradient(135deg, rgba(228,241,236,.82), rgba(255,253,247,.96));
}

.innari2026PlaylistDrag {
  display: grid;
  place-items: center;
  color: var(--app-muted);
  cursor: grab;
}

.innari2026PlaylistDrag .material-symbols-rounded {
  color: var(--app-muted) !important;
  font-size: 1.45rem;
}

.innari2026PlaylistItemIcon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: var(--app-radius);
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026PlaylistItemIcon .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.65rem;
}

.innari2026PlaylistItemText {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.innari2026PlaylistItemText a,
.innari2026PlaylistItemText strong {
  overflow: hidden;
  color: var(--app-ink) !important;
  font-size: 1.04rem;
  font-weight: 900;
  line-height: 1.15;
  text-decoration: none !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026PlaylistItemText small {
  overflow: hidden;
  color: var(--app-muted);
  font-size: .84rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026PlaylistItemActions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.innari2026PlaylistItemActions button {
  width: 36px;
  height: 36px;
  min-height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  padding: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026PlaylistItemActions button:disabled {
  opacity: .34;
  cursor: default;
}

.innari2026PlaylistItemActions .material-symbols-rounded {
  color: currentColor !important;
  font-size: 1.28rem;
}

.innari2026PlaylistEmpty {
  display: none;
  padding: 18px;
  border: 1px dashed var(--app-line);
  border-radius: var(--app-radius);
  color: var(--app-muted);
  font-weight: 900;
  text-align: center;
}

.innari2026PlaylistModal {
  position: fixed;
  inset: 0;
  z-index: 180;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(12,14,14,.54);
}

.innari2026PlaylistModal[hidden] {
  display: none !important;
}

.innari2026PlaylistModalBox {
  width: min(460px, 100%);
  display: grid;
  gap: 14px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-paper);
  color: var(--app-ink);
  box-shadow: 0 28px 80px rgba(13,16,15,.34);
  padding: 22px;
}

.innari2026PlaylistSongModalBox {
  width: min(640px, 100%);
  max-height: min(78dvh, 640px);
  grid-template-rows: auto auto auto minmax(120px, 1fr) auto;
}

.innari2026PlaylistModalBox h3 {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 900;
}

.innari2026PlaylistModalActions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.innari2026PlaylistSearchBox {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-paper-2);
  padding: 0 12px;
}

.innari2026PlaylistSearchBox .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.55rem;
}

.innari2026PlaylistSearchBox input {
  border: 0 !important;
  background: transparent !important;
  padding-left: 0 !important;
}

.innari2026PlaylistSearchStatus {
  min-height: 18px;
  color: var(--app-muted);
  font-size: .84rem;
  font-weight: 800;
}

.innari2026PlaylistSearchResults {
  min-height: 120px;
  overflow: hidden auto;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(249,244,233,.58);
}

.innari2026PlaylistSearchResults button {
  width: 100%;
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border: 0 !important;
  border-bottom: 1px solid rgba(222,215,201,.76) !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  text-align: left;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026PlaylistSearchResults button:last-child {
  border-bottom: 0 !important;
}

.innari2026PlaylistSearchResults button:hover,
.innari2026PlaylistSearchResults button:focus-visible {
  background: var(--app-green-soft) !important;
  outline: 0;
}

.innari2026PlaylistSearchResults strong {
  overflow: hidden;
  font-size: .96rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026PlaylistSearchResults small {
  overflow: hidden;
  color: var(--app-muted);
  font-size: .78rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.stage .innari2026PlaylistShell,
body.stage .innari2026PlaylistCard,
body.stage .innari2026PlaylistItem,
body.stage .innari2026PlaylistModalBox {
  background: var(--app-paper) !important;
}

@media (max-width: 680px) {
  .innari2026PlaylistEditor {
    width: calc(100% - 10px);
    margin-top: 8px;
    margin-bottom: 28px;
  }

  .innari2026PlaylistHero {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
  }

  .innari2026PlaylistHero h1 {
    font-size: 2rem;
  }

  .innari2026PlaylistNameCard {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .innari2026PlaylistToolbar,
  .innari2026PlaylistFooter {
    display: grid;
    grid-template-columns: 1fr;
  }

  .innari2026PlaylistListHead {
    align-items: flex-start;
    flex-direction: column;
  }

  .innari2026PlaylistItem {
    grid-template-columns: 28px 44px minmax(0, 1fr);
    gap: 9px;
    padding: 10px;
  }

  .innari2026PlaylistItemIcon {
    width: 42px;
    height: 42px;
  }

  .innari2026PlaylistItemActions {
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 6px;
  }

  .innari2026PlaylistItemText a,
  .innari2026PlaylistItemText strong {
    white-space: normal;
  }

  .innari2026PlaylistModal {
    align-items: end;
    padding: 10px;
  }

  .innari2026PlaylistModalBox {
    border-radius: 18px;
  }
}

/* v4.5 - Scalette: menu piu' operativo e contestuale */
.innari2026SetlistManageSections .innari2026SetlistActiveGrid {
  grid-template-columns: 1fr;
}

.innari2026SetlistManageSections .innari2026SetlistActiveCard {
  min-height: 92px !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-items: center;
}

.innari2026SetlistManageSections .innari2026SetlistActiveCard .innari2026ActionIcon {
  width: 50px;
  height: 50px;
  font-size: 1.9rem !important;
}

#innari2026SetlistActiveName {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#innari2026SetlistActiveMeta {
  max-width: 100%;
}

.innari2026SetlistManageSections .innari2026MenuSection h4 {
  margin-bottom: 4px;
}

.innari2026SetlistManageSections .innari2026ActionButton:disabled {
  cursor: not-allowed !important;
  opacity: 0.42 !important;
  filter: grayscale(0.25);
}

.innari2026SetlistManageSections #innari2026NewSetlistButton .innari2026ActionIcon {
  background: var(--app-green-soft);
}

.innari2026SetlistManageSections .innari2026ActionControl select {
  margin-top: 10px !important;
}

.innari2026SetlistManageSections .innari2026SelectActionCard:has(#playlist) {
  background:
    linear-gradient(135deg, rgba(228, 241, 236, 0.55), rgba(255, 253, 247, 0) 55%),
    var(--app-paper-2) !important;
}

@media (min-width: 681px) {
  .innari2026SetlistManageSections .innari2026ActionGrid:has(#braniPL) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .innari2026SetlistManageSections .innari2026SetlistActiveCard {
    min-height: 84px !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }

  .innari2026SetlistManageSections .innari2026SetlistActiveCard .innari2026ActionIcon {
    width: 44px;
    height: 44px;
    font-size: 1.65rem !important;
  }
}

/* v4.6 - Sincronizzazione: restyling in card coerente con menu 2026 */
.innari2026SyncManageSections .innari2026ActionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.innari2026SyncManageSections .innari2026ActionGrid > div,
.innari2026SyncManageSections .innari2026ActionControl {
  min-width: 0;
}

.innari2026SyncManageSections .innari2026ActionGrid > div:empty {
  display: none !important;
}

.innari2026SyncManageSections .innari2026InfoCard,
.innari2026SyncManageSections .innari2026ActionButton,
.innari2026SyncManageSections .innari2026SelectActionCard {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

.innari2026SyncManageSections .innari2026InfoCard {
  min-height: 104px !important;
  background:
    linear-gradient(135deg, rgba(228, 241, 236, 0.72), rgba(255, 253, 247, 0) 58%),
    var(--app-paper-2) !important;
}

.innari2026SyncManageSections .innari2026ActionButton:hover,
.innari2026SyncManageSections .innari2026ActionButton:focus-visible,
.innari2026SyncManageSections .innari2026SelectActionCard:focus-within {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026SyncManageSections .innari2026ActionSelect {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
  margin: 8px 0 0 !important;
  padding: 8px 38px 8px 12px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background-color: var(--app-paper) !important;
  color: var(--app-ink) !important;
  font: 900 0.9rem/1.15 var(--innari2026-ui-font) !important;
  box-shadow: none !important;
}

.innari2026SyncManageSections .innari2026ActionSelect:hover,
.innari2026SyncManageSections .innari2026ActionSelect:focus-visible {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background-color: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026SyncManageSections .innari2026MenuSection h4 {
  margin-bottom: 4px;
}

.innari2026SyncManageSections .innari2026SyncInfoCard .innari2026ActionText small {
  white-space: normal;
}

.innari2026SyncManageSections .innari2026SyncInfoCard .innari2026ActionText small strong {
  color: var(--app-ink);
  font-weight: 900;
}

@media (min-width: 681px) {
  .innari2026SyncManageSections .innari2026MenuSection:first-child .innari2026ActionGrid,
  .innari2026SyncManageSections .innari2026InfoCard {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .innari2026SyncManageSections .innari2026ActionGrid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026SyncManageSections .innari2026InfoCard,
  .innari2026SyncManageSections .innari2026ActionButton,
  .innari2026SyncManageSections .innari2026SelectActionCard {
    min-height: 72px !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 13px !important;
  }

  .innari2026SyncManageSections .innari2026InfoCard {
    min-height: 92px !important;
  }

  .innari2026SyncManageSections .innari2026ActionSelect {
    min-height: 38px !important;
    font-size: 0.86rem !important;
  }
}

/* v4.7 - Supporto Biblico: card azione e risultati nel pannello */
.innari2026BibleManageSections .innari2026ActionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.innari2026BibleManageSections .innari2026ActionGrid > div,
.innari2026BibleManageSections .innari2026ActionControl {
  min-width: 0;
}

.innari2026BibleManageSections .innari2026InfoCard,
.innari2026BibleManageSections .innari2026ActionButton {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

.innari2026BibleManageSections .innari2026InfoCard {
  min-height: 104px !important;
  background:
    linear-gradient(135deg, rgba(228, 241, 236, 0.72), rgba(255, 253, 247, 0) 58%),
    var(--app-paper-2) !important;
}

.innari2026BibleManageSections .innari2026ActionButton:hover,
.innari2026BibleManageSections .innari2026ActionButton:focus-visible {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026BibleManageSections .innari2026MenuSection h4 {
  margin-bottom: 4px;
}

.innari2026BibleResultSection {
  min-height: 0;
}

.innari2026BibleResult {
  min-height: 120px;
  max-height: min(42dvh, 360px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  padding: 14px 15px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.72);
  color: var(--app-ink);
  font-size: 0.95rem;
  line-height: 1.45;
}

.innari2026BibleResult b {
  color: var(--app-ink);
  font-weight: 900;
}

.innari2026BibleResult i,
.innari2026BibleResult small {
  color: var(--app-muted);
}

.innari2026BibleResult table {
  max-width: 100%;
  color: var(--app-green) !important;
}

.innari2026BibleResult .material-symbols-outlined,
.innari2026BibleResult .material-symbols-rounded {
  color: var(--app-green) !important;
  cursor: pointer;
}

.innari2026BibleLink,
.innari2026BibleResult a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-top: 8px;
  padding: 0 10px;
  border: 1px solid rgba(23, 106, 95, 0.22);
  border-radius: var(--app-radius);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-weight: 900;
  text-decoration: none !important;
}

.innari2026BibleEmpty,
.innari2026BibleLoading {
  min-height: 92px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  color: var(--app-muted);
  text-align: center;
  font-weight: 800;
}

.innari2026BibleLoading .material-symbols-outlined {
  font-size: 2rem;
  color: var(--app-green) !important;
  animation: innari2026BibleSpin 1.1s linear infinite;
}

.innari2026BibleLoading b {
  color: var(--app-ink);
  font-size: 1rem;
}

.innari2026BibleLoading small {
  color: var(--app-muted);
}

@keyframes innari2026BibleSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (min-width: 681px) {
  .innari2026BibleManageSections .innari2026MenuSection:first-child .innari2026ActionGrid,
  .innari2026BibleManageSections .innari2026InfoCard,
  .innari2026BibleResultSection {
    grid-column: 1 / -1;
  }

  .innari2026BibleManageSections .innari2026ActionGrid .innari2026ActionButton:nth-child(3) {
    grid-column: span 2;
  }
}

@media (max-width: 680px) {
  .innari2026BibleManageSections .innari2026ActionGrid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026BibleManageSections .innari2026InfoCard,
  .innari2026BibleManageSections .innari2026ActionButton {
    min-height: 72px !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 13px !important;
  }

  .innari2026BibleManageSections .innari2026InfoCard {
    min-height: 92px !important;
  }

  .innari2026BibleResult {
    max-height: min(38dvh, 300px);
    padding: 12px;
    font-size: 0.9rem;
  }
}

/* v5.1 - Account nel menu principale e pagine account standalone */
.innari2026AccountManageSections .innari2026ActionGrid,
.innari2026AccountManageSections .innari2026AccountLoginForm,
.innari2026AccountManageSections .innari2026AccountRecoverForm {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.innari2026AccountManageSections .innari2026InfoCard,
.innari2026AccountManageSections .innari2026ActionButton {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}

.innari2026AccountManageSections .innari2026InfoCard {
  grid-column: 1 / -1;
  min-height: 104px !important;
  background:
    linear-gradient(135deg, rgba(228, 241, 236, 0.78), rgba(255, 253, 247, 0) 58%),
    var(--app-paper-2) !important;
}

.innari2026AccountManageSections .innari2026ActionButton:hover,
.innari2026AccountManageSections .innari2026ActionButton:focus-visible {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026AccountManageSections .innari2026LogoutButton:hover,
.innari2026AccountManageSections .innari2026LogoutButton:focus-visible {
  border-color: rgba(186, 83, 56, 0.45) !important;
  background: rgba(186, 83, 56, 0.1) !important;
}

.innari2026AccountManageSections .innari2026AccountField {
  min-width: 0;
  display: grid;
  gap: 6px;
  margin: 0;
}

.innari2026AccountManageSections .innari2026AccountField span,
.innari2026StandaloneAuth .innari2026AccountField span {
  color: var(--app-muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.innari2026AccountManageSections .innari2026AccountField input,
.innari2026StandaloneAuth .innari2026AccountField input {
  width: 100% !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 900 0.96rem/1.2 var(--innari2026-ui-font) !important;
  padding: 0 13px !important;
  box-shadow: none !important;
}

.innari2026AccountManageSections .innari2026AccountField input:focus,
.innari2026StandaloneAuth .innari2026AccountField input:focus {
  border-color: rgba(23, 106, 95, 0.45) !important;
  outline: 0 !important;
  background: rgba(228, 241, 236, 0.34) !important;
}

.innari2026AccountManageSections .innari2026AccountSubmit {
  align-self: end;
}

.innari2026AccountManageSections .innari2026AccountRecoverForm .innari2026AccountStatus {
  grid-column: 1 / -1;
  min-height: 0;
  color: var(--app-muted);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.25;
}

.innari2026AccountManageSections .innari2026AccountRecoverForm .innari2026AccountStatus[data-error="1"] {
  color: var(--app-coral);
}

.innari2026StandaloneAuth {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  box-sizing: border-box;
  color: var(--app-ink);
  background:
    linear-gradient(90deg, rgba(23, 106, 95, 0.08) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 20% 0%, rgba(211, 146, 40, 0.2), transparent 30rem),
    linear-gradient(180deg, #faf7ef 0%, var(--app-bg) 100%);
  font-family: var(--innari2026-ui-font) !important;
}

.innari2026StandaloneCard {
  width: min(520px, 100%);
  padding: clamp(22px, 5vw, 42px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.94);
  box-shadow: var(--app-shadow);
}

.innari2026StandaloneCard h1 {
  margin: 6px 0 10px;
  color: var(--app-ink);
  font-size: clamp(2rem, 7vw, 3.4rem);
  line-height: 0.98;
  font-weight: 900;
}

.innari2026StandaloneCard p {
  margin: 0 0 20px;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.35;
}

.innari2026StandaloneCard form {
  display: grid;
  gap: 14px;
}

.innari2026StandaloneButton {
  min-height: 50px;
  border: 0 !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-green) !important;
  color: #fff !important;
  font: 900 1rem/1.1 var(--innari2026-ui-font) !important;
  cursor: pointer;
}

@media (max-width: 680px) {
  .innari2026AccountManageSections .innari2026ActionGrid,
  .innari2026AccountManageSections .innari2026AccountLoginForm,
  .innari2026AccountManageSections .innari2026AccountRecoverForm {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026AccountManageSections .innari2026InfoCard,
  .innari2026AccountManageSections .innari2026ActionButton {
    min-height: 72px !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 13px !important;
  }

  .innari2026AccountManageSections .innari2026InfoCard {
    min-height: 92px !important;
  }

  .innari2026AccountManageSections .innari2026AccountField input {
    min-height: 44px !important;
    font-size: 0.92rem !important;
  }
}

/* v5.1b - registrazione storica resa piu' coerente con il tema 2026 */
form.eV1 {
  width: min(720px, calc(100% - 24px));
  margin: 0 auto 38px !important;
  font-family: var(--innari2026-ui-font) !important;
}

form.eV1 .tabellaElenco {
  width: 100% !important;
  max-width: 720px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: rgba(255, 253, 247, 0.94) !important;
  box-shadow: var(--app-shadow) !important;
  overflow: hidden;
}

form.eV1 .tabellaElenco th {
  padding: 22px !important;
  background: var(--app-paper) !important;
  color: var(--app-ink) !important;
  border-bottom: 1px solid var(--app-line) !important;
  font: 900 clamp(1.6rem, 4vw, 2.4rem)/1.05 var(--innari2026-ui-font) !important;
  text-align: left !important;
}

form.eV1 .tabellaElenco td {
  color: var(--app-ink) !important;
  font-family: var(--innari2026-ui-font) !important;
}

form.eV1 input[type="text"],
form.eV1 input[type="password"],
form.eV1 select,
form.eV1 textarea {
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 800 0.95rem/1.2 var(--innari2026-ui-font) !important;
  padding: 8px 11px !important;
}

form.eV1 input[type="button"].pulsanteColorato,
form.eV1 input[type="submit"].pulsanteColorato,
form.eV1 button.pulsanteColorato {
  min-height: 46px !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-green) !important;
  color: #fff !important;
  font: 900 0.98rem/1.1 var(--innari2026-ui-font) !important;
}

@media (max-width: 680px) {
  form.eV1 {
    width: calc(100% - 16px);
  }

  form.eV1 .tabellaElenco th {
    padding: 18px !important;
  }

  form.eV1 table[id^="regtable"],
  form.eV1 table[id^="regtable"] tbody,
  form.eV1 table[id^="regtable"] tr,
  form.eV1 table[id^="regtable"] td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  form.eV1 input[type="text"],
  form.eV1 input[type="password"],
  form.eV1 select,
  form.eV1 textarea {
    width: 100% !important;
  }
}

/* v5.2 - menu impostazioni desktop da sinistra */
@media (min-width: 681px) {
  #divUserBox.innari2026MenuPanel {
    left: 18px !important;
    right: auto !important;
    transform: translateX(calc(-100% - 32px)) !important;
  }

  #divUserBox.innari2026MenuPanel[data-open="1"] {
    transform: translateX(0) !important;
    box-shadow: 24px 0 70px rgba(13, 16, 15, 0.26) !important;
  }
}

/* v5.4 - Home Innari.it 2026 */
.innari2026Topbar[data-home="1"] {
  grid-template-columns: 52px minmax(0, 1fr) 40px;
}

.innari2026HomeTopTitle {
  min-width: 0;
  display: grid;
  place-items: center;
  text-align: center;
}

.innari2026Home {
  width: min(1180px, calc(100% - 28px));
  margin: clamp(18px, 4vw, 42px) auto 60px;
  display: grid;
  gap: clamp(18px, 3vw, 30px);
}

.innari2026HomeHero,
.innari2026HomeSection,
.innari2026HomeTodayCard {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.94);
  box-shadow: var(--app-shadow);
}

.innari2026HomeHero {
  padding: clamp(26px, 5vw, 62px);
  display: grid;
  gap: 22px;
  overflow: hidden;
  position: relative;
}

.innari2026HomeHero::after {
  content: "";
  position: absolute;
  inset: auto -12% -48% 55%;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23,106,95,0.12), transparent 65%);
  pointer-events: none;
}

.innari2026HomeHeroText,
.innari2026HomeSearch,
.innari2026HomeHeroActions {
  position: relative;
  z-index: 1;
}

.innari2026HomeHero h1 {
  margin: 6px 0 0;
  color: var(--app-ink);
  font-size: clamp(2.5rem, 7vw, 5.4rem);
  line-height: 0.92;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.innari2026HomeHero p {
  max-width: 720px;
  margin: 16px 0 0;
  color: var(--app-muted);
  font-size: clamp(1rem, 2vw, 1.28rem);
  line-height: 1.38;
  font-weight: 800;
}

.innari2026HomeSearch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  max-width: 820px;
}

.innari2026HomeSearch label {
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-paper-2);
}

.innari2026HomeSearch label .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.9rem;
}

.innari2026HomeSearch input {
  width: 100%;
  min-width: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  font: 900 1.05rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

.innari2026HomeSearch button,
.innari2026HomeHeroActions button,
.innari2026HomeHeroActions a,
.innari2026HomeSectionHead button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026HomeSearch button {
  padding: 0 18px;
  background: var(--app-green) !important;
  color: #fff !important;
}

.innari2026HomeSearch button .material-symbols-rounded {
  color: #fff !important;
}

.innari2026HomeHeroActions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.innari2026HomeSection,
.innari2026HomeTodayCard {
  padding: clamp(18px, 3.6vw, 34px);
}

.innari2026HomeSectionHead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.innari2026HomeSectionHead h2,
.innari2026HomeTodayCard h2 {
  margin: 4px 0 0;
  color: var(--app-ink);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.05;
  font-weight: 900;
}

.innari2026HomeCollectionGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
}

.innari2026HomeCollectionCard,
.innari2026HomeQuickCard {
  min-width: 0;
  display: grid;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.innari2026HomeCollectionCard {
  grid-template-columns: 48px minmax(0, 1fr) 28px;
  min-height: 86px;
  padding: 13px 14px;
}

.innari2026HomeCollectionIcon,
.innari2026HomeQuickCard > .material-symbols-rounded {
  width: 46px;
  height: 46px;
  display: grid !important;
  place-items: center;
  border-radius: var(--app-radius);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026HomeCollectionText {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.innari2026HomeCollectionText strong,
.innari2026HomeQuickCard strong,
.innari2026HomeTodayGrid b {
  overflow: hidden;
  color: var(--app-ink);
  font-size: 1rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026HomeCollectionText small,
.innari2026HomeQuickCard small,
.innari2026HomeTodayGrid p,
.innari2026HomeTodayGrid a {
  color: var(--app-muted) !important;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.25;
}

.innari2026HomeCollectionCard > .material-symbols-rounded:last-child {
  color: var(--app-green) !important;
}

.innari2026HomeQuickGrid,
.innari2026HomeTodayGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}

.innari2026HomeQuickCard {
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 104px;
  padding: 14px;
  text-align: left;
  cursor: pointer;
}

.innari2026HomeQuickCard small {
  display: block;
  margin-top: 5px;
}

.innari2026HomeTodayGrid article {
  min-height: 108px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(222, 215, 201, 0.78);
  border-radius: var(--app-radius);
  background: var(--app-paper-2);
}

.innari2026HomeTodayGrid article > .material-symbols-rounded {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: var(--app-radius);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026HomeTodayGrid a {
  display: inline-block;
  margin-top: 6px;
  color: var(--app-green) !important;
  text-decoration: none !important;
}

.innari2026HomeTodayGrid p {
  margin: 6px 0 0;
}

.innari2026HomeMuted {
  margin: 8px 0;
  color: var(--app-muted);
  font-weight: 800;
}

body.stage .innari2026HomeHero,
body.stage .innari2026HomeSection,
body.stage .innari2026HomeTodayCard,
body.stage .innari2026HomeSearch label,
body.stage .innari2026HomeCollectionCard,
body.stage .innari2026HomeQuickCard,
body.stage .innari2026HomeTodayGrid article {
  background: var(--app-paper) !important;
}

@media (max-width: 680px) {
  .innari2026Topbar[data-home="1"] {
    grid-template-columns: 38px minmax(0, 1fr) 32px;
  }

  .innari2026Home {
    width: calc(100% - 16px);
    margin-top: 12px;
    gap: 14px;
  }

  .innari2026HomeHero,
  .innari2026HomeSection,
  .innari2026HomeTodayCard {
    padding: 18px 14px;
  }

  .innari2026HomeHero h1 {
    font-size: clamp(2.35rem, 14vw, 3.6rem);
  }

  .innari2026HomeSearch {
    grid-template-columns: 1fr;
  }

  .innari2026HomeSearch label {
    min-height: 50px;
    padding: 0 12px;
  }

  .innari2026HomeSearch button {
    min-height: 46px;
  }

  .innari2026HomeSectionHead {
    align-items: start;
    flex-direction: column;
    gap: 10px;
  }

  .innari2026HomeSectionHead button {
    width: 100%;
  }

  .innari2026HomeCollectionGrid,
  .innari2026HomeQuickGrid,
  .innari2026HomeTodayGrid {
    grid-template-columns: 1fr;
  }

  .innari2026HomeHeroActions > * {
    flex: 1 1 100%;
  }
}

/* v5.5 - Home responsive + ricerca live inline */
.innari2026Home,
.innari2026Home * {
  box-sizing: border-box;
}

.innari2026Home {
  width: min(1180px, 100%);
  max-width: calc(100vw - 18px);
  overflow-x: clip;
}

.innari2026HomeHero,
.innari2026HomeSection,
.innari2026HomeTodayCard {
  max-width: 100%;
  min-width: 0;
}

.innari2026HomeSearch {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px;
  max-width: 860px;
  width: 100%;
}

.innari2026HomeSearch label {
  min-width: 0;
}

.innari2026HomeAdvanced {
  border: 1px solid rgba(222, 215, 201, 0.78);
  border-radius: calc(var(--app-radius) - 6px);
  background: rgba(255,255,255,0.52);
  overflow: hidden;
}

.innari2026HomeAdvanced > summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  color: var(--app-green);
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  cursor: pointer;
  list-style: none;
}

.innari2026HomeAdvanced > summary::-webkit-details-marker {
  display: none;
}

.innari2026HomeAdvanced > summary .material-symbols-rounded {
  color: var(--app-green) !important;
  transition: transform .18s ease;
}

.innari2026HomeAdvanced[open] > summary .material-symbols-rounded {
  transform: rotate(180deg);
}

.innari2026HomeAdvancedBody {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}

.innari2026HomeAdvancedOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026HomeCheckRow {
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(222, 215, 201, 0.84) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 900 0.78rem/1.15 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026HomeCheckRow input {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--app-green);
}

.innari2026HomeAdvancedInnari {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.innari2026HomeAdvancedInnari strong {
  color: var(--app-ink);
  font-weight: 900;
  font-size: 0.86rem;
}

.innari2026HomeAdvancedInnari small {
  color: var(--app-muted);
  font-weight: 800;
  font-size: 0.78rem;
}

.innari2026HomeSearchInnariList {
  min-width: 0;
  max-height: 126px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow: auto;
  padding: 2px 2px 4px;
  overscroll-behavior: contain;
}

.innari2026HomeInnarioChip {
  min-height: 32px !important;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 9px !important;
  border: 1px solid rgba(222, 215, 201, 0.86) !important;
  border-radius: 999px !important;
  background: var(--app-paper-2) !important;
  color: var(--app-muted) !important;
  font: 900 0.75rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026HomeInnarioChip input {
  width: 15px !important;
  height: 15px !important;
  accent-color: var(--app-green);
}

.innari2026HomeInnarioChip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026HomeSearchStatus {
  min-height: 20px;
  color: var(--app-muted);
  font: 900 0.84rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeSearchStatus[data-error="1"] {
  color: var(--app-coral);
}

.innari2026HomeResultsWrap {
  width: min(860px, 100%);
  max-height: min(46vh, 430px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(222, 215, 201, 0.86);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 14px 34px rgba(41, 49, 47, 0.10);
  position: relative;
  z-index: 1;
}

.innari2026HomeResultsWrap[hidden] {
  display: none !important;
}

.innari2026HomeResults {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.innari2026HomeResults td {
  padding: 0;
  border-bottom: 1px solid rgba(222, 215, 201, 0.72);
}

.innari2026HomeResults tr:last-child td {
  border-bottom: 0;
}

.innari2026HomeSearchResult {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  color: var(--app-ink) !important;
  text-decoration: none !important;
}

.innari2026HomeSearchResult strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--app-ink);
  font: 900 0.98rem/1.15 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeSearchResult small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--app-muted);
  font: 800 0.78rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeSearchResult:active,
.innari2026HomeSearchResult:hover {
  background: var(--app-green-soft);
}

@media (max-width: 680px) {
  .innari2026Home {
    width: 100%;
    max-width: calc(100vw - 8px);
    margin: 8px auto 38px;
    padding: 0 0 2px;
    gap: 10px;
  }

  .innari2026HomeHero,
  .innari2026HomeSection,
  .innari2026HomeTodayCard {
    border-radius: calc(var(--app-radius) - 6px);
    padding: 14px 10px;
  }

  .innari2026HomeHero {
    gap: 12px;
  }

  .innari2026HomeHero h1 {
    font-size: clamp(2rem, 11vw, 3rem);
    line-height: .96;
    letter-spacing: -0.03em;
  }

  .innari2026HomeHero p {
    margin-top: 10px;
    font-size: 0.95rem;
    line-height: 1.32;
  }

  .innari2026HomeSearch label {
    min-height: 48px;
    grid-template-columns: 30px minmax(0, 1fr);
    padding: 0 10px;
    border-radius: calc(var(--app-radius) - 7px);
  }

  .innari2026HomeSearch label .material-symbols-rounded {
    font-size: 1.55rem !important;
  }

  .innari2026HomeSearch input {
    font-size: 0.96rem !important;
  }

  .innari2026HomeHeroActions {
    gap: 7px;
  }

  .innari2026HomeHeroActions > * {
    min-height: 40px;
    flex: 1 1 auto;
    padding-inline: 9px !important;
    font-size: 0.78rem !important;
  }

  .innari2026HomeAdvanced > summary {
    min-height: 38px;
    padding-inline: 10px;
  }

  .innari2026HomeAdvancedBody {
    padding-inline: 9px;
    gap: 9px;
  }

  .innari2026HomeAdvancedOptions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .innari2026HomeSearchInnariList {
    max-height: 92px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
  }

  .innari2026HomeInnarioChip {
    flex: 0 0 auto;
    max-width: min(78vw, 260px);
  }

  .innari2026HomeResultsWrap {
    width: 100%;
    max-height: min(38vh, 330px);
    border-radius: calc(var(--app-radius) - 7px);
  }

  .innari2026HomeSearchResult {
    padding: 10px 11px;
  }

  .innari2026HomeSearchResult strong,
  .innari2026HomeCollectionText strong,
  .innari2026HomeQuickCard strong {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .innari2026HomeCollectionCard {
    grid-template-columns: 38px minmax(0, 1fr) 22px;
    gap: 9px;
    min-height: 72px;
    padding: 10px;
    border-radius: calc(var(--app-radius) - 7px) !important;
  }

  .innari2026HomeCollectionIcon,
  .innari2026HomeQuickCard > .material-symbols-rounded,
  .innari2026HomeTodayGrid article > .material-symbols-rounded {
    width: 38px;
    height: 38px;
    font-size: 1.45rem !important;
  }

  .innari2026HomeCollectionText small,
  .innari2026HomeQuickCard small,
  .innari2026HomeTodayGrid p,
  .innari2026HomeTodayGrid a {
    font-size: 0.76rem;
  }

  .innari2026HomeQuickCard,
  .innari2026HomeTodayGrid article {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    min-height: 74px;
    padding: 10px;
    border-radius: calc(var(--app-radius) - 7px) !important;
  }

  .innari2026HomeSectionHead h2,
  .innari2026HomeTodayCard h2 {
    font-size: clamp(1.28rem, 7vw, 1.75rem);
  }
}


/* v5.6 - home mobile hardening + cleanup */
.innari2026Home {
  width: min(1180px, calc(100% - 12px));
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  overflow-x: hidden;
}

.innari2026HomeHero,
.innari2026HomeSection,
.innari2026HomeTodayCard,
.innari2026HomeResultsWrap,
.innari2026HomeCollectionGrid,
.innari2026HomeQuickGrid,
.innari2026HomeTodayGrid,
.innari2026HomeAdvanced,
.innari2026HomeAdvancedBody,
.innari2026HomeAdvancedInnari,
.innari2026HomeSearchInnariList {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.innari2026HomeSearch,
.innari2026HomeHeroText,
.innari2026HomeSectionHead > div,
.innari2026HomeCollectionText,
.innari2026HomeQuickCard,
.innari2026HomeTodayGrid article {
  min-width: 0;
}

.innari2026HomeSectionHead {
  align-items: flex-start;
}

.innari2026HomeCollectionGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
}

.innari2026HomeQuickGrid,
.innari2026HomeTodayGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.innari2026HomeCollectionCard,
.innari2026HomeQuickCard,
.innari2026HomeTodayGrid article {
  width: 100%;
  max-width: 100%;
}

.innari2026HomeCollectionCard {
  align-items: center;
}

.innari2026HomeCollectionText strong,
.innari2026HomeQuickCard strong,
.innari2026HomeTodayGrid b,
.innari2026HomeSearchResult strong {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
}

.innari2026HomeCollectionText small,
.innari2026HomeQuickCard small,
.innari2026HomeTodayGrid p,
.innari2026HomeTodayGrid a,
.innari2026HomeSearchResult small,
.innari2026HomeAdvancedInnari small {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.innari2026HomeCollectionCard > .material-symbols-rounded:last-child {
  align-self: center;
  justify-self: end;
}

.innari2026HomeAdvancedOptions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.innari2026HomeCheckRow {
  width: 100%;
  justify-content: flex-start;
}

.innari2026HomeSearchInnariList {
  align-items: flex-start;
}

.innari2026HomeInnarioChip {
  min-width: 0;
}

@media (max-width: 860px) {
  .innari2026Home {
    width: calc(100% - 10px);
    margin-top: 10px;
    margin-bottom: 34px;
    gap: 12px;
  }

  .innari2026HomeHero,
  .innari2026HomeSection,
  .innari2026HomeTodayCard {
    padding: 16px 12px;
  }

  .innari2026HomeCollectionGrid,
  .innari2026HomeQuickGrid,
  .innari2026HomeTodayGrid,
  .innari2026HomeAdvancedOptions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .innari2026Home {
    width: calc(100% - 8px);
    max-width: none;
    margin: 8px auto 26px;
    gap: 10px;
  }

  .innari2026HomeHero,
  .innari2026HomeSection,
  .innari2026HomeTodayCard {
    padding: 14px 10px;
    border-radius: calc(var(--app-radius) - 8px);
  }

  .innari2026HomeHero::after {
    inset: auto -22% -56% 62%;
    height: 180px;
  }

  .innari2026HomeHero h1 {
    font-size: clamp(1.9rem, 10vw, 2.8rem);
    line-height: 0.98;
  }

  .innari2026HomeHero p {
    font-size: 0.92rem;
    line-height: 1.3;
  }

  .innari2026HomeSearch label {
    min-height: 48px;
    padding: 0 10px;
  }

  .innari2026HomeAdvanced > summary {
    min-height: 38px;
    padding: 0 10px;
  }

  .innari2026HomeAdvancedBody {
    padding: 0 9px 10px;
  }

  .innari2026HomeResultsWrap {
    max-height: min(42vh, 340px);
    border-radius: calc(var(--app-radius) - 8px);
  }

  .innari2026HomeCollectionCard {
    grid-template-columns: 40px minmax(0, 1fr) 18px;
    gap: 8px;
    min-height: 70px;
    padding: 10px;
  }

  .innari2026HomeQuickCard,
  .innari2026HomeTodayGrid article {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    min-height: 70px;
    padding: 10px;
  }

  .innari2026HomeCollectionIcon,
  .innari2026HomeQuickCard > .material-symbols-rounded,
  .innari2026HomeTodayGrid article > .material-symbols-rounded {
    width: 40px;
    height: 40px;
    font-size: 1.4rem !important;
  }

  .innari2026HomeCollectionText strong,
  .innari2026HomeQuickCard strong,
  .innari2026HomeTodayGrid b,
  .innari2026HomeSearchResult strong {
    font-size: 0.98rem;
    line-height: 1.15;
  }

  .innari2026HomeCollectionText small,
  .innari2026HomeQuickCard small,
  .innari2026HomeTodayGrid p,
  .innari2026HomeTodayGrid a,
  .innari2026HomeSearchResult small {
    font-size: 0.77rem;
    line-height: 1.25;
  }
}

@media (max-width: 420px) {
  .innari2026Home {
    width: calc(100% - 6px);
  }

  .innari2026HomeHero,
  .innari2026HomeSection,
  .innari2026HomeTodayCard {
    padding: 12px 8px;
  }

  .innari2026HomeHero h1 {
    font-size: clamp(1.75rem, 9.8vw, 2.45rem);
  }

  .innari2026HomeHero p {
    font-size: 0.88rem;
  }

  .innari2026HomeSearch label {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 6px;
    min-height: 46px;
    padding: 0 8px;
  }

  .innari2026HomeSearch label .material-symbols-rounded {
    font-size: 1.45rem !important;
  }

  .innari2026HomeSearch input {
    font-size: 0.92rem !important;
  }

  .innari2026HomeCollectionCard {
    grid-template-columns: 36px minmax(0, 1fr) 16px;
    gap: 7px;
    padding: 9px 8px;
  }

  .innari2026HomeQuickCard,
  .innari2026HomeTodayGrid article {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 8px;
    padding: 9px 8px;
  }

  .innari2026HomeCollectionIcon,
  .innari2026HomeQuickCard > .material-symbols-rounded,
  .innari2026HomeTodayGrid article > .material-symbols-rounded {
    width: 36px;
    height: 36px;
    font-size: 1.25rem !important;
  }

  .innari2026HomeSectionHead h2,
  .innari2026HomeTodayCard h2 {
    font-size: 1.34rem;
  }
}


/* v5.7 - hero subtitle wrap + scroll target polish */
.innari2026HomeHeroText {
  width: 100%;
  max-width: 100%;
}

.innari2026HomeHero h1,
.innari2026HomeHero p {
  max-width: 100%;
  min-width: 0;
  overflow: visible;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.innari2026HomeHero p {
  display: block;
  width: 100%;
}

#innari2026HomeResultsWrap {
  scroll-margin-top: 84px;
}

@media (max-width: 680px) {
  #innari2026HomeResultsWrap {
    scroll-margin-top: 68px;
  }
}


/* v5.8 - quick card text layout + verse block */
.innari2026HomeQuickCard {
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
}

.innari2026HomeQuickText {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-self: center;
}

.innari2026HomeQuickCard strong,
.innari2026HomeQuickCard small {
  margin: 0;
}

.innari2026HomeQuickCard small {
  display: block;
}

.innari2026HomeVerseBlock {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.innari2026HomeVerseRef {
  display: inline-block;
  color: var(--app-green) !important;
  text-decoration: none !important;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.25;
}

.innari2026HomeVerseText {
  color: var(--app-muted);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
}

.innari2026VerseLine {
  display: block;
}

.innari2026VerseLine sup {
  color: var(--app-green);
  font-weight: 900;
  font-size: 0.72em;
}

@media (max-width: 680px) {
  .innari2026HomeQuickCard {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .innari2026HomeQuickText {
    gap: 4px;
  }

  .innari2026HomeVerseRef {
    font-size: 0.84rem;
  }

  .innari2026HomeVerseText {
    font-size: 0.8rem;
    line-height: 1.38;
  }
}

@media (max-width: 420px) {
  .innari2026HomeQuickCard {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .innari2026HomeVerseText {
    font-size: 0.78rem;
  }
}

/* v5.9 - compact hero when inline results are visible */
.innari2026HomeHero.has-home-results {
  padding-bottom: clamp(12px, 2vw, 24px);
}

@media (max-width: 680px) {
  .innari2026HomeHero.has-home-results {
    padding-bottom: 10px;
  }
}


/* v6.0 - fix home verse guard, compact quick card and result spacing */
.innari2026HomeHero.has-home-results {
  gap: 10px;
  padding-bottom: 8px;
}

.innari2026HomeHero.has-home-results .innari2026HomeResultsWrap {
  margin-bottom: 0;
}

.innari2026HomeQuickGrid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 360px));
  justify-content: start;
  align-items: start;
}

.innari2026HomeQuickCard {
  min-height: auto;
  max-width: 360px;
}

@media (max-width: 680px) {
  .innari2026HomeHero.has-home-results {
    gap: 8px;
    padding-bottom: 6px;
  }

  .innari2026HomeQuickGrid {
    grid-template-columns: 1fr;
  }

  .innari2026HomeQuickCard {
    max-width: 100%;
  }
}


/* v6.1 - remove trapped scroll feeling and collapse hero around results */
.innari2026HomeHero,
.innari2026HomeHero.has-home-results {
  height: auto !important;
  min-height: 0 !important;
  align-content: start;
  align-items: start;
}

.innari2026HomeHero > * {
  align-self: start;
}

.innari2026HomeResultsWrap {
  margin: 0 !important;
  overscroll-behavior: auto;
  touch-action: pan-y;
}

.innari2026HomeHero.has-home-results .innari2026HomeResultsWrap {
  margin-bottom: 0 !important;
}

@media (max-width: 680px) {
  .innari2026HomeResultsWrap {
    max-height: min(42vh, 380px);
  }
}

/* v6.4 - menu Visualizzazione in stile impostazioni app, senza cambiare i controlli legacy */
#innari2026DisplayHost {
  margin-top: 8px;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable {
  display: block !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody {
  display: block !important;
  width: 100% !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySectionHeader {
  display: block !important;
  min-height: 0 !important;
  padding: 16px 0 7px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySectionHeader:first-child {
  padding-top: 0 !important;
}

#innari2026DisplayHost .innari2026DisplaySectionHeader > td {
  width: 100% !important;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 0 !important;
  color: var(--app-green) !important;
  background: transparent !important;
  border: 0 !important;
}

#innari2026DisplayHost .innari2026DisplaySectionHeader .material-symbols-outlined {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.2rem !important;
}

#innari2026DisplayHost .innari2026DisplaySectionHeader strong {
  color: var(--app-green) !important;
  font: 900 0.84rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  letter-spacing: .02em;
  text-transform: uppercase;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySettingRow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 240px);
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 10px 12px !important;
  margin: 0 0 8px !important;
  border: 1px solid rgba(222, 215, 201, 0.86) !important;
  border-radius: calc(var(--app-radius) - 8px) !important;
  background: rgba(255, 253, 247, 0.72) !important;
  box-shadow: 0 8px 20px rgba(41, 49, 47, 0.045) !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySettingRow:last-child {
  margin-bottom: 0 !important;
  border-bottom: 1px solid rgba(222, 215, 201, 0.86) !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySettingRow > td {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#innari2026DisplayHost .innari2026DisplaySettingLabel {
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: var(--app-ink) !important;
  font-weight: 900 !important;
}

#innari2026DisplayHost .innari2026DisplaySettingLabel::before {
  content: attr(data-icon);
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--app-green-soft);
  color: var(--app-green);
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1.28rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

#innari2026DisplayHost .innari2026DisplaySettingLabel label,
#innari2026DisplayHost .innari2026DisplaySettingLabel strong {
  min-width: 0;
  color: var(--app-ink) !important;
  font: 900 0.94rem/1.15 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

#innari2026DisplayHost .innari2026DisplaySettingControl {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  min-width: 0;
}

#innari2026DisplayHost .innari2026DisplaySettingControl select.selColorato,
#innari2026DisplayHost .innari2026DisplaySettingControl button.selColorato,
#innari2026DisplayHost .innari2026DisplaySettingControl button.pulsanteColorato {
  width: 100% !important;
  max-width: 240px !important;
  min-height: 42px !important;
  padding: 0 11px !important;
  border-radius: 13px !important;
  font-size: 0.9rem !important;
}

#innari2026DisplayHost .innari2026DisplaySettingControl input[type="range"].selColorato {
  width: 100% !important;
  max-width: 240px !important;
  min-height: 28px !important;
}

#innari2026DisplayHost .innari2026DisplaySettingControl input[type="checkbox"].selColorato {
  margin-left: auto !important;
}

#innari2026DisplayHost #idtoggleVisualizzazioneAccordi,
#innari2026DisplayHost button[id="2colonneButton"] {
  letter-spacing: 0 !important;
}

#innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr[style*="display:none"] {
  display: none !important;
}

body.stage #innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySettingRow {
  background: rgba(30, 36, 34, 0.84) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

@media (max-width: 680px) {
  #innari2026DisplayHost .innari2026DisplaySettingsTable > tbody > tr.innari2026DisplaySettingRow {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px !important;
  }

  #innari2026DisplayHost .innari2026DisplaySettingControl {
    justify-content: stretch;
  }

  #innari2026DisplayHost .innari2026DisplaySettingControl select.selColorato,
  #innari2026DisplayHost .innari2026DisplaySettingControl button.selColorato,
  #innari2026DisplayHost .innari2026DisplaySettingControl button.pulsanteColorato,
  #innari2026DisplayHost .innari2026DisplaySettingControl input[type="range"].selColorato {
    max-width: none !important;
  }

  #innari2026DisplayHost .innari2026DisplaySettingLabel::before {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    font-size: 1.18rem;
  }
}


/* v6.9 - badge chiave nei risultati ricerca */
.innari2026SearchMeta {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  white-space: normal !important;
}

.innari2026SearchMeta > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.innari2026SearchKeyBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 8px;
  border: 1px solid rgba(184, 74, 53, 0.28);
  border-radius: 999px;
  background: rgba(184, 74, 53, 0.08);
  color: var(--app-coral, #b84a35) !important;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .innari2026SearchKeyBadge {
    min-height: 18px;
    padding: 2px 7px;
    font-size: 0.68rem;
  }
}


/* v7.0 - badge Tempo/BPM nei risultati ricerca */
.innari2026SearchBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.innari2026SearchTempoBadge,
.innari2026SearchBpmBadge {
  border: 1px solid rgba(23,106,95,0.24);
  background: rgba(23,106,95,0.08);
  color: var(--app-green, #176a5f) !important;
}

@media (max-width: 680px) {
  .innari2026SearchBadge {
    min-height: 18px;
    padding: 2px 7px;
    font-size: 0.68rem;
  }
}

/* v7.1 - Materiali e dettagli brano */
.innari2026SongMaterials {
  width: min(920px, calc(100% - 24px));
  margin: clamp(34px, 6vw, 64px) auto clamp(46px, 7vw, 76px);
  display: grid;
  gap: 16px;
}

.innari2026SongMaterials,
.innari2026SongMaterials * {
  box-sizing: border-box;
}

.innari2026SongMaterialsHead {
  display: grid;
  gap: 4px;
}

.innari2026SongMaterialsHead h2 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.8rem, 4vw, 2.65rem);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.innari2026SongMaterialsGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.innari2026SongMaterialCard {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3vw, 24px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,.94);
  box-shadow: var(--app-shadow);
}

.innari2026SongShareCard {
  max-width: 620px;
}

.innari2026MaterialCardHead {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.innari2026MaterialCardHead > .material-symbols-outlined {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: calc(var(--app-radius) - 8px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026MaterialKicker {
  display: block;
  margin-bottom: 2px;
  color: var(--app-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.innari2026MaterialCardHead h3 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.18rem, 2.3vw, 1.45rem);
  line-height: 1.05;
  font-weight: 900;
}

.innari2026SongPosterLink {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(222,215,201,.88);
  border-radius: calc(var(--app-radius) - 8px);
  background: #111;
  text-decoration: none !important;
}

.innari2026SongPosterLink img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: cover;
}

.innari2026MaterialActions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.innari2026MaterialActions button,
.innari2026MaterialActions a,
.innari2026ReportButton {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 8px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 900 .92rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
}

.innari2026MaterialActions button.is-done {
  background: var(--app-green) !important;
  color: #fff !important;
}

.innari2026MaterialActions .material-symbols-outlined,
.innari2026ReportButton .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.25rem !important;
}

.innari2026ResourcesList ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.innari2026ResourcesList li {
  margin: 0;
  padding: 0;
}

.innari2026ResourcesList li a {
  min-height: 48px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(222,215,201,.84);
  border-radius: calc(var(--app-radius) - 10px);
  background: var(--app-paper-2);
  color: var(--app-ink) !important;
  text-decoration: none !important;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.innari2026ResourcesList li a::before {
  content: "link";
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--app-green-soft);
  color: var(--app-green);
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 1.22rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

.innari2026ResourcesList li a::after {
  content: "chevron_right";
  color: var(--app-green);
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

#risorseBrano iframe,
#risorseBrano audio {
  width: 100% !important;
  margin-top: 12px;
  border-radius: calc(var(--app-radius) - 8px) !important;
  border: 1px solid var(--app-line) !important;
}

#risorseBrano iframe {
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 220px;
}

.innari2026SongDetailRows {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(222,215,201,.78);
  border-radius: calc(var(--app-radius) - 8px);
  background: var(--app-paper-2);
}

.innari2026SongDetailRow {
  display: grid;
  grid-template-columns: minmax(120px, .85fr) minmax(0, 1.15fr);
  gap: 12px;
  align-items: start;
  padding: 11px 12px;
  border-bottom: 1px solid rgba(222,215,201,.72);
}

.innari2026SongDetailRow:last-child {
  border-bottom: 0;
}

.innari2026SongDetailRow span {
  color: var(--app-muted);
  font-size: .82rem;
  font-weight: 900;
  line-height: 1.2;
}

.innari2026SongDetailRow strong {
  min-width: 0;
  color: var(--app-ink);
  font-size: .92rem;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.innari2026ReportButton {
  justify-self: start;
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #fff !important;
}

#formSegnalazione {
  width: min(620px, calc(100% - 24px));
  margin: 0 auto clamp(40px, 7vw, 72px);
}

#formSegnalazione #segnalaBrano {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: var(--app-radius) !important;
  border: 1px solid var(--app-line) !important;
  background: rgba(255,253,247,.94) !important;
  box-shadow: var(--app-shadow) !important;
}

#formSegnalazione #segnalaBrano td {
  width: auto !important;
}

#formSegnalazione input,
#formSegnalazione textarea {
  max-width: 100%;
}

@media (max-width: 780px) {
  .innari2026SongMaterials {
    width: calc(100% - 18px);
    margin-top: 28px;
  }

  .innari2026SongMaterialsGrid {
    grid-template-columns: 1fr;
  }

  .innari2026SongShareCard {
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  .innari2026SongMaterialCard {
    padding: 14px;
    gap: 13px;
    border-radius: calc(var(--app-radius) - 8px);
  }

  .innari2026MaterialCardHead {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
  }

  .innari2026MaterialCardHead > .material-symbols-outlined {
    width: 40px;
    height: 40px;
    font-size: 1.45rem !important;
  }

  .innari2026MaterialActions > * {
    flex: 1 1 100%;
  }

  .innari2026SongDetailRow {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* v7.2 - fix icone Material Symbols nei box Materiali */
.innari2026MaterialCardHead > .material-symbols-outlined,
.innari2026ResourcesList li a::before,
.innari2026ResourcesList li a::after {
  font-family: "Material Symbols Outlined" !important;
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  font-feature-settings: "liga" !important;
  -webkit-font-feature-settings: "liga" !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
  overflow: hidden;
}

/* v7.4 - evidenziazione ricerca + rifiniture leggere Materiali/Risorse */
.innari2026SearchHit {
  display: inline;
  padding: 0 .08em;
  border-radius: .28em;
  background: rgba(23, 106, 95, .14);
  color: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.innari2026SongMaterialCard {
  align-content: start;
}

.innari2026ResourcesList li a {
  transition: transform .14s ease, background .14s ease, border-color .14s ease;
}

.innari2026ResourcesList li a:hover {
  transform: translateY(-1px);
  border-color: rgba(23, 106, 95, .35);
  background: rgba(222, 242, 239, .38);
}

/* v7.6 - Gestione: cornice grafica iniziale, senza modificare la logica */
body.innari2026GestionePage {
  background:
    linear-gradient(90deg, rgba(23,106,95,0.045) 1px, transparent 1px) 0 0 / 82px 82px,
    linear-gradient(180deg, #faf7ef 0%, var(--app-bg) 100%) !important;
  color: var(--app-ink) !important;
}

.innari2026Manage,
.innari2026Manage * {
  box-sizing: border-box;
}

.innari2026Manage {
  width: min(1180px, calc(100% - 28px));
  margin: clamp(18px, 4vw, 42px) auto 56px;
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.innari2026ManageHero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: clamp(24px, 5vw, 54px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.94);
  box-shadow: var(--app-shadow);
  overflow: hidden;
  position: relative;
}

.innari2026ManageHero::after {
  content: "";
  position: absolute;
  inset: auto -12% -54% 56%;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23,106,95,0.12), transparent 66%);
  pointer-events: none;
}

.innari2026ManageHeroText,
.innari2026ManageHeroActions {
  position: relative;
  z-index: 1;
}

.innari2026ManageHeroText {
  min-width: 0;
}

.innari2026ManageHero h1 {
  margin: 5px 0 0;
  color: var(--app-ink);
  font-size: clamp(2.15rem, 5.8vw, 4.8rem);
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: -0.035em;
}

.innari2026ManageHero p {
  max-width: 720px;
  margin: 14px 0 0;
  color: var(--app-muted);
  font-size: clamp(0.98rem, 2vw, 1.18rem);
  line-height: 1.38;
  font-weight: 800;
}

.innari2026ManageHeroActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.innari2026ManageAction,
body.innari2026GestionePage .innari2026Manage input[type="submit"],
body.innari2026GestionePage .innari2026Manage input[type="button"],
body.innari2026GestionePage .innari2026Manage button,
body.innari2026GestionePage .innari2026Manage .pulsanteColorato,
body.innari2026GestionePage .innari2026Manage .pulsanteColoratoBlu {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 2px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026ManageAction .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.innari2026ManageAction:hover,
body.innari2026GestionePage .innari2026Manage input[type="submit"]:hover,
body.innari2026GestionePage .innari2026Manage input[type="button"]:hover,
body.innari2026GestionePage .innari2026Manage button:hover,
body.innari2026GestionePage .innari2026Manage .pulsanteColorato:hover,
body.innari2026GestionePage .innari2026Manage .pulsanteColoratoBlu:hover {
  background: var(--app-green-soft) !important;
}

.innari2026ManageLoginCard {
  width: min(720px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: var(--app-shadow);
}

.innari2026ManageLoginCard > .material-symbols-outlined {
  width: 52px;
  height: 52px;
  display: grid !important;
  place-items: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 2rem !important;
}

.innari2026ManageLoginCard h2 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.08;
  font-weight: 900;
}

.innari2026ManageLoginCard p {
  margin: 8px 0 0;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.4;
}

body.innari2026GestionePage .innari2026Manage .whiteBox:not(#divUserBox),
body.innari2026GestionePage .innari2026Manage table.whiteBox,
body.innari2026GestionePage .innari2026Manage .tabellaElenco {
  max-width: 100% !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: rgba(255, 253, 247, 0.94) !important;
  box-shadow: 0 14px 42px rgba(52,45,34,0.10) !important;
  color: var(--app-ink) !important;
}

body.innari2026GestionePage .innari2026Manage .tabellaElenco {
  width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
}

body.innari2026GestionePage .innari2026Manage .tabellaElenco th,
body.innari2026GestionePage .innari2026Manage .tabellaElenco td {
  border-color: rgba(222, 215, 201, 0.82) !important;
  padding: 10px 12px !important;
  vertical-align: middle !important;
}

body.innari2026GestionePage .innari2026Manage .tabellaElenco th {
  background: var(--app-paper-2) !important;
  color: var(--app-muted) !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
}

body.innari2026GestionePage .innari2026Manage a {
  color: var(--app-green);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

body.innari2026GestionePage .innari2026Manage input[type="text"],
body.innari2026GestionePage .innari2026Manage input[type="email"],
body.innari2026GestionePage .innari2026Manage input[type="number"],
body.innari2026GestionePage .innari2026Manage input[type="password"],
body.innari2026GestionePage .innari2026Manage input[type="date"],
body.innari2026GestionePage .innari2026Manage textarea,
body.innari2026GestionePage .innari2026Manage select {
  max-width: 100%;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 2px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

body.stage.innari2026GestionePage .innari2026ManageHero,
body.stage.innari2026GestionePage .innari2026ManageLoginCard,
body.stage.innari2026GestionePage .innari2026Manage .whiteBox:not(#divUserBox),
body.stage.innari2026GestionePage .innari2026Manage table.whiteBox,
body.stage.innari2026GestionePage .innari2026Manage .tabellaElenco {
  background: var(--app-paper) !important;
}

@media (max-width: 760px) {
  .innari2026Manage {
    width: calc(100% - 14px);
    margin-top: 12px;
    gap: 14px;
  }

  .innari2026ManageHero {
    align-items: stretch;
    flex-direction: column;
    padding: 18px 14px;
  }

  .innari2026ManageHero h1 {
    font-size: clamp(2rem, 11vw, 3.15rem);
  }

  .innari2026ManageHero p {
    font-size: 0.95rem;
  }

  .innari2026ManageHeroActions {
    justify-content: stretch;
  }

  .innari2026ManageAction {
    flex: 1 1 100%;
  }

  .innari2026ManageLoginCard {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 12px;
  }

  .innari2026ManageLoginCard > .material-symbols-outlined {
    width: 42px;
    height: 42px;
    font-size: 1.55rem !important;
  }

  body.innari2026GestionePage .innari2026Manage .tabellaElenco,
  body.innari2026GestionePage .innari2026Manage table.whiteBox {
    display: block;
    width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* v7.8 - Gestione: elenco gruppi in card responsive + pager moderno */
.innari2026ManageGroups {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.innari2026ManageSectionHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.94);
  box-shadow: var(--app-shadow);
}

.innari2026ManageSectionHead h2 {
  margin: 4px 0 0;
  color: var(--app-ink);
  font-size: clamp(2rem, 5vw, 3.8rem);
  line-height: .96;
  letter-spacing: -.035em;
  font-weight: 900;
}

.innari2026ManageSectionHead p {
  max-width: 720px;
  margin: 10px 0 0;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.35;
}

.innari2026ManagePrimaryAction {
  flex: 0 0 auto;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-green);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(23, 106, 95, 0.16);
}

.innari2026ManagePrimaryAction .material-symbols-outlined {
  color: #fff !important;
  font-size: 1.35rem !important;
}

.innari2026ManagePager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 4px);
  background: rgba(255, 253, 247, 0.9);
}

.innari2026ManagePagerInfo {
  color: var(--app-muted);
  font-size: .92rem;
  font-weight: 900;
}

.innari2026ManagePagerInfo b {
  color: var(--app-ink);
}

.innari2026ManagePagerButtons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.innari2026ManagePagerButtons a,
.innari2026ManagePagerButtons span {
  min-width: 42px;
  height: 38px;
  padding: 0 8px;
  padding: 0 10px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper-2);
  color: var(--app-green);
  text-decoration: none !important;
  font-weight: 900;
}

.innari2026ManagePagerButtons .material-symbols-outlined {
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

.innari2026ManagePagerButtons .is-current {
  background: var(--app-green);
  color: #fff;
  border-color: var(--app-green);
}

.innari2026ManagePagerButtons .is-disabled {
  color: rgba(102, 113, 109, 0.42);
  background: rgba(245, 239, 227, 0.58);
  cursor: default;
}

.innari2026ManageGroupGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.innari2026ManageGroupCard,
.innari2026ManageEmptyCard {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(230px, auto);
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 14px 42px rgba(52,45,34,0.10);
}

.innari2026ManageEmptyCard {
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
}

.innari2026ManageEmptyCard > .material-symbols-outlined,
.innari2026ManageGroupIcon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026ManageGroupIcon .material-symbols-outlined,
.innari2026ManageEmptyCard > .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026ManageEmptyCard b {
  display: block;
  color: var(--app-ink);
  font-size: 1.2rem;
  font-weight: 900;
}

.innari2026ManageEmptyCard small {
  display: block;
  margin-top: 4px;
  color: var(--app-muted);
  font-weight: 800;
}

.innari2026ManageGroupMain {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.innari2026ManageGroupTitleRow {
  display: grid;
  gap: 8px;
}

.innari2026ManageGroupTitleRow h3 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 900;
}

.innari2026ManageGroupTitleRow h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.innari2026ManageGroupTitleRow h3 a:hover {
  color: var(--app-green) !important;
}

.innari2026ManageGroupBadges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.innari2026ManageBadge {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 9px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper-2);
  color: var(--app-muted);
  font-size: .78rem;
  line-height: 1;
  font-weight: 900;
}

.innari2026ManageBadge .material-symbols-outlined {
  font-size: 1rem !important;
  color: currentColor !important;
}

.innari2026ManageBadge.is-owner,
.innari2026ManageBadge.is-active {
  color: var(--app-green);
  background: var(--app-green-soft);
}

.innari2026ManageBadge.is-collaborator {
  color: #8a5b00;
  background: #fff5d8;
}

.innari2026ManageBadge.is-member {
  color: var(--app-muted);
  background: #f6f2ea;
}

.innari2026ManageBadge.is-warning {
  color: #9a5c00;
  background: #fff0cc;
}

.innari2026ManageBadge.is-expired {
  color: #b42318;
  background: #ffe9e5;
}

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

.innari2026ManageGroupMeta div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(222, 215, 201, 0.72);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(245,239,227,0.55);
}

.innari2026ManageGroupMeta span {
  display: block;
  margin-bottom: 3px;
  color: var(--app-muted);
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
}

.innari2026ManageGroupMeta b {
  display: block;
  color: var(--app-ink);
  font-size: .9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.innari2026ManageGroupActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.innari2026ManageIconAction {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper-2);
  color: var(--app-green) !important;
  text-decoration: none !important;
  font-size: .82rem;
  font-weight: 900;
}

.innari2026ManageIconAction .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.12rem !important;
}

.innari2026ManageIconAction:hover {
  background: var(--app-green-soft);
}

.innari2026ManageIconAction.is-danger {
  color: #b42318 !important;
  background: #fff8f6;
}

.innari2026ManageIconAction.is-danger:hover {
  background: #ffe9e5;
}

.innari2026ManageIconAction.is-disabled {
  color: rgba(102, 113, 109, 0.46) !important;
  background: rgba(245,239,227,0.45);
  cursor: not-allowed;
}

@media (max-width: 880px) {
  .innari2026ManageSectionHead,
  .innari2026ManagePager,
  .innari2026ManageGroupCard {
    grid-template-columns: 1fr;
  }

  .innari2026ManageSectionHead {
    display: grid;
    align-items: start;
  }

  .innari2026ManagePrimaryAction {
    width: 100%;
  }

  .innari2026ManagePager {
    align-items: stretch;
  }

  .innari2026ManagePagerInfo {
    text-align: center;
  }

  .innari2026ManagePagerButtons {
    justify-content: center;
  }

  .innari2026ManageGroupCard {
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
      "icon main"
      "actions actions";
    gap: 12px;
    padding: 14px;
  }

  .innari2026ManageGroupIcon {
    grid-area: icon;
    width: 48px;
    height: 48px;
  }

  .innari2026ManageGroupIcon .material-symbols-outlined {
    font-size: 1.55rem !important;
  }

  .innari2026ManageGroupMain {
    grid-area: main;
  }

  .innari2026ManageGroupActions {
    grid-area: actions;
    justify-content: flex-start;
    padding-top: 10px;
    border-top: 1px solid rgba(222, 215, 201, 0.72);
  }

  .innari2026ManageGroupMeta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .innari2026ManageGroups {
    gap: 12px;
  }

  .innari2026ManageSectionHead {
    padding: 16px 12px;
  }

  .innari2026ManageSectionHead h2 {
    font-size: clamp(1.8rem, 10vw, 2.6rem);
  }

  .innari2026ManagePagerButtons a,
  .innari2026ManagePagerButtons span {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
  }

  .innari2026ManageGroupCard {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 12px;
  }

  .innari2026ManageGroupIcon {
    width: 42px;
    height: 42px;
  }

  .innari2026ManageGroupTitleRow h3 {
    font-size: 1.2rem;
  }

  .innari2026ManageIconAction {
    min-height: 38px;
    padding: 0 9px;
  }
}

/* v7.9 - Gestione: elenco brani in card responsive + pager moderno */
.innari2026ManageDocs {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.innari2026ManageInlineForm {
  margin: 0;
  flex: 0 0 auto;
}

.innari2026ManageInlineForm .innari2026ManagePrimaryAction {
  width: 100%;
}

.innari2026ManageSortBar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 4px);
  background: rgba(255, 253, 247, 0.9);
}

.innari2026ManageSortBar > span {
  margin-right: 4px;
  color: var(--app-muted);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.innari2026ManageSortBar button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 11px;
  border: 1px solid var(--app-line) !important;
  border-radius: 999px !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

.innari2026ManageSortBar button:hover {
  background: var(--app-green-soft) !important;
}

.innari2026ManageSortBar .material-symbols-outlined {
  width: 16px;
  color: currentColor !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
}

.innari2026ManageDocGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.innari2026ManageDocCard {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) minmax(220px, auto);
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 14px 42px rgba(52,45,34,0.10);
}

.innari2026ManageDocNumber {
  width: 64px;
  min-height: 56px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green);
  line-height: 1;
}

.innari2026ManageDocNumber span {
  display: block;
  color: var(--app-muted);
  font-size: .72rem;
  font-weight: 900;
}

.innari2026ManageDocNumber b {
  display: block;
  color: var(--app-green);
  font-size: 1.1rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.innari2026ManageDocMain {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.innari2026ManageDocTitleRow {
  display: grid;
  gap: 8px;
}

.innari2026ManageDocTitleRow h3 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.2rem, 2.2vw, 1.62rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 900;
}

.innari2026ManageDocTitleRow h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.innari2026ManageDocTitleRow h3 a:hover {
  color: var(--app-green) !important;
}

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

.innari2026ManageDocMeta div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(222, 215, 201, 0.72);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(245,239,227,0.55);
}

.innari2026ManageDocMeta span {
  display: block;
  margin-bottom: 3px;
  color: var(--app-muted);
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
}

.innari2026ManageDocMeta b {
  display: block;
  color: var(--app-ink);
  font-size: .9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.innari2026ManageDocActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

@media (max-width: 880px) {
  .innari2026ManageDocs {
    gap: 14px;
  }

  .innari2026ManageSortBar {
    align-items: stretch;
  }

  .innari2026ManageSortBar > span {
    width: 100%;
    text-align: center;
  }

  .innari2026ManageSortBar button {
    flex: 1 1 calc(50% - 8px);
  }

  .innari2026ManageDocCard {
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-areas:
      "num main"
      "actions actions";
    gap: 12px;
    padding: 14px;
  }

  .innari2026ManageDocNumber {
    grid-area: num;
    width: 52px;
    min-height: 50px;
  }

  .innari2026ManageDocMain {
    grid-area: main;
  }

  .innari2026ManageDocActions {
    grid-area: actions;
    justify-content: flex-start;
    padding-top: 10px;
    border-top: 1px solid rgba(222, 215, 201, 0.72);
  }

  .innari2026ManageDocMeta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .innari2026ManageSortBar button {
    flex-basis: 100%;
  }

  .innari2026ManageDocCard {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 12px;
  }

  .innari2026ManageDocNumber {
    width: 44px;
    min-height: 44px;
  }

  .innari2026ManageDocNumber b {
    font-size: .98rem;
  }

  .innari2026ManageDocTitleRow h3 {
    font-size: 1.15rem;
  }
}

/* v8.0 - Gestione: gestione iscritti in card responsive + pager moderno */
.innari2026ManageMembers {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 18px;
}

.innari2026ManageMemberSection {
  display: grid;
  gap: 14px;
}

.innari2026ManageSubHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 4px);
  background: rgba(255, 253, 247, 0.92);
}

.innari2026ManageSubHead h3 {
  margin: 3px 0 0;
  color: var(--app-ink);
  font-size: clamp(1.45rem, 3vw, 2.3rem);
  line-height: 1;
  letter-spacing: -.03em;
  font-weight: 900;
}

.innari2026ManageMemberGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.innari2026ManageMemberCard {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(190px, auto);
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 14px 42px rgba(52,45,34,0.10);
}

.innari2026ManageMemberIcon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026ManageMemberIcon .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026ManageMemberMain {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.innari2026ManageMemberTitleRow {
  display: grid;
  gap: 8px;
}

.innari2026ManageMemberTitleRow h3 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  font-weight: 900;
  overflow-wrap: anywhere;
}

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

.innari2026ManageMemberMeta div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(222, 215, 201, 0.72);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(245,239,227,0.55);
}

.innari2026ManageMemberMeta span {
  display: block;
  margin-bottom: 3px;
  color: var(--app-muted);
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
}

.innari2026ManageMemberMeta b {
  display: block;
  color: var(--app-ink);
  font-size: .9rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.innari2026ManageMemberActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.innari2026ManageMembersPager {
  margin: 0;
}

@media (max-width: 880px) {
  .innari2026ManageMembers {
    gap: 14px;
  }

  .innari2026ManageSubHead {
    align-items: flex-start;
    flex-direction: column;
  }

  .innari2026ManageMemberCard {
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
      "icon main"
      "actions actions";
    gap: 12px;
    padding: 14px;
  }

  .innari2026ManageMemberIcon {
    grid-area: icon;
    width: 48px;
    height: 48px;
  }

  .innari2026ManageMemberIcon .material-symbols-outlined {
    font-size: 1.55rem !important;
  }

  .innari2026ManageMemberMain {
    grid-area: main;
  }

  .innari2026ManageMemberActions {
    grid-area: actions;
    justify-content: flex-start;
    padding-top: 10px;
    border-top: 1px solid rgba(222, 215, 201, 0.72);
  }

  .innari2026ManageMemberMeta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .innari2026ManageSubHead {
    padding: 14px 12px;
  }

  .innari2026ManageSubHead h3 {
    font-size: 1.45rem;
  }

  .innari2026ManageMemberCard {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 12px;
  }

  .innari2026ManageMemberIcon {
    width: 42px;
    height: 42px;
  }

  .innari2026ManageMemberTitleRow h3 {
    font-size: 1.15rem;
  }
}

/* v8.1 - Gestione: form modifica gruppo mobile-first */
body.innari2026GestionePage .innari2026ManageGroupFormShell {
  width: min(980px, 100%) !important;
  overflow: hidden !important;
}

body.innari2026GestionePage .innari2026ManageGroupFormTitle {
  padding: 26px 24px !important;
  text-align: left !important;
  background:
    radial-gradient(circle at top right, rgba(23, 106, 95, 0.12), transparent 48%),
    var(--app-paper-2) !important;
  border-bottom: 1px solid var(--app-line) !important;
}

body.innari2026GestionePage .innari2026ManageGroupFormTitle strong,
body.innari2026GestionePage .innari2026ManageGroupFormTitle small,
body.innari2026GestionePage .innari2026ManageGroupFormTitle .innari2026Eyebrow {
  display: block;
}

body.innari2026GestionePage .innari2026ManageGroupFormTitle strong {
  margin-top: 4px;
  color: var(--app-ink);
  font-size: clamp(1.65rem, 4vw, 2.55rem);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.03em;
}

body.innari2026GestionePage .innari2026ManageGroupFormTitle small {
  margin-top: 8px;
  color: var(--app-muted);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.35;
}

body.innari2026GestionePage .innari2026ManageGroupForm {
  width: 100%;
  margin: 0;
}

body.innari2026GestionePage .innari2026ManageFormTable,
body.innari2026GestionePage .innari2026ManageFormTable tbody {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.innari2026GestionePage .innari2026ManageFormTable tr {
  display: grid !important;
  grid-template-columns: minmax(160px, 230px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  width: 100% !important;
  padding: 14px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(222, 215, 201, 0.78) !important;
  background: rgba(255, 253, 247, 0.58) !important;
}

body.innari2026GestionePage .innari2026ManageFormTable tr:nth-child(even):not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
  background: rgba(245, 239, 227, 0.34) !important;
}

body.innari2026GestionePage .innari2026ManageFormTable td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  vertical-align: top !important;
}

body.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child,
body.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child font {
  color: var(--app-muted) !important;
  font-size: 0.83rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

body.innari2026GestionePage .innari2026ManageFormTable input[type="text"],
body.innari2026GestionePage .innari2026ManageFormTable input[type="email"],
body.innari2026GestionePage .innari2026ManageFormTable input[type="number"],
body.innari2026GestionePage .innari2026ManageFormTable input[type="password"],
body.innari2026GestionePage .innari2026ManageFormTable select,
body.innari2026GestionePage .innari2026ManageFormTable textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px;
  padding: 10px 12px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 7px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 800 0.96rem/1.3 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026ManageFormTable textarea {
  min-height: 132px;
  resize: vertical;
}

body.innari2026GestionePage .innari2026ManageFormTable input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  accent-color: var(--app-green);
}

body.innari2026GestionePage .innari2026ManageFormTable input[type="button"] {
  margin-top: 8px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 7px) !important;
  background: var(--app-paper) !important;
  color: var(--app-green) !important;
  font: 900 0.84rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow {
  display: block !important;
  padding: 22px 22px 12px !important;
  border-bottom: 0 !important;
  background: var(--app-paper) !important;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow td {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 4px) !important;
  background: var(--app-green-soft) !important;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow .material-symbols-outlined {
  grid-row: span 2;
  width: 46px;
  height: 46px;
  display: grid !important;
  place-items: center;
  border-radius: calc(var(--app-radius) - 8px);
  background: var(--app-paper);
  color: var(--app-green) !important;
  font-size: 1.55rem !important;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow strong {
  display: block;
  color: var(--app-ink);
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1.1;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow small {
  display: block;
  margin-top: 3px;
  color: var(--app-muted);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.25;
}

body.innari2026GestionePage .innari2026ManageFormSubmitRow {
  display: block !important;
  padding: 20px 22px 24px !important;
  border-bottom: 0 !important;
  background: var(--app-paper) !important;
}

body.innari2026GestionePage .innari2026ManageFormSubmitRow td {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

body.innari2026GestionePage .innari2026ManageFormBack,
body.innari2026GestionePage .innari2026ManageFormSubmit {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 5px) !important;
  text-decoration: none !important;
  font: 900 0.92rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

body.innari2026GestionePage .innari2026ManageFormBack {
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
}

body.innari2026GestionePage .innari2026ManageFormSubmit {
  background: var(--app-green) !important;
  color: #fff !important;
  cursor: pointer;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageGroupFormShell {
    width: 100% !important;
    border-radius: calc(var(--app-radius) - 7px) !important;
  }

  body.innari2026GestionePage .innari2026ManageGroupFormTitle {
    padding: 20px 14px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable tr {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 12px 12px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
    margin: 0;
  }

  body.innari2026GestionePage .innari2026ManageFormSectionRow {
    padding: 16px 10px 8px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSectionRow td {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 12px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSectionRow .material-symbols-outlined {
    width: 40px;
    height: 40px;
    font-size: 1.35rem !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSectionRow strong {
    font-size: 1.02rem;
  }

  body.innari2026GestionePage .innari2026ManageFormSectionRow small {
    font-size: 0.78rem;
  }

  body.innari2026GestionePage .innari2026ManageFormTable input[type="text"],
  body.innari2026GestionePage .innari2026ManageFormTable input[type="email"],
  body.innari2026GestionePage .innari2026ManageFormTable input[type="number"],
  body.innari2026GestionePage .innari2026ManageFormTable input[type="password"],
  body.innari2026GestionePage .innari2026ManageFormTable select,
  body.innari2026GestionePage .innari2026ManageFormTable textarea {
    font-size: 0.92rem !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSubmitRow {
    padding: 16px 12px 18px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSubmitRow td {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  body.innari2026GestionePage .innari2026ManageFormBack,
  body.innari2026GestionePage .innari2026ManageFormSubmit {
    width: 100% !important;
  }
}

/* v8.2 - Gestione: cache-bust form gruppo + hardening mobile anti-overflow */
body.innari2026GestionePage .innari2026ManageGroupFormShell,
body.innari2026GestionePage .innari2026ManageGroupFormShell *,
body.innari2026GestionePage .innari2026ManageGroupForm,
body.innari2026GestionePage .innari2026ManageFormTable,
body.innari2026GestionePage .innari2026ManageFormTable * {
  box-sizing: border-box !important;
}

body.innari2026GestionePage .innari2026ManageGroupFormShell {
  display: block !important;
  width: min(980px, 100%) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

body.innari2026GestionePage .innari2026ManageGroupFormShell > tbody,
body.innari2026GestionePage .innari2026ManageGroupFormShell > tbody > tr,
body.innari2026GestionePage .innari2026ManageGroupFormShell > tbody > tr > td,
body.innari2026GestionePage .innari2026ManageGroupFormShell > tbody > tr > th {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.innari2026GestionePage .innari2026ManageGroupFormTitle .innari2026Eyebrow,
body.innari2026GestionePage .innari2026ManageGroupFormTitle strong,
body.innari2026GestionePage .innari2026ManageGroupFormTitle small {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
}

body.innari2026GestionePage .innari2026ManageFormTable {
  table-layout: fixed !important;
  overflow: visible !important;
}

body.innari2026GestionePage .innari2026ManageFormTable td,
body.innari2026GestionePage .innari2026ManageFormTable td:nth-child(2) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
}

body.innari2026GestionePage .innari2026ManageFormTable input:not([type="checkbox"]),
body.innari2026GestionePage .innari2026ManageFormTable select,
body.innari2026GestionePage .innari2026ManageFormTable textarea,
body.innari2026GestionePage .innari2026ManageFormTable button,
body.innari2026GestionePage .innari2026ManageFormTable .pulsanteColorato,
body.innari2026GestionePage .innari2026ManageFormTable .pulsanteColoratoBlu {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026GestionePage .innari2026ManageFormTable input[type="button"] {
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
}

body.innari2026GestionePage .innari2026ManageFormTable select[name="provincia"] {
  width: min(190px, 100%) !important;
  display: inline-block !important;
  vertical-align: middle;
}

body.innari2026GestionePage .innari2026ManageFormTable select[name="provincia"] + input[type="button"] {
  display: inline-flex !important;
  width: auto !important;
  margin-top: 0 !important;
  margin-left: 8px !important;
  vertical-align: middle;
}

body.innari2026GestionePage .innari2026ManageFormTable select[name="nazione"] {
  width: 100% !important;
  height: auto !important;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow td {
  min-width: 0 !important;
}

body.innari2026GestionePage .innari2026ManageFormSectionRow strong,
body.innari2026GestionePage .innari2026ManageFormSectionRow small {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026Manage,
  body.innari2026GestionePage .innari2026ManageGroupFormShell,
  body.innari2026GestionePage .innari2026ManageGroupForm,
  body.innari2026GestionePage .innari2026ManageFormTable {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable tr,
  body.innari2026GestionePage .innari2026ManageFormTable td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
    grid-template-columns: 1fr !important;
    padding: 12px 10px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child,
  body.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child font {
    margin-bottom: 4px;
    font-size: 0.78rem !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable input:not([type="checkbox"]),
  body.innari2026GestionePage .innari2026ManageFormTable select,
  body.innari2026GestionePage .innari2026ManageFormTable textarea,
  body.innari2026GestionePage .innari2026ManageFormTable input[type="button"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable select[name="provincia"] {
    width: 100% !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable select[name="provincia"] + input[type="button"] {
    display: flex !important;
    width: 100% !important;
    margin-top: 8px !important;
    margin-left: 0 !important;
  }

  body.innari2026GestionePage .innari2026ManageFormTable textarea {
    min-height: 120px;
  }
}

/* v8.3 - Gestione: form modifica brano mobile-first */
body.innari2026GestionePage .innari2026ManageDocFormShell {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  overflow: hidden !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTitle {
  padding: 22px 24px !important;
  text-align: left !important;
  background: rgba(255,253,247,0.94) !important;
  color: var(--app-ink) !important;
  border-bottom: 1px solid var(--app-line) !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTitle > span,
body.innari2026GestionePage .innari2026ManageDocFormTitle > strong,
body.innari2026GestionePage .innari2026ManageDocFormTitle > small {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.innari2026GestionePage .innari2026ManageDocFormTitle > strong {
  margin-top: 5px;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 0.96;
  letter-spacing: -0.035em;
  font-weight: 900;
}

body.innari2026GestionePage .innari2026ManageDocFormTitle > small {
  margin-top: 10px;
  color: var(--app-muted);
  font-size: 0.98rem;
  line-height: 1.35;
  font-weight: 800;
}

body.innari2026GestionePage .innari2026ManageDocForm {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body.innari2026GestionePage .innari2026ManageDocFormTable,
body.innari2026GestionePage .innari2026ManageDocFormTable * {
  box-sizing: border-box;
}

body.innari2026GestionePage .innari2026ManageDocFormTable {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: hidden !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
  grid-template-columns: minmax(170px, 0.36fr) minmax(0, 1fr);
}

body.innari2026GestionePage .innari2026ManageDocFormTable td,
body.innari2026GestionePage .innari2026ManageDocFormTable td:nth-child(2) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere;
}

body.innari2026GestionePage .innari2026ManageDocFormTable input:not([type="checkbox"]),
body.innari2026GestionePage .innari2026ManageDocFormTable select,
body.innari2026GestionePage .innari2026ManageDocFormTable textarea,
body.innari2026GestionePage .innari2026ManageDocFormTable button,
body.innari2026GestionePage .innari2026ManageDocFormTable .pulsanteColorato,
body.innari2026GestionePage .innari2026ManageDocFormTable .pulsanteColoratoBlu {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable input[type="button"] {
  margin-top: 8px;
  width: auto !important;
  min-width: 140px !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable textarea#testo {
  min-height: min(56vh, 520px) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important;
  line-height: 1.45 !important;
  resize: vertical;
}

body.innari2026GestionePage .innari2026ManageDocFormTable textarea[name="allegati"],
body.innari2026GestionePage .innari2026ManageDocFormTable textarea[name="annotazioni"] {
  min-height: 120px !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable .material-symbols-outlined {
  vertical-align: middle;
}

body.innari2026GestionePage .innari2026ManageDocFormTable #legacyChordTools {
  max-width: 100%;
  overflow-x: auto;
}

body.innari2026GestionePage .innari2026ManageDocFormTable #chord-composer-panel,
body.innari2026GestionePage .innari2026ManageDocFormTable #chord-modal {
  max-width: 100% !important;
}

body.innari2026GestionePage .innari2026ManageFormDelete {
  background: rgba(220, 38, 38, 0.10) !important;
  color: #b42318 !important;
  border-color: rgba(220, 38, 38, 0.25) !important;
}

body.innari2026GestionePage .innari2026ManageFormDelete .material-symbols-outlined {
  color: #b42318 !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageDocFormShell {
    width: 100% !important;
    border-radius: calc(var(--app-radius) - 8px) !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTitle {
    padding: 18px 14px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTitle > strong {
    font-size: clamp(1.7rem, 8vw, 2.35rem);
    line-height: 1.02;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child,
  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child font {
    font-size: 0.92rem !important;
    line-height: 1.25 !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable input:not([type="checkbox"]),
  body.innari2026GestionePage .innari2026ManageDocFormTable select,
  body.innari2026GestionePage .innari2026ManageDocFormTable textarea,
  body.innari2026GestionePage .innari2026ManageDocFormTable input[type="button"] {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 1rem !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable textarea#testo {
    min-height: 46vh !important;
    font-size: 0.9rem !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow td {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    padding: 12px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSubmitRow td {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormBack,
  body.innari2026GestionePage .innari2026ManageFormSubmit,
  body.innari2026GestionePage .innari2026ManageFormDelete {
    width: 100% !important;
  }
}

/* v8.4 - Fix mobile elenco gruppi: niente tagli orizzontali */
body.innari2026GestionePage,
body.innari2026GestionePage .innari2026Manage,
body.innari2026GestionePage .innari2026ManageGroups,
body.innari2026GestionePage .innari2026ManageGroupGrid,
body.innari2026GestionePage .innari2026ManageGroupCard {
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026GestionePage {
  overflow-x: hidden !important;
}

body.innari2026GestionePage .innari2026ManageGroups {
  width: min(1120px, calc(100vw - 16px)) !important;
  overflow-x: hidden;
}

body.innari2026GestionePage .innari2026ManageSectionHead,
body.innari2026GestionePage .innari2026ManagePager,
body.innari2026GestionePage .innari2026ManageGroupCard,
body.innari2026GestionePage .innari2026ManageGroupMain,
body.innari2026GestionePage .innari2026ManageGroupActions,
body.innari2026GestionePage .innari2026ManageGroupMeta,
body.innari2026GestionePage .innari2026ManageGroupMeta div {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.innari2026GestionePage .innari2026ManageSectionHead p,
body.innari2026GestionePage .innari2026ManageGroupTitleRow h3,
body.innari2026GestionePage .innari2026ManageGroupTitleRow h3 a,
body.innari2026GestionePage .innari2026ManageGroupMeta b,
body.innari2026GestionePage .innari2026ManagePagerInfo {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.innari2026GestionePage .innari2026ManageGroupActions {
  overflow: hidden;
}

body.innari2026GestionePage .innari2026ManageIconAction {
  max-width: 100%;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026Manage {
    width: calc(100vw - 10px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.innari2026GestionePage .innari2026ManageGroups {
    width: 100% !important;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead {
    padding: 16px 12px !important;
    overflow: hidden;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead h2 {
    font-size: clamp(1.85rem, 9.5vw, 2.8rem) !important;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead p {
    font-size: 0.92rem;
    line-height: 1.3;
  }

  body.innari2026GestionePage .innari2026ManagePager {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px 10px !important;
    overflow: hidden;
  }

  body.innari2026GestionePage .innari2026ManagePagerButtons {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px !important;
    width: 100%;
    justify-content: stretch !important;
  }

  body.innari2026GestionePage .innari2026ManagePagerButtons a,
  body.innari2026GestionePage .innari2026ManagePagerButtons span {
    min-width: 0 !important;
    width: 100% !important;
    height: 40px !important;
    padding: 0 4px !important;
  }

  body.innari2026GestionePage .innari2026ManageGroupCard {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px 10px !important;
    overflow: hidden;
  }

  body.innari2026GestionePage .innari2026ManageGroupIcon {
    width: 42px !important;
    height: 42px !important;
  }

  body.innari2026GestionePage .innari2026ManageGroupBadges {
    gap: 5px;
  }

  body.innari2026GestionePage .innari2026ManageBadge {
    min-width: 0;
    max-width: 100%;
    padding: 0 8px;
  }

  body.innari2026GestionePage .innari2026ManageGroupMeta {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.innari2026GestionePage .innari2026ManageGroupActions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    width: 100%;
    justify-content: stretch !important;
  }

  body.innari2026GestionePage .innari2026ManageIconAction {
    width: 100%;
    justify-content: center;
    padding: 0 8px !important;
    min-height: 42px;
  }
}

@media (max-width: 380px) {
  body.innari2026GestionePage .innari2026ManageGroupActions {
    grid-template-columns: 1fr;
  }

  body.innari2026GestionePage .innari2026ManagePagerButtons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* v8.5 - Fix mobile elenco brani: niente tagli laterali e azioni responsive */
body.innari2026GestionePage .innari2026Manage,
body.innari2026GestionePage .innari2026ManageDocs,
body.innari2026GestionePage .innari2026ManageDocGrid,
body.innari2026GestionePage .innari2026ManageDocCard,
body.innari2026GestionePage .innari2026ManageDocMain,
body.innari2026GestionePage .innari2026ManageDocActions,
body.innari2026GestionePage .innari2026ManageDocMeta,
body.innari2026GestionePage .innari2026ManageDocMeta div,
body.innari2026GestionePage .innari2026ManageSortBar,
body.innari2026GestionePage .innari2026ManageInlineForm {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.innari2026GestionePage .innari2026ManageDocs {
  width: min(1120px, calc(100vw - 16px)) !important;
  overflow-x: hidden !important;
}

body.innari2026GestionePage .innari2026ManageHero,
body.innari2026GestionePage .innari2026ManageSectionHead,
body.innari2026GestionePage .innari2026ManagePager,
body.innari2026GestionePage .innari2026ManageSortBar,
body.innari2026GestionePage .innari2026ManageDocCard {
  overflow: hidden !important;
}

body.innari2026GestionePage .innari2026ManageHero p,
body.innari2026GestionePage .innari2026ManageSectionHead p,
body.innari2026GestionePage .innari2026ManageDocTitleRow h3,
body.innari2026GestionePage .innari2026ManageDocTitleRow h3 a,
body.innari2026GestionePage .innari2026ManageDocMeta b,
body.innari2026GestionePage .innari2026ManagePagerInfo {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body.innari2026GestionePage .innari2026ManagePrimaryAction {
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  text-align: center !important;
  overflow: hidden !important;
}

body.innari2026GestionePage .innari2026ManageDocActions {
  overflow: hidden !important;
}

body.innari2026GestionePage .innari2026ManageDocActions .innari2026ManageIconAction,
body.innari2026GestionePage .innari2026ManageDocActions a.innari2026ManageIconAction {
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageDocs {
    width: 100% !important;
    gap: 12px !important;
  }

  body.innari2026GestionePage .innari2026ManageHero p {
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 16px 12px !important;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead > div,
  body.innari2026GestionePage .innari2026ManageSectionHead .innari2026ManageInlineForm {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead h2 {
    font-size: clamp(1.85rem, 9.5vw, 2.8rem) !important;
  }

  body.innari2026GestionePage .innari2026ManageSectionHead p {
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
  }

  body.innari2026GestionePage .innari2026ManageInlineForm .innari2026ManagePrimaryAction,
  body.innari2026GestionePage .innari2026ManageSectionHead .innari2026ManagePrimaryAction {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
  }

  body.innari2026GestionePage .innari2026ManageSortBar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 12px 10px !important;
  }

  body.innari2026GestionePage .innari2026ManageSortBar > span {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    text-align: center !important;
  }

  body.innari2026GestionePage .innari2026ManageSortBar button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.innari2026GestionePage .innari2026ManageDocCard {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas:
      "num main"
      "actions actions" !important;
    gap: 10px !important;
    padding: 12px 10px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocNumber {
    width: 42px !important;
    min-height: 42px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocNumber b {
    font-size: 0.95rem !important;
  }

  body.innari2026GestionePage .innari2026ManageDocMain {
    min-width: 0 !important;
  }

  body.innari2026GestionePage .innari2026ManageDocMeta {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocActions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    justify-content: stretch !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(222, 215, 201, 0.72) !important;
  }

  body.innari2026GestionePage .innari2026ManageDocActions .innari2026ManageIconAction,
  body.innari2026GestionePage .innari2026ManageDocActions a.innari2026ManageIconAction {
    width: 100% !important;
    justify-content: center !important;
    padding: 0 8px !important;
    min-height: 42px !important;
  }
}

@media (max-width: 380px) {
  body.innari2026GestionePage .innari2026ManageSortBar,
  body.innari2026GestionePage .innari2026ManageDocActions {
    grid-template-columns: 1fr !important;
  }
}

/* v8.6 - Gestione: massimizza spazio orizzontale form modifica brano su mobile */
@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026Manage:has(.innari2026ManageDocFormShell) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 10px !important;
    overflow-x: hidden !important;
  }

  body.innari2026GestionePage .innari2026Manage:has(.innari2026ManageDocFormShell) > p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormShell,
  body.innari2026GestionePage .innari2026ManageDocFormShell > tbody,
  body.innari2026GestionePage .innari2026ManageDocFormShell > tbody > tr,
  body.innari2026GestionePage .innari2026ManageDocFormShell > tbody > tr > td,
  body.innari2026GestionePage .innari2026ManageDocFormShell > tbody > tr > th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormShell {
    margin: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    overflow-x: hidden !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormShell > tbody > tr > td {
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTitle {
    padding: 14px 10px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTitle > strong {
    font-size: clamp(1.65rem, 7.4vw, 2.25rem) !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTitle > small {
    font-size: 0.84rem !important;
    line-height: 1.28 !important;
  }

  body.innari2026GestionePage .innari2026ManageDocForm,
  body.innari2026GestionePage .innari2026ManageDocFormTable,
  body.innari2026GestionePage .innari2026ManageDocFormTable > tbody,
  body.innari2026GestionePage .innari2026ManageDocFormTable tr,
  body.innari2026GestionePage .innari2026ManageDocFormTable td {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    padding: 9px 6px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child,
  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child font {
    font-size: 0.78rem !important;
    line-height: 1.16 !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow {
    padding: 10px 5px 6px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow td {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 9px !important;
    border-radius: 14px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow .material-symbols-outlined {
    width: 34px !important;
    height: 34px !important;
    font-size: 1.2rem !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow strong {
    font-size: 0.98rem !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow small {
    font-size: 0.76rem !important;
    line-height: 1.22 !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable input:not([type="checkbox"]),
  body.innari2026GestionePage .innari2026ManageDocFormTable select,
  body.innari2026GestionePage .innari2026ManageDocFormTable textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    border-radius: 12px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable textarea#testo {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 62vh !important;
    font-size: 0.84rem !important;
    line-height: 1.42 !important;
    padding: 10px !important;
    overflow-x: auto !important;
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable input[type="button"] {
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 6px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSubmitRow {
    padding: 12px 6px 16px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSubmitRow td {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 !important;
  }
}

@media (max-width: 390px) {
  body.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable textarea#testo {
    font-size: 0.8rem !important;
    padding: 8px !important;
  }
}

/* v8.7 - Gestione: topbar superiore e pannello menu laterale */
body.innari2026GestioneWithTopbar {
  padding-top: 76px !important;
  overflow-x: hidden !important;
}

body.innari2026GestioneWithTopbar #fixedDivTools {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.innari2026GestioneTopbar,
.innari2026GestioneTopbar * {
  box-sizing: border-box;
}

.innari2026GestioneTopbar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 120;
  min-height: 68px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 56px;
  align-items: center;
  gap: 8px;
  padding: 8px max(10px, env(safe-area-inset-left)) 8px max(10px, env(safe-area-inset-left));
  border-bottom: 1px solid var(--app-line);
  background: rgba(255, 253, 247, 0.96);
  backdrop-filter: blur(16px);
  box-shadow: 0 12px 34px rgba(52, 45, 34, 0.10);
}

.innari2026GestioneMenuButton,
.innari2026GestioneHomeButton {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  display: grid;
  place-items: center;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: var(--app-green) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026GestioneMenuButton:hover,
.innari2026GestioneHomeButton:hover {
  background: var(--app-green-soft) !important;
}

.innari2026GestioneTopbar .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 2rem !important;
  line-height: 1 !important;
}

.innari2026GestioneTopTitle {
  min-width: 0;
  display: grid;
  justify-items: center;
  text-align: center;
  text-decoration: none !important;
  color: var(--app-ink) !important;
}

.innari2026GestioneTopTitle span {
  color: var(--app-muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.innari2026GestioneTopTitle strong {
  max-width: 100%;
  color: var(--app-ink);
  font-size: clamp(1.15rem, 4vw, 1.55rem);
  line-height: 1.05;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
  box-sizing: border-box !important;
  position: fixed !important;
  z-index: 140 !important;
  top: 12px !important;
  bottom: 12px !important;
  left: 12px !important;
  right: auto !important;
  width: min(430px, calc(100vw - 24px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 24px) !important;
  padding: 0 !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 26px !important;
  background: rgba(255, 253, 247, 0.985) !important;
  color: var(--app-ink) !important;
  overflow: hidden !important;
  transform: translateX(calc(-100% - 30px)) !important;
  transition: transform 0.24s ease, opacity 0.18s ease, visibility 0s linear 0.24s !important;
  opacity: 0 !important;
  visibility: hidden !important;
  box-shadow: none !important;
}

body.innari2026GestionePage #divUserBox.innari2026ManagePanel[data-open="1"] {
  transform: translateX(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform 0.24s ease, opacity 0.18s ease, visibility 0s !important;
  box-shadow: 26px 0 70px rgba(13, 16, 15, 0.24) !important;
}

body.innari2026GestionePage .innari2026ManagePanelShell {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.innari2026GestionePage .innari2026ManagePanelHeader {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 22px 18px;
  border-bottom: 1px solid var(--app-line);
  background: rgba(255, 253, 247, 0.98);
}

body.innari2026GestionePage .innari2026ManagePanelHeader h2 {
  margin: 4px 0 0;
  color: var(--app-ink);
  font-size: clamp(1.75rem, 6vw, 2.35rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.03em;
}

body.innari2026GestionePage .innari2026ManagePanelClose {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid var(--app-line) !important;
  border-radius: 18px !important;
  background: var(--app-paper) !important;
  color: var(--app-muted) !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026ManagePanelClose .material-symbols-outlined {
  font-size: 2rem !important;
  color: var(--app-muted) !important;
}

body.innari2026GestionePage .innari2026ManagePanelBody {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  gap: 14px;
  padding: 16px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

body.innari2026GestionePage .innari2026ManageMenuCard {
  min-width: 0;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid var(--app-line);
  border-radius: 22px;
  background: var(--app-paper-2);
  box-shadow: 0 10px 28px rgba(52, 45, 34, 0.08);
}

body.innari2026GestionePage .innari2026ManageMenuIcon {
  width: 50px;
  height: 50px;
  display: grid !important;
  place-items: center;
  border-radius: 16px;
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.85rem !important;
  line-height: 1 !important;
}

body.innari2026GestionePage .innari2026ManageMenuContent {
  min-width: 0;
  display: grid;
  gap: 10px;
}

body.innari2026GestionePage .innari2026ManageMenuContent h3 {
  margin: 0;
  color: var(--app-ink);
  font-size: 1.18rem;
  line-height: 1.12;
  font-weight: 950;
  overflow-wrap: anywhere;
}

body.innari2026GestionePage .innari2026ManageMenuContent small {
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.25;
}

body.innari2026GestionePage .innari2026ManageMenuContent a {
  color: var(--app-green) !important;
  text-decoration: none !important;
}

body.innari2026GestionePage .innari2026ManageMenuSelect,
body.innari2026GestionePage .innari2026ManageLoginForm input {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 16px !important;
  background: var(--app-paper) !important;
  color: var(--app-ink) !important;
  padding: 0 14px !important;
  font: 900 1rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

body.innari2026GestionePage .innari2026ManageMenuGrid,
body.innari2026GestionePage .innari2026ManageLoginForm {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

body.innari2026GestionePage .innari2026ManageMenuInlineForm {
  min-width: 0;
  margin: 0 !important;
  display: block;
}

body.innari2026GestionePage .innari2026ManageMenuInlineForm input[type="hidden"] {
  display: none !important;
}

body.innari2026GestionePage .innari2026ManageMenuAction {
  width: 100% !important;
  min-height: 48px !important;
  display: inline-grid !important;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 14px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 16px !important;
  background: var(--app-paper) !important;
  color: var(--app-green) !important;
  text-align: left !important;
  font: 950 0.96rem/1.12 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026ManageMenuActionBlue {
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #fff !important;
}

body.innari2026GestionePage .innari2026ManageMenuAction .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.42rem !important;
  line-height: 1 !important;
}

body.innari2026GestionePage .innari2026ManageGoogleLogin img {
  max-width: 100%;
  height: auto;
  display: block;
}

body.innari2026GestionePage #divBoxRicerca {
  display: none !important;
}

@media (max-width: 760px) {
  body.innari2026GestioneWithTopbar {
    padding-top: 68px !important;
  }

  .innari2026GestioneTopbar {
    min-height: 62px;
    grid-template-columns: 54px minmax(0, 1fr) 48px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .innari2026GestioneMenuButton,
  .innari2026GestioneHomeButton {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
    top: 7px !important;
    bottom: 7px !important;
    left: 7px !important;
    width: calc(100vw - 14px) !important;
    max-height: calc(100dvh - 14px) !important;
    border-radius: 22px !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelHeader {
    padding: 18px 16px 14px;
  }

  body.innari2026GestionePage .innari2026ManagePanelBody {
    padding: 12px;
  }

  body.innari2026GestionePage .innari2026ManageMenuCard {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
    padding: 13px;
  }

  body.innari2026GestionePage .innari2026ManageMenuIcon {
    width: 42px;
    height: 42px;
    font-size: 1.48rem !important;
  }

  body.innari2026GestionePage .innari2026ManageMenuContent h3 {
    font-size: 1.06rem;
  }
}

/* v8.8 - Gestione: rimozione hero, menu piu' stretto su mobile, chiusura coerente */
body.innari2026GestionePage .innari2026ManageHero {
  display: none !important;
}

body.innari2026GestioneWithTopbar .innari2026Manage {
  margin-top: 14px !important;
}

body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
  width: min(430px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  left: 16px !important;
  right: auto !important;
}

body.innari2026GestionePage .innari2026ManagePanelClose,
body.innari2026GestionePage .innari2026ManagePanelClose:hover,
body.innari2026GestionePage .innari2026ManagePanelClose:focus {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 8px) !important;
  background: var(--app-paper) !important;
  color: var(--app-muted) !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026ManagePanelClose:hover {
  background: var(--app-green-soft) !important;
  color: var(--app-green) !important;
}

body.innari2026GestionePage .innari2026ManagePanelClose .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.9rem !important;
  line-height: 1 !important;
}

@media (max-width: 760px) {
  body.innari2026GestioneWithTopbar {
    padding-top: 62px !important;
  }

  body.innari2026GestioneWithTopbar .innari2026Manage {
    width: calc(100% - 10px) !important;
    margin-top: 8px !important;
  }

  body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
    top: 8px !important;
    bottom: 8px !important;
    left: 14px !important;
    width: min(420px, calc(100vw - 42px)) !important;
    max-width: calc(100vw - 42px) !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 22px !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelHeader {
    padding: 16px 14px 12px !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelHeader h2 {
    font-size: clamp(1.55rem, 8vw, 2rem) !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelBody {
    padding: 10px !important;
  }
}

@media (max-width: 390px) {
  body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
    left: 10px !important;
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
  }
}

/* v8.9 - Gestione menu: piu' stretto, account in fondo, chiusura home-style e swipe */
body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
  width: min(390px, calc(100vw - 84px)) !important;
  max-width: calc(100vw - 84px) !important;
  left: 18px !important;
}

body.innari2026GestionePage .innari2026ManagePanelBody {
  display: grid !important;
  align-content: start;
}

body.innari2026GestionePage .innari2026ManageMenuAccount {
  order: 99;
  margin-top: 4px;
}

body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton,
body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton:hover,
body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton:focus {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 8px) !important;
  background: var(--app-paper) !important;
  color: var(--app-muted) !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton:hover,
body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton:focus-visible {
  background: var(--app-green-soft) !important;
  color: var(--app-green) !important;
}

body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.9rem !important;
  line-height: 1 !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
    top: 8px !important;
    bottom: 8px !important;
    left: 12px !important;
    width: min(360px, calc(100vw - 72px)) !important;
    max-width: calc(100vw - 72px) !important;
    max-height: calc(100dvh - 16px) !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelHeader {
    gap: 10px !important;
    padding: 15px 13px 12px !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelHeader h2 {
    font-size: clamp(1.35rem, 6.6vw, 1.85rem) !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton,
  body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton:hover,
  body.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton:focus {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 14px !important;
  }

  body.innari2026GestionePage .innari2026ManagePanelBody {
    padding: 9px !important;
    gap: 10px !important;
  }

  body.innari2026GestionePage .innari2026ManageMenuCard {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 11px !important;
    border-radius: 18px !important;
  }

  body.innari2026GestionePage .innari2026ManageMenuIcon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 13px !important;
    font-size: 1.34rem !important;
  }

  body.innari2026GestionePage .innari2026ManageMenuAction {
    min-height: 44px !important;
    padding: 9px 11px !important;
  }
}

@media (max-width: 390px) {
  body.innari2026GestionePage #divUserBox.innari2026ManagePanel {
    left: 10px !important;
    width: min(330px, calc(100vw - 62px)) !important;
    max-width: calc(100vw - 62px) !important;
  }
}

/* v9.0 - Gestione innari/raccolte (gestioneSottocategorie.asp) */
body.innari2026SubcatsPage {
  min-height: 100dvh;
  padding: clamp(10px, 2.4vw, 24px) 0 34px !important;
  overflow-x: hidden;
}

.innari2026Subcats,
.innari2026Subcats * {
  box-sizing: border-box;
}

.innari2026Subcats {
  width: min(1060px, calc(100% - 24px));
  margin: 0 auto;
  display: grid;
  gap: clamp(14px, 2.4vw, 22px);
}

.innari2026SubcatsHero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding: clamp(18px, 4vw, 36px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: var(--app-shadow);
  overflow: hidden;
  position: relative;
}

.innari2026SubcatsHero::after {
  content: "";
  position: absolute;
  inset: auto -12% -70% 52%;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23,106,95,0.14), transparent 66%);
  pointer-events: none;
}

.innari2026SubcatsHeroText,
.innari2026SubcatsHeroActions {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.innari2026SubcatsHero h1 {
  margin: 6px 0 0;
  color: var(--app-ink);
  font-size: clamp(2rem, 6vw, 4.4rem);
  line-height: 0.96;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.innari2026SubcatsHero p {
  margin: 12px 0 0;
  color: var(--app-muted);
  font-size: clamp(0.94rem, 2vw, 1.12rem);
  line-height: 1.34;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.innari2026SubcatsHeroActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.innari2026SubcatsClose {
  width: 52px;
  height: 52px;
  min-height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 2px) !important;
  background: var(--app-paper) !important;
  color: var(--app-muted) !important;
  cursor: pointer;
}

.innari2026SubcatsClose .material-symbols-rounded {
  font-size: 1.9rem !important;
  color: var(--app-muted) !important;
}

.innari2026SubcatsClose:hover {
  background: var(--app-green-soft) !important;
}

.innari2026SubcatsList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr));
  gap: clamp(12px, 2vw, 18px);
}

.innari2026SubcatCard,
.innari2026SubcatsEmpty {
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: clamp(16px, 3vw, 24px);
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 14px 42px rgba(52,45,34,0.10);
}

.innari2026SubcatCardHead {
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.innari2026SubcatIcon,
.innari2026SubcatsEmpty > .material-symbols-outlined {
  width: 52px;
  height: 52px;
  display: grid !important;
  place-items: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026SubcatCard h2,
.innari2026SubcatsEmpty h2 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.2rem, 2.8vw, 1.65rem);
  line-height: 1.12;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.innari2026SubcatBadges {
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026SubcatBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 12px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper-2);
  color: var(--app-muted);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
}

.innari2026SubcatVisibility.public,
.innari2026SubcatVisibility.home {
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026SubcatVisibility.private {
  color: var(--app-coral);
}

.innari2026SubcatFields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(104px, 0.32fr);
  gap: 14px;
}

.innari2026SubcatField {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.innari2026SubcatFieldWide {
  grid-column: 1 / -1;
}

.innari2026SubcatField span {
  color: var(--app-muted);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.innari2026SubcatField input,
.innari2026SubcatField select,
.innari2026SubcatField textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 2px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  font: 800 0.98rem/1.25 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

.innari2026SubcatField input,
.innari2026SubcatField select {
  min-height: 46px;
  padding: 0 12px;
}

.innari2026SubcatField textarea {
  min-height: 118px;
  padding: 12px;
  resize: vertical;
}

.innari2026SubcatActions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(222,215,201,0.82);
}

.innari2026SubcatsAction {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 2px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 900 0.92rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
}

.innari2026SubcatsAction .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.35rem !important;
}

.innari2026SubcatsActionPrimary {
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #fff !important;
}

.innari2026SubcatsActionDanger {
  color: #a3261d !important;
}

.innari2026SubcatsActionDanger:hover {
  background: rgba(186, 83, 56, 0.1) !important;
}

.innari2026SubcatsEmpty {
  grid-column: 1 / -1;
  justify-items: start;
}

.innari2026SubcatsEmpty p {
  margin: 0;
  color: var(--app-muted);
  font-weight: 800;
}

@media (max-width: 680px) {
  body.innari2026SubcatsPage {
    padding-top: 7px !important;
  }

  .innari2026Subcats {
    width: calc(100% - 12px);
    gap: 10px;
  }

  .innari2026SubcatsHero {
    grid-template-columns: 1fr;
    padding: 16px 12px;
    gap: 14px;
  }

  .innari2026SubcatsHero h1 {
    font-size: clamp(1.85rem, 10vw, 2.6rem);
  }

  .innari2026SubcatsHeroActions {
    justify-content: stretch;
    display: grid;
    grid-template-columns: 1fr 52px;
  }

  .innari2026SubcatsActionPrimary {
    min-width: 0;
  }

  .innari2026SubcatsList {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .innari2026SubcatCard,
  .innari2026SubcatsEmpty {
    padding: 14px 12px;
    gap: 13px;
  }

  .innari2026SubcatCardHead {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
  }

  .innari2026SubcatIcon,
  .innari2026SubcatsEmpty > .material-symbols-outlined {
    width: 44px;
    height: 44px;
    font-size: 1.5rem !important;
  }

  .innari2026SubcatFields {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .innari2026SubcatActions {
    grid-template-columns: 1fr;
  }
}

/* v9.1 - Gestione innari come pagina gestionale con topbar e menu */
body.innari2026SubcatsStandalone {
  padding-top: 86px !important;
}

body.innari2026SubcatsStandalone .innari2026Subcats {
  width: min(1180px, calc(100% - 24px));
}

.innari2026SubcatsToolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.innari2026SubcatsToolbar .innari2026SubcatsActionPrimary {
  min-width: min(100%, 260px);
  min-height: 54px;
}

body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel {
  z-index: 140 !important;
}

body.innari2026SubcatsStandalone .innari2026SubcatsList {
  margin-top: 0;
}

@media (max-width: 680px) {
  body.innari2026SubcatsStandalone {
    padding-top: 78px !important;
  }

  body.innari2026SubcatsStandalone .innari2026Subcats {
    width: calc(100% - 12px);
  }

  .innari2026SubcatsToolbar {
    justify-content: stretch;
  }

  .innari2026SubcatsToolbar .innari2026SubcatsActionPrimary {
    width: 100%;
    min-width: 0;
  }
}


/* v9.2 - fix gestione innari standalone: contenuto sempre visibile e menu stabile */
body.innari2026SubcatsStandalone .innari2026SubcatsToolbar {
  margin-top: 2px;
}
body.innari2026SubcatsStandalone .innari2026SubcatsList {
  min-height: 120px;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel {
  display: block !important;
}
@media (max-width: 680px) {
  body.innari2026SubcatsStandalone .innari2026SubcatsToolbar .innari2026SubcatsActionPrimary {
    width: 100%;
  }
}


/* v9.3 - Gestione innari: apertura menu laterale resa indipendente e piu' robusta */
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel {
  display: block !important;
  pointer-events: none !important;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel[data-open="1"],
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel.is-open {
  transform: translateX(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  box-shadow: 26px 0 70px rgba(13, 16, 15, 0.24) !important;
  transition: transform 0.24s ease, opacity 0.18s ease, visibility 0s !important;
}
body.innari2026SubcatsStandalone .innari2026GestioneMenuButton {
  position: relative;
  z-index: 126 !important;
  pointer-events: auto !important;
}
body.innari2026SubcatsStandalone .innari2026GestioneMenuButton .innari2026BrandIcon {
  pointer-events: none;
}


/* v9.4 - Gestione innari: menu laterale completo e completamente opaco */
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel {
  background: rgba(255,253,247,0.995) !important;
  min-height: calc(100dvh - 16px) !important;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManagePanelShell,
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManagePanelBody {
  background: rgba(255,253,247,0.995) !important;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManagePanelBody {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManageMenuAccount {
  order: 99;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManageMenuCard,
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManageMenuContent,
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManageMenuGrid {
  min-width: 0 !important;
}
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManageMenuAction,
body.innari2026SubcatsStandalone #divUserBox.innari2026ManagePanel .innari2026ManageMenuSelect {
  max-width: 100% !important;
}


/* v9.5 - gestione innari: gruppo nella topbar e menu coerente */
.innari2026GestioneTopTitle small {
  max-width: 100%;
  display: block;
  margin-top: 2px;
  color: var(--app-muted);
  font-size: clamp(0.68rem, 2.2vw, 0.78rem);
  line-height: 1.05;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.innari2026SubcatsStandalone .innari2026GestioneTopTitle strong {
  font-size: clamp(1.05rem, 3.5vw, 1.42rem);
}

body.innari2026SubcatsStandalone .innari2026GestioneTopTitle span {
  font-size: 0.70rem;
  line-height: 1;
}

@media (max-width: 760px) {
  body.innari2026SubcatsStandalone .innari2026GestioneTopbar {
    min-height: 70px;
  }

  body.innari2026SubcatsStandalone.innari2026GestioneWithTopbar {
    padding-top: 70px !important;
  }

  body.innari2026SubcatsStandalone .innari2026GestioneTopTitle small {
    max-width: min(64vw, 260px);
  }
}

/* v9.6 - Gestione files: pagina upload.aspx in stile gestione 2026 */
body.innari2026UploadPage {
  background:
    linear-gradient(90deg, rgba(23,106,95,0.045) 1px, transparent 1px) 0 0 / 82px 82px,
    linear-gradient(180deg, #faf7ef 0%, var(--app-bg) 100%) !important;
  color: var(--app-ink) !important;
  overflow-x: hidden !important;
}

body.innari2026UploadPage .innari2026UploadManage {
  width: min(1180px, calc(100% - 24px));
  margin-top: clamp(16px, 3vw, 34px);
}

body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel {
  box-sizing: border-box !important;
  position: fixed !important;
  z-index: 140 !important;
  top: 12px !important;
  bottom: 12px !important;
  left: 12px !important;
  right: auto !important;
  width: min(390px, calc(100vw - 54px)) !important;
  height: auto !important;
  max-height: calc(100dvh - 24px) !important;
  padding: 0 !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 28px !important;
  background: rgba(255,253,247,0.995) !important;
  color: var(--app-ink) !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(calc(-100% - 24px)) !important;
  transition: transform 0.24s ease, opacity 0.18s ease, visibility 0s linear 0.24s !important;
}

body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel[data-open="1"],
body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
  box-shadow: 26px 0 70px rgba(13,16,15,0.24) !important;
  transition: transform 0.24s ease, opacity 0.18s ease, visibility 0s !important;
}

body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManagePanelShell {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: rgba(255,253,247,0.995) !important;
}

body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManagePanelBody {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(255,253,247,0.995) !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManageMenuAccount {
  order: 99;
}

body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManageMenuAction,
body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManageMenuSelect {
  max-width: 100% !important;
}

.innari2026ManageMenuActionActive {
  background: var(--app-green-soft) !important;
  border-color: rgba(23,106,95,0.22) !important;
}

.innari2026UploadHeaderCard,
.innari2026UploadCard {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,0.96);
  box-shadow: var(--app-shadow);
}

.innari2026UploadHeaderCard {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(22px, 4vw, 42px);
}

.innari2026UploadHeaderCard h1 {
  margin: 4px 0 0;
  color: var(--app-ink);
  font-size: clamp(2.2rem, 5.2vw, 4.4rem);
  line-height: 0.95;
  font-weight: 950;
  letter-spacing: -0.035em;
}

.innari2026UploadHeaderCard p {
  max-width: 720px;
  margin: 14px 0 0;
  color: var(--app-muted);
  font-weight: 850;
  line-height: 1.35;
}

.innari2026UploadHeaderActions {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.innari2026UploadButton,
body.innari2026UploadPage .innari2026UploadButton,
body.innari2026UploadPage input.innari2026UploadButton {
  min-height: 52px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 4px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  font: 900 1rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  cursor: pointer;
}

.innari2026UploadButtonPrimary,
body.innari2026UploadPage input.innari2026UploadButtonPrimary {
  background: var(--app-green) !important;
  color: #fff !important;
  border-color: var(--app-green) !important;
}

.innari2026UploadButton .material-symbols-outlined,
.innari2026UploadMiniButton .material-symbols-outlined {
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.innari2026UploadCard {
  padding: clamp(18px, 3vw, 30px);
}

.innari2026UploadCardHeader {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  align-items: start;
  gap: 16px;
  margin-bottom: 20px;
}

.innari2026UploadCardHeader h2 {
  margin: 2px 0 0;
  color: var(--app-ink);
  font-size: clamp(1.6rem, 3.4vw, 2.35rem);
  line-height: 1.02;
  font-weight: 950;
  letter-spacing: -0.02em;
}

.innari2026UploadCardHeader p {
  margin: 8px 0 0;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.35;
}

.innari2026UploadCardIcon,
.innari2026UploadFileIcon {
  width: 58px;
  height: 58px;
  display: grid !important;
  place-items: center;
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 2rem !important;
}

body.innari2026UploadPage .innari2026UploadFormTable,
body.innari2026UploadPage .innari2026UploadLoginTable {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  background: transparent !important;
  border: 0 !important;
}

body.innari2026UploadPage .innari2026UploadFormTable td,
body.innari2026UploadPage .innari2026UploadLoginTable td {
  padding: 6px 8px !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  font-weight: 900;
  vertical-align: middle !important;
}

body.innari2026UploadPage input[type="file"],
body.innari2026UploadPage input[type="text"],
body.innari2026UploadPage input[type="password"] {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 6px) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  padding: 9px 12px !important;
  box-sizing: border-box;
}

.innari2026UploadFormActions {
  max-width: 780px;
  margin: 16px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.innari2026UploadMessage {
  max-width: 780px;
  margin: 16px auto 0;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.45;
}

.innari2026UploadFileList {
  display: grid;
  gap: 12px;
}

.innari2026UploadFileCard {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-paper-2);
}

.innari2026UploadFileIcon {
  width: 52px;
  height: 52px;
  font-size: 1.65rem !important;
}

.innari2026UploadFileInfo {
  min-width: 0;
}

.innari2026UploadFileInfo h3 {
  margin: 0 0 7px;
  color: var(--app-ink);
  font-size: 1.05rem;
  line-height: 1.18;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.innari2026UploadFileInfo a {
  color: inherit !important;
  text-decoration: none !important;
}

.innari2026UploadBadge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper);
  color: var(--app-muted);
  font-weight: 900;
  font-size: 0.82rem;
}

.innari2026UploadFileActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.innari2026UploadMiniButton {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 999px !important;
  background: var(--app-paper) !important;
  color: var(--app-green) !important;
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  cursor: pointer;
}

.innari2026UploadDanger {
  color: #b21f1f !important;
  border-color: rgba(178,31,31,0.24) !important;
  background: rgba(178,31,31,0.045) !important;
}

.innari2026UploadEmpty {
  min-height: 180px;
  display: grid;
  place-items: center;
  text-align: center;
  gap: 7px;
  padding: 28px;
  border: 1px dashed var(--app-line);
  border-radius: calc(var(--app-radius) - 4px);
  background: rgba(255,253,247,0.72);
  color: var(--app-muted);
  font-weight: 850;
}

.innari2026UploadEmpty .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 2.3rem !important;
}

@media (max-width: 760px) {
  body.innari2026UploadPage .innari2026UploadManage {
    width: calc(100% - 12px);
    margin-top: 10px;
    gap: 12px;
  }

  .innari2026UploadHeaderCard {
    align-items: stretch;
    flex-direction: column;
    padding: 18px 14px;
  }

  .innari2026UploadHeaderCard h1 {
    font-size: clamp(2rem, 10vw, 3.2rem);
  }

  .innari2026UploadHeaderActions,
  .innari2026UploadHeaderActions .innari2026UploadButton {
    width: 100%;
  }

  .innari2026UploadCard {
    padding: 16px 12px;
  }

  .innari2026UploadCardHeader {
    grid-template-columns: 48px minmax(0,1fr);
    gap: 12px;
  }

  .innari2026UploadCardIcon {
    width: 48px;
    height: 48px;
    font-size: 1.55rem !important;
  }

  body.innari2026UploadPage .innari2026UploadFormTable,
  body.innari2026UploadPage .innari2026UploadFormTable tbody,
  body.innari2026UploadPage .innari2026UploadFormTable tr,
  body.innari2026UploadPage .innari2026UploadFormTable td,
  body.innari2026UploadPage .innari2026UploadLoginTable,
  body.innari2026UploadPage .innari2026UploadLoginTable tbody,
  body.innari2026UploadPage .innari2026UploadLoginTable tr,
  body.innari2026UploadPage .innari2026UploadLoginTable td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.innari2026UploadPage .innari2026UploadFormTable td,
  body.innari2026UploadPage .innari2026UploadLoginTable td {
    padding: 4px 0 !important;
  }

  .innari2026UploadFormActions,
  .innari2026UploadFormActions input,
  .innari2026UploadFormActions button {
    width: 100% !important;
  }

  .innari2026UploadFileCard {
    grid-template-columns: 44px minmax(0,1fr);
    align-items: start;
    padding: 12px;
  }

  .innari2026UploadFileIcon {
    width: 44px;
    height: 44px;
    font-size: 1.45rem !important;
  }

  .innari2026UploadFileActions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .innari2026UploadMiniButton {
    width: 100%;
  }

  body.innari2026UploadPage #divUserBox.innari2026UploadManagePanel {
    width: min(360px, calc(100vw - 46px)) !important;
    left: 8px !important;
    top: 8px !important;
    bottom: 8px !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 24px !important;
  }
}

/* v9.8 - home search emphasis + restored result focus */
.innari2026HomeSearch {
  padding: 10px;
  border: 1px solid rgba(211, 146, 40, 0.34);
  border-radius: calc(var(--app-radius) + 4px);
  background: linear-gradient(135deg, rgba(255, 248, 230, 0.96), rgba(228, 241, 236, 0.70));
  box-shadow: 0 16px 38px rgba(52, 45, 34, 0.12);
}

.innari2026HomeSearch label {
  border: 2px solid rgba(23, 106, 95, 0.34) !important;
  background: rgba(255, 253, 247, 0.96) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72), 0 10px 24px rgba(23, 106, 95, 0.08);
}

.innari2026HomeSearch label:focus-within {
  border-color: rgba(23, 106, 95, 0.72) !important;
  box-shadow: 0 0 0 4px rgba(23, 106, 95, 0.13), 0 14px 28px rgba(23, 106, 95, 0.13);
}

.innari2026HomeAdvanced {
  border: 1px solid rgba(23, 106, 95, 0.24) !important;
  background: rgba(255, 253, 247, 0.72) !important;
}

.innari2026HomeAdvanced[open] {
  border: 2px solid rgba(23, 106, 95, 0.44) !important;
  background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(228, 241, 236, 0.58)) !important;
  box-shadow: 0 12px 28px rgba(23, 106, 95, 0.10);
}

.innari2026HomeAdvanced[open] > summary {
  border-bottom: 1px solid rgba(23, 106, 95, 0.18);
  background: rgba(228, 241, 236, 0.54);
}

.innari2026HomeResultsWrap {
  border: 2px solid rgba(23, 106, 95, 0.38) !important;
  background: linear-gradient(180deg, rgba(255, 253, 247, 1), rgba(249, 244, 233, 0.98)) !important;
  box-shadow: 0 18px 42px rgba(23, 106, 95, 0.14), 0 4px 14px rgba(52, 45, 34, 0.10) !important;
}

.innari2026HomeResultsWrap::before {
  content: "Risultati ricerca";
  display: block;
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(23, 106, 95, 0.18);
  background: rgba(228, 241, 236, 0.96);
  color: var(--app-green);
  font: 900 0.76rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.innari2026SearchAdvanced[open] {
  border: 2px solid rgba(23, 106, 95, 0.42) !important;
  background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(228, 241, 236, 0.62)) !important;
  box-shadow: 0 10px 26px rgba(23, 106, 95, 0.10);
}

.innari2026SearchResultsWrap {
  border: 2px solid rgba(23, 106, 95, 0.34) !important;
  background: rgba(255, 253, 247, 0.98) !important;
  box-shadow: 0 18px 38px rgba(23, 106, 95, 0.12);
}

.innari2026SearchResultRestored {
  background: rgba(211, 146, 40, 0.20) !important;
  box-shadow: inset 4px 0 0 rgba(211, 146, 40, 0.88);
}

.innari2026SearchResultRestored strong::after {
  content: "Ultimo selezionato";
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(211, 146, 40, 0.22);
  color: #7a4f0d;
  font-size: 0.66rem;
  font-weight: 900;
  vertical-align: middle;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .innari2026HomeSearch {
    padding: 8px;
    border-radius: calc(var(--app-radius) + 2px);
  }

  .innari2026HomeResultsWrap::before {
    padding: 7px 10px;
  }

  .innari2026SearchResultRestored strong::after {
    display: table;
    margin: 5px 0 0;
  }
}

/* v10.1 - larghezze ricerca/risultati uniformi e chip rapidi nel popup ricerca */
.innari2026HomeHero {
  --innari2026HomeSearchWidth: 860px;
}

.innari2026HomeSearch,
.innari2026HomeSearchStatusRow,
.innari2026HomeResultsWrap {
  width: 100% !important;
  max-width: var(--innari2026HomeSearchWidth) !important;
  justify-self: start !important;
  box-sizing: border-box !important;
}

.innari2026HomeSearchStatusRow,
.innari2026SearchStatusRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 26px;
  box-sizing: border-box;
}

.innari2026HomeSearchStatusRow {
  flex-wrap: wrap;
}

.innari2026SearchStatusRow {
  flex: 0 0 auto;
  width: 100%;
}

.innari2026SearchStatusRow .innari2026SearchStatus,
.innari2026HomeSearchStatusRow .innari2026HomeSearchStatus {
  min-width: 0;
  flex: 1 1 auto;
}

.innari2026SearchScopeChips {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex: 0 0 auto;
}

.innari2026SearchScopeChip {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 10px;
  border: 1px solid rgba(23, 106, 95, 0.28) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.86) !important;
  color: var(--app-green) !important;
  font: 900 0.78rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
  white-space: nowrap;
}

.innari2026SearchScopeChip .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.innari2026SearchScopeChip:hover,
.innari2026SearchScopeChip:focus-visible {
  border-color: rgba(23, 106, 95, 0.48) !important;
  background: rgba(209, 232, 224, 0.98) !important;
  outline: none;
}

.innari2026SearchScopeChip:active {
  transform: translateY(1px);
}

.innari2026SearchPanel .innari2026SearchForm,
.innari2026SearchPanel .innari2026SearchStatusRow,
.innari2026SearchPanel .innari2026SearchResultsWrap {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 680px) {
  .innari2026HomeHero {
    --innari2026HomeSearchWidth: 100%;
  }

  .innari2026SearchStatusRow {
    gap: 8px;
  }

  .innari2026SearchScopeChips {
    gap: 5px;
  }

  .innari2026SearchScopeChip {
    min-height: 28px;
    padding: 0 8px;
    font-size: 0.74rem !important;
  }

  .innari2026SearchScopeChip .material-symbols-rounded {
    font-size: 0.96rem !important;
  }
}

/* v10.2 - icona Avanzate dentro il campo di ricerca */
.innari2026AdvancedHiddenSummary {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
}

.innari2026SearchAdvanced:not([open]),
.innari2026HomeAdvanced:not([open]) {
  display: none !important;
}

.innari2026SearchInputWrap {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
}

.innari2026SearchInlineButton,
.innari2026HomeSearchInlineButton {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  border-radius: 14px !important;
  background: rgba(228, 241, 236, 0.70) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
}

.innari2026SearchInlineButton .material-symbols-rounded,
.innari2026HomeSearchInlineButton .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.innari2026SearchInlineButton:hover,
.innari2026SearchInlineButton:focus-visible,
.innari2026HomeSearchInlineButton:hover,
.innari2026HomeSearchInlineButton:focus-visible,
.innari2026SearchInlineButton.is-active,
.innari2026HomeSearchInlineButton.is-active {
  border-color: rgba(23, 106, 95, 0.46) !important;
  background: rgba(209, 232, 224, 0.98) !important;
  outline: none !important;
}

.innari2026SearchInlineButton.is-active,
.innari2026HomeSearchInlineButton.is-active {
  box-shadow: inset 0 0 0 1px rgba(23, 106, 95, 0.18) !important;
}

.innari2026SearchAdvanced[open],
.innari2026HomeAdvanced[open] {
  margin-top: 0 !important;
}

.innari2026SearchAdvanced[open] .innari2026SearchAdvancedBody,
.innari2026HomeAdvanced[open] .innari2026HomeAdvancedBody {
  padding-top: 12px !important;
}

.innari2026HomeSearchInputWrap {
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 14px 0 16px;
  border: 2px solid rgba(23, 106, 95, 0.34) !important;
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72), 0 10px 24px rgba(23, 106, 95, 0.08);
  box-sizing: border-box;
}

.innari2026HomeSearchInputWrap:focus-within {
  border-color: rgba(23, 106, 95, 0.72) !important;
  box-shadow: 0 0 0 4px rgba(23, 106, 95, 0.13), 0 14px 28px rgba(23, 106, 95, 0.13);
}

.innari2026HomeSearchInputWrap > .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.9rem;
}

.innari2026HomeSearchInputWrap input {
  width: 100%;
  min-width: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  font: 900 1.05rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

@media (max-width: 680px) {
  .innari2026SearchInputWrap {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
  }

  .innari2026SearchInlineButton,
  .innari2026HomeSearchInlineButton {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 12px !important;
  }

  .innari2026SearchInlineButton .material-symbols-rounded,
  .innari2026HomeSearchInlineButton .material-symbols-rounded {
    font-size: 1.22rem !important;
  }

  .innari2026HomeSearchInputWrap {
    min-height: 54px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 0 10px 0 13px;
    gap: 6px;
  }

  .innari2026HomeSearchInputWrap > .material-symbols-rounded {
    font-size: 1.65rem !important;
  }

  .innari2026HomeSearchInputWrap input {
    font-size: 1rem !important;
  }
}

/* v10.3 - Topbar brano essenziale + pannello strumenti ordinato */
.innari2026Topbar {
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
}

.innari2026TopSongTitle {
  min-width: 0;
  display: grid;
  align-items: center;
}

.innari2026TopActions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.innari2026TopSearchButton,
.innari2026TopToolsButton {
  flex: 0 0 auto;
}

.innari2026Topbar[data-expanded="1"] .innari2026TopSearchButton .material-symbols-rounded {
  transform: none !important;
}

.innari2026Topbar[data-expanded="1"] .innari2026TopToolsButton .material-symbols-rounded {
  transform: rotate(90deg) !important;
}

.innari2026Topbar[data-expanded="1"] .innari2026TopDrawer {
  max-height: min(78dvh, 720px) !important;
  overflow: auto !important;
  padding-top: 10px !important;
}

.innari2026DrawerSection {
  width: min(100%, 980px);
  box-sizing: border-box;
  margin: 0 auto 8px auto;
  padding: 10px;
  border: 1px solid rgba(23, 106, 95, 0.14);
  border-radius: calc(var(--app-radius) + 2px);
  background: rgba(255, 253, 247, 0.72);
}

body.stage .innari2026DrawerSection {
  background: rgba(22, 26, 27, 0.76);
  border-color: rgba(255,255,255,0.12);
}

.innari2026DrawerSection > .innari2026ControlLabel {
  display: block;
  margin-bottom: 7px;
  text-align: left;
}

.innari2026KeyTransportRow {
  display: grid;
  grid-template-columns: minmax(72px, 0.7fr) auto minmax(72px, 0.7fr);
  align-items: center;
  gap: 10px;
}

.innari2026KeyPill {
  min-height: 54px;
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 8px 10px;
  border: 1px solid rgba(23, 106, 95, 0.20);
  border-radius: var(--app-radius);
  background: rgba(228, 241, 236, 0.62);
  color: var(--app-green);
  box-sizing: border-box;
}

.innari2026KeyPill span {
  color: var(--app-muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.innari2026KeyPill strong {
  color: var(--app-green);
  font-size: 1.05rem;
  font-weight: 1000;
  line-height: 1.05;
}

.innari2026KeyStepper {
  display: grid;
  grid-template-columns: 48px minmax(72px, 92px) 48px;
  gap: 7px;
  padding: 6px;
  border-radius: var(--app-radius);
  background: rgba(249, 244, 233, 0.85);
}

.innari2026KeyStepper button,
.innari2026PlaylistNavButton,
.innari2026PlaylistCurrentCard,
.innari2026SongBrowseCard {
  font: inherit !important;
  cursor: pointer;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

.innari2026KeyStepper button {
  min-height: 44px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 8px !important;
}

.innari2026KeyStepper button strong {
  display: block;
  color: var(--app-ink);
  font-size: 1.12rem;
  line-height: 1;
}

.innari2026KeyStepper button small {
  display: block;
  color: var(--app-muted);
  font-size: 0.64rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

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

.innari2026SongBrowseCard {
  min-width: 0;
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 9px 10px !important;
  text-align: left;
}

.innari2026SongBrowseCard:nth-child(2) {
  grid-template-columns: minmax(0, 1fr) auto;
  text-align: right;
}

.innari2026SongBrowseCard small,
.innari2026PlaylistCurrentCard small {
  display: block;
  color: var(--app-muted);
  font-size: 0.70rem;
  font-weight: 900;
  text-transform: uppercase;
}

.innari2026SongBrowseCard strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--app-ink);
  font-size: 0.92rem;
  font-weight: 1000;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026SongBrowseCard:disabled,
.innari2026PlaylistNavButton:disabled,
.innari2026PlaylistCurrentCard:disabled {
  cursor: default;
  opacity: 0.45;
}

.innari2026PlaylistNowRow {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 86px;
  gap: 10px;
  align-items: stretch;
}

.innari2026PlaylistNavButton {
  min-height: 70px !important;
  display: inline-grid !important;
  place-items: center;
  gap: 2px;
  padding: 8px !important;
}

.innari2026PlaylistNavButton strong {
  color: var(--app-ink);
  font-size: 0.76rem;
  font-weight: 1000;
}

.innari2026PlaylistCurrentCard {
  min-width: 0;
  min-height: 70px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: 4px;
  padding: 8px 12px !important;
  text-align: left;
}

.innari2026PlaylistCurrentCard span {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.innari2026PlaylistCurrentCard span > strong {
  flex: 0 0 auto;
  color: var(--app-green);
  font-size: 0.95rem;
  font-weight: 1000;
}

.innari2026PlaylistCurrentCard em {
  min-width: 0;
  overflow: hidden;
  color: var(--app-ink);
  font-size: 0.95rem;
  font-style: normal;
  font-weight: 1000;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026PlaylistCurrentCard b {
  color: var(--app-green);
  font-weight: 1000;
}

.innari2026QuickSection .innari2026QuickActions {
  padding: 0;
}

.innari2026SearchInputWrap,
.innari2026HomeSearchInputWrap {
  grid-template-columns: 34px minmax(0, 1fr) auto auto !important;
}

.innari2026SearchInputWrap input[type="search"]::-webkit-search-cancel-button,
.innari2026HomeSearchInputWrap input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.innari2026SearchClearButton,
.innari2026HomeSearchClearButton {
  background: rgba(255, 253, 247, 0.92) !important;
  color: var(--app-muted) !important;
}

.innari2026SearchClearButton .material-symbols-rounded,
.innari2026HomeSearchClearButton .material-symbols-rounded {
  color: var(--app-muted) !important;
}

@media (max-width: 680px) {
  .innari2026Topbar {
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
  }

  .innari2026TopActions {
    gap: 5px;
  }

  .innari2026TopActions .innari2026TopButton {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
  }

  .innari2026NowPlaying span {
    display: none;
  }

  .innari2026NowPlaying strong {
    font-size: 1.02rem;
  }

  .innari2026Topbar[data-expanded="1"] .innari2026TopDrawer {
    max-height: calc(100dvh - 58px) !important;
  }

  .innari2026DrawerSection {
    padding: 9px;
    margin-bottom: 7px;
  }

  .innari2026KeyTransportRow {
    grid-template-columns: minmax(54px, 0.72fr) minmax(0, 1.3fr) minmax(54px, 0.72fr);
    gap: 6px;
  }

  .innari2026KeyPill {
    min-height: 48px;
    padding: 6px 5px;
  }

  .innari2026KeyPill span {
    font-size: 0.58rem;
  }

  .innari2026KeyPill strong {
    font-size: 0.92rem;
  }

  .innari2026KeyStepper {
    grid-template-columns: 36px minmax(54px, 1fr) 36px;
    gap: 5px;
    padding: 5px;
  }

  .innari2026KeyStepper button {
    min-height: 38px !important;
    padding: 0 5px !important;
  }

  .innari2026KeyStepper button small {
    display: none;
  }

  .innari2026SongBrowseCards,
  .innari2026PlaylistNowRow {
    grid-template-columns: 1fr;
  }

  .innari2026SongBrowseCard,
  .innari2026SongBrowseCard:nth-child(2) {
    grid-template-columns: auto minmax(0, 1fr);
    text-align: left;
  }

  .innari2026SongBrowseCard:nth-child(2) .material-symbols-rounded {
    order: -1;
  }

  .innari2026PlaylistNowRow {
    gap: 7px;
  }

  .innari2026PlaylistNavButton,
  .innari2026PlaylistCurrentCard {
    min-height: 52px !important;
  }

  .innari2026PlaylistNavButton {
    display: inline-flex !important;
    justify-content: center;
  }

  .innari2026PlaylistCurrentCard span {
    align-items: center;
  }

  .innari2026SearchInputWrap,
  .innari2026HomeSearchInputWrap {
    grid-template-columns: 30px minmax(0, 1fr) 36px 36px !important;
  }

  .innari2026SearchInlineButton,
  .innari2026HomeSearchInlineButton {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }
}

/* v10.4 - Pannello strumenti pi compatto + meta innario visibile su mobile */
.innari2026SongBrowseCards {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 7px !important;
}

.innari2026SongBrowseCard,
.innari2026SongBrowseCard:nth-child(2) {
  min-width: 0 !important;
  min-height: 44px !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 8px !important;
  overflow: hidden !important;
}

.innari2026SongBrowseCard {
  grid-template-columns: 22px minmax(0, 1fr) !important;
}

.innari2026SongBrowseCard:nth-child(2) {
  grid-template-columns: minmax(0, 1fr) 22px !important;
}

.innari2026SongBrowseCard .material-symbols-rounded {
  width: 22px !important;
  min-width: 22px !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

.innari2026SongBrowseCard > span:not(.material-symbols-rounded) {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  overflow: hidden !important;
}

.innari2026SongBrowseCard small {
  flex: 0 0 auto !important;
  font-size: 0.62rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.innari2026SongBrowseCard strong {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 0.84rem !important;
  line-height: 1.05 !important;
}

.innari2026PlaylistNowRow {
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  gap: 7px !important;
  align-items: center !important;
}

.innari2026PlaylistNavButton,
.innari2026PlaylistCurrentCard {
  min-height: 44px !important;
}

.innari2026PlaylistNavButton {
  padding: 6px !important;
  gap: 0 !important;
}

.innari2026PlaylistNavButton .material-symbols-rounded {
  font-size: 1.28rem !important;
}

.innari2026PlaylistNavButton strong {
  display: none !important;
}

.innari2026PlaylistCurrentCard {
  padding: 6px 9px !important;
  overflow: hidden !important;
  text-align: left !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistInline {
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistInline > strong {
  flex: 0 0 auto !important;
  color: var(--app-green) !important;
  font-size: 0.84rem !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistInline em {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: block !important;
  overflow: hidden !important;
  color: var(--app-ink) !important;
  font-size: 0.86rem !important;
  font-style: normal !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistInline small {
  min-width: 42px !important;
  flex: 0 1 min(42%, 220px) !important;
  display: block !important;
  overflow: hidden !important;
  color: var(--app-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistInline b {
  color: var(--app-green) !important;
  font-weight: 1000 !important;
}

@media (max-width: 680px) {
  .innari2026TopSongTitle .innari2026NowPlaying {
    gap: 1px !important;
    justify-items: center !important;
  }

  .innari2026TopSongTitle .innari2026NowPlaying span {
    max-width: 100% !important;
    display: block !important;
    overflow: hidden !important;
    color: var(--app-muted) !important;
    font-size: 0.62rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .innari2026TopSongTitle .innari2026NowPlaying strong {
    font-size: 0.96rem !important;
    line-height: 1.08 !important;
  }

  .innari2026SongBrowseCards {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .innari2026SongBrowseCard,
  .innari2026SongBrowseCard:nth-child(2) {
    min-height: 40px !important;
    padding: 6px 6px !important;
    gap: 3px !important;
  }

  .innari2026SongBrowseCard small {
    display: none !important;
  }

  .innari2026SongBrowseCard strong {
    font-size: 0.78rem !important;
  }

  .innari2026PlaylistNowRow {
    grid-template-columns: 40px minmax(0, 1fr) 40px !important;
    gap: 5px !important;
  }

  .innari2026PlaylistNavButton,
  .innari2026PlaylistCurrentCard {
    min-height: 40px !important;
  }

  .innari2026PlaylistCurrentCard {
    padding: 5px 7px !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistInline {
    gap: 5px !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistInline > strong {
    font-size: 0.76rem !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistInline em {
    font-size: 0.78rem !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistInline small {
    flex-basis: min(40%, 130px) !important;
    font-size: 0.66rem !important;
  }
}

/* v10.5 - Strumenti brano pi compatti: innario, cronologia e scaletta su una riga */
.innari2026SongBrowseCards,
.innari2026HistoryRow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 7px !important;
  overflow: hidden !important;
}

.innari2026SongBrowseCard,
.innari2026SongBrowseCard:nth-child(2),
.innari2026HistoryButton,
.innari2026HistoryButton:nth-child(2) {
  min-width: 0 !important;
  min-height: 42px !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 8px !important;
  overflow: hidden !important;
}

.innari2026SongBrowseCard,
.innari2026HistoryButton {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  text-align: left !important;
  justify-content: stretch !important;
}

.innari2026SongBrowseCard:nth-child(2),
.innari2026HistoryButton:nth-child(2) {
  grid-template-columns: minmax(0, 1fr) 22px !important;
  text-align: left !important;
}

.innari2026SongBrowseCard .material-symbols-rounded,
.innari2026HistoryButton .material-symbols-rounded {
  width: 22px !important;
  min-width: 22px !important;
  color: var(--app-green) !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
}

.innari2026SongBrowseCard strong,
.innari2026HistoryButton strong {
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  color: var(--app-ink) !important;
  font-size: 0.86rem !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026PlaylistNowRow {
  grid-template-columns: 40px minmax(0, 1fr) 40px !important;
  gap: 6px !important;
  align-items: center !important;
}

.innari2026PlaylistNavButton,
.innari2026PlaylistCurrentCard {
  min-height: 40px !important;
}

.innari2026PlaylistCurrentCard {
  border-color: rgba(14, 107, 99, 0.28) !important;
  background: rgba(224, 247, 242, 0.70) !important;
  padding: 5px 8px !important;
  overflow: hidden !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly {
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly > strong {
  flex: 0 0 auto !important;
  color: var(--app-muted) !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly small {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: block !important;
  overflow: hidden !important;
  color: var(--app-green) !important;
  font-size: 0.86rem !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly b {
  color: var(--app-green) !important;
  font-weight: 1000 !important;
}

@media (max-width: 680px) {
  .innari2026SongBrowseCards,
  .innari2026HistoryRow {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .innari2026SongBrowseCard,
  .innari2026SongBrowseCard:nth-child(2),
  .innari2026HistoryButton,
  .innari2026HistoryButton:nth-child(2) {
    min-height: 38px !important;
    padding: 6px 6px !important;
    gap: 3px !important;
  }

  .innari2026SongBrowseCard,
  .innari2026HistoryButton {
    grid-template-columns: 18px minmax(0, 1fr) !important;
  }

  .innari2026SongBrowseCard:nth-child(2),
  .innari2026HistoryButton:nth-child(2) {
    grid-template-columns: minmax(0, 1fr) 18px !important;
    text-align: left !important;
  }

  .innari2026SongBrowseCard .material-symbols-rounded,
  .innari2026HistoryButton .material-symbols-rounded {
    width: 18px !important;
    min-width: 18px !important;
    font-size: 1.14rem !important;
  }

  .innari2026SongBrowseCard strong,
  .innari2026HistoryButton strong {
    font-size: 0.76rem !important;
  }

  .innari2026PlaylistNowRow {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 5px !important;
  }

  .innari2026PlaylistNavButton,
  .innari2026PlaylistCurrentCard {
    min-height: 38px !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly {
    gap: 5px !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly > strong {
    font-size: 0.68rem !important;
  }

  .innari2026PlaylistCurrentCard .innari2026PlaylistNextOnly small {
    font-size: 0.76rem !important;
  }
}


/* v10.7 - Layout esplicito per pulsanti precedente/successivo nel pannello Strumenti brano.
   Evita che regole legacy basate su nth-child invertano freccia e titolo. */
.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowsePrev,
.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryPrev,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowsePrev,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryPrev {
  justify-content: flex-start !important;
  text-align: left !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext {
  justify-content: flex-start !important;
  text-align: left !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowsePrev .material-symbols-rounded,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryPrev .material-symbols-rounded {
  order: 1 !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  margin-right: 7px !important;
  margin-left: 0 !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowsePrev strong,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryPrev strong {
  order: 2 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext strong,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext strong {
  order: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext .material-symbols-rounded,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext .material-symbols-rounded {
  order: 2 !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  margin-left: 7px !important;
  margin-right: 0 !important;
}

@media (max-width: 680px) {
  .innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowsePrev .material-symbols-rounded,
  .innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext .material-symbols-rounded,
  .innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryPrev .material-symbols-rounded,
  .innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext .material-symbols-rounded {
    flex-basis: 18px !important;
    width: 18px !important;
    min-width: 18px !important;
  }
}


/* v10.8 - Ricerca come bottom sheet: apertura dal basso e swipe giu solo dalla maniglia */
.innari2026SearchPanel {
  top: auto !important;
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  left: max(20px, env(safe-area-inset-left)) !important;
  right: max(20px, env(safe-area-inset-right)) !important;
  width: auto !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-height: min(calc(100dvh - 44px), 680px) !important;
  transform: translateY(calc(100% + 32px)) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  border-radius: 18px !important;
  transition:
    transform 0.30s cubic-bezier(.2,.78,.2,1),
    opacity 0.20s ease,
    visibility 0s linear 0.30s !important;
}

.innari2026SearchPanel[data-open="1"] {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition:
    transform 0.30s cubic-bezier(.2,.78,.2,1),
    opacity 0.20s ease,
    visibility 0s !important;
}

.innari2026SearchPanel[data-dragging="1"] {
  transition: none !important;
}

.innari2026SearchGrip {
  display: block !important;
  width: 58px !important;
  height: 6px !important;
  margin: 9px auto 4px !important;
  border-radius: 999px !important;
  background: rgba(109, 116, 110, 0.34) !important;
  cursor: grab !important;
  touch-action: none !important;
}

.innari2026SearchGrip::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 96px;
  height: 28px;
  transform: translateX(-50%);
}

.innari2026SearchPanel[data-dragging="1"] .innari2026SearchGrip {
  cursor: grabbing !important;
}

.innari2026SearchHeader {
  padding-top: 10px !important;
}

@media (min-width: 681px) {
  .innari2026SearchPanel {
    bottom: max(24px, env(safe-area-inset-bottom)) !important;
    left: 50% !important;
    right: auto !important;
    width: min(720px, calc(100vw - 40px)) !important;
    transform: translateX(-50%) translateY(calc(100% + 36px)) !important;
  }

  .innari2026SearchPanel[data-open="1"] {
    transform: translateX(-50%) translateY(0) !important;
  }
}

@media (max-width: 680px) {
  .innari2026SearchPanel {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: min(88dvh, calc(100dvh - 22px)) !important;
    border-radius: 18px 18px 0 0 !important;
    transform: translateY(105%) !important;
  }

  .innari2026SearchPanel[data-open="1"] {
    transform: translateY(0) !important;
  }

  .innari2026SearchGrip {
    width: 54px !important;
    height: 5px !important;
    margin-top: 7px !important;
    margin-bottom: 2px !important;
  }

  .innari2026SearchHeader {
    padding-top: 8px !important;
  }
}

/* v10.9 - badge punteggio nei risultati brani simili */
.innari2026SearchTitleRow {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.innari2026SearchTitleRow strong {
  flex: 1 1 auto;
  min-width: 0;
}

.innari2026SearchScoreBadge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 22px;
  padding: 2px 9px;
  border: 1px solid rgba(229, 164, 48, 0.38);
  border-radius: 999px;
  background: rgba(229, 164, 48, 0.18);
  color: #7a4d05 !important;
  font-size: 0.74rem;
  font-weight: 1000;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .innari2026SearchTitleRow {
    gap: 6px;
  }
  .innari2026SearchScoreBadge {
    min-width: 26px;
    min-height: 20px;
    padding: 2px 7px;
    font-size: 0.68rem;
  }
}


/* v11.0 - Fix swipe pannello ricerca: blocco scroll pagina sotto e gesture solo maniglia */
html.innari2026SearchOpen,
body.innari2026SearchOpen,
html.innari2026SearchScrollLocked {
  overscroll-behavior: none !important;
}

body.innari2026SearchOpen {
  overflow: hidden !important;
}

.innari2026SearchPanel {
  overscroll-behavior: contain !important;
}

.innari2026SearchGrip {
  position: relative !important;
  touch-action: none !important;
  -ms-touch-action: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}

.innari2026SearchGrip::before {
  pointer-events: auto !important;
  touch-action: none !important;
  -ms-touch-action: none !important;
}

.innari2026SearchBody,
.innari2026SearchResultsWrap {
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
}


/* v11.1 - Swipe ricerca piu' stabile e pannello sempre alto anche quando i risultati sono vuoti */
.innari2026SearchGrip {
  position: relative !important;
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  cursor: grab !important;
  touch-action: none !important;
  -ms-touch-action: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}

.innari2026SearchGrip::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 56px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: rgba(109, 116, 110, 0.38) !important;
  transform: none !important;
  pointer-events: none !important;
}

.innari2026SearchPanel[data-dragging="1"] .innari2026SearchGrip::before {
  background: rgba(23, 106, 95, 0.42) !important;
}

@media (max-width: 680px) {
  .innari2026SearchPanel[data-open="1"] {
    height: min(88dvh, calc(100dvh - 54px)) !important;
    max-height: min(88dvh, calc(100dvh - 54px)) !important;
  }

  .innari2026SearchPanel .innari2026SearchBody {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .innari2026SearchPanel .innari2026SearchResultsWrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}


/* v11.2 - Rifinitura pannello Strumenti brano: ordine pulsanti, etichette compatte e nome scaletta */
.innari2026TopDrawer .innari2026QuickActions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: min(620px, 100%) !important;
}

.innari2026TopDrawer .innari2026QuickActions .innari2026DrawerButton {
  min-width: 0 !important;
  overflow: hidden !important;
}

.innari2026TopDrawer .innari2026QuickActions .innari2026DrawerButton strong {
  max-width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  line-height: 1.05 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026TopDrawer .innari2026QuickActions .innari2026QuickLongLabel {
  font-size: clamp(0.50rem, 2.15vw, 0.66rem) !important;
  letter-spacing: -0.045em !important;
}

.innari2026TopDrawer .innari2026PlaylistLabel {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.innari2026TopDrawer .innari2026PlaylistLabel #innari2026TopPLName {
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--app-green) !important;
  font-size: 0.72rem !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  text-overflow: ellipsis !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.innari2026TopDrawer .innari2026PlaylistCurrentCard:not(:disabled) {
  cursor: pointer !important;
}

.innari2026TopDrawer .innari2026PlaylistCurrentCard:not(:disabled):hover {
  border-color: rgba(14, 107, 99, 0.46) !important;
  background: rgba(224, 247, 242, 0.86) !important;
}

@media (max-width: 430px) {
  .innari2026TopDrawer .innari2026QuickActions {
    gap: 7px !important;
  }

  .innari2026TopDrawer .innari2026QuickActions .innari2026DrawerButton {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .innari2026TopDrawer .innari2026QuickActions .innari2026DrawerButton .material-symbols-rounded {
    font-size: 1.42rem !important;
  }

  .innari2026TopDrawer .innari2026QuickActions .innari2026QuickLongLabel {
    font-size: clamp(0.46rem, 2.55vw, 0.58rem) !important;
    letter-spacing: -0.06em !important;
  }

  .innari2026TopDrawer .innari2026PlaylistLabel #innari2026TopPLName {
    font-size: 0.66rem !important;
  }
}

/* v11.3 - Allinea a destra il brano successivo in Navigazione Innario e Navigazione Cronologia */
.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext {
  justify-content: flex-end !important;
  text-align: right !important;
}

.innari2026TopDrawer .innari2026SongBrowseCard.innari2026SongBrowseNext strong,
.innari2026TopDrawer .innari2026HistoryButton.innari2026HistoryNext strong {
  text-align: right !important;
}

/* v11.4 - Su mobile il box brano diventa scrollabile orizzontalmente.
   Serve per i brani con accordi/righe piu' larghe del viewport: non spezziamo
   l'allineamento storico degli accordi, ma permettiamo lo scorrimento laterale. */
@media (max-width: 680px) {
  #tabellaTestoBrano {
    box-sizing: border-box !important;
    display: block !important;
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    touch-action: pan-x pan-y !important;
  }

  #tabellaTestoBrano > tbody,
  #tabellaTestoBrano > tbody > tr,
  #tabellaTestoBrano > tbody > tr > td {
    box-sizing: border-box !important;
    max-width: none !important;
    overflow: visible !important;
  }

  #testo.divBrano {
    max-width: none !important;
    overflow: visible !important;
  }

  #testo.divBrano.innari2026MobileWrap {
    width: max-content !important;
    min-width: calc(100vw - 42px) !important;
    max-width: none !important;
    overflow: visible !important;
    touch-action: pan-x pan-y !important;
  }

  #testo.divBrano.innari2026MobileWrap .innari2026SongHead {
    box-sizing: border-box !important;
    width: calc(100vw - 64px) !important;
    max-width: calc(100vw - 64px) !important;
  }

  #testo.divBrano.innari2026MobileWrap .innari2026SongHead h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

/* v11.5 - Ripristina il ritorno a capo del testo del brano mantenendo lo scroll orizzontale di sicurezza.
   La v11.4 rendeva #testo largo quanto il contenuto (max-content): cosi' il brano non andava piu' a capo.
   Ora il testo torna a usare la larghezza sicura mobile; lo scroll orizzontale resta disponibile solo se qualche
   frammento/accordo supera davvero la larghezza del box. */
@media (max-width: 680px) {
  #tabellaTestoBrano {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
  }

  #tabellaTestoBrano > tbody,
  #tabellaTestoBrano > tbody > tr,
  #tabellaTestoBrano > tbody > tr > td {
    max-width: 100% !important;
  }

  #testo.divBrano {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  #testo.divBrano.innari2026MobileWrap {
    box-sizing: border-box !important;
    width: var(--innari2026-song-safe-width, 100%) !important;
    min-width: 0 !important;
    max-width: var(--innari2026-song-safe-width, 100%) !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  #testo.divBrano.innari2026MobileWrap p,
  #testo.divBrano.innari2026MobileWrap p.testoAccordi,
  #testo.divBrano.innari2026MobileWrap p.soloTesto {
    box-sizing: border-box !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  #testo.divBrano.innari2026MobileWrap .innari2026SongHead {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v11.6 - etichette estese per i chip ambito ricerca */
.innari2026SearchScopeChips {
  min-width: 0 !important;
}

.innari2026SearchScopeChip {
  max-width: min(42vw, 210px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.innari2026SearchScopeChip span:not(.material-symbols-rounded) {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 680px) {
  .innari2026SearchStatusRow {
    align-items: center !important;
  }

  .innari2026SearchScopeChips {
    max-width: 72vw !important;
  }

  .innari2026SearchScopeChip {
    max-width: 34vw !important;
    padding: 0 7px !important;
    gap: 3px !important;
    font-size: clamp(0.58rem, 2.55vw, 0.72rem) !important;
  }

  .innari2026SearchScopeChip .material-symbols-rounded {
    flex: 0 0 auto !important;
    font-size: clamp(0.82rem, 3.3vw, 0.96rem) !important;
  }
}

@media (max-width: 380px) {
  .innari2026SearchScopeChip {
    max-width: 32vw !important;
    padding: 0 6px !important;
    font-size: clamp(0.54rem, 2.45vw, 0.66rem) !important;
  }
}


/* v11.7 - metadati brano sotto il titolo grande */
.innari2026SongHead h1 {
  margin-top: 0 !important;
}

.innari2026SongMetaLine {
  margin: 12px 0 0;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--app-muted);
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  font-size: clamp(0.88rem, 1.6vw, 1rem);
  font-weight: 900;
  line-height: 1.25;
}

.innari2026SongNumberPill {
  flex: 0 0 auto;
  min-width: 2.25em;
  padding: 3px 9px 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(195, 84, 58, 0.26);
  border-radius: 999px;
  background: rgba(255, 239, 220, 0.95);
  color: var(--app-coral);
  font-size: 0.92em;
  font-weight: 1000;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62);
}

.innari2026SongMetaSep {
  flex: 0 0 auto;
  color: rgba(104, 116, 109, 0.72);
  font-weight: 1000;
}

.innari2026SongMetaSource {
  min-width: 0;
  overflow: hidden;
  color: var(--app-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026SongMetaAuthor {
  margin: 5px 0 0;
  max-width: 100%;
  overflow: hidden;
  color: var(--app-ink);
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  font-size: clamp(0.84rem, 1.45vw, 0.96rem);
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .innari2026SongMetaLine {
    gap: 7px;
    font-size: 0.9rem;
  }

  .innari2026SongNumberPill {
    padding: 3px 8px 4px;
  }

  .innari2026SongMetaAuthor {
    font-size: 0.86rem;
  }
}


/* v12.0 - autore sulla stessa riga di numero e innario */
.innari2026SongMetaLine {
  flex-wrap: wrap !important;
}

.innari2026SongMetaAuthorInline {
  min-width: 0;
  overflow: hidden;
  color: var(--app-ink);
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .innari2026SongMetaLine {
    row-gap: 5px !important;
  }

  .innari2026SongMetaSource,
  .innari2026SongMetaAuthorInline {
    max-width: 100%;
  }
}


/* v12.1 - Risorse: supporto biblico sotto il brano */
.innari2026ResourcesList {
  display: grid;
  gap: 16px;
}

.innari2026ResourceSubsection {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(222, 215, 201, 0.84);
  border-radius: calc(var(--app-radius) - 10px);
  background: rgba(255, 250, 240, 0.74);
}

.innari2026ResourceSubsection + .innari2026ResourceSubsection {
  margin-top: 0;
}

.innari2026ResourceAttachments {
  padding: 0;
  border: 0;
  background: transparent;
}

.innari2026ResourceAttachments .innari2026ResourceSubHead {
  margin-bottom: 2px;
}

.innari2026ResourceSubHead {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.innari2026ResourceSubHead > .material-symbols-outlined {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-family: "Material Symbols Outlined" !important;
  font-size: 1.32rem !important;
}

.innari2026ResourceSubHead span:not(.material-symbols-outlined) {
  display: block;
  margin-bottom: 1px;
  color: var(--app-muted);
  font-size: 0.72rem;
  font-weight: 1000;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.innari2026ResourceSubHead h4 {
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.02rem, 2vw, 1.18rem);
  line-height: 1.08;
  font-weight: 1000;
}

.innari2026ResourceDate {
  color: var(--app-muted);
  font-size: 0.8rem;
  font-weight: 800;
}

.innari2026BibleVerseChips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026BibleVerseChip,
.innari2026BibleAllLink {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 11px;
  border: 1px solid rgba(23, 106, 95, 0.25);
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.82);
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 1000 0.88rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BibleVerseChip::before {
  content: "menu_book";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1rem;
  line-height: 1;
}

.innari2026BibleAllLink {
  justify-self: start;
  margin-top: 2px;
  background: var(--app-paper-2);
}

.innari2026ReflectionText {
  color: var(--app-ink);
  font-size: clamp(0.96rem, 1.8vw, 1.04rem);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

@media (max-width: 680px) {
  .innari2026ResourceSubsection {
    padding: 12px;
  }

  .innari2026ResourceSubHead {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .innari2026ResourceSubHead > .material-symbols-outlined {
    width: 34px;
    height: 34px;
    font-size: 1.18rem !important;
  }

  .innari2026BibleVerseChip,
  .innari2026BibleAllLink {
    width: 100%;
    justify-content: flex-start;
  }
}


/* v12.2 - Bibbia page=1 in stile Innari 2026 */
body.innari2026BiblePage {
  min-height: 100vh;
}

body.innari2026BiblePage #TitoloPagina {
  display: none !important;
}

body.innari2026BiblePage > table.soloTesto,
body.innari2026BiblePage table.soloTesto {
  width: min(1100px, calc(100% - 24px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.innari2026BibleSearchCard,
.innari2026BibleHelp {
  width: min(940px, calc(100vw - 28px));
  margin: clamp(16px, 3vw, 32px) auto;
  box-sizing: border-box;
}

.innari2026BibleSearchCard {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: var(--app-shadow);
  padding: clamp(20px, 4vw, 44px);
  position: relative;
  overflow: hidden;
}

.innari2026BibleSearchCard::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 106, 95, 0.13), transparent 68%);
  pointer-events: none;
}

.innari2026BibleSearchForm {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  margin: 0;
}

.innari2026BibleSearchHead {
  display: grid;
  gap: 8px;
}

.innari2026BibleKicker {
  color: var(--app-green);
  font: 950 0.8rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.innari2026BibleSearchHead h1 {
  margin: 0;
  color: var(--app-ink);
  font: 950 clamp(2.25rem, 7vw, 5rem)/0.94 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: -0.045em;
}

.innari2026BibleSearchHead p {
  max-width: 720px;
  margin: 0;
  color: var(--app-muted);
  font: 850 clamp(1rem, 2vw, 1.18rem)/1.35 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BibleSearchBox {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}

.innari2026BibleInputWrap {
  min-width: 0;
  min-height: 64px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border: 2px solid rgba(23, 106, 95, 0.25);
  border-radius: var(--app-radius);
  background: var(--app-paper-2);
  box-shadow: 0 0 0 5px rgba(23, 106, 95, 0.05);
  box-sizing: border-box;
}

.innari2026BibleInputWrap .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 2rem !important;
}

.innari2026BibleInputWrap input {
  min-width: 0;
  width: 100%;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  font: 950 1.12rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

.innari2026BibleSearchButton,
.innari2026BibleActions button,
.innari2026BibleOperators button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-green) !important;
  font: 950 0.95rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  cursor: pointer;
}

.innari2026BibleSearchButton {
  min-height: 64px;
  padding: 0 20px;
  background: var(--app-green) !important;
  color: #fffdf7 !important;
  border-color: rgba(23, 106, 95, 0.5) !important;
}

.innari2026BibleSearchButton .material-symbols-outlined,
.innari2026BibleActions button .material-symbols-outlined {
  font-size: 1.35rem !important;
}

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

.innari2026BibleSelectField {
  display: grid;
  gap: 6px;
  color: var(--app-muted);
  font: 950 0.78rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.innari2026BibleSelectField select,
.innari2026BibleSearchCard select.whiteBox {
  width: 100% !important;
  min-height: 46px;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  padding: 0 12px !important;
  font: 900 0.95rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

.innari2026BibleAdvanced {
  border: 1px solid rgba(23, 106, 95, 0.18);
  border-radius: var(--app-radius);
  background: rgba(228, 241, 236, 0.45);
  overflow: hidden;
}

.innari2026BibleAdvanced summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 14px;
  color: var(--app-green);
  font: 950 0.95rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  cursor: pointer;
  list-style: none;
}

.innari2026BibleAdvanced summary::-webkit-details-marker {
  display: none;
}

.innari2026BibleAdvanced[open] summary .material-symbols-outlined {
  transform: rotate(180deg);
}

.innari2026BibleOperators {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 14px 14px;
}

.innari2026BibleOperators button {
  min-width: 46px;
  min-height: 36px;
  padding: 0 12px;
  background: rgba(255, 253, 247, 0.9) !important;
}

.innari2026BibleActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026BibleActions button {
  min-height: 42px;
  padding: 0 12px;
}

.innari2026BibleHelp details {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.94);
  box-shadow: 0 18px 50px rgba(52, 45, 34, 0.1);
  overflow: hidden;
}

.innari2026BibleHelp summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 18px;
  cursor: pointer;
  color: var(--app-green);
  font: 950 1.02rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  list-style: none;
}

.innari2026BibleHelp summary::-webkit-details-marker {
  display: none;
}

.innari2026BibleHelp details[open] summary .material-symbols-outlined {
  transform: rotate(180deg);
}

.innari2026BibleHelpBody {
  padding: 0 18px 18px;
  color: var(--app-muted);
  font: 800 0.96rem/1.45 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

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

.innari2026BibleHelpGrid article {
  border: 1px solid rgba(23, 106, 95, 0.12);
  border-radius: var(--app-radius);
  background: rgba(249, 244, 233, 0.72);
  padding: 14px;
}

.innari2026BibleHelpGrid h3 {
  margin: 0 0 8px;
  color: var(--app-ink);
  font: 950 1rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BibleHelpGrid p {
  margin: 0 0 8px;
}

.innari2026BibleExample {
  color: var(--app-green);
}

@media (max-width: 760px) {
  .innari2026BibleSearchCard,
  .innari2026BibleHelp {
    width: min(100% - 16px, 940px);
    margin-top: 10px;
  }

  .innari2026BibleSearchCard {
    padding: 18px;
  }

  .innari2026BibleSearchBox {
    grid-template-columns: minmax(0, 1fr);
  }

  .innari2026BibleSearchButton {
    min-height: 50px;
  }

  .innari2026BibleOptions,
  .innari2026BibleHelpGrid {
    grid-template-columns: 1fr;
  }

  .innari2026BibleSearchHead h1 {
    font-size: clamp(2.1rem, 12vw, 3.6rem);
  }
}


/* v12.4 - Bibbia mobile first e risultati in card */
body.innari2026BiblePage {
  overflow-x: hidden !important;
}

body.innari2026BiblePage *,
body.innari2026BiblePage *::before,
body.innari2026BiblePage *::after {
  box-sizing: border-box;
}

body.innari2026BiblePage table,
body.innari2026BiblePage tbody,
body.innari2026BiblePage tr,
body.innari2026BiblePage td {
  max-width: 100% !important;
}

body.innari2026BiblePage > table.soloTesto,
body.innari2026BiblePage table.soloTesto {
  width: min(1060px, calc(100vw - 16px)) !important;
}

.innari2026BibleSearchCard,
.innari2026BibleHelp,
.innari2026BiblePagerCard,
.innari2026BiblePagerBottom,
.innari2026BibleResultsOuter {
  width: min(960px, calc(100vw - 18px)) !important;
  max-width: calc(100vw - 18px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.innari2026BibleSearchHead h1,
.innari2026BibleSearchHead p {
  max-width: 100% !important;
  overflow-wrap: anywhere;
}

.innari2026BibleSearchCard select,
.innari2026BibleSearchCard input,
.innari2026BibleSearchCard button {
  max-width: 100% !important;
}

.innari2026BiblePagerCard,
.innari2026BiblePagerBottom,
.innari2026BibleResults {
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 18px 55px rgba(52, 45, 34, 0.1);
}

.innari2026BiblePagerCard,
.innari2026BiblePagerBottom {
  padding: 14px;
  margin-top: 16px;
  margin-bottom: 16px;
}

.innari2026BiblePagerMeta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--app-muted);
  font: 850 0.96rem/1.25 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  text-align: center;
  margin-bottom: 10px;
}

.innari2026BiblePagerMeta strong {
  color: var(--app-green);
  font-weight: 950;
}

.innari2026BibleNoResults {
  color: var(--app-red);
  font-weight: 950;
}

.innari2026BiblePagerRow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.innari2026BiblePagerLinks {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.innari2026BiblePageLink {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid rgba(23, 106, 95, 0.18);
  border-radius: 14px;
  background: rgba(249, 244, 233, 0.84);
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 950 1rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BiblePageLinkCurrent {
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #fff !important;
}

.innari2026BiblePageSelect {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--app-muted);
  font: 850 0.86rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BiblePageSelect select,
.innari2026BibleAltVersion select {
  min-height: 40px;
  border: 1px solid var(--app-line) !important;
  border-radius: 14px !important;
  background: rgba(255, 253, 247, 0.96) !important;
  color: var(--app-ink) !important;
  font: 850 0.95rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  padding: 0 34px 0 12px !important;
}

.innari2026BibleResults {
  overflow: hidden;
  margin-top: 16px;
  margin-bottom: 28px;
}

.innari2026BibleResultsSummary {
  padding: 18px clamp(16px, 3vw, 28px);
  border-bottom: 1px solid var(--app-line);
  background: linear-gradient(180deg, rgba(228, 241, 236, 0.92), rgba(255, 253, 247, 0.94));
}

.innari2026BibleResultsKicker {
  display: inline-block;
  margin-bottom: 6px;
  color: var(--app-green);
  font: 950 0.76rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.innari2026BibleResultsSummary h2 {
  margin: 0;
  color: var(--app-ink);
  font: 950 clamp(1.5rem, 4vw, 2.35rem)/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: -0.035em;
}

.innari2026BibleResultsSummary p {
  margin: 8px 0 0;
  color: var(--app-muted);
  font: 850 1rem/1.32 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BibleResultsSummary p strong {
  color: var(--app-green);
  font-weight: 950;
}

.innari2026BibleAltVersion {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  color: var(--app-muted);
  font: 850 0.92rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BibleResultsCards {
  display: grid;
  gap: 0;
}

.innari2026BibleResultCard {
  margin: 0;
  padding: 0;
  background: rgba(255, 253, 247, 0.96);
  border-bottom: 1px solid rgba(216, 207, 190, 0.78);
}

.innari2026BibleResultCard:nth-child(odd) {
  background: rgba(231, 243, 238, 0.68);
}

.innari2026BibleResultCard:last-child {
  border-bottom: 0;
}

.innari2026BibleResultInner {
  padding: clamp(16px, 3vw, 24px);
}

.innari2026BibleResultHeader {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.innari2026BibleResultReference {
  min-width: 0;
  color: var(--app-ink) !important;
  text-decoration: none !important;
  font: 950 clamp(1.02rem, 2.6vw, 1.25rem)/1.15 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  overflow-wrap: anywhere;
}

.innari2026BibleResultReference:hover,
.innari2026BibleResultReference:focus-visible {
  color: var(--app-green) !important;
  outline: none;
}

.innari2026BibleResultToggle {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(23, 106, 95, 0.16);
  border-radius: 15px;
  background: rgba(255, 253, 247, 0.92);
  color: var(--app-green);
  cursor: pointer;
  box-shadow: none;
}

.innari2026BibleResultToggle .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.innari2026BibleVerseText {
  margin: 0;
  color: var(--app-ink);
  font: 700 clamp(1.05rem, 2.6vw, 1.32rem)/1.45 var(--innari2026-reading-font, Georgia, "Times New Roman", serif);
  overflow-wrap: anywhere;
}

.innari2026BibleResultOptions {
  max-width: 100%;
  overflow-x: auto;
  margin: 8px 0 12px;
  -webkit-overflow-scrolling: touch;
}

.innari2026BibleResultOptions table,
.innari2026BibleResultOptions .whiteBox {
  max-width: 100% !important;
}

.innari2026BibleResultExtra {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 14px;
  border-radius: 16px;
  background: rgba(255, 253, 247, 0.86);
  box-shadow: 0 10px 30px rgba(52, 45, 34, 0.08) !important;
  overflow: auto;
}

@media (max-width: 760px) {
  body.innari2026BiblePage > table.soloTesto,
  body.innari2026BiblePage table.soloTesto {
    width: calc(100vw - 8px) !important;
  }

  .innari2026BibleSearchCard,
  .innari2026BibleHelp,
  .innari2026BiblePagerCard,
  .innari2026BiblePagerBottom,
  .innari2026BibleResultsOuter {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
  }

  .innari2026BibleSearchCard {
    margin-top: 4px !important;
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .innari2026BibleSearchHead h1 {
    font-size: clamp(2.25rem, 12vw, 3.4rem) !important;
    line-height: 0.95 !important;
  }

  .innari2026BibleSearchHead p {
    font-size: 0.98rem !important;
    line-height: 1.28 !important;
  }

  .innari2026BibleInputWrap {
    min-height: 58px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    padding: 0 12px !important;
  }

  .innari2026BibleInputWrap input {
    font-size: 1.08rem !important;
  }

  .innari2026BibleSearchButton {
    width: 100% !important;
    min-height: 52px !important;
  }

  .innari2026BibleActions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .innari2026BibleActions button {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    padding: 0 8px !important;
    font-size: 0.9rem !important;
  }

  .innari2026BibleOperators {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .innari2026BiblePagerCard,
  .innari2026BiblePagerBottom {
    padding: 12px 8px !important;
  }

  .innari2026BiblePagerMeta {
    font-size: 0.88rem !important;
  }

  .innari2026BiblePagerRow {
    gap: 8px;
  }

  .innari2026BiblePagerLinks {
    gap: 4px;
  }

  .innari2026BiblePageLink {
    min-width: 34px;
    min-height: 34px;
    border-radius: 12px;
    padding: 0 8px;
    font-size: 0.92rem;
  }

  .innari2026BiblePageSelect {
    width: 100%;
    justify-content: center;
  }

  .innari2026BibleResultsSummary {
    padding: 16px 14px;
  }

  .innari2026BibleResultInner {
    padding: 16px 14px;
  }

  .innari2026BibleResultToggle {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }

  .innari2026BibleVerseText {
    font-size: 1.08rem !important;
    line-height: 1.42 !important;
  }
}

/* v12.4 - correzione tabelle interne opzioni versetto */
.innari2026BibleResultOptions table,
.innari2026BibleResultOptions table.soloTesto,
.innari2026BibleResultOptions table.whiteBox {
  width: auto !important;
  min-width: min(100%, 320px) !important;
}


/* v12.5 - Bibbia: fix overflow mobile e ritorno a capo versetti */
html,
body.innari2026BiblePage {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage {
  margin: 0 !important;
  padding: 0 !important;
}

body.innari2026BiblePage table,
body.innari2026BiblePage tbody,
body.innari2026BiblePage tr,
body.innari2026BiblePage td {
  box-sizing: border-box !important;
}

body.innari2026BiblePage > table,
body.innari2026BiblePage > table.soloTesto,
body.innari2026BiblePage table.soloTesto {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  table-layout: fixed !important;
}

body.innari2026BiblePage td {
  max-width: 100% !important;
  min-width: 0 !important;
}

.innari2026BibleSearchCard,
.innari2026BibleHelp,
.innari2026BiblePagerCard,
.innari2026BiblePagerBottom,
.innari2026BibleResultsOuter {
  width: min(960px, calc(100% - 18px)) !important;
  max-width: calc(100% - 18px) !important;
  overflow-x: hidden !important;
}

.innari2026BibleResults,
.innari2026BibleResultsCards,
.innari2026BibleResultCard,
.innari2026BibleResultInner,
.innari2026BibleResultHeader,
.innari2026BibleVerseText {
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026BiblePage p,
.innari2026BibleVerseText,
.innari2026BibleVerseText *,
.innari2026BibleVerseText span,
.innari2026BibleVerseText p,
.innari2026BibleVerseText b,
.innari2026BibleVerseText i,
.innari2026BibleVerseText font {
  white-space: normal !important;
}

.innari2026BibleVerseText {
  display: block !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto;
  font-weight: 560 !important;
}

.innari2026BibleVerseText * {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.innari2026BibleResultOptions,
.innari2026BibleResultExtra {
  max-width: 100% !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage > table,
  body.innari2026BiblePage > table.soloTesto,
  body.innari2026BiblePage table.soloTesto {
    width: 100% !important;
    max-width: 100% !important;
  }

  .innari2026BibleSearchCard,
  .innari2026BibleHelp,
  .innari2026BiblePagerCard,
  .innari2026BiblePagerBottom,
  .innari2026BibleResultsOuter {
    width: calc(100% - 14px) !important;
    max-width: calc(100% - 14px) !important;
  }

  .innari2026BibleSearchHead h1 {
    max-width: 100% !important;
    font-size: clamp(2rem, 10.5vw, 3rem) !important;
    overflow-wrap: break-word !important;
  }

  .innari2026BibleSearchHead p {
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .innari2026BibleResultsSummary h2 {
    font-size: clamp(1.55rem, 8.5vw, 2.25rem) !important;
  }

  .innari2026BibleVerseText {
    font-size: clamp(1.02rem, 4.6vw, 1.18rem) !important;
    line-height: 1.48 !important;
  }
}


/* v12.6 - Bibbia: cache busting + fix mobile definitivo risultati/versetti */
body.innari2026BiblePage,
body.innari2026BiblePage * {
  box-sizing: border-box !important;
}

body.innari2026BiblePage {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage > table,
body.innari2026BiblePage > table > tbody,
body.innari2026BiblePage > table > tbody > tr,
body.innari2026BiblePage > table > tbody > tr > td,
body.innari2026BiblePage table.soloTesto,
body.innari2026BiblePage table.soloTesto > tbody,
body.innari2026BiblePage table.soloTesto > tbody > tr,
body.innari2026BiblePage table.soloTesto > tbody > tr > td {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  overflow: visible !important;
}

body.innari2026BiblePage .innari2026BibleSearchCard,
body.innari2026BiblePage .innari2026BibleHelp,
body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom,
body.innari2026BiblePage .innari2026BibleResultsOuter,
body.innari2026BiblePage .innari2026BibleResults,
body.innari2026BiblePage .innari2026BibleResultsCards,
body.innari2026BiblePage .innari2026BibleResultCard,
body.innari2026BiblePage .innari2026BibleResultInner {
  width: min(960px, calc(100% - 16px)) !important;
  max-width: calc(100% - 16px) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BibleResults,
body.innari2026BiblePage .innari2026BibleResultsCards,
body.innari2026BiblePage .innari2026BibleResultCard,
body.innari2026BiblePage .innari2026BibleResultInner {
  width: 100% !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleSearchHead,
body.innari2026BiblePage .innari2026BibleSearchHead h1,
body.innari2026BiblePage .innari2026BibleSearchHead p,
body.innari2026BiblePage .innari2026BibleResultsSummary,
body.innari2026BiblePage .innari2026BibleResultsSummary h2,
body.innari2026BiblePage .innari2026BibleResultsSummary p {
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

body.innari2026BiblePage .innari2026BibleVerseText,
body.innari2026BiblePage .innari2026BibleVerseText *,
body.innari2026BiblePage .innari2026BibleVerseText span,
body.innari2026BiblePage .innari2026BibleVerseText span.testoSemplice,
body.innari2026BiblePage .innari2026BibleVerseText font,
body.innari2026BiblePage .innari2026BibleVerseText b,
body.innari2026BiblePage .innari2026BibleVerseText strong,
body.innari2026BiblePage .innari2026BibleVerseText i,
body.innari2026BiblePage .innari2026BibleVerseText em {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleVerseText {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  font-family: var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  font-weight: 560 !important;
  line-height: 1.48 !important;
}

body.innari2026BiblePage .innari2026BibleVerseText span.testoSemplice {
  display: inline !important;
}

body.innari2026BiblePage .innari2026BibleInputWrap,
body.innari2026BiblePage .innari2026BibleInputWrap input,
body.innari2026BiblePage .innari2026BibleSelectField,
body.innari2026BiblePage .innari2026BibleSelectField select,
body.innari2026BiblePage .innari2026BibleAltVersion,
body.innari2026BiblePage .innari2026BibleAltVersion select,
body.innari2026BiblePage .innari2026BiblePageSelect,
body.innari2026BiblePage .innari2026BiblePageSelect select {
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BibleSearchCard,
  body.innari2026BiblePage .innari2026BibleHelp,
  body.innari2026BiblePage .innari2026BiblePagerCard,
  body.innari2026BiblePage .innari2026BiblePagerBottom,
  body.innari2026BiblePage .innari2026BibleResultsOuter {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
  }

  body.innari2026BiblePage .innari2026BibleSearchCard {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.innari2026BiblePage .innari2026BibleSearchHead h1 {
    font-size: clamp(1.95rem, 9.8vw, 3rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
  }

  body.innari2026BiblePage .innari2026BibleSearchHead p {
    font-size: clamp(0.86rem, 3.7vw, 1rem) !important;
    line-height: 1.25 !important;
  }

  body.innari2026BiblePage .innari2026BibleResultsSummary h2 {
    font-size: clamp(1.55rem, 8.3vw, 2.15rem) !important;
    line-height: 1.02 !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseText {
    font-size: clamp(1rem, 4.3vw, 1.14rem) !important;
    line-height: 1.5 !important;
  }
}


/* v12.7 - Bibbia: pannello azioni versetto moderno */
body.innari2026BiblePage .innari2026BibleResultToggle[aria-expanded="true"],
body.innari2026BiblePage .innari2026BibleResultToggle:hover,
body.innari2026BiblePage .innari2026BibleResultToggle:focus-visible {
  background: rgba(228, 241, 236, 0.96) !important;
  border-color: rgba(23, 106, 95, 0.34) !important;
  outline: none !important;
}

body.innari2026BiblePage .innari2026BibleResultOptions {
  margin: 14px 0 0 !important;
  overflow: visible !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionsPanel {
  width: 100% !important;
  max-width: 100% !important;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(23, 106, 95, 0.16);
  border-radius: 18px;
  background: rgba(255, 253, 247, 0.92);
  box-shadow: 0 14px 38px rgba(52, 45, 34, 0.08);
}

body.innari2026BiblePage .innari2026BibleVerseActionSection {
  min-width: 0;
}

body.innari2026BiblePage .innari2026BibleVerseActionSection label,
body.innari2026BiblePage .innari2026BibleVerseActionSection h4 {
  display: block;
  margin: 0 0 7px;
  color: var(--app-muted);
  font: 950 0.75rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

body.innari2026BiblePage .innari2026BibleVerseActionSection h4 {
  margin-top: 2px;
}

body.innari2026BiblePage .innari2026BibleVerseSelect {
  width: 100% !important;
  min-height: 46px !important;
  max-width: 100% !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 15px !important;
  background: rgba(249, 244, 233, 0.84) !important;
  color: var(--app-ink) !important;
  font: 900 1rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  padding: 0 38px 0 12px !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-width: 100%;
}

body.innari2026BiblePage .innari2026BibleVerseActionGridNav {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.innari2026BiblePage .innari2026BibleVerseActionButton {
  min-width: 0 !important;
  min-height: 58px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 6px;
  border: 1px solid rgba(216, 207, 190, 0.92) !important;
  border-radius: 16px !important;
  background: rgba(249, 244, 233, 0.78) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
  font: 950 clamp(0.66rem, 2.1vw, 0.82rem)/1.05 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-align: center;
  white-space: normal !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton .material-symbols-outlined,
body.innari2026BiblePage .innari2026BibleVerseActionButton .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: clamp(1.35rem, 4vw, 1.7rem) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton:hover,
body.innari2026BiblePage .innari2026BibleVerseActionButton:focus-visible {
  background: rgba(228, 241, 236, 0.95) !important;
  border-color: rgba(23, 106, 95, 0.3) !important;
  outline: none !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton:active {
  transform: translateY(1px);
}

body.innari2026BiblePage .innari2026BibleInlineWait {
  padding: 14px;
  color: var(--app-green);
  font: 900 0.95rem/1.35 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  text-align: center;
}

body.innari2026BiblePage .innari2026BibleResultExtra:empty {
  display: none !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BibleVerseActionsPanel {
    padding: 12px;
    border-radius: 17px;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGrid,
  body.innari2026BiblePage .innari2026BibleVerseActionGridNav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGridNav .innari2026BibleVerseActionButton:first-child {
    grid-column: 1 / -1;
    flex-direction: row;
    min-height: 50px;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionButton {
    min-height: 54px;
    padding: 8px 5px;
  }
}

@media (min-width: 761px) {
  body.innari2026BiblePage .innari2026BibleVerseActionVersion {
    max-width: 360px;
  }
}


/* v12.8 - visualizzazione capitolo biblico in stile Innari 2026 */
.innari2026BibleChapterView {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  color: var(--app-ink, #1f2421) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  overflow: hidden !important;
}

.innari2026BibleChapterHeader {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 18px 20px 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.16) !important;
  border-bottom: 0 !important;
  border-radius: 22px 22px 0 0 !important;
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.96), rgba(255, 252, 245, 0.94)) !important;
  box-sizing: border-box !important;
}

.innari2026BibleChapterKicker {
  display: inline-flex !important;
  align-items: center !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font: 900 0.72rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  color: var(--app-green, #0f766e) !important;
}

.innari2026BibleChapterHeader h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--app-ink, #1f2421) !important;
  font: 900 clamp(1.45rem, 4.5vw, 2rem)/1.05 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  letter-spacing: -0.03em !important;
  overflow-wrap: anywhere !important;
}

.innari2026BibleChapterText {
  width: 100% !important;
  max-width: 100% !important;
  padding: 8px 0 !important;
  border: 1px solid rgba(23, 106, 95, 0.16) !important;
  border-radius: 0 0 22px 22px !important;
  background: rgba(255, 252, 245, 0.94) !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
}

.innari2026BibleChapterVerse {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 18px 14px 62px !important;
  box-sizing: border-box !important;
  color: rgba(31, 36, 33, 0.86) !important;
  font: 750 clamp(1.05rem, 3.9vw, 1.28rem)/1.52 var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  letter-spacing: 0 !important;
  border-top: 1px solid rgba(113, 99, 76, 0.12) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.innari2026BibleChapterVerse:first-child {
  border-top: 0 !important;
}

.innari2026BibleChapterVerse:nth-child(odd) {
  background: rgba(228, 241, 236, 0.52) !important;
}

.innari2026BibleChapterVerse:focus {
  outline: none !important;
}

.innari2026BibleChapterVerseActive {
  background: rgba(244, 218, 167, 0.48) !important;
  box-shadow: inset 5px 0 0 rgba(216, 157, 39, 0.92) !important;
}

.innari2026BibleChapterVerseNum {
  position: absolute !important;
  left: 18px !important;
  top: 14px !important;
  min-width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(23, 106, 95, 0.24) !important;
  border-radius: 10px !important;
  background: rgba(255, 252, 245, 0.96) !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: 0 6px 16px rgba(45, 35, 20, 0.06) !important;
}

.innari2026BibleChapterVerseBody,
.innari2026BibleChapterVerseBody *,
.innari2026BibleChapterVerse .testoSemplice {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  max-width: 100% !important;
}

.innari2026BibleChapterVerseBody p,
.innari2026BibleChapterVerseBody span {
  margin: 0 !important;
}

@media (max-width: 680px) {
  .innari2026BibleResultExtra .innari2026BibleChapterView {
    margin-top: 16px !important;
  }

  .innari2026BibleChapterHeader {
    padding: 16px 16px 12px !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .innari2026BibleChapterText {
    border-radius: 0 0 18px 18px !important;
  }

  .innari2026BibleChapterVerse {
    padding: 13px 14px 13px 52px !important;
    font-size: clamp(1rem, 4.6vw, 1.18rem) !important;
    line-height: 1.5 !important;
  }

  .innari2026BibleChapterVerseNum {
    left: 14px !important;
    top: 13px !important;
    min-width: 28px !important;
    height: 28px !important;
    border-radius: 9px !important;
    font-size: 0.84rem !important;
  }
}


/* v12.9 - capitolo biblico compatto e niente barra inferiore nella pagina Bibbia */
body.innari2026BiblePage #fixedDivTools,
body.innari2026BiblePage #divBottomBar,
body.innari2026BiblePage .fixedDivTools {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.innari2026BibleChapterView {
  margin: 14px 0 0 !important;
  overflow: hidden !important;
}

.innari2026BibleChapterHeader {
  padding: 15px 18px 12px !important;
  border-radius: 20px 20px 0 0 !important;
}

.innari2026BibleChapterText {
  padding: 16px 18px 18px !important;
  border-radius: 0 0 20px 20px !important;
  font-family: var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  font-size: clamp(1.03rem, 2.7vw, 1.22rem) !important;
  line-height: 1.72 !important;
  color: rgba(31, 36, 33, 0.86) !important;
}

.innari2026BibleChapterVerse {
  position: static !important;
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.innari2026BibleChapterVerse:nth-child(odd) {
  background: transparent !important;
}

.innari2026BibleChapterVerseActive {
  background: rgba(244, 218, 167, 0.42) !important;
  box-shadow: none !important;
  border-radius: 10px !important;
  padding: 0 2px !important;
}

.innari2026BibleChapterVerseNum {
  position: static !important;
  width: auto !important;
  min-width: 1.65em !important;
  height: 1.65em !important;
  margin: 0 0.28em 0 0.1em !important;
  padding: 0 0.42em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: 0.08em !important;
  border: 1px solid rgba(23, 106, 95, 0.24) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.92) !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.72em/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  box-shadow: none !important;
}

.innari2026BibleChapterVerseBody,
.innari2026BibleChapterVerseBody *,
.innari2026BibleChapterVerse .testoSemplice {
  display: inline !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  max-width: 100% !important;
}

.innari2026BibleChapterVerseBody p,
.innari2026BibleChapterVerseBody span {
  display: inline !important;
  margin: 0 !important;
}

@media (max-width: 680px) {
  body.innari2026BiblePage {
    padding-bottom: 12px !important;
  }

  .innari2026BibleResultExtra .innari2026BibleChapterView {
    margin-top: 12px !important;
  }

  .innari2026BibleChapterHeader {
    padding: 14px 15px 10px !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .innari2026BibleChapterHeader h3 {
    font-size: clamp(1.35rem, 7vw, 1.8rem) !important;
  }

  .innari2026BibleChapterText {
    padding: 14px 15px 16px !important;
    border-radius: 0 0 18px 18px !important;
    font-size: clamp(1rem, 4.6vw, 1.13rem) !important;
    line-height: 1.66 !important;
  }

  .innari2026BibleChapterVerseNum {
    min-width: 1.55em !important;
    height: 1.55em !important;
    margin-right: 0.22em !important;
    padding: 0 0.36em !important;
    font-size: 0.68em !important;
  }
}


/* v13.0 - lettura biblica diretta in stile Innari 2026 */
.innari2026BibleReadingView,
.innari2026BibleReadingView * {
  box-sizing: border-box !important;
}

.innari2026BibleReadingView {
  width: min(980px, 100%) !important;
  max-width: 100% !important;
  margin: 18px auto 28px !important;
  padding: 0 !important;
  color: var(--app-ink, #1f2421) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingHero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: start !important;
  padding: clamp(18px, 4vw, 30px) !important;
  border: 1px solid rgba(23, 106, 95, 0.18) !important;
  border-radius: 26px 26px 0 0 !important;
  background:
    radial-gradient(circle at 14% 4%, rgba(23, 106, 95, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(228, 241, 236, 0.96), rgba(255, 252, 245, 0.96)) !important;
  box-shadow: 0 18px 44px rgba(53, 44, 31, 0.08) !important;
}

.innari2026BibleReadingKicker {
  display: inline-flex !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.74rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingHero h1 {
  margin: 0 !important;
  color: var(--app-ink, #1f2421) !important;
  font: 950 clamp(2rem, 6vw, 3.8rem)/0.96 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  letter-spacing: -0.06em !important;
  overflow-wrap: anywhere !important;
}

.innari2026BibleReadingHero p {
  margin: 10px 0 0 !important;
  color: var(--app-muted, #66716d) !important;
  font: 850 clamp(1rem, 2.4vw, 1.25rem)/1.25 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  overflow-wrap: anywhere !important;
}

.innari2026BibleReadingActions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.innari2026BibleReadingAction,
button.innari2026BibleReadingAction {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  border-radius: 16px !important;
  background: rgba(255, 252, 245, 0.92) !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.innari2026BibleReadingAction .material-symbols-rounded {
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.innari2026BibleReadingContent {
  width: 100% !important;
  max-width: 100% !important;
  padding: clamp(14px, 3vw, 24px) !important;
  border: 1px solid rgba(23, 106, 95, 0.18) !important;
  border-top: 0 !important;
  border-radius: 0 0 26px 26px !important;
  background: rgba(255, 252, 245, 0.94) !important;
}

.innari2026BibleReadingPassage {
  margin: 0 0 16px !important;
  border: 1px solid rgba(23, 106, 95, 0.16) !important;
  border-radius: 22px !important;
  background: rgba(228, 241, 236, 0.46) !important;
  overflow: hidden !important;
}

.innari2026BibleReadingPassageHeader {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 16px 18px 12px !important;
  border-bottom: 1px solid rgba(113, 99, 76, 0.12) !important;
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.86), rgba(255, 252, 245, 0.86)) !important;
}

.innari2026BibleReadingPassageHeader span {
  display: inline-flex !important;
  margin-bottom: 4px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.66rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingPassageHeader h2 {
  margin: 0 !important;
  color: var(--app-ink, #1f2421) !important;
  font: 950 clamp(1.35rem, 4vw, 2rem)/1.05 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  letter-spacing: -0.04em !important;
}

.innari2026BibleReadingChapterLink {
  min-height: 40px !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  border-radius: 14px !important;
  background: rgba(255, 252, 245, 0.94) !important;
  color: var(--app-green, #0f766e) !important;
  text-decoration: none !important;
  font: 950 0.84rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingPassageText {
  padding: 18px !important;
  color: rgba(31, 36, 33, 0.88) !important;
  font-family: var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  font-size: clamp(1.08rem, 2.8vw, 1.3rem) !important;
  line-height: 1.72 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.innari2026BibleReadingVerse {
  display: inline !important;
  white-space: normal !important;
}

.innari2026BibleReadingVerseNum {
  min-width: 1.65em !important;
  height: 1.65em !important;
  margin: 0 0.28em 0 0.05em !important;
  padding: 0 0.42em !important;
  display: inline-flex !important;
  vertical-align: 0.08em !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(23, 106, 95, 0.24) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 245, 0.96) !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.72em/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingVerseText,
.innari2026BibleReadingVerseText * {
  display: inline !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.innari2026BibleReadingResults {
  display: grid !important;
  gap: 12px !important;
}

.innari2026BibleReadingResultCard {
  padding: 16px 18px !important;
  border: 1px solid rgba(23, 106, 95, 0.16) !important;
  border-radius: 20px !important;
  background: rgba(228, 241, 236, 0.44) !important;
}

.innari2026BibleReadingResultCard:nth-child(even) {
  background: rgba(255, 252, 245, 0.96) !important;
}

.innari2026BibleReadingResultCard header a {
  color: var(--app-ink, #1f2421) !important;
  text-decoration: none !important;
  font: 950 1.02rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingResultCard p {
  margin: 12px 0 0 !important;
  color: rgba(31, 36, 33, 0.88) !important;
  font: 700 clamp(1rem, 2.8vw, 1.18rem)/1.55 var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.innari2026BibleReadingEmpty {
  padding: 18px !important;
  border: 1px dashed rgba(23, 106, 95, 0.28) !important;
  border-radius: 18px !important;
  background: rgba(228, 241, 236, 0.36) !important;
  color: var(--app-muted, #66716d) !important;
  font: 850 1rem/1.35 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

@media (max-width: 680px) {
  .innari2026BibleReadingView {
    margin: 12px auto 18px !important;
  }

  .innari2026BibleReadingHero {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 20px 18px !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .innari2026BibleReadingHero h1 {
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }

  .innari2026BibleReadingActions {
    justify-content: stretch !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .innari2026BibleReadingAction,
  button.innari2026BibleReadingAction {
    width: 100% !important;
    min-width: 0 !important;
  }

  .innari2026BibleReadingContent {
    padding: 12px !important;
    border-radius: 0 0 22px 22px !important;
  }

  .innari2026BibleReadingPassage {
    border-radius: 18px !important;
  }

  .innari2026BibleReadingPassageHeader {
    padding: 14px !important;
    align-items: flex-start !important;
  }

  .innari2026BibleReadingChapterLink span:not(.material-symbols-rounded) {
    display: none !important;
  }

  .innari2026BibleReadingPassageText {
    padding: 14px !important;
    font-size: clamp(1rem, 4.6vw, 1.14rem) !important;
    line-height: 1.68 !important;
  }

  .innari2026BibleReadingVerseNum {
    min-width: 1.55em !important;
    height: 1.55em !important;
    padding: 0 0.36em !important;
    font-size: 0.68em !important;
  }

  .innari2026BibleReadingResultCard {
    padding: 14px !important;
    border-radius: 18px !important;
  }
}


/* v13.1 - fix icone e riferimenti nella lettura biblica */
.innari2026BibleReadingView .material-symbols-rounded,
.innari2026BibleReadingView .material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  -webkit-font-smoothing: antialiased !important;
  font-feature-settings: 'liga' !important;
  font-variation-settings: 'FILL' 0, 'wght' 650, 'GRAD' 0, 'opsz' 32 !important;
}

.innari2026BibleReadingAction .material-symbols-outlined,
.innari2026BibleReadingChapterLink .material-symbols-outlined {
  flex: 0 0 auto !important;
}

.innari2026BibleReadingHeroText p,
.innari2026BibleReadingPassageHeader h2 {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 680px) {
  .innari2026BibleReadingChapterLink span:not(.material-symbols-outlined):not(.material-symbols-rounded) {
    display: none !important;
  }
}


/* v13.2 - lettura Bibbia: pulsante Capitolo visibile su mobile e select allineate */
body.innari2026BiblePage .innari2026BibleOptions {
  align-items: end !important;
}

body.innari2026BiblePage .innari2026BibleSelectField {
  grid-template-rows: auto 56px !important;
  align-content: end !important;
}

body.innari2026BiblePage .innari2026BibleSelectField select,
body.innari2026BiblePage .innari2026BibleSearchCard select.whiteBox {
  height: 56px !important;
  min-height: 56px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.innari2026BibleReadingChapterLink {
  min-width: 132px !important;
  min-height: 46px !important;
  white-space: nowrap !important;
}

.innari2026BibleReadingPassageHeader .innari2026BibleReadingChapterLink span,
.innari2026BibleReadingChapterLink span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--app-green, #0f766e) !important;
  font: 950 0.86rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026BibleReadingChapterLink .material-symbols-outlined,
.innari2026BibleReadingChapterLink .material-symbols-rounded {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-family: 'Material Symbols Outlined' !important;
  font-size: 1.28rem !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-feature-settings: 'liga' !important;
  -webkit-font-feature-settings: 'liga' !important;
}

@media (max-width: 680px) {
  body.innari2026BiblePage .innari2026BibleOptions {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.innari2026BiblePage .innari2026BibleSelectField {
    grid-template-rows: auto 54px !important;
  }

  body.innari2026BiblePage .innari2026BibleSelectField select,
  body.innari2026BiblePage .innari2026BibleSearchCard select.whiteBox {
    height: 54px !important;
    min-height: 54px !important;
  }

  .innari2026BibleReadingPassageHeader {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .innari2026BibleReadingChapterLink {
    min-width: 112px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    border-radius: 14px !important;
  }

  .innari2026BibleReadingPassageHeader .innari2026BibleReadingChapterLink span,
  .innari2026BibleReadingChapterLink span,
  .innari2026BibleReadingChapterLink span:not(.material-symbols-outlined):not(.material-symbols-rounded) {
    display: inline-flex !important;
  }

  .innari2026BibleReadingChapterLink .material-symbols-outlined,
  .innari2026BibleReadingChapterLink .material-symbols-rounded {
    display: inline-flex !important;
    font-size: 1.16rem !important;
  }

  .innari2026BibleReadingChapterLink span:not(.material-symbols-outlined):not(.material-symbols-rounded) {
    font-size: 0.78rem !important;
  }
}


/* v13.3 - fix icona Capitolo nella lettura biblica */
.innari2026BibleReadingPassageHeader .innari2026BibleReadingChapterLink .material-symbols-outlined,
.innari2026BibleReadingPassageHeader .innari2026BibleReadingChapterLink .material-symbols-rounded,
.innari2026BibleReadingChapterLink .innari2026BibleReadingChapterIcon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 1.24rem !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  white-space: nowrap !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  font-feature-settings: 'liga' !important;
  -webkit-font-smoothing: antialiased !important;
  font-variation-settings: 'FILL' 0, 'wght' 650, 'GRAD' 0, 'opsz' 32 !important;
}

@media (max-width: 680px) {
  .innari2026BibleReadingPassageHeader .innari2026BibleReadingChapterLink .material-symbols-outlined,
  .innari2026BibleReadingPassageHeader .innari2026BibleReadingChapterLink .material-symbols-rounded,
  .innari2026BibleReadingChapterLink .innari2026BibleReadingChapterIcon {
    font-size: 1.12rem !important;
  }
}


/* v13.4 - Bibbia: opzioni versetto in modale */
html.innari2026BibleModalOpen,
body.innari2026BibleModalOpen {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.innari2026BiblePage .innari2026BibleResultOptions {
  display: none !important;
}

.innari2026BibleVerseModal {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: clamp(10px, 2.8vw, 22px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0s linear 0.18s;
  box-sizing: border-box;
}

.innari2026BibleVerseModal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.18s ease, visibility 0s;
}

.innari2026BibleVerseModalBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 14, 14, 0.58);
  backdrop-filter: blur(5px);
}

.innari2026BibleVerseModalSheet {
  position: relative;
  width: min(760px, 100%);
  max-height: min(88dvh, 760px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(23, 106, 95, 0.22);
  border-radius: 26px;
  background: rgba(255, 252, 245, 0.98);
  box-shadow: 0 32px 90px rgba(12, 14, 14, 0.34);
  color: var(--app-ink, #1f2421);
  transform: translateY(12px) scale(0.985);
  transition: transform 0.18s ease;
}

.innari2026BibleVerseModal.is-open .innari2026BibleVerseModalSheet {
  transform: translateY(0) scale(1);
}

.innari2026BibleVerseModalHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(113, 99, 76, 0.14);
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.98), rgba(255, 252, 245, 0.96));
}

.innari2026BibleVerseModalTitleBlock {
  min-width: 0;
}

.innari2026BibleVerseModalKicker {
  display: block;
  margin: 0 0 5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--app-green, #0f766e);
  font: 950 0.72rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026BibleVerseModalHeader h3 {
  margin: 0;
  color: var(--app-ink, #1f2421);
  font: 950 clamp(1.45rem, 4.5vw, 2.25rem)/1.05 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: -0.035em;
  overflow-wrap: anywhere;
}

.innari2026BibleVerseModalClose {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(216, 207, 190, 0.95) !important;
  border-radius: 16px !important;
  background: rgba(255, 252, 245, 0.96) !important;
  color: var(--app-muted, #6f7772) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.innari2026BibleVerseModalClose .material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}

.innari2026BibleVerseModalClose:hover,
.innari2026BibleVerseModalClose:focus-visible {
  background: rgba(228, 241, 236, 0.96) !important;
  border-color: rgba(23, 106, 95, 0.32) !important;
  color: var(--app-green, #0f766e) !important;
  outline: none !important;
}

.innari2026BibleVerseModalBody {
  min-height: 0;
  overflow: hidden auto;
  padding: 16px 18px 20px;
  display: grid;
  gap: 14px;
  -webkit-overflow-scrolling: touch;
}

.innari2026BibleVerseModalText {
  padding: 16px 18px;
  border: 1px solid rgba(23, 106, 95, 0.14);
  border-radius: 18px;
  background: rgba(228, 241, 236, 0.42);
  color: rgba(31, 36, 33, 0.9);
  font: 760 clamp(1.02rem, 3vw, 1.22rem)/1.55 var(--innari2026-reading-font, Georgia, "Times New Roman", serif);
  overflow-wrap: anywhere;
  white-space: normal;
}

.innari2026BibleVerseModalActions .innari2026BibleVerseActionsPanel {
  margin: 0 !important;
  box-shadow: none !important;
}

.innari2026BibleVerseModalExtraHost .innari2026BibleResultExtra {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

.innari2026BibleVerseModalExtraHost .innari2026BibleResultExtra:empty {
  display: none !important;
}

@media (max-width: 680px) {
  .innari2026BibleVerseModal {
    align-items: end;
    padding: 0;
  }

  .innari2026BibleVerseModalSheet {
    width: 100%;
    max-height: 92dvh;
    border-radius: 24px 24px 0 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    transform: translateY(22px);
  }

  .innari2026BibleVerseModalHeader {
    padding: 17px 16px 13px;
  }

  .innari2026BibleVerseModalClose {
    width: 50px;
    height: 50px;
    border-radius: 15px !important;
  }

  .innari2026BibleVerseModalBody {
    padding: 14px 14px calc(18px + env(safe-area-inset-bottom));
    gap: 12px;
  }

  .innari2026BibleVerseModalText {
    padding: 14px 15px;
    border-radius: 17px;
    font-size: clamp(1rem, 4.3vw, 1.14rem);
  }
}


/* v13.5 - Bibbia: risultati operazioni sempre dentro il modale */
.innari2026BibleVerseModalExtraHost {
  min-height: 0 !important;
}

.innari2026BibleVerseModalExtraHost .innari2026BibleResultExtra {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.innari2026BibleVerseModalExtraHost .innari2026BibleInlineWait {
  width: 100% !important;
  box-sizing: border-box !important;
}

.innari2026BibleVerseModalExtraHost .innari2026BibleChapterView {
  margin-top: 0 !important;
}


/* v13.6 - fix modale Bibbia: output iframe sempre visibile nel modale */
.innari2026BibleVerseModalExtraHost > .innari2026BibleResultExtra {
  display: block !important;
  height: auto !important;
  margin-top: 12px !important;
}

.innari2026BibleVerseModalExtraHost .innari2026BibleInlineWait {
  margin: 10px 0 0 !important;
}


/* v13.7 - Bibbia: navigazione modale ordinata e focus sul risultato */
body.innari2026BiblePage .innari2026BibleVerseActionNavStack {
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButtonFull {
  width: 100% !important;
  min-height: 58px !important;
  flex-direction: row !important;
  gap: 9px !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGridPair {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton {
  min-height: 58px !important;
}

.innari2026BibleVerseModalExtraHost:focus {
  outline: none !important;
}

@media (max-width: 680px) {
  body.innari2026BiblePage .innari2026BibleVerseActionButtonFull {
    min-height: 56px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton {
    min-height: 56px !important;
    padding-inline: 6px !important;
    font-size: clamp(0.68rem, 2.8vw, 0.78rem) !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton .material-symbols-outlined {
    font-size: clamp(1.22rem, 5vw, 1.48rem) !important;
  }
}


/* v13.8 - topbar Innari sempre fissa in alto in default.asp */
body.innari2026AppPage {
  --innari2026FixedTopbarHeight: 62px;
  padding-top: var(--innari2026FixedTopbarHeight) !important;
}

body.innari2026AppPage .innari2026Topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 90 !important;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

@supports (top: env(safe-area-inset-top)) {
  body.innari2026AppPage .innari2026Topbar {
    top: env(safe-area-inset-top) !important;
  }

  body.innari2026AppPage {
    padding-top: calc(var(--innari2026FixedTopbarHeight) + env(safe-area-inset-top)) !important;
  }
}

@media (max-width: 680px) {
  body.innari2026AppPage {
    --innari2026FixedTopbarHeight: 50px;
  }
}


/* v13.9 - risultati Bibbia pi leggibili e paginazione compatta */
.innari2026BibleVerseText {
  font-weight: 500 !important;
  font-size: clamp(1.02rem, 2.25vw, 1.18rem) !important;
  line-height: 1.58 !important;
}

.innari2026BibleVerseText strong,
.innari2026BibleVerseText b {
  font-weight: 850 !important;
  color: var(--app-ink, #1f2421) !important;
}

.innari2026BibleResultReference {
  font-weight: 950 !important;
}

.innari2026BibleResultsPageSummary {
  color: var(--app-muted, #6d746e) !important;
  font-weight: 850 !important;
}

.innari2026BibleResultsPageSummary strong {
  color: var(--app-green, #0f766e) !important;
  font-weight: 950 !important;
}

.innari2026BiblePagerCompact {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  padding: 10px 12px !important;
  margin-top: 12px !important;
  margin-bottom: 12px !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 30px rgba(52, 45, 34, 0.08) !important;
}

.innari2026BiblePagerCompact .innari2026BiblePagerMeta {
  margin: 0 !important;
  min-width: 0 !important;
  gap: 6px 12px !important;
  font-size: 0.9rem !important;
}

.innari2026BiblePagerCompact .innari2026BiblePagerRow {
  gap: 9px !important;
}

.innari2026BiblePagerCompact .innari2026BiblePageLink {
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 9px !important;
  border-radius: 13px !important;
  font-size: 0.92rem !important;
}

.innari2026BiblePagerCompact .innari2026BiblePageSelect {
  font-size: 0.82rem !important;
}

.innari2026BiblePagerCompact .innari2026BiblePageSelect select {
  min-height: 36px !important;
  border-radius: 13px !important;
  font-size: 0.88rem !important;
}

@media (min-width: 761px) {
  .innari2026BiblePagerCompact .innari2026BiblePagerMeta {
    justify-content: flex-end !important;
    text-align: right !important;
  }

  .innari2026BiblePagerCompact .innari2026BiblePagerRow {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  .innari2026BibleVerseText {
    font-size: clamp(1rem, 4.2vw, 1.12rem) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
  }

  .innari2026BiblePagerCompact {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 10px 8px !important;
    gap: 8px !important;
  }

  .innari2026BiblePagerCompact .innari2026BiblePagerMeta {
    width: 100% !important;
    justify-content: center !important;
  }

  .innari2026BiblePagerCompact .innari2026BiblePageSelect {
    width: auto !important;
  }
}


/* v14.0 - risultati Bibbia pi leggeri e paginazione integrata */
body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText {
  font-family: var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  font-size: clamp(1.02rem, 2.15vw, 1.18rem) !important;
  line-height: 1.62 !important;
  font-weight: 430 !important;
  letter-spacing: 0 !important;
}

body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText *,
body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText b,
body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText strong {
  font-weight: 520 !important;
}

body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText mark,
body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText .evidenzia,
body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText .highlight {
  font-weight: 800 !important;
  border-radius: 0.32em !important;
  background: rgba(244, 218, 167, 0.58) !important;
  padding: 0 0.12em !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerCard {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(23, 106, 95, 0.12) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerMeta {
  justify-content: flex-start !important;
  text-align: left !important;
  width: auto !important;
  margin-right: 8px !important;
  color: var(--app-muted, #6d746e) !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerRow {
  justify-content: flex-start !important;
  gap: 8px 12px !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerLinks {
  justify-content: flex-start !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePageLink {
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 8px !important;
  border-radius: 12px !important;
  font-size: 0.9rem !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePageSelect select {
  min-height: 34px !important;
  border-radius: 12px !important;
}

body.innari2026BiblePage .innari2026BibleResultsOuter > .innari2026BiblePagerCard {
  display: none !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText {
    font-size: clamp(1rem, 4.15vw, 1.12rem) !important;
    line-height: 1.58 !important;
    font-weight: 430 !important;
  }

  body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText *,
  body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText b,
  body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText strong {
    font-weight: 500 !important;
  }

  body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerCard {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 10px !important;
    gap: 8px !important;
  }

  body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerMeta,
  body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerRow,
  body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerLinks {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}


/* v14.1 - font pi leggero anche nel modale versetto + scroll al primo risultato */
body.innari2026BiblePage .innari2026BibleVerseModalText,
body.innari2026BiblePage .innari2026BibleVerseModalText span,
body.innari2026BiblePage .innari2026BibleVerseModalText font,
body.innari2026BiblePage .innari2026BibleVerseModalText .testoSemplice {
  font-family: var(--innari2026-reading-font, Georgia, "Times New Roman", serif) !important;
  font-size: clamp(1.02rem, 2.15vw, 1.18rem) !important;
  line-height: 1.62 !important;
  font-weight: 430 !important;
  letter-spacing: 0 !important;
  color: rgba(31, 36, 33, 0.9) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.innari2026BiblePage .innari2026BibleVerseModalText b,
body.innari2026BiblePage .innari2026BibleVerseModalText strong {
  font-weight: 520 !important;
  color: rgba(31, 36, 33, 0.92) !important;
}

body.innari2026BiblePage .innari2026BibleVerseModalText i,
body.innari2026BiblePage .innari2026BibleVerseModalText em {
  font-style: italic !important;
  font-weight: 430 !important;
}

body.innari2026BiblePage .innari2026BibleVerseModalText mark,
body.innari2026BiblePage .innari2026BibleVerseModalText .evidenzia,
body.innari2026BiblePage .innari2026BibleVerseModalText .highlight {
  font-weight: 800 !important;
  border-radius: 0.32em !important;
  background: rgba(244, 218, 167, 0.58) !important;
  padding: 0 0.12em !important;
}

body.innari2026BiblePage .innari2026BibleResultCard:focus {
  outline: none !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BibleVerseModalText,
  body.innari2026BiblePage .innari2026BibleVerseModalText span,
  body.innari2026BiblePage .innari2026BibleVerseModalText font,
  body.innari2026BiblePage .innari2026BibleVerseModalText .testoSemplice {
    font-size: clamp(1rem, 4.15vw, 1.12rem) !important;
    line-height: 1.58 !important;
    font-weight: 430 !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseModalText b,
  body.innari2026BiblePage .innari2026BibleVerseModalText strong {
    font-weight: 500 !important;
  }
}


/* v14.2 - scroll al box risultati e paginazione anche in fondo uguale a quella superiore */
body.innari2026BiblePage #risultatiRicerca {
  scroll-margin-top: 14px !important;
  outline: none !important;
}

body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 22px 18px !important;
  border: 0 !important;
  border-top: 1px solid rgba(23, 106, 95, 0.12) !important;
  border-radius: 0 0 var(--app-radius, 22px) var(--app-radius, 22px) !important;
  background: linear-gradient(180deg, rgba(255,253,247,0.88), rgba(228,241,236,0.54)) !important;
  box-shadow: none !important;
}

body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard .innari2026BiblePagerMeta,
body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard .innari2026BiblePagerRow,
body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard .innari2026BiblePagerLinks {
  justify-content: flex-start !important;
  text-align: left !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard {
    padding: 12px 14px 16px !important;
  }

  body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard .innari2026BiblePagerMeta,
  body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard .innari2026BiblePagerRow,
  body.innari2026BiblePage .innari2026BibleResults > .innari2026BiblePagerCard .innari2026BiblePagerLinks {
    justify-content: center !important;
    text-align: center !important;
  }
}


/* v14.3 - risultati Bibbia pi compatti senza troncare il testo */
body.innari2026BiblePage .innari2026BibleResultsCards {
  gap: 0 !important;
}

body.innari2026BiblePage .innari2026BibleResultInner {
  padding: 16px 18px 18px !important;
}

body.innari2026BiblePage .innari2026BibleResultHeader {
  margin-bottom: 6px !important;
  gap: 8px !important;
  align-items: start !important;
}

body.innari2026BiblePage .innari2026BibleResultReference {
  font-size: clamp(0.98rem, 1.65vw, 1.1rem) !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
}

body.innari2026BiblePage .innari2026BibleResultToggle {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 13px !important;
  margin-top: -2px !important;
}

body.innari2026BiblePage .innari2026BibleResultToggle .material-symbols-outlined,
body.innari2026BiblePage .innari2026BibleResultToggle .material-symbols-rounded {
  font-size: 1.55rem !important;
}

body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText {
  margin-top: 0 !important;
  font-size: clamp(0.98rem, 1.78vw, 1.08rem) !important;
  line-height: 1.48 !important;
  font-weight: 430 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  display: block !important;
}

body.innari2026BiblePage .innari2026BibleResultCard {
  border-bottom-color: rgba(216, 207, 190, 0.62) !important;
}

body.innari2026BiblePage .innari2026BibleResultsSummary {
  padding-bottom: 18px !important;
}

@media (min-width: 900px) {
  body.innari2026BiblePage .innari2026BibleResultInner {
    padding: 18px 24px 20px !important;
  }

  body.innari2026BiblePage .innari2026BibleResultHeader {
    margin-bottom: 8px !important;
  }
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BibleResultInner {
    padding: 13px 14px 15px !important;
  }

  body.innari2026BiblePage .innari2026BibleResultHeader {
    margin-bottom: 5px !important;
    gap: 8px !important;
  }

  body.innari2026BiblePage .innari2026BibleResultReference {
    font-size: 0.98rem !important;
  }

  body.innari2026BiblePage .innari2026BibleResultToggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 12px !important;
  }

  body.innari2026BiblePage .innari2026BibleResults .innari2026BibleVerseText {
    font-size: clamp(0.96rem, 3.75vw, 1.04rem) !important;
    line-height: 1.46 !important;
  }
}


/* v14.4 - home Bibbia pi uniforme e compatta */
body.innari2026BiblePage {
  --innari2026BibleHomeWidth: 860px;
}

body.innari2026BiblePage > table.soloTesto,
body.innari2026BiblePage table.soloTesto {
  width: min(var(--innari2026BibleHomeWidth), calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
}

.innari2026BibleSearchCard,
.innari2026BibleHelp {
  width: min(var(--innari2026BibleHomeWidth), calc(100vw - 28px)) !important;
  max-width: min(var(--innari2026BibleHomeWidth), calc(100vw - 28px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.innari2026BibleSearchCard {
  margin-top: clamp(18px, 3vw, 30px) !important;
  margin-bottom: clamp(16px, 2.4vw, 24px) !important;
  padding: clamp(22px, 3.2vw, 38px) !important;
}

.innari2026BibleHelp {
  margin-top: clamp(16px, 2.4vw, 24px) !important;
  margin-bottom: clamp(26px, 4vw, 46px) !important;
}

.innari2026BibleSearchHead h1 {
  font-size: clamp(2.7rem, 5.8vw, 4.25rem) !important;
  line-height: 0.96 !important;
  max-width: 760px !important;
}

.innari2026BibleSearchHead p {
  max-width: 760px !important;
  font-size: clamp(1rem, 1.45vw, 1.12rem) !important;
}

.innari2026BibleSearchBox {
  grid-template-columns: minmax(0, 1fr) minmax(128px, 140px) !important;
  gap: 10px !important;
}

.innari2026BibleInputWrap,
.innari2026BibleSearchButton {
  min-height: 58px !important;
}

.innari2026BibleSearchButton {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.innari2026BibleOptions {
  gap: 12px !important;
  align-items: end !important;
}

.innari2026BibleSelectField {
  min-width: 0 !important;
}

.innari2026BibleSelectField select,
.innari2026BibleSearchCard select.whiteBox {
  min-height: 52px !important;
  height: 52px !important;
  line-height: 1.2 !important;
}

.innari2026BibleActions {
  align-items: center !important;
}

.innari2026BibleActions button {
  min-height: 42px !important;
  padding-left: 13px !important;
  padding-right: 13px !important;
}

.innari2026BibleHelp details {
  box-shadow: 0 12px 32px rgba(52, 45, 34, 0.08) !important;
}

.innari2026BibleHelp summary {
  min-height: 52px !important;
}

body.innari2026BiblePage center span[style*="font-size: small"] {
  display: inline-block !important;
  margin-top: 4px !important;
  color: rgba(31, 36, 33, 0.62) !important;
  font: 750 0.82rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage {
    --innari2026BibleHomeWidth: 100%;
  }

  body.innari2026BiblePage > table.soloTesto,
  body.innari2026BiblePage table.soloTesto,
  .innari2026BibleSearchCard,
  .innari2026BibleHelp {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
  }

  .innari2026BibleSearchCard {
    margin-top: 6px !important;
    margin-bottom: 12px !important;
    padding: 18px 14px !important;
  }

  .innari2026BibleHelp {
    margin-top: 12px !important;
  }

  .innari2026BibleSearchHead h1 {
    font-size: clamp(2.2rem, 11vw, 3.25rem) !important;
    line-height: 0.96 !important;
  }

  .innari2026BibleSearchBox {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .innari2026BibleInputWrap,
  .innari2026BibleSearchButton {
    min-height: 54px !important;
  }

  .innari2026BibleOptions {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .innari2026BibleSelectField select,
  .innari2026BibleSearchCard select.whiteBox {
    min-height: 50px !important;
    height: 50px !important;
  }

  .innari2026BibleActions button {
    min-height: 42px !important;
  }
}


/* v14.5 - larghezze home Bibbia realmente uniformate */
body.innari2026BiblePage {
  --innari2026BibleHomeWidth: 860px;
}

body.innari2026BiblePage .innari2026BibleSearchCard,
body.innari2026BiblePage .innari2026BibleHelp {
  width: min(var(--innari2026BibleHomeWidth), calc(100% - 28px)) !important;
  max-width: min(var(--innari2026BibleHomeWidth), calc(100% - 28px)) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.innari2026BiblePage .innari2026BibleHelp details {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.innari2026BiblePage table.soloTesto {
  width: min(var(--innari2026BibleHomeWidth), calc(100% - 28px)) !important;
  max-width: min(var(--innari2026BibleHomeWidth), calc(100% - 28px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage {
    --innari2026BibleHomeWidth: 100%;
  }

  body.innari2026BiblePage .innari2026BibleSearchCard,
  body.innari2026BiblePage .innari2026BibleHelp,
  body.innari2026BiblePage table.soloTesto {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
  }
}


/* v14.6 - risultati ricerca home integrati nel campo, senza box separato */
.innari2026HomeSearchShell {
  width: 100% !important;
  max-width: var(--innari2026HomeSearchWidth, 860px) !important;
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(211, 146, 40, 0.34);
  border-radius: calc(var(--app-radius) + 4px);
  background: linear-gradient(135deg, rgba(255, 248, 230, 0.96), rgba(228, 241, 236, 0.70));
  box-shadow: 0 16px 38px rgba(52, 45, 34, 0.12);
  box-sizing: border-box;
}

.innari2026HomeSearchShell .innari2026HomeSearch {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 8px !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchInputWrap {
  border-radius: calc(var(--app-radius) - 3px) !important;
}

.innari2026HomeSearchShell .innari2026HomeAdvanced[open] {
  margin-top: 2px !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchStatusRow {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 1px 2px 0 !important;
  padding: 0 4px !important;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

.innari2026HomeSearchShell .innari2026HomeSearchStatusRow[hidden] {
  display: none !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchStatus {
  min-height: 0 !important;
  font-size: 0.82rem !important;
  color: rgba(31, 36, 33, 0.68) !important;
}

.innari2026HomeSearchShell .innari2026HomeResultsWrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  max-height: min(44vh, 410px) !important;
  overflow: auto !important;
  border: 0 !important;
  border-top: 1px solid rgba(23, 106, 95, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overscroll-behavior: contain !important;
}

.innari2026HomeSearchShell .innari2026HomeResultsWrap::before {
  content: none !important;
  display: none !important;
}

.innari2026HomeSearchShell .innari2026HomeResults {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
}

.innari2026HomeSearchShell .innari2026HomeResults td {
  border-bottom: 1px solid rgba(113, 99, 76, 0.13) !important;
}

.innari2026HomeSearchShell .innari2026HomeResults tr:last-child td {
  border-bottom: 0 !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchResult {
  display: grid !important;
  gap: 5px !important;
  padding: 10px 6px !important;
  border-radius: 14px !important;
  background: transparent !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchResult:hover,
.innari2026HomeSearchShell .innari2026HomeSearchResult:focus-visible {
  background: rgba(228, 241, 236, 0.72) !important;
  outline: none !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchResult strong {
  color: var(--app-ink) !important;
  font-size: 0.98rem !important;
  line-height: 1.16 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchResult small,
.innari2026HomeSearchShell .innari2026SearchMeta {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  color: var(--app-muted) !important;
  font-size: 0.78rem !important;
  line-height: 1.18 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.innari2026HomeSearchShell .innari2026SearchMeta > span:first-child {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026HomeSearchShell .innari2026SearchBadge {
  flex: 0 0 auto !important;
}

.innari2026HomeSearchShell .innari2026SearchResultRestored {
  background: rgba(211, 146, 40, 0.18) !important;
  box-shadow: inset 4px 0 0 rgba(211, 146, 40, 0.82) !important;
}

body.stage .innari2026HomeSearchShell {
  background: linear-gradient(135deg, rgba(56, 47, 31, 0.96), rgba(17, 45, 41, 0.78)) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

@media (max-width: 680px) {
  .innari2026HomeSearchShell {
    padding: 8px !important;
    border-radius: calc(var(--app-radius) - 4px) !important;
    gap: 7px !important;
  }

  .innari2026HomeSearchShell .innari2026HomeSearchInputWrap {
    min-height: 52px !important;
    border-radius: calc(var(--app-radius) - 7px) !important;
  }

  .innari2026HomeSearchShell .innari2026HomeSearchStatus {
    font-size: 0.78rem !important;
  }

  .innari2026HomeSearchShell .innari2026HomeResultsWrap {
    max-height: min(40vh, 340px) !important;
  }

  .innari2026HomeSearchShell .innari2026HomeSearchResult {
    padding: 9px 4px !important;
  }

  .innari2026HomeSearchShell .innari2026HomeSearchResult strong {
    font-size: 0.96rem !important;
  }
}


/* v14.7 - ricerca home centrata e proporzionata nel blocco principale */
.innari2026HomeHero {
  justify-items: stretch;
}

.innari2026HomeSearchShell {
  width: min(100%, 980px) !important;
  max-width: 980px !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.innari2026HomeSearchShell .innari2026HomeSearchStatusRow,
.innari2026HomeSearchShell .innari2026HomeResultsWrap {
  max-width: 100% !important;
}

@media (min-width: 1180px) {
  .innari2026HomeSearchShell {
    width: min(100%, 1020px) !important;
    max-width: 1020px !important;
  }
}

@media (max-width: 820px) {
  .innari2026HomeSearchShell {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v14.8 - metadati sopra il titolo e autore dopo il titolo nella pagina brano */
.innari2026SongHead h1 {
  margin: 10px 0 0 !important;
  font-size: clamp(1.9rem, 4.35vw, 3.18rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

.innari2026SongMetaLineTop {
  margin: 0 0 8px !important;
  align-items: center !important;
  row-gap: 5px !important;
}

.innari2026SongMetaLineTop .innari2026SongMetaSource {
  color: var(--app-muted) !important;
  font-weight: 950 !important;
}

.innari2026SongAuthorAfterTitle {
  margin: 8px 0 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: var(--app-ink) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  font-size: clamp(0.96rem, 1.7vw, 1.12rem) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026SongAuthorAfterTitle + .innari2026SongBadges,
.innari2026SongHead h1 + .innari2026SongBadges {
  margin-top: 20px !important;
}

@media (max-width: 680px) {
  .innari2026SongHead h1 {
    margin-top: 8px !important;
    font-size: clamp(1.72rem, 8.1vw, 2.34rem) !important;
    line-height: 1.04 !important;
  }

  .innari2026SongMetaLineTop {
    margin-bottom: 7px !important;
  }

  .innari2026SongAuthorAfterTitle {
    margin-top: 7px !important;
    font-size: 0.94rem !important;
  }

  .innari2026SongAuthorAfterTitle + .innari2026SongBadges,
  .innari2026SongHead h1 + .innari2026SongBadges {
    margin-top: 16px !important;
  }
}


/* v14.9 - frecce desktop nella topbar per navigazione brani dello stesso innario */
.innari2026TopSongTitleWithNav {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 8px !important;
  justify-self: stretch !important;
}

.innari2026TopSongTitleWithNav .innari2026NowPlaying {
  min-width: 0 !important;
  justify-self: stretch !important;
}

.innari2026TopSongArrow {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(23, 106, 95, 0.20) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.72) !important;
  color: var(--app-green, #0f766e) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, opacity 0.16s ease !important;
}

.innari2026TopSongArrowPrev {
  justify-self: end !important;
}

.innari2026TopSongArrowNext {
  justify-self: start !important;
}

.innari2026TopSongArrow .material-symbols-rounded {
  color: var(--app-green, #0f766e) !important;
  font-size: 1.55rem !important;
  line-height: 1 !important;
}

.innari2026TopSongArrow:hover,
.innari2026TopSongArrow:focus-visible {
  border-color: rgba(23, 106, 95, 0.40) !important;
  background: rgba(209, 232, 224, 0.96) !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

.innari2026TopSongArrow:active {
  transform: translateY(0) scale(0.98) !important;
}

.innari2026TopSongArrow.is-disabled {
  opacity: 0.24 !important;
  pointer-events: none !important;
}

body.stage .innari2026TopSongArrow {
  border-color: rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.06) !important;
}

body.stage .innari2026TopSongArrow:hover,
body.stage .innari2026TopSongArrow:focus-visible {
  background: rgba(255,255,255,0.10) !important;
}

@media (max-width: 980px) {
  .innari2026TopSongTitleWithNav {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  .innari2026TopSongArrow {
    display: none !important;
  }
}


/* v15.1 - Riflessione spirituale compatta nelle Risorse del brano */
.innari2026ReflectionText {
  display: grid;
  gap: 12px;
}

.innari2026ReflectionText p {
  margin: 0 0 0.9em;
}

.innari2026ReflectionText p:last-child,
.innari2026ReflectionPreview p:last-child,
.innari2026ReflectionMore p:last-child {
  margin-bottom: 0;
}

.innari2026ReflectionPreview {
  min-width: 0;
}

.innari2026ReflectionDetails {
  display: grid;
  gap: 12px;
}

.innari2026ReflectionDetails summary {
  width: fit-content;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid rgba(23, 106, 95, 0.25);
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.82);
  color: var(--app-green) !important;
  font: 1000 0.9rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.innari2026ReflectionDetails summary::-webkit-details-marker {
  display: none;
}

.innari2026ReflectionDetails summary::before {
  content: "expand_more";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 1.08rem;
  line-height: 1;
}

.innari2026ReflectionDetails[open] summary::before {
  content: "expand_less";
}

.innari2026ReflectionSummaryOpen {
  display: none;
}

.innari2026ReflectionDetails[open] .innari2026ReflectionSummaryClosed {
  display: none;
}

.innari2026ReflectionDetails[open] .innari2026ReflectionSummaryOpen {
  display: inline;
}

.innari2026ReflectionMore {
  padding-top: 2px;
}

@media (max-width: 680px) {
  .innari2026ReflectionDetails summary {
    width: 100%;
    min-height: 42px;
  }
}


/* v15.2 - Riflessione spirituale: contenimento box e pulsante espandi robusto */
.innari2026ReflectionBlock,
.innari2026ReflectionText,
.innari2026ReflectionPreview,
.innari2026ReflectionMore {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.innari2026ReflectionText,
.innari2026ReflectionPreview,
.innari2026ReflectionMore,
.innari2026ReflectionText p,
.innari2026ReflectionPreview p,
.innari2026ReflectionMore p {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.innari2026ReflectionText p,
.innari2026ReflectionPreview p,
.innari2026ReflectionMore p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0.95em !important;
  line-height: 1.58 !important;
}

.innari2026ReflectionToggle {
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin-top: 2px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.25) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.82) !important;
  color: var(--app-green) !important;
  font: 1000 0.9rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.innari2026ReflectionToggle .material-symbols-outlined {
  flex: 0 0 auto !important;
  color: var(--app-green) !important;
  font-family: "Material Symbols Outlined" !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 1.08rem !important;
  line-height: 1 !important;
}

.innari2026ReflectionToggle > span:not(.material-symbols-outlined) {
  min-width: 0 !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026ReflectionToggle[aria-expanded="true"] .material-symbols-outlined {
  transform: rotate(180deg);
}

.innari2026ReflectionToggleOpen {
  display: none !important;
}

.innari2026ReflectionToggle[aria-expanded="true"] .innari2026ReflectionToggleClosed {
  display: none !important;
}

.innari2026ReflectionToggle[aria-expanded="true"] .innari2026ReflectionToggleOpen {
  display: inline !important;
}

.innari2026ReflectionMore[hidden] {
  display: none !important;
}

.innari2026ReflectionMore:not([hidden]) {
  display: block !important;
}

@media (max-width: 680px) {
  .innari2026ReflectionText {
    font-size: clamp(0.98rem, 4.2vw, 1.06rem) !important;
    line-height: 1.56 !important;
  }

  .innari2026ReflectionToggle {
    width: 100% !important;
    min-height: 42px !important;
  }
}

/* v15.3 - Brano del giorno con riflessione nella home */
.innari2026HomeDailySongCard {
  grid-column: 1 / -1;
  align-items: start !important;
  min-height: 0 !important;
}

.innari2026HomeDailySongBody {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.innari2026HomeDailySongTitle {
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin: 0 !important;
  color: var(--app-ink) !important;
  font: 950 clamp(1.16rem, 2.4vw, 1.72rem)/1.08 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}

.innari2026HomeDailySongTitle:hover,
.innari2026HomeDailySongTitle:focus-visible {
  color: var(--app-green) !important;
  outline: none;
}

.innari2026HomeDailySongMeta {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: var(--app-muted);
  font: 900 0.9rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeDailySongMeta span {
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  overflow-wrap: anywhere;
}

.innari2026HomeDailySongMeta span + span::before {
  content: "\00b7";
  margin-right: 6px;
  color: rgba(104, 111, 105, 0.72);
}

.innari2026HomeDailyNumber {
  flex: 0 0 auto;
  min-width: 32px !important;
  justify-content: center;
  padding: 3px 11px;
  border: 1px solid rgba(192, 83, 54, 0.24);
  border-radius: 999px;
  background: rgba(255, 242, 235, 0.9);
  color: var(--app-coral, #bd5437);
  font-weight: 950;
}

.innari2026HomeDailySongMeta .innari2026HomeDailyNumber + span::before {
  content: "";
  margin-right: 0;
}

.innari2026HomeDailyBadges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 2px;
}

.innari2026HomeDailyBadge {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid rgba(23, 106, 95, 0.18);
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.68);
  color: var(--app-green);
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeDailyBadge small {
  color: var(--app-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.innari2026HomeDailyBadge strong {
  color: var(--app-green) !important;
  font-size: 0.86rem !important;
  font-weight: 950 !important;
  white-space: nowrap;
}

.innari2026HomeDailyReflection {
  min-width: 0;
  margin-top: 8px;
  padding: 14px;
  border: 1px solid rgba(23, 106, 95, 0.16);
  border-radius: calc(var(--app-radius) + 2px);
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.62), rgba(255, 252, 245, 0.82));
  overflow: hidden;
}

.innari2026HomeDailyReflectionKicker {
  display: block;
  color: var(--app-green);
  font: 950 0.78rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.innari2026HomeDailyReflectionDate {
  display: block;
  margin-top: 5px;
  color: var(--app-muted) !important;
  font: 850 0.78rem/1.25 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026HomeDailyReflectionPreview,
.innari2026HomeDailyReflectionFull {
  min-width: 0;
  margin-top: 10px;
  color: var(--app-ink);
  font: 500 clamp(0.98rem, 2.2vw, 1.08rem)/1.55 var(--innari2026-reading-font, Georgia, "Times New Roman", serif);
  overflow-wrap: anywhere;
  word-break: normal;
}

.innari2026HomeDailyReflectionPreview p,
.innari2026HomeDailyReflectionFull p {
  margin: 0 0 0.75em;
  color: inherit !important;
  font: inherit !important;
}

.innari2026HomeDailyReflectionPreview p:last-child,
.innari2026HomeDailyReflectionFull p:last-child {
  margin-bottom: 0;
}

.innari2026HomeDailyReflectionToggle,
.innari2026HomeDailyActions a {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 12px !important;
  padding: 0 15px;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.86) !important;
  color: var(--app-green) !important;
  font: 950 0.88rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: none !important;
}

.innari2026HomeDailyReflectionToggle .material-symbols-rounded,
.innari2026HomeDailyActions a .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.15rem !important;
}

.innari2026HomeDailyReflectionToggle.is-open {
  background: rgba(255, 252, 245, 0.96) !important;
}

.innari2026HomeDailyActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026HomeDailyNoReflection {
  margin: 8px 0 0 !important;
  color: var(--app-muted) !important;
  font: 800 0.92rem/1.35 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

body.stage .innari2026HomeDailyReflection {
  background: rgba(22, 26, 27, 0.72) !important;
}

@media (max-width: 680px) {
  .innari2026HomeDailySongCard {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  .innari2026HomeDailySongTitle {
    font-size: clamp(1.13rem, 6vw, 1.45rem) !important;
  }

  .innari2026HomeDailySongMeta {
    font-size: 0.84rem;
  }

  .innari2026HomeDailyReflection {
    padding: 12px;
  }

  .innari2026HomeDailyReflectionToggle,
  .innari2026HomeDailyActions a {
    width: 100%;
  }
}


/* v15.4 - versetto di incoraggiamento con testo biblico nella home */
.innari2026HomeVerseText {
  display: block !important;
  margin-top: 4px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(23, 106, 95, 0.14) !important;
  border-radius: 14px !important;
  background: rgba(228, 241, 236, 0.38) !important;
  color: rgba(31, 36, 33, 0.84) !important;
  font-weight: 650 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.innari2026HomeVerseRef {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.innari2026VerseLine + .innari2026VerseLine {
  margin-top: 5px !important;
}

@media (max-width: 680px) {
  .innari2026HomeVerseText {
    padding: 9px 10px !important;
    font-size: 0.82rem !important;
    line-height: 1.44 !important;
  }
}


/* v15.6 - statistiche brani e card pi suonato nella home */
.innari2026HomeWeeklySongCard {
  grid-column: 1 / -1;
  align-items: start !important;
  min-height: 0 !important;
  background: linear-gradient(135deg, rgba(255, 252, 245, 0.96), rgba(228, 241, 236, 0.66)) !important;
}

.innari2026HomeWeeklySongCard > .material-symbols-rounded {
  color: var(--app-coral, #bd5437) !important;
  background: rgba(255, 242, 235, 0.92) !important;
}

.innari2026HomeWeeklySongBody {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.innari2026HomeWeeklySongTitle {
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin: 0 !important;
  color: var(--app-ink) !important;
  font: 950 clamp(1.12rem, 2.2vw, 1.58rem)/1.08 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}

.innari2026HomeWeeklySongTitle:hover,
.innari2026HomeWeeklySongTitle:focus-visible {
  color: var(--app-green) !important;
  outline: none;
}

.innari2026HomeWeeklySongMeta {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: var(--app-muted);
  font: 900 0.9rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeWeeklySongMeta span {
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  overflow-wrap: anywhere;
}

.innari2026HomeWeeklySongMeta span + span::before {
  content: "\00b7";
  margin-right: 6px;
  color: rgba(104, 111, 105, 0.72);
}

.innari2026HomeWeeklyNumber {
  flex: 0 0 auto;
  min-width: 32px !important;
  justify-content: center;
  padding: 3px 11px;
  border: 1px solid rgba(192, 83, 54, 0.24);
  border-radius: 999px;
  background: rgba(255, 242, 235, 0.9);
  color: var(--app-coral, #bd5437);
  font-weight: 950;
}

.innari2026HomeWeeklySongMeta .innari2026HomeWeeklyNumber + span::before {
  content: "";
  margin-right: 0;
}

.innari2026HomeWeeklySummary {
  margin: 2px 0 0 !important;
  color: var(--app-green) !important;
  font: 950 0.92rem/1.28 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026HomeWeeklyBadges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 2px;
}

.innari2026HomeWeeklyBadge {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid rgba(23, 106, 95, 0.18);
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.76);
  color: var(--app-green);
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeWeeklyBadge small {
  color: var(--app-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.innari2026HomeWeeklyBadge strong {
  color: var(--app-green) !important;
  font-size: 0.86rem !important;
  font-weight: 950 !important;
  white-space: nowrap;
}

.innari2026HomeWeeklyActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026HomeWeeklyActions a {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 8px !important;
  padding: 0 15px;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.86) !important;
  color: var(--app-green) !important;
  font: 950 0.88rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.innari2026HomeWeeklyActions a .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.15rem !important;
}

body.stage .innari2026HomeWeeklySongCard {
  background: rgba(22, 26, 27, 0.72) !important;
}

@media (max-width: 680px) {
  .innari2026HomeWeeklySongCard {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  .innari2026HomeWeeklySongTitle {
    font-size: clamp(1.1rem, 5.8vw, 1.38rem) !important;
  }

  .innari2026HomeWeeklySongMeta {
    font-size: 0.84rem;
  }

  .innari2026HomeWeeklyActions a {
    width: 100%;
  }
}


/* v15.7 - Top 10 settimanale e manutenzione statistiche recenti */
.innari2026HomeWeeklyTopCard {
  background: linear-gradient(135deg, rgba(255, 252, 245, 0.98), rgba(255, 242, 235, 0.72)) !important;
}

.innari2026HomeWeeklyRankList {
  display: grid;
  gap: 7px;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.innari2026HomeWeeklyRankItem {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(23, 106, 95, 0.13);
  border-radius: 16px;
  background: rgba(255, 253, 247, 0.78);
  box-sizing: border-box;
}

.innari2026HomeWeeklyRankNumber {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 242, 235, 0.96);
  border: 1px solid rgba(192, 83, 54, 0.22);
  color: var(--app-coral, #bd5437);
  font: 950 0.86rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeWeeklyRankMain {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.innari2026HomeWeeklyRankMain > a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--app-ink) !important;
  text-decoration: none !important;
  font: 950 0.98rem/1.12 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026HomeWeeklyRankMain > a:hover,
.innari2026HomeWeeklyRankMain > a:focus-visible {
  color: var(--app-green) !important;
  outline: none;
}

.innari2026HomeWeeklyRankItem .innari2026HomeWeeklySongMeta {
  flex-wrap: nowrap;
  overflow: hidden;
  font-size: 0.78rem;
  line-height: 1.1;
}

.innari2026HomeWeeklyRankItem .innari2026HomeWeeklySongMeta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026HomeWeeklyRankItem .innari2026HomeWeeklyNumber {
  min-width: 24px !important;
  padding: 2px 8px;
  font-size: 0.72rem;
}

.innari2026HomeWeeklyRankMetric {
  justify-self: end;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.8);
  color: var(--app-green);
  font: 950 0.76rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeWeeklyToggle {
  width: fit-content;
  min-height: 38px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 4px;
  padding: 0 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, 0.88) !important;
  color: var(--app-green) !important;
  font: 950 0.84rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
}

.innari2026HomeWeeklyToggle .material-symbols-rounded {
  color: var(--app-green) !important;
  font-size: 1.05rem !important;
}

body.stage .innari2026HomeWeeklyRankItem {
  background: rgba(22, 26, 27, 0.78) !important;
}

@media (max-width: 680px) {
  .innari2026HomeWeeklyRankItem {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
  }

  .innari2026HomeWeeklyRankMetric {
    grid-column: 2;
    justify-self: start;
    max-width: 100%;
    font-size: 0.72rem;
  }

  .innari2026HomeWeeklyRankNumber {
    width: 28px;
    height: 28px;
    font-size: 0.8rem;
  }

  .innari2026HomeWeeklyRankMain > a {
    font-size: 0.94rem !important;
  }

  .innari2026HomeWeeklyToggle {
    width: 100%;
  }
}


/* v15.8 - menu Impostazioni grafiche disponibile anche in home */
body.innari2026AppPage #innari2026Panel-display h3 {
  letter-spacing: -0.02em;
}

body.innari2026AppPage #innari2026Panel-display .innari2026DisplayHost {
  min-height: 0;
}

body.innari2026AppPage #innari2026Panel-display .innari2026DisplaySectionHeader td strong {
  text-transform: uppercase;
}


/* v15.9 - contenuto Impostazioni grafiche disponibile anche in home */
body.innari2026AppPage #innari2026DisplayHost:empty::before {
  content: "Impostazioni non disponibili in questa pagina.";
  display: block;
  padding: 14px;
  border: 1px solid rgba(23, 106, 95, 0.14);
  border-radius: 18px;
  background: rgba(255, 253, 247, 0.72);
  color: var(--app-muted);
  font: 800 0.95rem/1.35 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}


/* v16.0 - pannello Impostazioni grafiche home pulito e senza controlli legacy spezzati */
#innari2026Panel-display > h3 {
  display: none !important;
}

#innari2026DisplayHost .innari2026DisplayLegacyHidden,
#innari2026DisplayHost #tableStrumenti.innari2026DisplayLegacyHidden {
  display: none !important;
}

.innari2026HomeDisplayPanel {
  display: grid;
  gap: 18px;
  width: 100%;
  box-sizing: border-box;
}

.innari2026HomeDisplaySection {
  display: grid;
  gap: 10px;
}

.innari2026HomeDisplaySection h4 {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--app-muted);
  font: 950 0.82rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.innari2026HomeDisplaySection h4 .material-symbols-outlined {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.15rem !important;
}

.innari2026HomeDisplayList {
  display: grid;
  gap: 10px;
}

.innari2026HomeDisplayCard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(222, 215, 201, 0.88);
  border-radius: 18px;
  background: rgba(255, 253, 247, 0.72);
  box-shadow: 0 8px 22px rgba(41, 49, 47, 0.045);
  box-sizing: border-box;
}

.innari2026HomeDisplayCardText {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.innari2026HomeDisplayIcon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-grid !important;
  place-items: center;
  border-radius: 13px;
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.25rem !important;
}

.innari2026HomeDisplayCardText b {
  display: block;
  color: var(--app-ink);
  font: 950 0.98rem/1.15 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeDisplayCardText small {
  display: block;
  margin-top: 4px;
  color: var(--app-muted);
  font: 750 0.82rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026HomeDisplayCardControl {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.innari2026HomeDisplayCardControl select.selColorato,
.innari2026HomeDisplayCardControl button.selColorato,
.innari2026HomeDisplayCardControl button.pulsanteColorato {
  width: 100% !important;
  max-width: 220px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
  font-size: 0.94rem !important;
}

.innari2026HomeDisplayCardControl input[type="checkbox"].selColorato {
  margin: 0 !important;
}

body.stage .innari2026HomeDisplayCard {
  background: rgba(30, 36, 34, 0.84) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

@media (max-width: 680px) {
  .innari2026HomeDisplayPanel {
    gap: 16px;
  }

  .innari2026HomeDisplayCard {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 11px;
  }

  .innari2026HomeDisplayCardControl {
    justify-content: stretch;
  }

  .innari2026HomeDisplayCardControl select.selColorato,
  .innari2026HomeDisplayCardControl button.selColorato,
  .innari2026HomeDisplayCardControl button.pulsanteColorato {
    max-width: none !important;
  }
}


/* v16.1 - Impostazioni grafiche: controlli piu compatti e descrizioni piu leggibili */
#innari2026Panel-display .innari2026HomeDisplayPanel {
  gap: 16px !important;
}

#innari2026Panel-display .innari2026HomeDisplaySection {
  gap: 9px !important;
}

#innari2026Panel-display .innari2026HomeDisplayCard {
  grid-template-columns: minmax(0, 1fr) clamp(128px, 22vw, 168px) !important;
  gap: 10px !important;
  padding: 11px 10px !important;
  border-radius: 17px !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardText {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}

#innari2026Panel-display .innari2026HomeDisplayIcon {
  width: 34px !important;
  height: 34px !important;
  flex-basis: 34px !important;
  border-radius: 12px !important;
  font-size: 1.12rem !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardText b {
  font-size: 0.94rem !important;
  line-height: 1.08 !important;
  max-width: 100% !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardText small {
  margin-top: 3px !important;
  font-size: 0.78rem !important;
  line-height: 1.12 !important;
  max-width: 100% !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardControl {
  justify-content: flex-end !important;
  min-width: 0 !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardControl select.selColorato,
#innari2026Panel-display .innari2026HomeDisplayCardControl button.selColorato,
#innari2026Panel-display .innari2026HomeDisplayCardControl button.pulsanteColorato {
  width: 100% !important;
  max-width: 168px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  border-radius: 13px !important;
  font-size: 0.88rem !important;
  line-height: 1 !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardControl input[type="checkbox"].selColorato {
  width: 64px !important;
  min-width: 64px !important;
  height: 36px !important;
  min-height: 36px !important;
  flex: 0 0 64px !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardControl input[type="checkbox"].selColorato::after {
  width: 28px !important;
  height: 28px !important;
}

#innari2026Panel-display .innari2026HomeDisplayCardControl input[type="checkbox"].selColorato:checked::after {
  transform: translateX(28px) !important;
}

@media (max-width: 560px) {
  #innari2026Panel-display .innari2026HomeDisplayCard {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  #innari2026Panel-display .innari2026HomeDisplayCardControl {
    justify-content: stretch !important;
  }

  #innari2026Panel-display .innari2026HomeDisplayCardControl select.selColorato,
  #innari2026Panel-display .innari2026HomeDisplayCardControl button.selColorato,
  #innari2026Panel-display .innari2026HomeDisplayCardControl button.pulsanteColorato {
    max-width: none !important;
  }

  #innari2026Panel-display .innari2026HomeDisplayCardControl input[type="checkbox"].selColorato {
    margin-left: 44px !important;
  }
}


/* v16.2 - Tema scuro 2026 unificato: non dipende piu' da chordss.css */
body.stage,
body.stage.innari2026AppPage,
body.stage.innari2026BiblePage,
body[data-theme="stage"] {
  --app-bg: #101615;
  --app-paper: #17201d;
  --app-paper-2: #202b27;
  --app-ink: #f7f0e3;
  --app-muted: #b7c0b8;
  --app-line: rgba(232, 223, 207, 0.16);
  --app-green: #74d6c7;
  --app-green-soft: rgba(116, 214, 199, 0.14);
  --app-coral: #e49372;
  --app-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  --song-paper: #151d1a;
  --song-paper-2: #1d2823;
  --song-ink: #f5eddf;
  --song-muted: #c2bba9;
  --song-chord: #f1c95b;
  --song-section: #8fcfc6;
  --panel-bg: #131b18;
  --panel-card: #1b2521;
  --panel-card-2: #22302a;
  --input-bg: #121a17;
  --input-border: rgba(116, 214, 199, 0.32);
  --overlay-bg: rgba(0, 0, 0, 0.62);
  color-scheme: dark;
  color: var(--app-ink) !important;
  background:
    linear-gradient(90deg, rgba(116, 214, 199, 0.06) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 18% 0%, rgba(116, 214, 199, 0.10), transparent 32rem),
    radial-gradient(circle at 85% 20%, rgba(228, 147, 114, 0.08), transparent 28rem),
    linear-gradient(180deg, #0c1110 0%, var(--app-bg) 100%) !important;
}

body.stage *,
body.stage *::before,
body.stage *::after {
  scrollbar-color: rgba(116, 214, 199, 0.45) rgba(255, 255, 255, 0.06);
}

body.stage a {
  color: var(--app-green) !important;
}

body.stage ::selection {
  color: #07110f;
  background: rgba(116, 214, 199, 0.78);
}

body.stage .innari2026Backdrop,
body.stage .innari2026BibleVerseModalBackdrop {
  background: var(--overlay-bg) !important;
}

/* Superfici principali */
body.stage .whiteBox,
body.stage .whiteUserBox,
body.stage .tabellaElenco,
body.stage .searchBox,
body.stage .nTABLEf,
body.stage .innari2026HomeHero,
body.stage .innari2026HomeSection,
body.stage .innari2026HomeTodayCard,
body.stage .innari2026HomeDailySongCard,
body.stage .innari2026HomeWeeklySongCard,
body.stage .innari2026HomeWeeklyTopCard,
body.stage .innari2026HomeCollectionCard,
body.stage .innari2026HomeQuickCard,
body.stage .innari2026SongMaterialCard,
body.stage .innari2026MaterialCardHead,
body.stage .innari2026SongShareCard,
body.stage .innari2026InfoCard,
body.stage .innari2026ResourceSubsection,
body.stage .innari2026ReflectionBlock,
body.stage .innari2026PlaylistShell,
body.stage .innari2026PlaylistCard,
body.stage .innari2026PlaylistItem,
body.stage .innari2026PlaylistModalBox,
body.stage .innari2026SetlistActiveCard,
body.stage .innari2026SelectActionCard,
body.stage .innari2026TransportPanel,
body.stage .innari2026DrawerSection,
body.stage .innari2026HomeDisplayCard,
body.stage .innari2026BibleSearchCard,
body.stage .innari2026BibleResultsOuter,
body.stage .innari2026BibleResultCard,
body.stage .innari2026BiblePagerCard,
body.stage .innari2026BibleReadingHero,
body.stage .innari2026BibleReadingPassage,
body.stage .innari2026BibleReadingResultCard,
body.stage .innari2026BibleChapterHeader,
body.stage .innari2026BibleChapterText,
body.stage .innari2026BibleVerseActionsPanel {
  border-color: var(--app-line) !important;
  background: linear-gradient(180deg, rgba(27, 37, 33, 0.96), rgba(19, 27, 24, 0.96)) !important;
  color: var(--app-ink) !important;
  box-shadow: var(--app-shadow) !important;
}

body.stage .innari2026HomeQuickCard,
body.stage .innari2026HomeCollectionCard,
body.stage .innari2026HomeWeeklyRankItem,
body.stage .innari2026HomeDisplayCard,
body.stage .innari2026BibleResultCard,
body.stage .innari2026BibleReadingPassage,
body.stage .innari2026SongBrowseCard,
body.stage .innari2026MenuCard,
body.stage .innari2026ActionButton,
body.stage .innari2026ActionControl,
body.stage .innari2026DisplaySettingRow {
  background: rgba(32, 43, 39, 0.86) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026HomeQuickCard:hover,
body.stage .innari2026HomeCollectionCard:hover,
body.stage .innari2026MenuCard:hover,
body.stage .innari2026HomeWeeklyRankItem:hover,
body.stage .innari2026BibleResultCard:hover {
  background: rgba(38, 52, 47, 0.96) !important;
  border-color: rgba(116, 214, 199, 0.32) !important;
}

/* Topbar, menu e pannelli */
body.stage .innari2026Topbar,
body.stage .innari2026GestioneTopbar {
  background: rgba(12, 17, 16, 0.88) !important;
  border-bottom-color: var(--app-line) !important;
  color: var(--app-ink) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.30) !important;
}

body.stage .innari2026MenuPanel,
body.stage .innari2026SubPanel,
body.stage .innari2026SearchPanel,
body.stage .innari2026BibleVerseModalSheet,
body.stage #divBottomBar {
  background: var(--panel-bg) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.56) !important;
}

body.stage .innari2026PanelHeader,
body.stage .innari2026SearchHeader,
body.stage .innari2026BibleVerseModalHeader {
  background: rgba(17, 24, 21, 0.98) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026PanelHeader h2,
body.stage .innari2026SearchHeader h2,
body.stage .innari2026BibleVerseModalHeader h3,
body.stage .innari2026NowPlaying strong,
body.stage .innari2026HomeHero h1,
body.stage .innari2026HomeSection h2,
body.stage .innari2026SongHead h1,
body.stage .innari2026SongDailySongTitle,
body.stage .innari2026HomeDailySongTitle,
body.stage .innari2026HomeWeeklySongTitle,
body.stage .innari2026BibleResultReference,
body.stage .innari2026BibleReadingPassageHeader h3,
body.stage .innari2026BibleReadingHero h1,
body.stage .titolo,
body.stage p.titolo {
  color: var(--app-ink) !important;
}

body.stage .innari2026PanelHeader p,
body.stage .innari2026SearchHeader p,
body.stage .innari2026NowPlaying span,
body.stage .innari2026HomeMuted,
body.stage .innari2026HomeHero p,
body.stage .innari2026HomeSectionHead p,
body.stage .innari2026HomeDailySongMeta,
body.stage .innari2026HomeWeeklySongMeta,
body.stage .innari2026SongSource,
body.stage .innari2026SongAuthor,
body.stage .innari2026SongAuthorAfterTitle,
body.stage .innari2026ResourceDate,
body.stage .innari2026BibleResultsSummary,
body.stage .innari2026BiblePagerMeta,
body.stage .innari2026BibleKicker,
body.stage .innari2026BibleReadingKicker,
body.stage .innari2026BibleResultsKicker,
body.stage .innari2026Eyebrow,
body.stage small {
  color: var(--app-muted) !important;
}

/* Pulsanti, input e controlli */
body.stage input,
body.stage select,
body.stage textarea,
body.stage .selColorato,
body.stage .innari2026ActionSelect,
body.stage .innari2026SearchInputWrap,
body.stage .innari2026HomeSearchInputWrap,
body.stage .innari2026BibleInputWrap,
body.stage .innari2026BibleSelectField select,
body.stage .innari2026BibleVerseSelect,
body.stage .innari2026PlaylistSearchBox input {
  background: var(--input-bg) !important;
  color: var(--app-ink) !important;
  border-color: var(--input-border) !important;
  box-shadow: none !important;
}

body.stage input::placeholder,
body.stage textarea::placeholder {
  color: rgba(247, 240, 227, 0.55) !important;
}

body.stage .innari2026TopButton,
body.stage .innari2026TopSongArrow,
body.stage .innari2026BrandIcon,
body.stage .innari2026CloseButton,
body.stage .innari2026BackButton,
body.stage .innari2026SearchInlineButton,
body.stage .innari2026SearchClearButton,
body.stage .innari2026HomeSearchInlineButton,
body.stage .innari2026HomeSearchClearButton,
body.stage .innari2026BibleSearchButton,
body.stage .innari2026BiblePageLink,
body.stage .innari2026BibleVerseActionButton,
body.stage .innari2026BibleVerseModalClose,
body.stage .innari2026DrawerButton,
body.stage .pulsanteColorato,
body.stage .pulsanteColoratoBlu,
body.stage button.selColorato {
  background: rgba(32, 43, 39, 0.92) !important;
  border-color: var(--app-line) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

body.stage .innari2026TopButton:hover,
body.stage .innari2026TopSongArrow:hover,
body.stage .innari2026SearchInlineButton:hover,
body.stage .innari2026HomeSearchInlineButton:hover,
body.stage .innari2026BibleSearchButton:hover,
body.stage .innari2026BibleVerseActionButton:hover,
body.stage .innari2026DrawerButton:hover,
body.stage .pulsanteColorato:hover {
  background: rgba(116, 214, 199, 0.16) !important;
  border-color: rgba(116, 214, 199, 0.42) !important;
}

body.stage .innari2026BiblePageLinkCurrent,
body.stage .innari2026Segmented button[aria-pressed="true"],
body.stage .innari2026HomeWeeklyToggle,
body.stage .innari2026HomeDailyReflectionToggle,
body.stage .innari2026ReflectionToggle,
body.stage .innari2026PrimaryAction,
body.stage .innari2026PlaylistPrimary,
body.stage .innari2026HomeDisplayCardControl button,
body.stage .innari2026HomeDisplayCardControl .pulsanteColorato {
  background: var(--app-green) !important;
  border-color: rgba(116, 214, 199, 0.55) !important;
  color: #07110f !important;
}

body.stage .material-symbols-rounded,
body.stage .material-symbols-outlined,
body.stage .innari2026BrandIcon {
  color: var(--app-green) !important;
}

/* Home e ricerca */
body.stage .innari2026HomeSearchShell,
body.stage .innari2026HomeSearch label {
  background: linear-gradient(180deg, rgba(16, 24, 21, 0.95), rgba(21, 31, 27, 0.92)) !important;
  border-color: rgba(116, 214, 199, 0.34) !important;
}

body.stage .innari2026HomeSearchResult,
body.stage .innari2026SearchResult {
  border-color: rgba(232, 223, 207, 0.10) !important;
  background: transparent !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026HomeSearchResult:hover,
body.stage .innari2026SearchResult:hover,
body.stage .innari2026SearchResultRestored {
  background: rgba(116, 214, 199, 0.10) !important;
}

body.stage .innari2026SearchBadge,
body.stage .innari2026SearchKeyBadge,
body.stage .innari2026SearchTempoBadge,
body.stage .innari2026SearchBpmBadge,
body.stage .innari2026SongBadge,
body.stage .innari2026SongStat,
body.stage .innari2026HomeDailyBadge,
body.stage .innari2026HomeWeeklyBadge,
body.stage .innari2026HomeWeeklyNumber,
body.stage .innari2026SongNumberPill,
body.stage .innari2026BibleVerseChip,
body.stage .innari2026BibleReadingVerseNum,
body.stage .innari2026BibleChapterVerseNum {
  background: rgba(116, 214, 199, 0.12) !important;
  border-color: rgba(116, 214, 199, 0.30) !important;
  color: var(--app-green) !important;
}

body.stage .innari2026SongBadge strong,
body.stage .innari2026SongStat strong,
body.stage .innari2026SearchKeyBadge,
body.stage .innari2026SearchScoreBadge {
  color: var(--app-coral) !important;
}

/* Pagina brano */
body.stage #tabellaTestoBrano {
  background: linear-gradient(180deg, rgba(21, 29, 26, 0.98), rgba(17, 24, 21, 0.98)) !important;
  color: var(--song-ink) !important;
  border: 1px solid var(--app-line) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48) !important;
}

body.stage #tabellaTestoBrano,
body.stage #tabellaTestoBrano td,
body.stage #testo,
body.stage #testo.divBrano,
body.stage #testo .soloTesto,
body.stage #testo p.soloTesto,
body.stage #testo p.testoAccordi,
body.stage .soloTesto,
body.stage .tTab,
body.stage .tTab2,
body.stage .iTab {
  color: var(--song-ink) !important;
}

body.stage #testo p.titolo,
body.stage #testo .titolo,
body.stage .innari2026VerseLine,
body.stage .innari2026SongHead .titolo {
  color: var(--song-section) !important;
}

/* v17.3 - Intestazioni sezioni brano in tema scuro: verde acqua morbido, coerente con la palette */
body.stage #testo p.titolo,
body.stage #testo .titolo {
  color: var(--song-section) !important;
}

body.stage #testo span[style*="yellow"],
body.stage #testo span[style*="red"],
body.stage #testo span[style*="#ba5338"],
body.stage #testo span[style*="blue"],
body.stage #testo span[style*="green"],
body.stage #testo span[style*="black"],
body.stage #testo font[color] {
  color: var(--song-chord) !important;
}

body.stage #testo span.noc {
  color: transparent !important;
}

body.stage .innari2026SongHead {
  border-bottom-color: var(--app-line) !important;
}

body.stage .innari2026SongDetailRow,
body.stage .innari2026SongBrowseCard,
body.stage .innari2026ResourceAttachments a,
body.stage .innari2026BibleAllLink,
body.stage .innari2026HomeVerseBlock {
  background: rgba(32, 43, 39, 0.78) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

/* Bibbia */
body.stage.innari2026BiblePage,
body.stage.innari2026BiblePage > table,
body.stage.innari2026BiblePage table.soloTesto,
body.stage.innari2026BiblePage table.soloTesto > tbody,
body.stage.innari2026BiblePage table.soloTesto > tbody > tr,
body.stage.innari2026BiblePage table.soloTesto > tbody > tr > td {
  background: transparent !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026BibleVerseText,
body.stage .innari2026BibleVerseModalText,
body.stage .innari2026BibleReadingVerseText,
body.stage .innari2026BibleChapterVerseBody,
body.stage .innari2026BibleChapterText {
  color: var(--song-ink) !important;
  font-weight: 500 !important;
}

body.stage .innari2026BibleChapterVerseActive {
  background: rgba(241, 201, 91, 0.16) !important;
}

body.stage .innari2026BibleOperators,
body.stage .innari2026BibleAdvanced,
body.stage .innari2026BibleHelp,
body.stage .innari2026BibleOptions,
body.stage .innari2026SearchAdvanced,
body.stage .innari2026HomeAdvanced {
  background: rgba(18, 26, 23, 0.92) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

/* Switch e controlli legacy */
body.stage input[type="checkbox"].selColorato,
body.stage .innari2026CheckRow input[type="checkbox"] {
  accent-color: var(--app-green) !important;
}

body.stage .innari2026HomeDisplayCardControl select,
body.stage .innari2026DisplaySettingControl select {
  background: var(--input-bg) !important;
  color: var(--app-ink) !important;
  border-color: var(--input-border) !important;
}

body.stage .innari2026DisplayLegacyHidden {
  display: none !important;
}

body.stage hr,
body.stage .innari2026SongHead,
body.stage .innari2026BibleResultHeader,
body.stage .innari2026BibleReadingPassageHeader {
  border-color: var(--app-line) !important;
}

@media (max-width: 680px) {
  body.stage .innari2026MenuPanel,
  body.stage .innari2026SubPanel,
  body.stage .innari2026SearchPanel,
  body.stage .innari2026BibleVerseModalSheet {
    background: var(--panel-bg) !important;
  }

  body.stage #tabellaTestoBrano {
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.44) !important;
  }
}


/* v16.3 - Tema scuro: pannello ricerca coerente con la ricerca home */
body.stage .innari2026SearchPanel {
  background: linear-gradient(180deg, rgba(15, 24, 20, 0.98), rgba(12, 20, 17, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.22) !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchBody,
body.stage .innari2026SearchPanel .innari2026SearchForm {
  background: transparent !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchInputWrap {
  background: rgba(7, 17, 15, 0.76) !important;
  border-color: rgba(116, 214, 199, 0.36) !important;
  box-shadow: inset 0 0 0 1px rgba(116, 214, 199, 0.06) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchInputWrap:focus-within {
  border-color: rgba(116, 214, 199, 0.72) !important;
  box-shadow: 0 0 0 4px rgba(116, 214, 199, 0.12) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchInputWrap input {
  background: transparent !important;
  color: var(--app-ink) !important;
  caret-color: var(--app-green) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchStatusRow,
body.stage .innari2026SearchPanel .innari2026SearchStatus {
  color: var(--app-muted) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchScopeChip {
  background: rgba(116, 214, 199, 0.13) !important;
  border-color: rgba(116, 214, 199, 0.30) !important;
  color: var(--app-green) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchScopeChip:hover,
body.stage .innari2026SearchPanel .innari2026SearchScopeChip:focus-visible {
  background: rgba(116, 214, 199, 0.20) !important;
  border-color: rgba(116, 214, 199, 0.48) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResultsWrap {
  background: linear-gradient(180deg, rgba(18, 29, 25, 0.96), rgba(14, 23, 20, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.28) !important;
  box-shadow: inset 0 0 0 1px rgba(116, 214, 199, 0.05), 0 18px 42px rgba(0, 0, 0, 0.32) !important;
  scrollbar-color: rgba(116, 214, 199, 0.55) rgba(247, 240, 227, 0.08);
}

body.stage .innari2026SearchPanel .innari2026SearchResults {
  background: transparent !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResults tr + tr td {
  border-top-color: rgba(232, 223, 207, 0.10) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResult {
  background: transparent !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResult strong,
body.stage .innari2026SearchPanel .innari2026SearchTitleRow strong {
  color: var(--app-ink) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResult small,
body.stage .innari2026SearchPanel .innari2026SearchMeta,
body.stage .innari2026SearchPanel .innari2026SearchMeta span {
  color: var(--app-muted) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResult:hover,
body.stage .innari2026SearchPanel .innari2026SearchResult:focus-visible {
  background: rgba(116, 214, 199, 0.10) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResultRestored {
  background: rgba(116, 214, 199, 0.12) !important;
  box-shadow: inset 4px 0 0 rgba(241, 201, 91, 0.90) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchResultRestored strong::after {
  background: rgba(241, 201, 91, 0.20) !important;
  color: #f6d889 !important;
}

body.stage .innari2026SearchPanel .innari2026SearchBadge,
body.stage .innari2026SearchPanel .innari2026SearchTempoBadge,
body.stage .innari2026SearchPanel .innari2026SearchBpmBadge {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.34) !important;
  color: var(--app-green) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchKeyBadge,
body.stage .innari2026SearchPanel .innari2026SearchScoreBadge {
  background: rgba(226, 139, 107, 0.13) !important;
  border-color: rgba(226, 139, 107, 0.34) !important;
  color: var(--app-coral) !important;
}

body.stage .innari2026SearchPanel .innari2026SearchAdvanced[open],
body.stage .innari2026SearchPanel .innari2026SearchAdvanced {
  background: rgba(10, 20, 17, 0.78) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  color: var(--app-ink) !important;
}


/* v16.4 - Tema scuro: rifiniture Supporto Biblico, selettore innari e pagina Bibbia */
body.stage .innari2026BibleManageSections .innari2026InfoCard,
body.stage .innari2026BibleManageSections .innari2026ActionButton {
  background: rgba(32, 43, 39, 0.88) !important;
  border-color: rgba(232, 223, 207, 0.15) !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026BibleManageSections .innari2026InfoCard {
  background:
    linear-gradient(135deg, rgba(116, 214, 199, 0.12), rgba(116, 214, 199, 0) 62%),
    rgba(32, 43, 39, 0.88) !important;
}

body.stage .innari2026BibleManageSections .innari2026ActionButton:hover,
body.stage .innari2026BibleManageSections .innari2026ActionButton:focus-visible {
  background: rgba(116, 214, 199, 0.12) !important;
  border-color: rgba(116, 214, 199, 0.34) !important;
}

body.stage .innari2026BibleManageSections .innari2026InfoCard strong,
body.stage .innari2026BibleManageSections .innari2026ActionButton strong,
body.stage .innari2026BibleManageSections .innari2026ActionButton span:not(.material-symbols-rounded):not(.material-symbols-outlined) {
  color: var(--app-ink) !important;
}

body.stage .innari2026BibleManageSections .innari2026InfoCard small,
body.stage .innari2026BibleManageSections .innari2026ActionButton small,
body.stage .innari2026BibleManageSections .innari2026ActionButton em,
body.stage .innari2026BibleManageSections .innari2026ActionButton p {
  color: var(--app-muted) !important;
}

body.stage .innari2026BibleResult {
  background: linear-gradient(180deg, rgba(20, 29, 26, 0.98), rgba(17, 25, 22, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.20) !important;
  color: var(--app-ink) !important;
  box-shadow: inset 0 0 0 1px rgba(116, 214, 199, 0.04) !important;
  scrollbar-color: rgba(116, 214, 199, 0.45) rgba(255,255,255,0.06) !important;
}

body.stage .innari2026BibleResult,
body.stage .innari2026BibleResult p,
body.stage .innari2026BibleResult div,
body.stage .innari2026BibleResult span,
body.stage .innari2026BibleResult td,
body.stage .innari2026BibleResult font {
  color: var(--app-ink) !important;
}

body.stage .innari2026BibleResult b,
body.stage .innari2026BibleResult strong {
  color: var(--app-ink) !important;
  font-weight: 950 !important;
}

body.stage .innari2026BibleResult i,
body.stage .innari2026BibleResult em,
body.stage .innari2026BibleResult small {
  color: var(--app-muted) !important;
}

body.stage .innari2026BibleResult table,
body.stage .innari2026BibleResult tbody,
body.stage .innari2026BibleResult tr,
body.stage .innari2026BibleResult td {
  background: transparent !important;
  border-color: rgba(232, 223, 207, 0.10) !important;
}

body.stage .innari2026BibleLink,
body.stage .innari2026BibleResult a,
body.stage .innari2026BibleResult .pulsanteColorato,
body.stage .innari2026BibleResult button {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.32) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

body.stage .innari2026BibleLink:hover,
body.stage .innari2026BibleResult a:hover,
body.stage .innari2026BibleResult button:hover {
  background: rgba(116, 214, 199, 0.22) !important;
  border-color: rgba(116, 214, 199, 0.50) !important;
}

body.stage .innari2026InnarioPicker {
  background: linear-gradient(180deg, rgba(19, 28, 25, 0.98), rgba(13, 22, 19, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.42) !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026InnarioPickerHead {
  background: rgba(10, 18, 16, 0.78) !important;
  border-bottom-color: rgba(232, 223, 207, 0.12) !important;
  color: var(--app-muted) !important;
}

body.stage .innari2026InnarioPickerHead button {
  background: rgba(32, 43, 39, 0.92) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  color: var(--app-green) !important;
}

body.stage .innari2026InnarioPickerList {
  background: transparent !important;
  scrollbar-color: rgba(116, 214, 199, 0.55) rgba(247, 240, 227, 0.08) !important;
}

body.stage .innari2026InnarioPickButton {
  background: rgba(32, 43, 39, 0.92) !important;
  border-color: rgba(232, 223, 207, 0.12) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
}

body.stage .innari2026InnarioPickButton:hover,
body.stage .innari2026InnarioPickButton:focus-visible {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.38) !important;
  color: var(--app-ink) !important;
}

body.stage .innari2026InnarioPickButton[disabled],
body.stage .innari2026InnarioPickButton[aria-disabled="true"],
body.stage .innari2026InnarioPickButton.innari2026Disabled,
body.stage .innari2026InnarioPickButton.is-disabled {
  background: rgba(116, 214, 199, 0.08) !important;
  border-color: rgba(116, 214, 199, 0.18) !important;
  color: rgba(247, 240, 227, 0.38) !important;
  cursor: default !important;
}

body.stage .innari2026SearchPanel .innari2026InnarioPicker {
  margin-top: 8px !important;
}

body.stage.innari2026BiblePage,
body.stage.innari2026BiblePage > table,
body.stage.innari2026BiblePage > table > tbody,
body.stage.innari2026BiblePage > table > tbody > tr,
body.stage.innari2026BiblePage > table > tbody > tr > td,
body.stage.innari2026BiblePage table,
body.stage.innari2026BiblePage tbody,
body.stage.innari2026BiblePage tr,
body.stage.innari2026BiblePage td,
body.stage.innari2026BiblePage table[bgcolor],
body.stage.innari2026BiblePage td[bgcolor],
body.stage.innari2026BiblePage tr[bgcolor] {
  background-color: transparent !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026BiblePage {
  min-height: 100svh !important;
  background:
    linear-gradient(90deg, rgba(116, 214, 199, 0.06) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 18% 0%, rgba(116, 214, 199, 0.10), transparent 32rem),
    radial-gradient(circle at 85% 20%, rgba(228, 147, 114, 0.08), transparent 28rem),
    linear-gradient(180deg, #0c1110 0%, var(--app-bg) 100%) !important;
}

body.stage.innari2026BiblePage .innari2026BibleSearchCard {
  background: linear-gradient(180deg, rgba(27, 37, 33, 0.98), rgba(19, 27, 24, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.22) !important;
  box-shadow: 0 26px 76px rgba(0, 0, 0, 0.52) !important;
}

body.stage.innari2026BiblePage .innari2026BibleSearchCard::after {
  background: radial-gradient(circle, rgba(116, 214, 199, 0.14), transparent 68%) !important;
}

body.stage.innari2026BiblePage .innari2026BibleSearchHead h1,
body.stage.innari2026BiblePage .innari2026BibleHelpGrid h3 {
  color: var(--app-ink) !important;
}

body.stage.innari2026BiblePage .innari2026BibleSearchHead p,
body.stage.innari2026BiblePage .innari2026BibleSelectField,
body.stage.innari2026BiblePage .innari2026BibleHelpBody,
body.stage.innari2026BiblePage center span[style*="font-size: small"] {
  color: var(--app-muted) !important;
}

body.stage.innari2026BiblePage .innari2026BibleInputWrap,
body.stage.innari2026BiblePage .innari2026BibleSelectField select,
body.stage.innari2026BiblePage .innari2026BibleSearchCard select.whiteBox {
  background: rgba(12, 22, 19, 0.78) !important;
  border-color: rgba(116, 214, 199, 0.32) !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026BiblePage .innari2026BibleInputWrap:focus-within,
body.stage.innari2026BiblePage .innari2026BibleSelectField select:focus {
  border-color: rgba(116, 214, 199, 0.68) !important;
  box-shadow: 0 0 0 4px rgba(116, 214, 199, 0.11) !important;
}

body.stage.innari2026BiblePage .innari2026BibleSearchButton {
  background: rgba(116, 214, 199, 0.18) !important;
  border-color: rgba(116, 214, 199, 0.40) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026BiblePage .innari2026BibleAdvanced,
body.stage.innari2026BiblePage .innari2026BibleHelp details {
  background: rgba(17, 26, 23, 0.94) !important;
  border-color: rgba(232, 223, 207, 0.14) !important;
  color: var(--app-ink) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38) !important;
}

body.stage.innari2026BiblePage .innari2026BibleAdvanced summary,
body.stage.innari2026BiblePage .innari2026BibleHelp summary,
body.stage.innari2026BiblePage .innari2026BibleExample {
  color: var(--app-green) !important;
}

body.stage.innari2026BiblePage .innari2026BibleOperators button,
body.stage.innari2026BiblePage .innari2026BibleActions button {
  background: rgba(32, 43, 39, 0.90) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026BiblePage .innari2026BibleHelpGrid article {
  background: rgba(32, 43, 39, 0.78) !important;
  border-color: rgba(232, 223, 207, 0.12) !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026BiblePage .innari2026BibleHelpGrid p {
  color: var(--app-muted) !important;
}

body.stage.innari2026BiblePage select option {
  background: #121a17 !important;
  color: #f7f0e3 !important;
}


/* v16.5 - Tema scuro: copertura completa Bibbia, Supporto Biblico e Trasporto */
html.stage,
html.innari2026BibleHtml,
html.innari2026BibleHtml body,
html:has(body.stage.innari2026BiblePage) {
  background: #0c1110 !important;
  color-scheme: dark !important;
}

body.stage.innari2026BiblePage,
body.stage.innari2026BibleFramePage {
  background:
    linear-gradient(90deg, rgba(116, 214, 199, 0.06) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 18% 0%, rgba(116, 214, 199, 0.10), transparent 32rem),
    radial-gradient(circle at 85% 20%, rgba(228, 147, 114, 0.08), transparent 28rem),
    linear-gradient(180deg, #0c1110 0%, #101615 100%) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage > center,
body.stage.innari2026BiblePage > div,
body.stage.innari2026BiblePage > table,
body.stage.innari2026BiblePage > table * {
  background-color: transparent !important;
}

/* Bibbia: home, risultati, lettura e modali su tutte le querystring */
body.stage.innari2026BiblePage .innari2026BibleSearchCard,
body.stage.innari2026BiblePage .innari2026BibleHelp,
body.stage.innari2026BiblePage .innari2026BibleResultsOuter,
body.stage.innari2026BiblePage .innari2026BibleResults,
body.stage.innari2026BiblePage .innari2026BiblePagerCard,
body.stage.innari2026BiblePage .innari2026BiblePagerBottom,
body.stage.innari2026BiblePage .innari2026BibleReadingView,
body.stage.innari2026BiblePage .innari2026BibleReadingHero,
body.stage.innari2026BiblePage .innari2026BibleReadingContent,
body.stage.innari2026BiblePage .innari2026BibleReadingPassage,
body.stage.innari2026BiblePage .innari2026BibleReadingResultCard,
body.stage.innari2026BiblePage .innari2026BibleVerseModalSheet,
body.stage.innari2026BibleFramePage .innari2026BibleChapterView {
  background: linear-gradient(180deg, rgba(27, 37, 33, 0.98), rgba(17, 25, 22, 0.98)) !important;
  border-color: rgba(232, 223, 207, 0.15) !important;
  color: var(--app-ink, #f7f0e3) !important;
  box-shadow: 0 26px 76px rgba(0, 0, 0, 0.50) !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingContent,
body.stage.innari2026BiblePage .innari2026BibleResultsCards,
body.stage.innari2026BiblePage .innari2026BibleVerseModalBody,
body.stage.innari2026BibleFramePage .innari2026BibleChapterText {
  background: rgba(13, 22, 19, 0.72) !important;
  color: var(--app-ink, #f7f0e3) !important;
  border-color: rgba(232, 223, 207, 0.14) !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingPassageHeader,
body.stage.innari2026BiblePage .innari2026BibleChapterHeader,
body.stage.innari2026BibleFramePage .innari2026BibleChapterHeader,
body.stage.innari2026BiblePage .innari2026BibleVerseModalHeader,
body.stage.innari2026BiblePage .innari2026BibleResultsSummary {
  background: linear-gradient(135deg, rgba(116, 214, 199, 0.13), rgba(32, 43, 39, 0.95)) !important;
  border-color: rgba(232, 223, 207, 0.15) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingHero h1,
body.stage.innari2026BiblePage .innari2026BibleReadingPassageHeader h2,
body.stage.innari2026BiblePage .innari2026BibleSearchHead h1,
body.stage.innari2026BiblePage .innari2026BibleResultsSummary h2,
body.stage.innari2026BiblePage .innari2026BibleResultReference,
body.stage.innari2026BiblePage .innari2026BibleVerseModalTitle,
body.stage.innari2026BibleFramePage .innari2026BibleChapterHeader h3,
body.stage.innari2026BiblePage h1,
body.stage.innari2026BiblePage h2,
body.stage.innari2026BiblePage h3,
body.stage.innari2026BiblePage h4 {
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingHero p,
body.stage.innari2026BiblePage .innari2026BibleSearchHead p,
body.stage.innari2026BiblePage .innari2026BibleResultsSummary p,
body.stage.innari2026BiblePage .innari2026BiblePagerMeta,
body.stage.innari2026BiblePage .innari2026BibleSelectField,
body.stage.innari2026BiblePage .innari2026BibleHelpBody,
body.stage.innari2026BiblePage .innari2026BibleReadingKicker,
body.stage.innari2026BiblePage .innari2026BibleResultsKicker,
body.stage.innari2026BibleFramePage .innari2026BibleChapterKicker {
  color: var(--app-muted, #b7c0b8) !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingPassageText,
body.stage.innari2026BiblePage .innari2026BibleReadingVerseText,
body.stage.innari2026BiblePage .innari2026BibleReadingVerseText *,
body.stage.innari2026BiblePage .innari2026BibleVerseText,
body.stage.innari2026BiblePage .innari2026BibleVerseText *,
body.stage.innari2026BiblePage .innari2026BibleResultCard p,
body.stage.innari2026BibleFramePage .innari2026BibleChapterVerse,
body.stage.innari2026BibleFramePage .innari2026BibleChapterVerseBody,
body.stage.innari2026BibleFramePage .innari2026BibleChapterVerseBody * {
  color: rgba(247, 240, 227, 0.94) !important;
  background: transparent !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingPassage,
body.stage.innari2026BiblePage .innari2026BibleResultCard,
body.stage.innari2026BiblePage .innari2026BibleHelpGrid article {
  background: rgba(32, 43, 39, 0.82) !important;
  border-color: rgba(232, 223, 207, 0.14) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleReadingVerseNum,
body.stage.innari2026BiblePage .innari2026BibleChapterVerseNum,
body.stage.innari2026BibleFramePage .innari2026BibleChapterVerseNum {
  background: rgba(116, 214, 199, 0.16) !important;
  border-color: rgba(116, 214, 199, 0.36) !important;
  color: var(--app-green, #74d6c7) !important;
}

body.stage.innari2026BiblePage .innari2026BibleInputWrap,
body.stage.innari2026BiblePage .innari2026BibleSelectField select,
body.stage.innari2026BiblePage .innari2026BibleSearchCard select.whiteBox,
body.stage.innari2026BiblePage .innari2026BiblePageSelect select,
body.stage.innari2026BiblePage .innari2026BibleAltVersion select,
body.stage.innari2026BiblePage .innari2026BibleVerseSelect {
  background: #101916 !important;
  border-color: rgba(116, 214, 199, 0.34) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleSearchButton,
body.stage.innari2026BiblePage .innari2026BibleReadingAction,
body.stage.innari2026BiblePage .innari2026BibleReadingChapterLink,
body.stage.innari2026BiblePage .innari2026BibleResultToggle,
body.stage.innari2026BiblePage .innari2026BiblePageLink,
body.stage.innari2026BiblePage .innari2026BibleVerseActionButton,
body.stage.innari2026BiblePage .innari2026BibleOperators button,
body.stage.innari2026BiblePage .innari2026BibleActions button {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.34) !important;
  color: var(--app-green, #74d6c7) !important;
  box-shadow: none !important;
}

body.stage.innari2026BiblePage .innari2026BiblePageLinkCurrent,
body.stage.innari2026BiblePage .innari2026BibleSearchButton:hover,
body.stage.innari2026BiblePage .innari2026BibleReadingAction:hover,
body.stage.innari2026BiblePage .innari2026BibleReadingChapterLink:hover,
body.stage.innari2026BiblePage .innari2026BibleResultToggle:hover,
body.stage.innari2026BiblePage .innari2026BibleVerseActionButton:hover {
  background: var(--app-green, #74d6c7) !important;
  border-color: rgba(116, 214, 199, 0.58) !important;
  color: #07110f !important;
}

body.stage.innari2026BiblePage .innari2026BibleAdvanced,
body.stage.innari2026BiblePage .innari2026BibleHelp details {
  background: rgba(17, 26, 23, 0.94) !important;
  border-color: rgba(232, 223, 207, 0.14) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleHelp details[open],
body.stage.innari2026BiblePage .innari2026BibleAdvanced[open] {
  background: rgba(20, 31, 27, 0.98) !important;
}

body.stage.innari2026BiblePage .innari2026BibleAdvanced summary,
body.stage.innari2026BiblePage .innari2026BibleHelp summary,
body.stage.innari2026BiblePage .innari2026BibleExample,
body.stage.innari2026BiblePage .innari2026BibleLink {
  color: var(--app-green, #74d6c7) !important;
}

/* Supporto Biblico: risultati generati con HTML legacy */
body.stage #innari2026Panel-bible .innari2026BibleResultSection,
body.stage #innari2026Panel-bible #innari2026BibleResult {
  background: linear-gradient(180deg, rgba(20, 31, 27, 0.98), rgba(14, 23, 20, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage #innari2026Panel-bible #innari2026BibleResult,
body.stage #innari2026Panel-bible #innari2026BibleResult *,
body.stage #innari2026Panel-bible #innari2026BibleResult table,
body.stage #innari2026Panel-bible #innari2026BibleResult tbody,
body.stage #innari2026Panel-bible #innari2026BibleResult tr,
body.stage #innari2026Panel-bible #innari2026BibleResult td,
body.stage #innari2026Panel-bible #innari2026BibleResult font,
body.stage #innari2026Panel-bible #innari2026BibleResult div,
body.stage #innari2026Panel-bible #innari2026BibleResult span {
  background: transparent !important;
  color: var(--app-ink, #f7f0e3) !important;
  border-color: rgba(232, 223, 207, 0.12) !important;
}

body.stage #innari2026Panel-bible #innari2026BibleResult b,
body.stage #innari2026Panel-bible #innari2026BibleResult strong {
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage #innari2026Panel-bible #innari2026BibleResult i,
body.stage #innari2026Panel-bible #innari2026BibleResult em,
body.stage #innari2026Panel-bible #innari2026BibleResult small {
  color: rgba(247, 240, 227, 0.78) !important;
}

body.stage #innari2026Panel-bible #innari2026BibleResult a,
body.stage #innari2026Panel-bible #innari2026BibleResult button,
body.stage #innari2026Panel-bible #innari2026BibleResult .pulsanteColorato {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(116, 214, 199, 0.34) !important;
  border-radius: 999px !important;
  background: rgba(116, 214, 199, 0.14) !important;
  color: var(--app-green, #74d6c7) !important;
  text-decoration: none !important;
  font: 950 0.92rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

/* Ricerca brano: selettore innari nel bottom sheet */
body.stage .innari2026SearchPanel .innari2026InnarioPicker,
body.stage .innari2026SearchPanel form .innari2026InnarioPicker,
body.stage .innari2026SearchPanel #innari2026InnarioPicker {
  background: linear-gradient(180deg, rgba(18, 29, 25, 0.98), rgba(11, 20, 17, 0.98)) !important;
  border-color: rgba(116, 214, 199, 0.30) !important;
  color: var(--app-ink, #f7f0e3) !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.48) !important;
}

body.stage .innari2026SearchPanel .innari2026InnarioPickerHead,
body.stage .innari2026SearchPanel #innari2026InnarioPicker .innari2026InnarioPickerHead {
  background: rgba(10, 18, 16, 0.90) !important;
  border-bottom-color: rgba(232, 223, 207, 0.13) !important;
  color: var(--app-muted, #b7c0b8) !important;
}

body.stage .innari2026SearchPanel .innari2026InnarioPickerList,
body.stage .innari2026SearchPanel #innari2026InnarioPickerList {
  background: transparent !important;
  scrollbar-color: rgba(116, 214, 199, 0.58) rgba(247, 240, 227, 0.08) !important;
}

body.stage .innari2026SearchPanel .innari2026InnarioPickButton,
body.stage .innari2026SearchPanel #innari2026InnarioPicker .innari2026InnarioPickButton {
  background: rgba(32, 43, 39, 0.94) !important;
  border-color: rgba(232, 223, 207, 0.13) !important;
  color: var(--app-ink, #f7f0e3) !important;
  box-shadow: none !important;
}

body.stage .innari2026SearchPanel .innari2026InnarioPickButton:hover,
body.stage .innari2026SearchPanel .innari2026InnarioPickButton:focus-visible {
  background: rgba(116, 214, 199, 0.16) !important;
  border-color: rgba(116, 214, 199, 0.42) !important;
}

body.stage .innari2026SearchPanel .innari2026InnarioPickButton[disabled],
body.stage .innari2026SearchPanel .innari2026InnarioPickButton[aria-disabled="true"],
body.stage .innari2026SearchPanel .innari2026InnarioPickButton.is-disabled,
body.stage .innari2026SearchPanel .innari2026InnarioPickButton.innari2026Disabled {
  background: rgba(116, 214, 199, 0.10) !important;
  border-color: rgba(116, 214, 199, 0.22) !important;
  color: rgba(247, 240, 227, 0.56) !important;
}

/* Trasporto nel pannello strumenti */
body.stage .innari2026TransposeSection,
body.stage .innari2026TransposeSection .innari2026KeyTransportRow {
  background: transparent !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage .innari2026TransposeSection .innari2026KeyPill,
body.stage .innari2026TransposeSection .innari2026KeyStepper,
body.stage .innari2026TransposeSection .innari2026KeyStepper button {
  background: rgba(32, 43, 39, 0.95) !important;
  border: 1px solid rgba(116, 214, 199, 0.26) !important;
  color: var(--app-ink, #f7f0e3) !important;
  box-shadow: none !important;
}

body.stage .innari2026TransposeSection .innari2026KeyPill span,
body.stage .innari2026TransposeSection .innari2026KeyStepper button small {
  color: var(--app-muted, #b7c0b8) !important;
}

body.stage .innari2026TransposeSection .innari2026KeyPill strong,
body.stage .innari2026TransposeSection .innari2026KeyStepper button strong,
body.stage .innari2026TransposeSection .innari2026KeyStepper .material-symbols-rounded {
  color: var(--app-green, #74d6c7) !important;
}

body.stage .innari2026TransposeSection .innari2026KeyStepper {
  padding: 6px !important;
  gap: 7px !important;
  background: rgba(10, 18, 16, 0.92) !important;
}

body.stage .innari2026TransposeSection .innari2026KeyStepper button:hover,
body.stage .innari2026TransposeSection .innari2026KeyStepper button:focus-visible {
  background: rgba(116, 214, 199, 0.16) !important;
  border-color: rgba(116, 214, 199, 0.45) !important;
}

@media (max-width: 680px) {
  body.stage.innari2026BiblePage .innari2026BibleReadingHero,
  body.stage.innari2026BiblePage .innari2026BibleSearchCard {
    border-radius: 20px !important;
  }

  body.stage.innari2026BiblePage .innari2026BibleReadingContent {
    border-radius: 0 0 20px 20px !important;
  }

  body.stage #innari2026Panel-bible #innari2026BibleResult a,
  body.stage #innari2026Panel-bible #innari2026BibleResult button,
  body.stage #innari2026Panel-bible #innari2026BibleResult .pulsanteColorato {
    width: 100% !important;
  }
}


/* v16.7 - Tema scuro: modale opzioni versetto Bibbia */
body.stage.innari2026BiblePage .innari2026BibleVerseModalSheet {
  background: linear-gradient(180deg, rgba(15, 24, 20, 0.99), rgba(10, 18, 15, 0.99)) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalBody {
  background: rgba(8, 16, 14, 0.58) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalText {
  background: linear-gradient(180deg, rgba(32, 43, 39, 0.94), rgba(25, 35, 31, 0.94)) !important;
  border: 1px solid rgba(116, 214, 199, 0.22) !important;
  color: rgba(247, 240, 227, 0.94) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalText,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText *,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText span,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText span.testoSemplice,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText font,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText p,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText b,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText strong,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText i,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText em {
  background: transparent !important;
  color: rgba(247, 240, 227, 0.94) !important;
  border-color: rgba(232, 223, 207, 0.12) !important;
  text-shadow: none !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalText b,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText strong {
  color: var(--app-ink, #f7f0e3) !important;
  font-weight: 750 !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalText mark,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText .evidenzia,
body.stage.innari2026BiblePage .innari2026BibleVerseModalText .highlight {
  background: rgba(241, 201, 91, 0.26) !important;
  color: #fff2c2 !important;
  border-radius: 0.28em !important;
  padding: 0 0.12em !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseActionSection {
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseActionSection label,
body.stage.innari2026BiblePage .innari2026BibleVerseActionSection h4 {
  color: rgba(247, 240, 227, 0.84) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseActionVersion select,
body.stage.innari2026BiblePage .innari2026BibleVerseSelect {
  background: rgba(7, 17, 15, 0.92) !important;
  border-color: rgba(116, 214, 199, 0.36) !important;
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalExtraHost {
  color: var(--app-ink, #f7f0e3) !important;
}

body.stage.innari2026BiblePage .innari2026BibleVerseModalExtraHost .innari2026BibleInlineWait,
body.stage.innari2026BiblePage .innari2026BibleVerseModalExtraHost .innari2026BibleResultExtra {
  background: rgba(13, 22, 19, 0.72) !important;
  color: var(--app-ink, #f7f0e3) !important;
}


/* v16.8 - link home nel menu laterale e badge ultimo selezionato piu leggibile in tema scuro */
.innari2026MenuCard.innari2026MenuHomeCard,
a.innari2026MenuCard {
  text-decoration: none !important;
  cursor: pointer;
}

.innari2026MenuCard.innari2026MenuHomeCard {
  border-color: rgba(23, 106, 95, 0.24) !important;
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.92), rgba(255, 252, 245, 0.96)) !important;
}

body.stage .innari2026MenuCard.innari2026MenuHomeCard {
  border-color: rgba(116, 214, 199, 0.30) !important;
  background: linear-gradient(135deg, rgba(116, 214, 199, 0.13), rgba(24, 34, 30, 0.94)) !important;
}

body.innari2026GestionePage a.innari2026ManageMenuCard {
  color: var(--app-ink) !important;
  text-decoration: none !important;
}

body.innari2026GestionePage .innari2026ManageMenuHome {
  border-color: rgba(23, 106, 95, 0.24) !important;
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.90), rgba(255, 252, 245, 0.96)) !important;
}

body.stage.innari2026GestionePage .innari2026ManageMenuHome {
  border-color: rgba(116, 214, 199, 0.30) !important;
  background: linear-gradient(135deg, rgba(116, 214, 199, 0.13), rgba(24, 34, 30, 0.94)) !important;
}

body.stage .innari2026SearchResultRestored strong::after,
body.stage .innari2026HomeSearchResult.innari2026SearchResultRestored strong::after {
  background: rgba(241, 201, 91, 0.24) !important;
  border: 1px solid rgba(241, 201, 91, 0.42) !important;
  color: #ffe8a7 !important;
  text-shadow: none !important;
}

body.stage .innari2026HomeSearchResult.innari2026SearchResultRestored,
body.stage .innari2026HomeSearchShell .innari2026SearchResultRestored {
  background: rgba(116, 214, 199, 0.12) !important;
  box-shadow: inset 4px 0 0 rgba(241, 201, 91, 0.92) !important;
}


/* v16.9 - rifiniture tema scuro home e allineamento icona Home nel menu */
.innari2026MenuCard.innari2026MenuHomeCard {
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
}

.innari2026MenuCard.innari2026MenuHomeCard > .material-symbols-outlined {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: center !important;
  line-height: 1 !important;
  font-size: 1.75rem !important;
}

.innari2026MenuCard.innari2026MenuHomeCard > span:last-child {
  min-width: 0 !important;
  align-self: center !important;
}

body.stage .innari2026HomeTodayCard,
body.stage .innari2026HomeDailySongCard,
body.stage .innari2026HomeWeeklyTopCard,
body.stage .innari2026HomeSection {
  background: linear-gradient(180deg, rgba(20, 31, 27, 0.98), rgba(14, 22, 19, 0.98)) !important;
  border-color: rgba(232, 223, 207, 0.14) !important;
}

body.stage .innari2026HomeWeeklyTopCard {
  background: linear-gradient(180deg, rgba(22, 35, 30, 0.98), rgba(15, 24, 21, 0.98)) !important;
}

body.stage .innari2026HomeDailySongCard {
  background: linear-gradient(180deg, rgba(20, 31, 27, 0.98), rgba(15, 24, 21, 0.98)) !important;
}

body.stage .innari2026HomeDailyReflection {
  background: rgba(10, 18, 16, 0.62) !important;
  border-color: rgba(116, 214, 199, 0.18) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12) !important;
}

body.stage .innari2026HomeDailyReflectionPreview,
body.stage .innari2026HomeDailyReflectionFull,
body.stage .innari2026HomeDailyReflectionPreview *,
body.stage .innari2026HomeDailyReflectionFull * {
  color: rgba(247, 240, 227, 0.88) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  font-weight: 750 !important;
  line-height: 1.48 !important;
}

body.stage .innari2026HomeDailyReflectionKicker {
  color: var(--app-green) !important;
}

body.stage .innari2026HomeVerseText {
  background: rgba(116, 214, 199, 0.10) !important;
  border-color: rgba(116, 214, 199, 0.22) !important;
  color: rgba(247, 240, 227, 0.88) !important;
}

body.stage .innari2026HomeVerseText,
body.stage .innari2026HomeVerseText *,
body.stage .innari2026VerseLine,
body.stage .innari2026VerseLine * {
  color: rgba(247, 240, 227, 0.88) !important;
  text-shadow: none !important;
}

body.stage .innari2026HomeVerseText sup,
body.stage .innari2026HomeVerseText .verso,
body.stage .innari2026VerseLine:first-child {
  color: var(--app-green) !important;
  font-weight: 950 !important;
}

body.stage .innari2026HomeTodayGrid article,
body.stage .innari2026HomeQuickCard {
  background: rgba(20, 31, 27, 0.86) !important;
  border-color: rgba(232, 223, 207, 0.13) !important;
}

body.stage .innari2026HomeWeeklyRankMetric {
  background: rgba(116, 214, 199, 0.13) !important;
  border: 1px solid rgba(116, 214, 199, 0.24) !important;
  color: var(--app-green) !important;
}

body.stage .innari2026HomeWeeklyRankNumber,
body.stage .innari2026HomeDailyNumber {
  background: rgba(255, 235, 220, 0.96) !important;
  border-color: rgba(226, 139, 107, 0.34) !important;
  color: var(--app-coral) !important;
}

body.stage .innari2026HomeWeeklyToggle,
body.stage .innari2026HomeDailyReflectionToggle,
body.stage .innari2026HomeDailyActions a {
  background: var(--app-green) !important;
  border-color: rgba(116, 214, 199, 0.48) !important;
  color: #07110f !important;
}

body.stage .innari2026HomeWeeklyToggle .material-symbols-rounded,
body.stage .innari2026HomeDailyReflectionToggle .material-symbols-rounded,
body.stage .innari2026HomeDailyActions a .material-symbols-rounded {
  color: #07110f !important;
}

@media (max-width: 680px) {
  .innari2026MenuCard.innari2026MenuHomeCard {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .innari2026MenuCard.innari2026MenuHomeCard > .material-symbols-outlined {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 1.6rem !important;
  }
}


/* v17.0 - Top settimana pi compatta e coerente in tema scuro */
body.stage .innari2026HomeWeeklyTopCard > .material-symbols-rounded {
  background: rgba(116, 214, 199, 0.14) !important;
  border: 1px solid rgba(116, 214, 199, 0.26) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

body.stage .innari2026HomeWeeklyRankNumber {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.30) !important;
  color: var(--app-green) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

body.stage .innari2026HomeWeeklyRankItem:nth-child(1) .innari2026HomeWeeklyRankNumber,
body.stage .innari2026HomeWeeklyRankItem:nth-child(2) .innari2026HomeWeeklyRankNumber,
body.stage .innari2026HomeWeeklyRankItem:nth-child(3) .innari2026HomeWeeklyRankNumber {
  background: rgba(241, 201, 91, 0.14) !important;
  border-color: rgba(241, 201, 91, 0.32) !important;
  color: #f7d978 !important;
}

body.stage .innari2026HomeWeeklyRankMetric {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.28) !important;
  color: var(--app-green) !important;
}

body.stage .innari2026HomeWeeklyTopCard .innari2026HomeWeeklySongBody > b,
body.stage .innari2026HomeWeeklyTopCard .innari2026HomeWeeklySummary,
body.stage .innari2026HomeWeeklyTopCard .innari2026HomeWeeklySummary * {
  color: var(--app-ink) !important;
  text-shadow: none !important;
}

@media (max-width: 680px) {
  .innari2026HomeWeeklyTopCard > .material-symbols-rounded {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 1.55rem !important;
  }
}

/* v17.1 - correzione Top settimana: nascondi davvero gli extra e badge brano del giorno in tema scuro */
.innari2026HomeWeeklyRankItem[hidden],
.innari2026HomeWeeklyRankExtra[hidden] {
  display: none !important;
}

body.stage .innari2026HomeDailyNumber {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.32) !important;
  color: var(--app-green, #74d6c7) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}


/* v17.2 - Home tema scuro: testo versetto di incoraggiamento pi leggibile */
body.stage .innari2026HomeVerseText,
body.stage .innari2026HomeVerseText .innari2026VerseLine,
body.stage .innari2026HomeVerseText .innari2026VerseLine:first-child,
body.stage .innari2026HomeVerseText span,
body.stage .innari2026HomeVerseText p,
body.stage .innari2026HomeVerseText font,
body.stage .innari2026HomeVerseText b,
body.stage .innari2026HomeVerseText strong,
body.stage .innari2026VerseLine,
body.stage .innari2026VerseLine *:not(sup) {
  color: rgba(247, 240, 227, 0.90) !important;
  text-shadow: none !important;
}

body.stage .innari2026HomeVerseText {
  background: rgba(247, 240, 227, 0.055) !important;
  border-color: rgba(232, 223, 207, 0.16) !important;
}

body.stage .innari2026HomeVerseText sup,
body.stage .innari2026HomeVerseText .verso {
  color: var(--app-green, #74d6c7) !important;
  font-weight: 950 !important;
}


/* v17.4 - Gestione: tema scuro completo e indipendente da chordss.css */
body.stage.innari2026GestionePage {
  --app-bg: #101615;
  --app-paper: #17201d;
  --app-paper-2: #202b27;
  --app-ink: #f7f0e3;
  --app-muted: #b7c0b8;
  --app-line: rgba(232, 223, 207, 0.16);
  --app-green: #74d6c7;
  --app-green-soft: rgba(116, 214, 199, 0.14);
  --app-coral: #e49372;
  --app-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  --panel-bg: #131b18;
  --panel-card: #1b2521;
  --panel-card-2: #22302a;
  --input-bg: #121a17;
  --input-border: rgba(116, 214, 199, 0.32);
  color-scheme: dark;
  color: var(--app-ink) !important;
  background:
    linear-gradient(90deg, rgba(116, 214, 199, 0.06) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 16% 0%, rgba(116, 214, 199, 0.10), transparent 30rem),
    radial-gradient(circle at 86% 18%, rgba(228, 147, 114, 0.07), transparent 28rem),
    linear-gradient(180deg, #0c1110 0%, var(--app-bg) 100%) !important;
}

body.stage.innari2026GestionePage .innari2026GestioneTopbar {
  background: rgba(12, 17, 16, 0.90) !important;
  border-bottom-color: var(--app-line) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.34) !important;
  backdrop-filter: blur(16px);
}

body.stage.innari2026GestionePage .innari2026GestioneTopTitle,
body.stage.innari2026GestionePage .innari2026GestioneTopTitle strong,
body.stage.innari2026GestionePage .innari2026Manage h1,
body.stage.innari2026GestionePage .innari2026Manage h2,
body.stage.innari2026GestionePage .innari2026Manage h3,
body.stage.innari2026GestionePage .innari2026Manage b,
body.stage.innari2026GestionePage .innari2026Manage strong,
body.stage.innari2026GestionePage .innari2026Manage .titolo,
body.stage.innari2026GestionePage .innari2026Manage p.titolo,
body.stage.innari2026GestionePage .innari2026ManagePanelHeader h2,
body.stage.innari2026GestionePage .innari2026ManageMenuContent h3,
body.stage.innari2026GestionePage .innari2026ManageGroupTitleRow h3,
body.stage.innari2026GestionePage .innari2026ManageDocTitleRow h3,
body.stage.innari2026GestionePage .innari2026ManageMemberTitleRow h3 {
  color: var(--app-ink) !important;
}

body.stage.innari2026GestionePage .innari2026GestioneTopTitle span,
body.stage.innari2026GestionePage .innari2026Manage p,
body.stage.innari2026GestionePage .innari2026Manage small,
body.stage.innari2026GestionePage .innari2026Manage font,
body.stage.innari2026GestionePage .innari2026ManagePagerInfo,
body.stage.innari2026GestionePage .innari2026ManageMenuContent small,
body.stage.innari2026GestionePage .innari2026ManageGroupMeta span,
body.stage.innari2026GestionePage .innari2026ManageDocMeta span,
body.stage.innari2026GestionePage .innari2026ManageMemberMeta span,
body.stage.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child,
body.stage.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) td:first-child font {
  color: var(--app-muted) !important;
}

body.stage.innari2026GestionePage .innari2026Manage a,
body.stage.innari2026GestionePage .innari2026Manage a:visited,
body.stage.innari2026GestionePage .innari2026ManageMenuCard,
body.stage.innari2026GestionePage .innari2026ManageMenuCard:visited,
body.stage.innari2026GestionePage .innari2026GestioneMenuButton,
body.stage.innari2026GestionePage .innari2026GestioneHomeButton,
body.stage.innari2026GestionePage .innari2026GestioneTopbar .material-symbols-outlined {
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage .innari2026ManageHero,
body.stage.innari2026GestionePage .innari2026ManageLoginCard,
body.stage.innari2026GestionePage .innari2026ManageSectionHead,
body.stage.innari2026GestionePage .innari2026ManagePager,
body.stage.innari2026GestionePage .innari2026ManageGroupCard,
body.stage.innari2026GestionePage .innari2026ManageEmptyCard,
body.stage.innari2026GestionePage .innari2026ManageDocCard,
body.stage.innari2026GestionePage .innari2026ManageMemberCard,
body.stage.innari2026GestionePage .innari2026ManageSubHead,
body.stage.innari2026GestionePage .innari2026ManageSortBar,
body.stage.innari2026GestionePage .innari2026ManageGroupFormShell,
body.stage.innari2026GestionePage .innari2026ManageDocFormShell,
body.stage.innari2026GestionePage .innari2026Manage .whiteBox:not(#divUserBox),
body.stage.innari2026GestionePage .innari2026Manage table.whiteBox,
body.stage.innari2026GestionePage .innari2026Manage .tabellaElenco,
body.stage.innari2026GestionePage .innari2026Manage table.soloTesto,
body.stage.innari2026GestionePage .innari2026Manage .nTABLEf {
  border-color: var(--app-line) !important;
  background: linear-gradient(180deg, rgba(27, 37, 33, 0.96), rgba(19, 27, 24, 0.96)) !important;
  color: var(--app-ink) !important;
  box-shadow: var(--app-shadow) !important;
}

body.stage.innari2026GestionePage .innari2026ManageGroupCard,
body.stage.innari2026GestionePage .innari2026ManageDocCard,
body.stage.innari2026GestionePage .innari2026ManageMemberCard,
body.stage.innari2026GestionePage .innari2026ManageEmptyCard,
body.stage.innari2026GestionePage .innari2026ManageMenuCard,
body.stage.innari2026GestionePage .innari2026ManagePager,
body.stage.innari2026GestionePage .innari2026ManageSortBar,
body.stage.innari2026GestionePage .innari2026ManageSubHead {
  background: rgba(32, 43, 39, 0.86) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026GestionePage .innari2026ManageGroupCard:hover,
body.stage.innari2026GestionePage .innari2026ManageDocCard:hover,
body.stage.innari2026GestionePage .innari2026ManageMemberCard:hover,
body.stage.innari2026GestionePage a.innari2026ManageMenuCard:hover {
  background: rgba(38, 52, 47, 0.96) !important;
  border-color: rgba(116, 214, 199, 0.32) !important;
}

body.stage.innari2026GestionePage .innari2026ManageGroupMeta div,
body.stage.innari2026GestionePage .innari2026ManageDocMeta div,
body.stage.innari2026GestionePage .innari2026ManageMemberMeta div,
body.stage.innari2026GestionePage .innari2026ManageDocNumber,
body.stage.innari2026GestionePage .innari2026ManageBadge,
body.stage.innari2026GestionePage .innari2026ManagePagerButtons a,
body.stage.innari2026GestionePage .innari2026ManagePagerButtons span {
  background: rgba(116, 214, 199, 0.10) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage .innari2026ManageGroupMeta b,
body.stage.innari2026GestionePage .innari2026ManageDocMeta b,
body.stage.innari2026GestionePage .innari2026ManageMemberMeta b,
body.stage.innari2026GestionePage .innari2026Manage td,
body.stage.innari2026GestionePage .innari2026Manage th {
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

body.stage.innari2026GestionePage .innari2026Manage .tabellaElenco th,
body.stage.innari2026GestionePage .innari2026Manage table.whiteBox th {
  background: rgba(116, 214, 199, 0.14) !important;
  color: var(--app-green) !important;
  border-color: var(--app-line) !important;
}

body.stage.innari2026GestionePage .innari2026Manage .tabellaElenco tr,
body.stage.innari2026GestionePage .innari2026Manage table.whiteBox tr,
body.stage.innari2026GestionePage .innari2026ManageFormTable tr,
body.stage.innari2026GestionePage .innari2026ManageDocFormTable tr {
  background: transparent !important;
  border-color: var(--app-line) !important;
}

body.stage.innari2026GestionePage .innari2026ManageFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow),
body.stage.innari2026GestionePage .innari2026ManageDocFormTable tr:not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
  background: rgba(32, 43, 39, 0.58) !important;
  border-bottom-color: var(--app-line) !important;
}

body.stage.innari2026GestionePage .innari2026ManageFormTable tr:nth-child(even):not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow),
body.stage.innari2026GestionePage .innari2026ManageDocFormTable tr:nth-child(even):not(.innari2026ManageFormSectionRow):not(.innari2026ManageFormSubmitRow) {
  background: rgba(24, 33, 30, 0.78) !important;
}

body.stage.innari2026GestionePage .innari2026ManageGroupFormTitle,
body.stage.innari2026GestionePage .innari2026ManageDocFormTitle,
body.stage.innari2026GestionePage .innari2026ManageFormSubmitRow,
body.stage.innari2026GestionePage .innari2026ManageFormSectionRow {
  background: rgba(19, 27, 24, 0.98) !important;
  border-color: var(--app-line) !important;
}

body.stage.innari2026GestionePage .innari2026ManageFormSectionRow td,
body.stage.innari2026GestionePage .innari2026ManageDocFormTable .innari2026ManageFormSectionRow td {
  background: rgba(116, 214, 199, 0.12) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
}

body.stage.innari2026GestionePage .innari2026ManageGroupIcon,
body.stage.innari2026GestionePage .innari2026ManageDocNumber,
body.stage.innari2026GestionePage .innari2026ManageMemberIcon,
body.stage.innari2026GestionePage .innari2026ManageEmptyCard > .material-symbols-outlined,
body.stage.innari2026GestionePage .innari2026ManageMenuIcon,
body.stage.innari2026GestionePage .innari2026ManageFormSectionRow .material-symbols-outlined,
body.stage.innari2026GestionePage .innari2026ManageLoginCard > .material-symbols-outlined {
  background: rgba(116, 214, 199, 0.14) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage #divUserBox.innari2026ManagePanel {
  background: var(--panel-bg) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
  box-shadow: 26px 0 78px rgba(0, 0, 0, 0.52) !important;
}

body.stage.innari2026GestionePage .innari2026ManagePanelHeader {
  background: rgba(17, 24, 21, 0.98) !important;
  border-bottom-color: var(--app-line) !important;
}

body.stage.innari2026GestionePage .innari2026ManagePanelBody,
body.stage.innari2026GestionePage .innari2026ManagePanelShell {
  background: var(--panel-bg) !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026GestionePage .innari2026ManagePanelClose,
body.stage.innari2026GestionePage .innari2026ManagePanelClose.innari2026CloseButton,
body.stage.innari2026GestionePage .innari2026ManagePanelClose:hover,
body.stage.innari2026GestionePage .innari2026ManagePanelClose:focus,
body.stage.innari2026GestionePage .innari2026GestioneMenuButton,
body.stage.innari2026GestionePage .innari2026GestioneHomeButton {
  background: rgba(32, 43, 39, 0.86) !important;
  border-color: var(--app-line) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage .innari2026ManagePanelClose:hover,
body.stage.innari2026GestionePage .innari2026GestioneMenuButton:hover,
body.stage.innari2026GestionePage .innari2026GestioneHomeButton:hover,
body.stage.innari2026GestionePage .innari2026ManageMenuAction:hover {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.32) !important;
}

body.stage.innari2026GestionePage input[type="text"],
body.stage.innari2026GestionePage input[type="email"],
body.stage.innari2026GestionePage input[type="number"],
body.stage.innari2026GestionePage input[type="password"],
body.stage.innari2026GestionePage input[type="date"],
body.stage.innari2026GestionePage input[type="search"],
body.stage.innari2026GestionePage select,
body.stage.innari2026GestionePage textarea,
body.stage.innari2026GestionePage .innari2026ManageMenuSelect {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
}

body.stage.innari2026GestionePage input::placeholder,
body.stage.innari2026GestionePage textarea::placeholder {
  color: rgba(247, 240, 227, 0.52) !important;
}

body.stage.innari2026GestionePage option {
  background: #121a17 !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026GestionePage .innari2026ManageAction,
body.stage.innari2026GestionePage .innari2026ManageIconAction,
body.stage.innari2026GestionePage .innari2026ManagePrimaryAction,
body.stage.innari2026GestionePage .innari2026ManageMenuAction,
body.stage.innari2026GestionePage .innari2026ManageFormBack,
body.stage.innari2026GestionePage .innari2026ManageFormSubmit,
body.stage.innari2026GestionePage .pulsanteColorato,
body.stage.innari2026GestionePage .pulsanteColoratoBlu,
body.stage.innari2026GestionePage button,
body.stage.innari2026GestionePage input[type="submit"],
body.stage.innari2026GestionePage input[type="button"] {
  border-color: rgba(116, 214, 199, 0.24) !important;
  background: rgba(32, 43, 39, 0.92) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage .innari2026ManagePrimaryAction,
body.stage.innari2026GestionePage .innari2026ManageFormSubmit,
body.stage.innari2026GestionePage .innari2026ManageMenuActionBlue,
body.stage.innari2026GestionePage .innari2026ManagePagerButtons .is-current {
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #07110f !important;
}

body.stage.innari2026GestionePage .innari2026ManagePrimaryAction .material-symbols-outlined,
body.stage.innari2026GestionePage .innari2026ManageFormSubmit .material-symbols-outlined,
body.stage.innari2026GestionePage .innari2026ManageMenuActionBlue .material-symbols-outlined {
  color: #07110f !important;
}

body.stage.innari2026GestionePage .innari2026ManagePagerButtons .is-disabled {
  background: rgba(255, 255, 255, 0.05) !important;
  color: rgba(247, 240, 227, 0.34) !important;
  border-color: rgba(255, 255, 255, 0.09) !important;
}

body.stage.innari2026GestionePage .trPari,
body.stage.innari2026GestionePage .trDispari {
  background: rgba(32, 43, 39, 0.66) !important;
}

body.stage.innari2026GestionePage hr {
  border-color: var(--app-line) !important;
}

/* v17.5 - Gestione: tema scuro gestione innari/files + fix pulsante nuovo gruppo */
body.innari2026GestionePage .innari2026ManagePrimaryActionNewGroup,
body.innari2026GestionePage .innari2026ManageSectionHead .innari2026ManagePrimaryActionNewGroup {
  min-width: 230px !important;
  width: auto !important;
  max-width: min(100%, 320px) !important;
  padding: 0 22px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.innari2026GestionePage .innari2026ManagePrimaryActionNewGroup .innari2026ManagePrimaryActionText {
  display: inline-block !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

body.stage.innari2026GestionePage .innari2026ManagePrimaryActionNewGroup,
body.stage.innari2026GestionePage .innari2026ManageSectionHead .innari2026ManagePrimaryActionNewGroup {
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #07110f !important;
  box-shadow: 0 18px 34px rgba(116, 214, 199, 0.18) !important;
}

body.stage.innari2026GestionePage .innari2026ManagePrimaryActionNewGroup .material-symbols-outlined,
body.stage.innari2026GestionePage .innari2026ManagePrimaryActionNewGroup .innari2026ManagePrimaryActionText {
  color: #07110f !important;
}

body.stage.innari2026SubcatsPage,
body.stage.innari2026UploadPage {
  --app-bg: #101615;
  --app-paper: #17201d;
  --app-paper-2: #202b27;
  --app-ink: #f7f0e3;
  --app-muted: #b7c0b8;
  --app-line: rgba(232, 223, 207, 0.16);
  --app-green: #74d6c7;
  --app-green-soft: rgba(116, 214, 199, 0.14);
  --app-coral: #e49372;
  --app-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  --panel-bg: #131b18;
  --panel-card: #1b2521;
  --panel-card-2: #22302a;
  --input-bg: #121a17;
  --input-border: rgba(116, 214, 199, 0.32);
  color-scheme: dark;
  color: var(--app-ink) !important;
  background:
    linear-gradient(90deg, rgba(116, 214, 199, 0.06) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 16% 0%, rgba(116, 214, 199, 0.10), transparent 30rem),
    radial-gradient(circle at 86% 18%, rgba(228, 147, 114, 0.07), transparent 28rem),
    linear-gradient(180deg, #0c1110 0%, var(--app-bg) 100%) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsHero,
body.stage.innari2026SubcatsPage .innari2026SubcatCard,
body.stage.innari2026SubcatsPage .innari2026SubcatsEmpty,
body.stage.innari2026SubcatsPage .innari2026SubcatsToolbar,
body.stage.innari2026UploadPage .innari2026UploadHeaderCard,
body.stage.innari2026UploadPage .innari2026UploadCard,
body.stage.innari2026UploadPage .innari2026UploadFileCard,
body.stage.innari2026UploadPage .innari2026UploadEmpty {
  background: linear-gradient(180deg, rgba(27, 37, 33, 0.96), rgba(19, 27, 24, 0.96)) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
  box-shadow: var(--app-shadow) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsHero::after {
  background: radial-gradient(circle, rgba(116, 214, 199, 0.18), transparent 66%) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsHero h1,
body.stage.innari2026SubcatsPage .innari2026SubcatCard h2,
body.stage.innari2026SubcatsPage .innari2026SubcatsEmpty h2,
body.stage.innari2026UploadPage .innari2026UploadHeaderCard h1,
body.stage.innari2026UploadPage .innari2026UploadCardHeader h2,
body.stage.innari2026UploadPage .innari2026UploadFileInfo h3,
body.stage.innari2026UploadPage .innari2026UploadFileInfo h3 a,
body.stage.innari2026UploadPage .innari2026UploadMessage b,
body.stage.innari2026UploadPage .innari2026UploadMessage strong {
  color: var(--app-ink) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsHero p,
body.stage.innari2026SubcatsPage .innari2026SubcatField span,
body.stage.innari2026SubcatsPage .innari2026SubcatsEmpty p,
body.stage.innari2026UploadPage .innari2026UploadHeaderCard p,
body.stage.innari2026UploadPage .innari2026UploadCardHeader p,
body.stage.innari2026UploadPage .innari2026UploadMessage,
body.stage.innari2026UploadPage .innari2026UploadMessage span,
body.stage.innari2026UploadPage .innari2026UploadMessage label,
body.stage.innari2026UploadPage .innari2026UploadFormTable td,
body.stage.innari2026UploadPage .innari2026UploadLoginTable td,
body.stage.innari2026UploadPage .innari2026UploadEmpty,
body.stage.innari2026UploadPage .innari2026UploadBadge {
  color: var(--app-muted) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatIcon,
body.stage.innari2026SubcatsPage .innari2026SubcatsEmpty > .material-symbols-outlined,
body.stage.innari2026UploadPage .innari2026UploadCardIcon,
body.stage.innari2026UploadPage .innari2026UploadFileIcon,
body.stage.innari2026UploadPage .innari2026UploadEmpty .material-symbols-outlined {
  background: rgba(116, 214, 199, 0.14) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatBadge,
body.stage.innari2026UploadPage .innari2026UploadBadge {
  background: rgba(116, 214, 199, 0.10) !important;
  border-color: rgba(116, 214, 199, 0.22) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatVisibility.private,
body.stage.innari2026SubcatsPage .innari2026SubcatsActionDanger,
body.stage.innari2026UploadPage .innari2026UploadDanger {
  color: var(--app-coral) !important;
  border-color: rgba(228, 147, 114, 0.30) !important;
  background: rgba(228, 147, 114, 0.08) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatActions {
  border-top-color: var(--app-line) !important;
}

body.stage.innari2026SubcatsPage input,
body.stage.innari2026SubcatsPage select,
body.stage.innari2026SubcatsPage textarea,
body.stage.innari2026UploadPage input[type="file"],
body.stage.innari2026UploadPage input[type="text"],
body.stage.innari2026UploadPage input[type="password"],
body.stage.innari2026UploadPage select,
body.stage.innari2026UploadPage textarea,
body.stage.innari2026UploadPage .innari2026ManageMenuSelect {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
}

body.stage.innari2026SubcatsPage option,
body.stage.innari2026UploadPage option {
  background: #121a17 !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsAction,
body.stage.innari2026UploadPage .innari2026UploadButton,
body.stage.innari2026UploadPage input.innari2026UploadButton,
body.stage.innari2026UploadPage .innari2026UploadMiniButton,
body.stage.innari2026UploadPage input[type="submit"],
body.stage.innari2026UploadPage input[type="button"],
body.stage.innari2026UploadPage button {
  background: rgba(32, 43, 39, 0.92) !important;
  border-color: rgba(116, 214, 199, 0.24) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsActionPrimary,
body.stage.innari2026UploadPage .innari2026UploadButtonPrimary,
body.stage.innari2026UploadPage input.innari2026UploadButtonPrimary {
  background: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #07110f !important;
}

body.stage.innari2026SubcatsPage .innari2026SubcatsActionPrimary .material-symbols-outlined,
body.stage.innari2026UploadPage .innari2026UploadButtonPrimary .material-symbols-outlined {
  color: #07110f !important;
}

body.stage.innari2026UploadPage .innari2026UploadFormTable,
body.stage.innari2026UploadPage .innari2026UploadLoginTable,
body.stage.innari2026UploadPage .innari2026UploadFormTable tbody,
body.stage.innari2026UploadPage .innari2026UploadLoginTable tbody,
body.stage.innari2026UploadPage .innari2026UploadFormTable tr,
body.stage.innari2026UploadPage .innari2026UploadLoginTable tr,
body.stage.innari2026UploadPage .innari2026UploadFormTable td,
body.stage.innari2026UploadPage .innari2026UploadLoginTable td {
  background: transparent !important;
  border-color: var(--app-line) !important;
}

body.stage.innari2026UploadPage #divUserBox.innari2026UploadManagePanel,
body.stage.innari2026SubcatsPage #divUserBox.innari2026ManagePanel {
  background: var(--panel-bg) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
  box-shadow: 26px 0 78px rgba(0, 0, 0, 0.52) !important;
}

body.stage.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManagePanelShell,
body.stage.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManagePanelBody,
body.stage.innari2026SubcatsPage #divUserBox.innari2026ManagePanel .innari2026ManagePanelShell,
body.stage.innari2026SubcatsPage #divUserBox.innari2026ManagePanel .innari2026ManagePanelBody {
  background: var(--panel-bg) !important;
  color: var(--app-ink) !important;
}

body.stage.innari2026UploadPage #divUserBox.innari2026UploadManagePanel .innari2026ManageMenuCard,
body.stage.innari2026SubcatsPage #divUserBox.innari2026ManagePanel .innari2026ManageMenuCard {
  background: rgba(32, 43, 39, 0.86) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

@media (max-width: 880px) {
  body.innari2026GestionePage .innari2026ManageSectionHead .innari2026ManagePrimaryActionNewGroup {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v17.6 - gestione: pulsante ritorno gruppi + refinements tema scuro */
body.innari2026GestionePage .innari2026ManageBackToGroups {
  min-width: 220px !important;
  width: auto !important;
  max-width: min(100%, 300px) !important;
  padding: 0 20px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.innari2026GestionePage .innari2026ManageBackToGroups .innari2026ManagePrimaryActionText {
  display: inline-block !important;
  color: inherit !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

body.stage.innari2026GestionePage .innari2026ManageBackToGroups {
  background: rgba(32, 43, 39, 0.92) !important;
  border-color: rgba(116, 214, 199, 0.34) !important;
  color: var(--app-green) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18) !important;
}

body.stage.innari2026GestionePage .innari2026ManageBackToGroups .material-symbols-outlined,
body.stage.innari2026GestionePage .innari2026ManageBackToGroups .innari2026ManagePrimaryActionText {
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage .innari2026ManageBackToGroups:hover,
body.stage.innari2026GestionePage .innari2026ManageBackToGroups:focus-visible {
  background: rgba(116, 214, 199, 0.14) !important;
  border-color: rgba(116, 214, 199, 0.54) !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageSectionHead .innari2026ManageBackToGroups {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* v17.7 - Gestione brano: editor Testo evidenziato stile editor-accordi */
body.innari2026GestionePage .innari2026ManageDocFormTable textarea.innari2026GestionaleRawField {
  display: none !important;
}

body.innari2026GestionePage .innari2026GestionaleRawBox {
  width: 100%;
  max-width: 100%;
  border: 1px solid rgba(22, 118, 109, 0.24);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255, 252, 246, 0.96), rgba(246, 239, 228, 0.86));
  box-shadow: 0 22px 48px rgba(32, 24, 10, 0.10);
  overflow: hidden;
}

body.innari2026GestionePage .innari2026GestionaleRawHead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid rgba(22, 118, 109, 0.14);
}

body.innari2026GestionePage .innari2026GestionaleRawHead strong {
  display: block;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.05;
  color: var(--app-ink);
}

body.innari2026GestionePage .innari2026GestionaleRawHead small {
  display: block;
  margin-top: 5px;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.25;
}

body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026GestionaleRawOpen,
body.innari2026GestionePage .innari2026ManageDocFormTable button.innari2026GestionaleRawOpen {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px !important;
  border-radius: 999px !important;
  white-space: nowrap;
}

body.innari2026GestionePage .innari2026GestionaleRawSurface {
  width: 100%;
  min-height: min(58vh, 560px);
  max-height: 70vh;
  overflow: auto;
  padding: 18px;
  border: 0;
  outline: none;
  background: rgba(255, 255, 255, 0.58);
  color: var(--app-ink);
  font-family: var(--innari2026-font, "Nunito Sans"), "Segoe UI", Arial, sans-serif;
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  font-weight: 750;
  line-height: 1.78;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  tab-size: 2;
}

body.innari2026GestionePage .innari2026GestionaleRawSurface:focus {
  box-shadow: inset 0 0 0 3px rgba(113, 211, 200, 0.22);
}

body.innari2026GestionePage .innari2026GestionaleRawText {
  color: inherit;
}

body.innari2026GestionePage .innari2026GestionaleRawChord {
  position: relative;
  top: -0.38em;
  display: inline-block;
  color: #c65d3c;
  background: rgba(232, 120, 81, 0.11);
  border: 0;
  border-radius: 5px;
  padding: 0 0.08em;
  margin: 0 0.02em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.72em;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.01em;
}

body.innari2026GestionePage .innari2026GestionaleRawDirective {
  color: #16766d;
  background: rgba(113, 211, 200, 0.14);
}

body.innari2026GestionePage .innari2026GestionaleRawTag {
  color: #16766d;
  background: rgba(113, 211, 200, 0.14);
  border: 1px solid rgba(22, 118, 109, 0.20);
  border-radius: 8px;
  padding: 0 3px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.76em;
  line-height: 1;
  font-weight: 900;
}

body.innari2026GestionePage.stage .innari2026GestionaleRawBox {
  border-color: rgba(113, 211, 200, 0.24);
  background: linear-gradient(145deg, rgba(18, 31, 28, 0.96), rgba(12, 22, 20, 0.94));
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.34);
}

body.innari2026GestionePage.stage .innari2026GestionaleRawHead {
  border-bottom-color: rgba(113, 211, 200, 0.16);
}

body.innari2026GestionePage.stage .innari2026GestionaleRawSurface {
  background: rgba(5, 15, 13, 0.72);
  color: var(--app-ink);
}

body.innari2026GestionePage.stage .innari2026GestionaleRawChord {
  color: #ffd25f;
  background: rgba(255, 210, 95, 0.12);
}

body.innari2026GestionePage.stage .innari2026GestionaleRawDirective {
  color: #7edbd0;
  background: rgba(113, 211, 200, 0.12);
}

body.innari2026GestionePage.stage .innari2026GestionaleRawTag {
  color: #7edbd0;
  background: rgba(113, 211, 200, 0.12);
  border-color: rgba(113, 211, 200, 0.28);
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026GestionaleRawHead {
    grid-template-columns: 1fr;
    padding: 13px;
  }

  body.innari2026GestionePage .innari2026ManageDocFormTable .innari2026GestionaleRawOpen,
  body.innari2026GestionePage .innari2026ManageDocFormTable button.innari2026GestionaleRawOpen {
    width: 100% !important;
  }

  body.innari2026GestionePage .innari2026GestionaleRawSurface {
    min-height: 48vh;
    padding: 14px;
    font-size: 0.98rem;
    line-height: 1.82;
  }
}


/* v17.9 - Gestione brano: editor sorgente a tutta larghezza desktop */
body.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow {
  display: block !important;
  width: 100% !important;
  grid-template-columns: 1fr !important;
  padding: 0 22px 20px !important;
  background: var(--app-paper) !important;
  border-bottom: 1px solid rgba(222, 215, 201, 0.78) !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow td {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow .innari2026GestionaleRawBox {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow textarea.innari2026GestionaleRawField,
body.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow textarea#testoPerRicerca {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

body.stage.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow {
  background: var(--app-paper) !important;
  border-bottom-color: rgba(113, 211, 200, 0.13) !important;
}

@media (min-width: 980px) {
  body.innari2026GestionePage .innari2026GestionaleRawHead {
    padding: 18px 24px;
  }

  body.innari2026GestionePage .innari2026GestionaleRawSurface {
    padding: 22px 24px;
    min-height: min(68vh, 720px);
    max-height: 76vh;
    font-size: clamp(1.02rem, 1.15vw, 1.22rem);
  }
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageDocFormTable tr.innari2026GestionaleRawRow {
    padding: 8px 6px 14px !important;
  }
}


/* v18.0 - Gestione brano: mantieni maiuscole/minuscole reali nel blocco Testo e accordi */
body.innari2026GestionePage .innari2026GestionaleRawBox,
body.innari2026GestionePage .innari2026GestionaleRawHead,
body.innari2026GestionePage .innari2026GestionaleRawSurface,
body.innari2026GestionePage .innari2026GestionaleRawSurface *,
body.innari2026GestionePage .innari2026GestionaleRawText,
body.innari2026GestionePage .innari2026GestionaleRawChord,
body.innari2026GestionePage .innari2026GestionaleRawDirective,
body.innari2026GestionePage .innari2026GestionaleRawTag {
  text-transform: none !important;
}

body.innari2026GestionePage .innari2026GestionaleRawHead .innari2026Eyebrow {
  text-transform: uppercase !important;
}

body.innari2026GestionePage .innari2026GestionaleRawSurface {
  font-feature-settings: normal !important;
}

/* v19.5 - anteprima primo verso nei risultati ricerca
   Mostra la massima porzione possibile su una sola riga, con ellissi visiva
   e stile distinto dal titolo/metadati.
*/
.innari2026SearchFirstVerse {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
  overflow: hidden !important;
  color: rgba(103, 111, 104, 0.92) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  font-size: 0.84rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  opacity: 0.96 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026HomeSearchShell .innari2026SearchFirstVerse,
.innari2026SearchPanel .innari2026SearchFirstVerse {
  width: 100% !important;
  max-width: 100% !important;
  font-size: 0.82rem !important;
  line-height: 1.22 !important;
}

.innari2026SearchFirstVerse::before,
.innari2026SearchFirstVerse::after {
  content: none !important;
  display: none !important;
}

body.stage .innari2026SearchFirstVerse {
  color: rgba(245, 239, 227, 0.74) !important;
}

body.stage .innari2026SearchFirstVerse .innari2026SearchHit {
  color: var(--app-ink) !important;
  background: rgba(116, 214, 199, 0.18) !important;
}

@media (max-width: 680px) {
  .innari2026SearchFirstVerse {
    font-size: 0.78rem !important;
    white-space: nowrap !important;
  }
}


/* v19.6 - risultati ricerca: badge musicali allineati a destra nella riga del titolo
   e anteprima del primo verso in corsivo normale.
*/
.innari2026SearchTitleRow,
.innari2026HomeSearchTitleRow {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

.innari2026SearchTitleRow strong,
.innari2026HomeSearchTitleRow strong,
.innari2026HomeSearchShell .innari2026SearchTitleRow strong,
.innari2026HomeSearchShell .innari2026HomeSearchTitleRow strong {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026SearchTitleBadges {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  margin-left: auto !important;
  max-width: 48% !important;
  white-space: nowrap !important;
}

.innari2026SearchTitleBadges .innari2026SearchBadge,
.innari2026SearchTitleBadges .innari2026SearchScoreBadge {
  min-height: 18px !important;
  padding: 2px 7px !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
}

.innari2026SearchMeta {
  gap: 4px !important;
}

.innari2026SearchMeta > span:first-child {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.innari2026SearchFirstVerse {
  font-style: italic !important;
  font-weight: 400 !important;
}

.innari2026SearchFirstVerse .innari2026SearchHit {
  font-weight: 600 !important;
}

@media (max-width: 680px) {
  .innari2026SearchTitleRow,
  .innari2026HomeSearchTitleRow {
    gap: 7px !important;
  }

  .innari2026SearchTitleBadges {
    gap: 3px !important;
    max-width: 54% !important;
  }

  .innari2026SearchTitleBadges .innari2026SearchBadge,
  .innari2026SearchTitleBadges .innari2026SearchScoreBadge {
    min-height: 17px !important;
    padding: 2px 5px !important;
    font-size: 0.62rem !important;
  }
}


/* v19.8 - Pannello ricerca mobile: header piu' compatto vicino alla maniglia */
@media (max-width: 680px) {
  .innari2026SearchGrip {
    height: 22px !important;
    min-height: 22px !important;
  }

  .innari2026SearchGrip::before {
    width: 52px !important;
    height: 4px !important;
  }

  .innari2026SearchHeader {
    gap: 10px !important;
    padding: 4px 12px 6px !important;
  }

  .innari2026SearchHeader h2 {
    font-size: 1.26rem !important;
    line-height: 1.02 !important;
  }

  .innari2026SearchHeader .innari2026CloseButton {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .innari2026SearchBody {
    padding-top: 8px !important;
  }
}

/* =========================================================
   Innari.it 2026 - Offline phase 1 (v19.9)
   ========================================================= */
.innari2026OfflineQuickCard .material-symbols-rounded{color:var(--app-green, #2f7d6d)}
.innari2026OfflineBackdrop{position:fixed;inset:0;background:rgba(9,15,14,.45);z-index:9996;backdrop-filter:blur(2px)}
.innari2026OfflinePanel{position:fixed;top:0;right:0;width:min(520px,94vw);height:100dvh;z-index:9997;background:var(--panel-bg, var(--app-paper,#fff));color:var(--app-ink,#17211f);box-shadow:-24px 0 70px rgba(0,0,0,.28);border-left:1px solid var(--app-line,rgba(0,0,0,.12));transform:translateX(102%);transition:transform .22s ease;display:flex;flex-direction:column;overflow:hidden}
.innari2026OfflinePanel[aria-hidden="false"]{transform:translateX(0)}
.innari2026OfflinePanelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 14px;border-bottom:1px solid var(--app-line,rgba(0,0,0,.12));background:linear-gradient(135deg,rgba(47,125,109,.10),rgba(229,117,82,.08))}
.innari2026OfflinePanelHeader h2{margin:.15rem 0 .25rem;font-size:1.45rem;line-height:1.05;color:var(--app-ink,#17211f)}
.innari2026OfflinePanelHeader p{margin:0;color:var(--app-muted,#61716d);font-size:.94rem;line-height:1.35}
.innari2026OfflineStatus{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--app-line,rgba(0,0,0,.12))}
.innari2026OfflineStatus span{display:inline-flex;align-items:center;justify-content:center;min-width:78px;border-radius:999px;padding:.38rem .72rem;font-weight:900;font-size:.8rem;background:rgba(47,125,109,.14);color:var(--app-green,#2f7d6d);border:1px solid rgba(47,125,109,.28)}
.innari2026OfflineStatus span[data-state="offline"]{background:rgba(229,117,82,.14);color:var(--app-coral,#df6f52);border-color:rgba(229,117,82,.28)}
.innari2026OfflineStatus small{display:block;color:var(--app-muted,#61716d);line-height:1.3}
.innari2026OfflineActions{display:flex;gap:10px;padding:12px 20px;border-bottom:1px solid var(--app-line,rgba(0,0,0,.12));flex-wrap:wrap}
.innari2026OfflineActions button,.innari2026OfflineInnarioButtons button,.innari2026OfflineSongActions button{border:1px solid var(--app-line,rgba(0,0,0,.12));background:var(--app-paper-2,#f6f1e8);color:var(--app-ink,#17211f);border-radius:14px;padding:.62rem .8rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.06)}
.innari2026OfflineActions button:hover,.innari2026OfflineInnarioButtons button:hover,.innari2026OfflineSongActions button:hover{transform:translateY(-1px)}
.innari2026OfflinePanelStatus{margin:12px 20px 0;padding:10px 12px;border-radius:14px;background:rgba(47,125,109,.10);color:var(--app-ink,#17211f);font-size:.9rem;line-height:1.35;border:1px solid rgba(47,125,109,.18)}
.innari2026OfflinePanelStatus[data-error="1"]{background:rgba(229,117,82,.12);border-color:rgba(229,117,82,.22)}
.innari2026OfflineInnariList{padding:14px 20px 24px;overflow:auto;display:grid;gap:12px}
.innari2026OfflineInnarioCard{border:1px solid var(--app-line,rgba(0,0,0,.12));background:var(--app-paper,#fff);border-radius:20px;padding:14px;display:grid;gap:12px;box-shadow:0 12px 26px rgba(0,0,0,.07)}
.innari2026OfflineInnarioMain{display:flex;align-items:flex-start;gap:12px;min-width:0}
.innari2026OfflineInnarioMain>.material-symbols-rounded{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(47,125,109,.12);color:var(--app-green,#2f7d6d);flex:0 0 auto}
.innari2026OfflineInnarioMain strong{display:block;font-size:1rem;line-height:1.15;color:var(--app-ink,#17211f)}
.innari2026OfflineInnarioMain small{display:block;margin-top:4px;color:var(--app-muted,#61716d);line-height:1.3}
.innari2026OfflineInnarioButtons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.innari2026OfflineInnarioButtons button{padding:.52rem .72rem;border-radius:12px;font-size:.88rem}
.innari2026OfflineInnarioButtons button:not(.is-danger){background:rgba(47,125,109,.12);color:var(--app-green,#2f7d6d);border-color:rgba(47,125,109,.24)}
.innari2026OfflineInnarioButtons button.is-danger{background:rgba(229,117,82,.10);color:var(--app-coral,#df6f52);border-color:rgba(229,117,82,.22)}
.innari2026OfflineToast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:10010;max-width:min(520px,calc(100vw - 28px));padding:12px 16px;border-radius:16px;background:var(--app-ink,#17211f);color:var(--app-paper,#fff);box-shadow:0 18px 44px rgba(0,0,0,.25);font-weight:800;text-align:center}
.innari2026OfflineToast[data-error="1"]{background:#8f3328;color:#fff}
.innari2026OfflineSongShell{padding-top:calc(var(--innari2026-topbar-height,64px) + 20px)}
.innari2026OfflineSongCard{width:min(1040px,calc(100% - 24px));margin:0 auto 40px;display:grid;gap:18px}
.innari2026OfflineSongHead{background:var(--app-paper,#fff);border:1px solid var(--app-line,rgba(0,0,0,.12));border-radius:26px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.10)}
.innari2026OfflinePill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:.4rem .7rem;background:rgba(47,125,109,.12);color:var(--app-green,#2f7d6d);font-weight:900;font-size:.82rem;border:1px solid rgba(47,125,109,.24)}
.innari2026OfflineSongMeta{margin-top:12px;color:var(--app-muted,#61716d);font-weight:850}
.innari2026OfflineSongHead h1{margin:.25rem 0 .15rem;font-size:clamp(2rem,5vw,3.4rem);line-height:.95;color:var(--app-ink,#17211f);letter-spacing:-.04em}
.innari2026OfflineSongHead p{margin:.2rem 0 0;color:var(--app-muted,#61716d);font-size:1.05rem}
.innari2026OfflineSongActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.innari2026OfflineSongText{width:100%!important;max-width:100%;background:var(--song-paper,var(--app-paper,#fff))!important;color:var(--song-ink,var(--app-ink,#17211f))!important;border-radius:24px!important;overflow:hidden!important}
body.innari2026IsOffline .innari2026Topbar:after{content:'Offline';margin-left:8px;font-size:.72rem;font-weight:900;border-radius:999px;padding:.22rem .5rem;background:rgba(229,117,82,.14);color:var(--app-coral,#df6f52);border:1px solid rgba(229,117,82,.25)}
body.stage .innari2026OfflinePanel{background:var(--panel-bg,#151b19);color:var(--app-ink,#f5efe3)}
body.stage .innari2026OfflinePanelHeader,body.stage .innari2026OfflineInnarioCard,body.stage .innari2026OfflineSongHead{background:var(--panel-card,var(--app-paper,#18201e));border-color:var(--app-line,rgba(245,239,227,.14))}
body.stage .innari2026OfflineActions button,body.stage .innari2026OfflineInnarioButtons button,body.stage .innari2026OfflineSongActions button{background:var(--app-paper-2,#202a27);color:var(--app-ink,#f5efe3);border-color:var(--app-line,rgba(245,239,227,.14))}
body.stage .innari2026OfflineInnarioButtons button:not(.is-danger),body.stage .innari2026OfflinePill,body.stage .innari2026OfflineStatus span{background:rgba(116,214,199,.13);color:var(--app-green,#74d6c7);border-color:rgba(116,214,199,.24)}
body.stage .innari2026OfflineStatus span[data-state="offline"],body.stage .innari2026OfflineInnarioButtons button.is-danger{background:rgba(226,139,107,.13);color:var(--app-coral,#e28b6b);border-color:rgba(226,139,107,.25)}
body.stage .innari2026OfflinePanelHeader p,body.stage .innari2026OfflineStatus small,body.stage .innari2026OfflineInnarioMain small,body.stage .innari2026OfflineSongMeta,body.stage .innari2026OfflineSongHead p{color:var(--app-muted,#b8c1ba)}
@media (max-width:700px){
  .innari2026OfflinePanel{width:100vw}
  .innari2026OfflinePanelHeader{padding:16px 14px 12px}
  .innari2026OfflineStatus,.innari2026OfflineActions,.innari2026OfflineInnariList{padding-left:14px;padding-right:14px}
  .innari2026OfflineInnarioButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .innari2026OfflineInnarioButtons button{padding:.5rem .42rem;font-size:.78rem}
  .innari2026OfflineInnarioButtons button span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .innari2026OfflineSongHead{padding:18px;border-radius:22px}
}

/* =========================================================
   Innari.it 2026 - Offline shell readiness (v20.0)
   ========================================================= */
.innari2026OfflineShellStatus{
  margin:12px 20px 0;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid var(--app-line,rgba(0,0,0,.12));
  background:var(--app-paper-2,#f6f1e8);
  color:var(--app-ink,#17211f);
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.innari2026OfflineShellStatus>.material-symbols-rounded{
  width:36px;
  height:36px;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(47,125,109,.12);
  color:var(--app-green,#2f7d6d);
}
.innari2026OfflineShellStatus strong{display:block;line-height:1.15;color:var(--app-ink,#17211f);font-weight:950}
.innari2026OfflineShellStatus small{display:block;margin-top:3px;line-height:1.32;color:var(--app-muted,#61716d)}
.innari2026OfflineShellStatus[data-ready="ready"]{background:rgba(47,125,109,.10);border-color:rgba(47,125,109,.22)}
.innari2026OfflineShellStatus[data-ready="partial"]{background:rgba(227,164,78,.12);border-color:rgba(227,164,78,.26)}
.innari2026OfflineShellStatus[data-ready="partial"]>.material-symbols-rounded{background:rgba(227,164,78,.16);color:#9d6515}
.innari2026OfflineShellStatus[data-ready="missing"],.innari2026OfflineShellStatus[data-ready="error"]{background:rgba(229,117,82,.10);border-color:rgba(229,117,82,.24)}
.innari2026OfflineShellStatus[data-ready="missing"]>.material-symbols-rounded,.innari2026OfflineShellStatus[data-ready="error"]>.material-symbols-rounded{background:rgba(229,117,82,.14);color:var(--app-coral,#df6f52)}
body.stage .innari2026OfflineShellStatus{background:var(--app-paper-2,#202a27);border-color:var(--app-line,rgba(245,239,227,.14));color:var(--app-ink,#f5efe3)}
body.stage .innari2026OfflineShellStatus small{color:var(--app-muted,#b8c1ba)}
body.stage .innari2026OfflineShellStatus[data-ready="ready"]{background:rgba(116,214,199,.12);border-color:rgba(116,214,199,.24)}
body.stage .innari2026OfflineShellStatus[data-ready="partial"]{background:rgba(241,201,91,.11);border-color:rgba(241,201,91,.24)}
body.stage .innari2026OfflineShellStatus[data-ready="partial"]>.material-symbols-rounded{background:rgba(241,201,91,.16);color:#f1c95b}
body.stage .innari2026OfflineShellStatus[data-ready="missing"],body.stage .innari2026OfflineShellStatus[data-ready="error"]{background:rgba(226,139,107,.12);border-color:rgba(226,139,107,.25)}
@media (max-width:700px){
  .innari2026OfflineShellStatus{margin-left:14px;margin-right:14px;padding:11px 12px;border-radius:16px}
  .innari2026OfflineActions{display:grid;grid-template-columns:1fr;gap:8px}
}

/* =========================================================
   Innari.it 2026 - Installazione PWA e offline robusto (v20.1)
   ========================================================= */
.innari2026OfflineInstallStatus{
  margin-top:10px;
}
.innari2026OfflineInstallStatus>div{
  min-width:0;
}
.innari2026OfflineInstallStatus button{
  margin-top:9px;
  border:1px solid rgba(47,125,109,.24);
  background:rgba(47,125,109,.12);
  color:var(--app-green,#2f7d6d);
  border-radius:999px;
  padding:.42rem .68rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:900;
  cursor:pointer;
}
.innari2026OfflineInstallStatus button .material-symbols-rounded{
  font-size:1.15rem;
}
.innari2026OfflineInstallStatus[data-ready="installed"]{
  background:rgba(47,125,109,.10);
  border-color:rgba(47,125,109,.22);
}
.innari2026OfflineInstallStatus[data-ready="installed"]>.material-symbols-rounded{
  background:rgba(47,125,109,.12);
  color:var(--app-green,#2f7d6d);
}
.innari2026OfflineInstallStatus[data-ready="manual"]{
  background:rgba(227,164,78,.10);
  border-color:rgba(227,164,78,.24);
}
.innari2026OfflineInstallStatus[data-ready="manual"]>.material-symbols-rounded{
  background:rgba(227,164,78,.14);
  color:#9d6515;
}
body.stage .innari2026OfflineInstallStatus button{
  background:rgba(116,214,199,.13);
  color:var(--app-green,#74d6c7);
  border-color:rgba(116,214,199,.24);
}
body.stage .innari2026OfflineInstallStatus[data-ready="installed"]{
  background:rgba(116,214,199,.12);
  border-color:rgba(116,214,199,.24);
}
body.stage .innari2026OfflineInstallStatus[data-ready="manual"]{
  background:rgba(241,201,91,.11);
  border-color:rgba(241,201,91,.24);
}
body.stage .innari2026OfflineInstallStatus[data-ready="manual"]>.material-symbols-rounded{
  background:rgba(241,201,91,.16);
  color:#f1c95b;
}
@media (max-width:700px){
  .innari2026OfflineInstallStatus button{width:100%;}
}


/* =========================================================
   Innari.it 2026 - Topbar fissa: altezza misurata e distacco brano (v20.2)
   ========================================================= */
body.innari2026AppPage {
  --innari2026MeasuredTopbarHeight: var(--innari2026FixedTopbarHeight, 62px);
  --innari2026TopbarGap: 0px;
  padding-top: calc(var(--innari2026MeasuredTopbarHeight, var(--innari2026FixedTopbarHeight, 62px)) + var(--innari2026TopbarGap, 0px)) !important;
}

body.innari2026AppPage.innari2026SongPage {
  --innari2026TopbarGap: clamp(14px, 1.7vw, 24px);
}

@supports (top: env(safe-area-inset-top)) {
  body.innari2026AppPage {
    padding-top: calc(var(--innari2026MeasuredTopbarHeight, var(--innari2026FixedTopbarHeight, 62px)) + var(--innari2026TopbarGap, 0px) + env(safe-area-inset-top)) !important;
  }

  body.innari2026AppPage .innari2026Topbar {
    top: env(safe-area-inset-top) !important;
  }
}

/* La pagina brano non deve iniziare incollata alla topbar: il distacco viene
   gestito dal padding del body, cosi' resta coerente anche con zoom pagina e
   browser che calcolano diversamente la barra fissa. */
body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
  margin-top: 0 !important;
}

@media (max-width: 680px) {
  body.innari2026AppPage.innari2026SongPage {
    --innari2026TopbarGap: 8px;
  }
}


/* Innari.it 2026 - Modalita Offline nel menu principale (v20.3) */
.innari2026OfflineEmbeddedPanel{display:grid;gap:12px;}
.innari2026OfflineEmbeddedIntro{padding:0 2px 2px;}
.innari2026OfflineEmbeddedIntro p{margin:.25rem 0 0;color:var(--app-muted,#61716d);line-height:1.35;font-size:.95rem;}
.innari2026OfflineEmbeddedPanel .innari2026OfflineStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflineActions,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnariList{padding-left:0;padding-right:0;}
.innari2026OfflineEmbeddedPanel .innari2026OfflineStatus{border:1px solid var(--app-line,rgba(0,0,0,.12));border-radius:18px;padding:12px;background:var(--app-paper,#fff);}
.innari2026OfflineEmbeddedPanel .innari2026OfflineActions{border-bottom:0;padding-top:0;padding-bottom:0;}
.innari2026OfflineEmbeddedPanel .innari2026OfflinePanelStatus{margin:0;}
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnariList{padding-top:0;padding-bottom:8px;max-height:none;overflow:visible;}
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioCard{box-shadow:none;}
body.stage .innari2026OfflineEmbeddedIntro p{color:var(--app-muted,#b8c1ba);}
body.stage .innari2026OfflineEmbeddedPanel .innari2026OfflineStatus{background:var(--panel-card,var(--app-paper,#18201e));border-color:var(--app-line,rgba(245,239,227,.14));}
@media(max-width:720px){
  .innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioButtons{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* v20.6 - Modalit Offline: layout sicuro dentro il menu laterale */
.innari2026MenuPanel[data-panel-name="offline"],
.innari2026MenuPanel[data-panel-name="offline"] *,
.innari2026OfflineEmbeddedPanel,
.innari2026OfflineEmbeddedPanel *{
  box-sizing:border-box;
}

.innari2026MenuPanel[data-panel-name="offline"]{
  overflow-x:hidden;
}

.innari2026OfflineEmbeddedPanel{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineEmbeddedIntro,
.innari2026OfflineEmbeddedPanel .innari2026OfflineStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflinePanelStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnariList,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioCard,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioMain,
.innari2026OfflineEmbeddedPanel .innari2026OfflineActions,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioButtons{
  width:100%;
  max-width:100%;
  min-width:0;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineStatus{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:12px;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineStatus span{
  justify-self:start;
  max-width:100%;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineStatus small,
.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus small,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus small,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioMain small,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioMain strong{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:start;
  overflow:hidden;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus > div,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus > div{
  min-width:0;
  max-width:100%;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineActions,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioButtons{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:9px;
  justify-content:stretch;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineActions button,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioButtons button,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus button{
  display:flex;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  justify-content:center;
  align-items:center;
  gap:8px;
  white-space:normal;
  text-align:center;
  line-height:1.18;
  overflow:hidden;
  text-overflow:clip;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineActions button span:last-child,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioButtons button span:last-child,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus button span:last-child{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioCard{
  overflow:hidden;
  padding:14px 12px;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioMain{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
}

@media (max-width:640px){
  .innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus,
  .innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus{
    grid-template-columns:auto minmax(0,1fr);
    padding:12px;
  }

  .innari2026OfflineEmbeddedPanel .innari2026OfflineActions button,
  .innari2026OfflineEmbeddedPanel .innari2026OfflineInnarioButtons button{
    padding:.68rem .62rem;
    font-size:.92rem;
  }
}

/* v20.7 - Modalit Offline: card iniziali contenute nel menu */
.innari2026OfflineEmbeddedPanel{
  padding-right:0;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineEmbeddedIntro{
  overflow:hidden;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineEmbeddedIntro p{
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:12px !important;
  border-radius:18px;
  overflow:hidden;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus{
  background:rgba(47,125,109,.10);
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus{
  background:rgba(47,125,109,.10);
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus > .material-symbols-rounded,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus > .material-symbols-rounded{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:14px;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus strong,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus strong{
  line-height:1.15;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus small,
.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus small{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
}

.innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus button{
  margin-top:10px;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:.64rem .7rem;
}

@media (max-width:640px){
  .innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus,
  .innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    padding:11px !important;
  }

  .innari2026OfflineEmbeddedPanel .innari2026OfflineShellStatus > .material-symbols-rounded,
  .innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus > .material-symbols-rounded{
    width:38px;
    height:38px;
    min-width:38px;
  }
}

/* v21.5 - pagina brano offline impaginata come la pagina online */
.innari2026SongOfflineLikeOnline .innari2026OfflineSongCardLikeOnline{
  width:min(1040px,calc(100% - 24px));
  margin:0 auto 44px;
  background:var(--song-paper,var(--app-paper,#fff));
  border:1px solid var(--app-line,rgba(0,0,0,.12));
  border-radius:26px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  padding:clamp(28px,7vw,84px);
  display:block;
  overflow:hidden;
}
.innari2026SongOfflineLikeOnline .innari2026OfflineSongHeadLikeOnline{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:0 0 22px;
  margin:0;
}
.innari2026SongOfflineLikeOnline .innari2026OfflineSongTextWrap{
  border-top:1px solid var(--app-line,rgba(0,0,0,.12));
  padding-top:28px;
  margin-top:8px;
}
.innari2026SongOfflineLikeOnline .innari2026OfflineSongText{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.innari2026SongOfflineLikeOnline .innari2026OfflineSongText td{padding:0!important;}
body.stage .innari2026SongOfflineLikeOnline .innari2026OfflineSongCardLikeOnline{
  background:var(--song-paper,var(--panel-card,#151b19));
  border-color:var(--app-line,rgba(245,239,227,.14));
}
body.stage .innari2026SongOfflineLikeOnline .innari2026OfflineSongTextWrap{border-top-color:var(--app-line,rgba(245,239,227,.14));}
@media (max-width:700px){
  .innari2026SongOfflineLikeOnline .innari2026OfflineSongCardLikeOnline{width:min(100% - 18px,1040px);border-radius:22px;padding:22px 18px;}
  .innari2026SongOfflineLikeOnline .innari2026OfflineSongTextWrap{padding-top:20px;}
}

/* v21.6 - unico badge OFFLINE nella topbar e reset ricerca su cambio rete */
.innari2026OfflineTopBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:max-content;
  margin:.18rem auto 0;
  padding:.16rem .52rem;
  border-radius:999px;
  background:#c93b2f;
  color:#fff;
  border:1px solid rgba(120,20,12,.22);
  font-size:.68rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 6px 16px rgba(201,59,47,.20);
}
.innari2026OfflineSongTopbar .innari2026NowPlaying{
  align-items:center;
  text-align:center;
}
.innari2026OfflineInlineBadge{display:none!important;}
body.stage .innari2026OfflineTopBadge{
  background:#e35f51;
  color:#fff;
  border-color:rgba(255,255,255,.16);
}

/* v21.7 - badge stato connessione nella topbar centrale */
.innari2026OfflineTopBadge{display:none!important;}
.innari2026OfflineSongTopbar .innari2026NowPlaying{align-items:center;text-align:center;}
.innari2026OfflineTopStateBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-width:78px;
  margin:.2rem auto 0;
  border-radius:999px;
  padding:.38rem .72rem;
  font-weight:900;
  font-size:.8rem;
  line-height:1;
  background:rgba(47,125,109,.14);
  color:var(--app-green,#2f7d6d);
  border:1px solid rgba(47,125,109,.28);
  letter-spacing:.01em;
  text-transform:none;
  box-shadow:none;
}
.innari2026OfflineTopStateBadge[data-state="offline"]{
  background:rgba(229,117,82,.14);
  color:var(--app-coral,#df6f52);
  border-color:rgba(229,117,82,.28);
}
body.stage .innari2026OfflineTopStateBadge{
  background:rgba(116,214,199,.13);
  color:var(--app-green,#74d6c7);
  border-color:rgba(116,214,199,.24);
}
body.stage .innari2026OfflineTopStateBadge[data-state="offline"]{
  background:rgba(226,139,107,.13);
  color:var(--app-coral,#e28b6b);
  border-color:rgba(226,139,107,.25);
}

/* v21.8 - badge stato rete spostato sotto il titolo nella topbar */
.innari2026OfflineSongTopbar{
  min-height:82px !important;
  position:sticky;
  overflow:visible;
}
.innari2026OfflineSongTopbar .innari2026Brand{
  grid-column:1 !important;
  align-self:start !important;
  margin-top:4px !important;
}
.innari2026OfflineSongTopbar .innari2026TopActions{
  grid-column:3 !important;
  align-self:start !important;
  margin-top:4px !important;
}
.innari2026OfflineSongTopbar .innari2026TopSongTitleWithNav{
  grid-column:2 !important;
  align-self:center !important;
  min-width:0 !important;
  overflow:visible !important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-auto-flow:row !important;
  justify-items:center !important;
  align-items:center !important;
  gap:2px !important;
  text-align:center !important;
  overflow:visible !important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopMeta{
  display:block !important;
  grid-row:1 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopTitle{
  display:block !important;
  grid-row:2 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  grid-row:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:2px auto 0 !important;
  padding:.20rem .52rem !important;
  border-radius:999px !important;
  font-size:.68rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  text-transform:none !important;
  background:rgba(47,125,109,.14) !important;
  color:var(--app-green,#2f7d6d) !important;
  border:1px solid rgba(47,125,109,.28) !important;
  box-shadow:none !important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge[data-state="offline"]{
  background:rgba(229,117,82,.14) !important;
  color:var(--app-coral,#df6f52) !important;
  border-color:rgba(229,117,82,.28) !important;
}
body.stage .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  background:rgba(116,214,199,.13) !important;
  color:var(--app-green,#74d6c7) !important;
  border-color:rgba(116,214,199,.24) !important;
}
body.stage .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge[data-state="offline"]{
  background:rgba(226,139,107,.13) !important;
  color:var(--app-coral,#e28b6b) !important;
  border-color:rgba(226,139,107,.25) !important;
}
@media (max-width:680px){
  .innari2026OfflineSongTopbar{
    min-height:82px !important;
    grid-template-columns:38px minmax(0,1fr) auto !important;
    gap:8px !important;
    padding-top:6px !important;
    padding-bottom:7px !important;
  }
  .innari2026OfflineSongTopbar .innari2026TopSongTitleWithNav{
    grid-template-columns:0 minmax(0,1fr) 0 !important;
    gap:0 !important;
  }
  .innari2026OfflineSongTopbar .innari2026TopSongArrow{
    width:0 !important;
    min-width:0 !important;
    height:0 !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
  }
  .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
    display:inline-flex !important;
    font-size:.66rem !important;
    padding:.18rem .48rem !important;
  }
}

/* v21.9 - badge connessione: un solo badge sotto il titolo centrale */
.innari2026OfflineSongTopbar #innari2026TopConnectionBadge,
.innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  justify-self:center !important;
  width:auto !important;
  min-width:58px !important;
  max-width:92px !important;
  height:auto !important;
  margin:3px auto 0 !important;
  padding:.18rem .46rem !important;
  border-radius:999px !important;
  font-size:.66rem !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  text-transform:none !important;
  background:rgba(47,125,109,.14) !important;
  color:var(--app-green,#2f7d6d) !important;
  border:1px solid rgba(47,125,109,.28) !important;
  box-shadow:none !important;
}
.innari2026OfflineSongTopbar #innari2026TopConnectionBadge[data-state="offline"],
.innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge[data-state="offline"]{
  background:rgba(229,117,82,.14) !important;
  color:var(--app-coral,#df6f52) !important;
  border-color:rgba(229,117,82,.28) !important;
}
.innari2026OfflineSongTopbar .innari2026Brand > .innari2026OfflineTopStateBadge,
.innari2026OfflineSongTopbar > .innari2026OfflineTopStateBadge{
  display:none !important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  justify-items:center !important;
}
@media (max-width:680px){
  .innari2026OfflineSongTopbar #innari2026TopConnectionBadge,
  .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
    min-width:54px !important;
    max-width:82px !important;
    font-size:.62rem !important;
    padding:.16rem .40rem !important;
  }
}

/* v22.0 - badge Offline unico, solo sotto il titolo */
.innari2026Topbar .innari2026Brand .innari2026OfflineTopStateBadge,
.innari2026Topbar > .innari2026OfflineTopStateBadge{
  display:none !important;
}
body:not(.innari2026IsOffline) .innari2026OfflineTopStateBadge{
  display:none !important;
}
body.innari2026IsOffline .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  display:inline-flex !important;
  align-self:center;
  margin:.22rem auto 0;
  max-width:7.2rem;
  min-width:0;
  padding:.22rem .58rem;
  border-radius:999px;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:rgba(229,117,82,.14);
  color:var(--app-coral,#df6f52);
  border:1px solid rgba(229,117,82,.28);
}
body.stage.innari2026IsOffline .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  background:rgba(226,139,107,.16);
  color:var(--app-coral,#e28b6b);
  border-color:rgba(226,139,107,.32);
}

/* v22.1 - rimuove definitivamente il vecchio badge generato dalla topbar */
body.innari2026IsOffline .innari2026Topbar::after,
body.innari2026IsOffline .innari2026Topbar:after{
  content:none!important;
  display:none!important;
}
.innari2026Topbar > #innari2026TopConnectionBadge,
.innari2026Topbar > .innari2026OfflineTopStateBadge,
.innari2026Topbar .innari2026Brand #innari2026TopConnectionBadge,
.innari2026Topbar .innari2026Brand .innari2026OfflineTopStateBadge{
  display:none!important;
}
body.innari2026IsOffline .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge,
body.innari2026IsOffline .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  display:inline-flex!important;
}

/* v22.2 - topbar offline mobile: mostra sempre innario, titolo e badge sotto il titolo */
.innari2026OfflineSongTopbar .innari2026TopSongTitleWithNav{
  display:grid!important;
  min-width:0!important;
  width:100%!important;
  overflow:visible!important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:2px!important;
  opacity:1!important;
  visibility:visible!important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopMeta,
.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopTitle{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--app-ink,#17211f)!important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopMeta{
  font-size:.74rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  color:var(--app-muted,#65736f)!important;
  text-transform:uppercase!important;
}
.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopTitle{
  font-size:1.02rem!important;
  line-height:1.08!important;
  font-weight:950!important;
}
body.innari2026IsOffline .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge,
body.innari2026IsOffline .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  display:inline-flex!important;
  position:static!important;
  width:auto!important;
  min-width:0!important;
  max-width:96px!important;
  margin:3px auto 0!important;
  padding:.18rem .48rem!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(229,117,82,.14)!important;
  color:var(--app-coral,#df6f52)!important;
  border:1px solid rgba(229,117,82,.28)!important;
  font-size:.64rem!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-transform:none!important;
  box-shadow:none!important;
}
body:not(.innari2026IsOffline) .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge,
body:not(.innari2026IsOffline) .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  display:none!important;
}
.innari2026OfflineSongTopbar > #innari2026TopConnectionBadge,
.innari2026OfflineSongTopbar > .innari2026OfflineTopStateBadge,
.innari2026OfflineSongTopbar .innari2026Brand #innari2026TopConnectionBadge,
.innari2026OfflineSongTopbar .innari2026Brand .innari2026OfflineTopStateBadge{
  display:none!important;
}
@media (max-width:680px){
  .innari2026OfflineSongTopbar{
    grid-template-columns:38px minmax(0,1fr) 84px!important;
    min-height:86px!important;
    align-items:start!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .innari2026OfflineSongTopbar .innari2026Brand,
  .innari2026OfflineSongTopbar .innari2026TopActions{
    align-self:start!important;
    margin-top:0!important;
  }
  .innari2026OfflineSongTopbar .innari2026TopSongTitleWithNav{
    grid-column:2!important;
    align-self:start!important;
    padding-top:0!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .innari2026OfflineSongTopbar .innari2026TopSongArrow{
    display:none!important;
  }
  .innari2026OfflineSongTopbar .innari2026NowPlaying{
    min-height:54px!important;
    padding:0 4px!important;
  }
  .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopMeta{
    font-size:.66rem!important;
  }
  .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopTitle{
    font-size:.94rem!important;
  }
}

/* v22.3 - badge Offline reale dentro il titolo: visibile se il badge stesso dichiara stato offline */
.innari2026Topbar::after,
.innari2026Topbar:after{
  content:none !important;
  display:none !important;
}

.innari2026Topbar > #innari2026TopConnectionBadge,
.innari2026Topbar > .innari2026OfflineTopStateBadge,
.innari2026Topbar .innari2026Brand #innari2026TopConnectionBadge,
.innari2026Topbar .innari2026Brand .innari2026OfflineTopStateBadge{
  display:none !important;
}

.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge[data-state="offline"],
.innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge[data-state="offline"]{
  display:inline-flex !important;
  position:static !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:6.4rem !important;
  height:auto !important;
  margin:3px auto 0 !important;
  padding:.18rem .52rem !important;
  border-radius:999px !important;
  background:rgba(229,117,82,.14) !important;
  color:var(--app-coral,#df6f52) !important;
  border:1px solid rgba(229,117,82,.28) !important;
  font-size:.64rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-transform:none !important;
  box-shadow:none !important;
}

.innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge[data-state="online"],
.innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge[data-state="online"],
body:not(.innari2026IsOffline):not(.innari2026OfflineViewing) .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge,
body:not(.innari2026IsOffline):not(.innari2026OfflineViewing) .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge{
  display:none !important;
}

body.stage .innari2026OfflineSongTopbar .innari2026NowPlaying > #innari2026TopConnectionBadge[data-state="offline"],
body.stage .innari2026OfflineSongTopbar .innari2026NowPlaying > .innari2026OfflineTopStateBadge[data-state="offline"]{
  background:rgba(226,139,107,.16) !important;
  color:var(--app-coral,#e28b6b) !important;
  border-color:rgba(226,139,107,.32) !important;
}

/* v22.4 - badge Offline definitivo: solo sotto il titolo, mai laterale */
.innari2026Topbar::after,
.innari2026Topbar:after{
  content:none!important;
  display:none!important;
}

#innari2026TopConnectionBadge,
.innari2026OfflineTopStateBadge,
[data-offline-state-badge]{
  display:none!important;
}

.innari2026Topbar .innari2026NowPlaying > #innari2026OfflineTitleStateBadge[data-state="offline"],
.innari2026Topbar .innari2026NowPlaying > .innari2026OfflineTitleStateBadge[data-state="offline"]{
  display:inline-flex!important;
  position:static!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:7rem!important;
  margin:3px auto 0!important;
  padding:.18rem .56rem!important;
  border-radius:999px!important;
  background:rgba(229,117,82,.14)!important;
  color:var(--app-coral,#df6f52)!important;
  border:1px solid rgba(229,117,82,.30)!important;
  font-size:.64rem!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-transform:none!important;
  box-shadow:none!important;
}

.innari2026Topbar .innari2026NowPlaying > #innari2026OfflineTitleStateBadge[hidden],
.innari2026Topbar .innari2026NowPlaying > #innari2026OfflineTitleStateBadge[data-state="online"],
.innari2026Topbar .innari2026NowPlaying > .innari2026OfflineTitleStateBadge[data-state="online"]{
  display:none!important;
}

@media (max-width:640px){
  .innari2026Topbar .innari2026NowPlaying > #innari2026OfflineTitleStateBadge[data-state="offline"],
  .innari2026Topbar .innari2026NowPlaying > .innari2026OfflineTitleStateBadge[data-state="offline"]{
    margin-top:2px!important;
    padding:.16rem .48rem!important;
    max-width:5.8rem!important;
    font-size:.60rem!important;
  }
}


/* v22.6 - visualizzazione offline allineata al layout online */
.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard{
  width:100%;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline{
  width:min(860px, calc(100% - 28px)) !important;
  min-height:70vh !important;
  margin:0 auto 38px !important;
  padding:clamp(32px, 7vw, 100px) !important;
  border:1px solid var(--app-line) !important;
  border-radius:var(--app-radius) !important;
  background:rgba(255,253,247,.94) !important;
  color:var(--app-ink) !important;
  box-shadow:var(--app-shadow) !important;
  font-family:"Roboto", sans-serif !important;
  font-size:1em !important;
  line-height:normal !important;
  overflow:visible !important;
}

.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline td{
  padding:0 !important;
  overflow:visible !important;
}

.innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline{
  margin:0 0 36px !important;
  padding:0 0 18px !important;
  border-bottom:1px solid var(--app-line) !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline h1{
  margin:18px 0 0 !important;
  color:var(--app-ink) !important;
  font-family:var(--innari2026-heading-font, "Montserrat", system-ui, sans-serif) !important;
  font-size:clamp(2.05rem, 5vw, 3.65rem) !important;
  font-weight:900 !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}

.innari2026SongOfflineLikeOnline .innari2026SongMetaLine{
  margin:0 !important;
}

.innari2026SongOfflineLikeOnline .innari2026SongBadges{
  margin:14px 0 0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:center !important;
}

.innari2026SongOfflineLikeOnline .innari2026SongBadge{
  min-height:0 !important;
  padding:8px 11px !important;
  border:1px solid var(--app-line) !important;
  border-radius:999px !important;
  background:rgba(249,244,233,.86) !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:7px !important;
  box-shadow:none !important;
}

.innari2026SongOfflineLikeOnline .innari2026SongBadge span{
  color:var(--app-muted) !important;
  font-size:.68rem !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.innari2026SongOfflineLikeOnline .innari2026SongBadge strong{
  color:var(--app-coral) !important;
  font-size:.95rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.innari2026SongOfflineLikeOnline #testo.divBrano{
  width:100% !important;
  max-width:100% !important;
  margin-left:1em !important;
  margin-top:-1.5em !important;
  padding-left:0 !important;
  padding-right:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  font-size:clamp(1em, 1.55vw, 1.42em) !important;
  overflow:visible !important;
}

.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap{
  width:var(--innari2026-song-safe-width, 100%) !important;
  max-width:var(--innari2026-song-safe-width, 100%) !important;
  margin-left:0 !important;
  padding-left:1.55em !important;
  padding-right:2.1em !important;
}

body.stage .innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline{
  background:rgba(32,36,35,.94) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
  color:var(--app-ink,#f8f4e8) !important;
}

body.stage .innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline{
  border-bottom-color:var(--app-line,rgba(245,239,227,.14)) !important;
}

body.stage .innari2026SongOfflineLikeOnline .innari2026SongBadge{
  background:rgba(40,45,43,.86) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
}

@media (max-width:700px){
  .innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline{
    width:min(100% - 12px, 860px) !important;
    margin-top:0 !important;
    padding:clamp(24px, 7vw, 36px) !important;
    border-radius:22px !important;
  }

  .innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline{
    margin-bottom:28px !important;
    padding-bottom:16px !important;
  }

  .innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline h1{
    font-size:clamp(2rem, 10vw, 3rem) !important;
    letter-spacing:-.05em !important;
  }

  .innari2026SongOfflineLikeOnline #testo.divBrano{
    margin-left:.55em !important;
    margin-top:-1.15em !important;
  }

  .innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap{
    margin-left:0 !important;
    padding-left:.55em !important;
    padding-right:1.1em !important;
  }
}



/* v23.1 - pinch-to-zoom anche sul testo offline con ritorno a capo */
.innari2026OfflineSongShell #tabellaTestoBrano,
.innari2026OfflineSongShell #tabellaTestoBrano > tbody,
.innari2026OfflineSongShell #tabellaTestoBrano > tbody > tr,
.innari2026OfflineSongShell #tabellaTestoBrano > tbody > tr > td{
  box-sizing:border-box !important;
  max-width:100% !important;
  overflow:visible !important;
}
.innari2026OfflineSongShell #testo.divBrano{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  touch-action:pan-y !important;
  transform-origin:left top;
}
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap{
  width:var(--innari2026-song-safe-width, 100%) !important;
  max-width:var(--innari2026-song-safe-width, 100%) !important;
  min-width:0 !important;
  overflow:visible !important;
  white-space:normal !important;
  padding-left:1.55em;
  padding-right:1.9em;
  margin-left:0 !important;
  touch-action:pan-y !important;
}
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p,
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.testoAccordi,
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.soloTesto{
  box-sizing:border-box !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.testoAccordi{
  line-height:1.68em;
  margin-bottom:.42em;
}
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.soloTesto{
  line-height:1.28em;
  margin-bottom:.55em;
}
@media (max-width:760px){
  .innari2026OfflineSongShell #tabellaTestoBrano{
    overflow-x:hidden !important;
    overscroll-behavior-x:contain !important;
  }
  .innari2026OfflineSongShell #testo.divBrano{
    width:100% !important;
    max-width:100% !important;
  }
  .innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap{
    width:var(--innari2026-song-safe-width, 100%) !important;
    max-width:var(--innari2026-song-safe-width, 100%) !important;
  }
}


/* v23.2 - pinch-to-zoom offline reale: font-size + reflow, senza transform */
.innari2026OfflineSongShell #tabellaTestoBrano{
  transform:none !important;
  transform-origin:left top !important;
  touch-action:none !important;
  overflow-x:hidden !important;
}
.innari2026OfflineSongShell #tabellaTestoBrano td{
  overflow:visible !important;
}
.innari2026OfflineSongShell #testo.divBrano{
  font-size:var(--innari2026-offline-text-font-size, clamp(1em, 1.55vw, 1.42em)) !important;
  line-height:normal !important;
  transform:none !important;
  touch-action:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}
.innari2026OfflineSongShell #testo.divBrano p,
.innari2026OfflineSongShell #testo.divBrano p.testoAccordi,
.innari2026OfflineSongShell #testo.divBrano p.soloTesto{
  max-width:100% !important;
}
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed{
  box-sizing:border-box !important;
  width:var(--innari2026-song-safe-width, 100%) !important;
  max-width:var(--innari2026-song-safe-width, 100%) !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  touch-action:none !important;
}
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p,
.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed p,
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.testoAccordi,
.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed p.testoAccordi,
.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.soloTesto,
.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed p.soloTesto{
  box-sizing:border-box !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
@media (max-width:760px){
  .innari2026OfflineSongShell #testo.divBrano{
    margin-left:0 !important;
    padding-left:.55em !important;
    padding-right:1.1em !important;
  }
}


/* v23.3 - offline text: allow normal vertical scroll while keeping custom pinch zoom */
body.innari2026OfflineViewing,
body.innari2026OfflineViewing .innari2026OfflineSongShell,
body.innari2026OfflineViewing .innari2026OfflineSongCardLikeOnline,
body.innari2026OfflineViewing .innari2026OfflineSongTextWrap,
body.innari2026OfflineViewing #tabellaTestoBrano,
body.innari2026OfflineViewing #tabellaTestoBrano td,
body.innari2026OfflineViewing #testo.divBrano{
  overscroll-behavior-y:auto !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongTextWrap,
body.innari2026OfflineViewing #tabellaTestoBrano,
body.innari2026OfflineViewing #tabellaTestoBrano td,
body.innari2026OfflineViewing #testo.divBrano,
body.innari2026OfflineViewing #testo.divBrano p,
body.innari2026OfflineViewing #testo.divBrano p.testoAccordi,
body.innari2026OfflineViewing #testo.divBrano p.soloTesto{
  touch-action:pan-y pinch-zoom !important;
  -ms-touch-action:pan-y pinch-zoom !important;
}

body.innari2026OfflineViewing #testo.divBrano.innari2026MobileWrap,
body.innari2026OfflineViewing #testo.divBrano.innari2026OfflinePinchZoomed{
  touch-action:pan-y pinch-zoom !important;
  -ms-touch-action:pan-y pinch-zoom !important;
}

/* v23.4 - riduzione spazio topbar/brano offline e pulsante test offline */
body.innari2026OfflineViewing .innari2026OfflineSongShell{
  transition:margin-top .12s ease-out;
}
body.innari2026OfflineViewing .innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline{
  margin-bottom:38px!important;
}
.innari2026OfflineEmbeddedPanel #innari2026ForceOfflineButton[data-active="1"],
.innari2026OfflineActions #innari2026ForceOfflineButton[data-active="1"]{
  background:rgba(186,83,56,.13)!important;
  color:var(--app-coral,#ba5338)!important;
  border-color:rgba(186,83,56,.30)!important;
}
.innari2026OfflineEmbeddedPanel #innari2026ForceOfflineButton[data-active="1"] .material-symbols-rounded,
.innari2026OfflineActions #innari2026ForceOfflineButton[data-active="1"] .material-symbols-rounded{
  color:var(--app-coral,#ba5338)!important;
}
@media (max-width:700px){
  body.innari2026OfflineViewing .innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline{
    margin-bottom:32px!important;
  }
}

/* v23.5 - riduzione spazio topbar/card brano offline */
body.innari2026OfflineViewing .innari2026OfflineSongShell,
body.innari2026ForceOffline .innari2026OfflineSongShell{
  padding-top:calc(var(--innari2026-topbar-height,64px) + 0px) !important;
}

body.innari2026OfflineViewing .innari2026SongOfflineLikeOnline,
body.innari2026ForceOffline .innari2026SongOfflineLikeOnline{
  margin-top:0 !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongCard,
body.innari2026ForceOffline .innari2026OfflineSongCard{
  margin-top:0 !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongCardLikeOnline,
body.innari2026ForceOffline .innari2026OfflineSongCardLikeOnline{
  margin-top:0 !important;
  transform:translateY(-22px);
}

body.innari2026OfflineViewing .innari2026OfflineSongHeadLikeOnline,
body.innari2026ForceOffline .innari2026OfflineSongHeadLikeOnline{
  padding-top:clamp(26px,4.6vw,52px) !important;
}

@media (max-width:700px){
  body.innari2026OfflineViewing .innari2026OfflineSongShell,
  body.innari2026ForceOffline .innari2026OfflineSongShell{
    padding-top:calc(var(--innari2026-topbar-height,64px) + 0px) !important;
  }

  body.innari2026OfflineViewing .innari2026OfflineSongCardLikeOnline,
  body.innari2026ForceOffline .innari2026OfflineSongCardLikeOnline{
    transform:translateY(-30px);
  }

  body.innari2026OfflineViewing .innari2026OfflineSongHeadLikeOnline,
  body.innari2026ForceOffline .innari2026OfflineSongHeadLikeOnline{
    padding-top:28px !important;
  }
}

@media (max-width:460px){
  body.innari2026OfflineViewing .innari2026OfflineSongCardLikeOnline,
  body.innari2026ForceOffline .innari2026OfflineSongCardLikeOnline{
    transform:translateY(-34px);
  }

  body.innari2026OfflineViewing .innari2026OfflineSongHeadLikeOnline,
  body.innari2026ForceOffline .innari2026OfflineSongHeadLikeOnline{
    padding-top:24px !important;
  }
}

/* v23.6 - scroll orizzontale testo brano offline */
body.innari2026OfflineViewing .innari2026OfflineSongText,
body.innari2026ForceOffline .innari2026OfflineSongText{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y pinch-zoom;
}

body.innari2026OfflineViewing .innari2026OfflineSongText tbody,
body.innari2026OfflineViewing .innari2026OfflineSongText tr,
body.innari2026OfflineViewing .innari2026OfflineSongText td,
body.innari2026ForceOffline .innari2026OfflineSongText tbody,
body.innari2026ForceOffline .innari2026OfflineSongText tr,
body.innari2026ForceOffline .innari2026OfflineSongText td{
  display:block !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongText #testo,
body.innari2026ForceOffline .innari2026OfflineSongText #testo{
  display:block !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:pre !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongText::-webkit-scrollbar,
body.innari2026ForceOffline .innari2026OfflineSongText::-webkit-scrollbar{
  height:8px;
}

body.innari2026OfflineViewing .innari2026OfflineSongText::-webkit-scrollbar-thumb,
body.innari2026ForceOffline .innari2026OfflineSongText::-webkit-scrollbar-thumb{
  background:rgba(23,106,95,.28);
  border-radius:999px;
}

@media (max-width:700px){
  body.innari2026OfflineViewing .innari2026OfflineSongText,
  body.innari2026ForceOffline .innari2026OfflineSongText{
    padding-bottom:10px !important;
  }
}

/* v23.7 - wrapper reale per scroll orizzontale testo offline */
body.innari2026OfflineViewing .innari2026OfflineTextScroller,
body.innari2026ForceOffline .innari2026OfflineTextScroller{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y pinch-zoom;
  padding-bottom:10px;
  box-sizing:border-box;
}

body.innari2026OfflineViewing .innari2026OfflineTextScroller #testo,
body.innari2026ForceOffline .innari2026OfflineTextScroller #testo{
  display:block !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:pre !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  touch-action:pan-x pan-y pinch-zoom;
}

body.innari2026OfflineViewing .innari2026OfflineTextScroller .innari2026MobileWrap,
body.innari2026ForceOffline .innari2026OfflineTextScroller .innari2026MobileWrap{
  width:max-content !important;
  max-width:none !important;
  white-space:pre !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongText,
body.innari2026ForceOffline .innari2026OfflineSongText{
  overflow:visible !important;
}

body.innari2026OfflineViewing .innari2026OfflineSongText tbody,
body.innari2026OfflineViewing .innari2026OfflineSongText tr,
body.innari2026OfflineViewing .innari2026OfflineSongText td,
body.innari2026ForceOffline .innari2026OfflineSongText tbody,
body.innari2026ForceOffline .innari2026OfflineSongText tr,
body.innari2026ForceOffline .innari2026OfflineSongText td{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
}

body.innari2026OfflineViewing .innari2026OfflineTextScroller::-webkit-scrollbar,
body.innari2026ForceOffline .innari2026OfflineTextScroller::-webkit-scrollbar{
  height:8px;
}

body.innari2026OfflineViewing .innari2026OfflineTextScroller::-webkit-scrollbar-thumb,
body.innari2026ForceOffline .innari2026OfflineTextScroller::-webkit-scrollbar-thumb{
  background:rgba(23,106,95,.32);
  border-radius:999px;
}

@media (max-width:700px){
  body.innari2026OfflineViewing .innari2026OfflineTextScroller,
  body.innari2026ForceOffline .innari2026OfflineTextScroller{
    margin-left:-2px;
    margin-right:-2px;
    width:calc(100% + 4px) !important;
    max-width:calc(100% + 4px) !important;
  }
}

/* v23.8 - sblocco definitivo scroll orizzontale testo offline */
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller{
  display:block !important;
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-x:contain !important;
  touch-action:pan-x pan-y pinch-zoom !important;
  cursor:grab;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller.is-dragging,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller.is-dragging{
  cursor:grabbing;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano{
  display:block !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  touch-action:pan-x pan-y pinch-zoom !important;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano p,
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano p.testoAccordi,
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano p.soloTesto,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano p,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano p.testoAccordi,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller > #testo.divBrano p.soloTesto{
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  white-space:pre !important;
  overflow:visible !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  touch-action:pan-x pan-y pinch-zoom !important;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline{
  overflow:visible !important;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline td,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline td{
  overflow:visible !important;
  max-width:100% !important;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller::-webkit-scrollbar,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller::-webkit-scrollbar{
  height:9px;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller::-webkit-scrollbar-track,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller::-webkit-scrollbar-track{
  background:rgba(23,106,95,.08);
  border-radius:999px;
}
body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineTextScroller::-webkit-scrollbar-thumb,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineTextScroller::-webkit-scrollbar-thumb{
  background:rgba(23,106,95,.38);
  border-radius:999px;
}

/* v24.4 - diagnostica offline */
.innari2026OfflineDiagnosticBox{display:grid;gap:10px;max-width:100%;overflow:hidden}
.innari2026OfflineDiagnosticBox h4{margin:.1rem 0 .25rem;font-size:1rem;line-height:1.2;color:var(--app-ink,#17211f)}
.innari2026OfflineDiagnosticBox dl{display:grid;grid-template-columns:minmax(86px,.38fr) minmax(0,1fr);gap:6px 10px;margin:0}
.innari2026OfflineDiagnosticBox dt{font-weight:900;color:var(--app-muted,#61716d);font-size:.78rem}
.innari2026OfflineDiagnosticBox dd{margin:0;min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:.82rem;color:var(--app-ink,#17211f)}
.innari2026OfflineDiagnosticBox .is-warning{margin:.2rem 0 0;padding:9px 10px;border-radius:12px;background:rgba(229,117,82,.12);border:1px solid rgba(229,117,82,.24);color:var(--app-coral,#ba5338);font-weight:850}
.innari2026OfflineDiagnosticBox .is-ok{margin:.2rem 0 0;padding:9px 10px;border-radius:12px;background:rgba(47,125,109,.12);border:1px solid rgba(47,125,109,.24);color:var(--app-green,#176a5f);font-weight:850}
@media (max-width:520px){.innari2026OfflineDiagnosticBox dl{grid-template-columns:1fr;gap:2px 0}.innari2026OfflineDiagnosticBox dd{margin:0 0 7px}}
body.stage .innari2026OfflineDiagnosticBox h4,body.stage .innari2026OfflineDiagnosticBox dd{color:var(--app-ink,#f5efe3)}
body.stage .innari2026OfflineDiagnosticBox dt{color:var(--app-muted,#b8c1ba)}

/* v24.5 - diagnostica offline output visibile */
.innari2026OfflineDiagnosticsOutput{
  margin:10px 0 0;
  max-width:100%;
}
.innari2026OfflineDiagnosticsOutput[hidden]{
  display:none!important;
}


/* v5.4 - Metronomo Innari2026 */
.innariMetronomeFloatButton{
  position:fixed; right:18px; bottom:18px; z-index:145; display:flex; align-items:center; gap:8px;
  border:0; border-radius:999px; padding:12px 16px; background:linear-gradient(135deg,#176a5f,#254f9d); color:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.22); font-weight:900; cursor:pointer;
}
.innariMetronomeFloatButton[data-running="1"]{background:linear-gradient(135deg,#cc194b,#f08a24); animation:innariMetronomeFloatPulse 1s infinite;}
@keyframes innariMetronomeFloatPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.innariMetronomePanel{
  position:fixed; right:18px; bottom:78px; width:min(440px, calc(100vw - 24px)); max-height:min(760px, calc(100vh - 96px));
  display:flex; flex-direction:column; gap:0; overflow:hidden; border-radius:26px; background:#fffaf0; color:#1f2a2a;
  box-shadow:0 24px 70px rgba(0,0,0,.28); z-index:160; transform:translateY(18px) scale(.98); opacity:0; pointer-events:none;
  border:1px solid rgba(47,125,109,.18);
}
.innariMetronomePanel[data-open="1"]{transform:translateY(0) scale(1); opacity:1; pointer-events:auto; transition:.22s ease;}
.innariMetronomeHeader{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 18px 12px; background:linear-gradient(135deg,rgba(47,125,109,.12),rgba(204,25,75,.08));}
.innariMetronomeHeader h2{margin:.1rem 0 0; font-size:1.35rem;}
.innariMetronomeHeader small{display:block; margin-top:3px; color:#5b6460; font-weight:700;}
.innariMetronomeHeader small[data-error="1"]{color:#b00020;}
.innariMetronomeHeaderActions{display:flex; align-items:center; gap:6px;}
.innariMetronomeHeaderActions button{border:0; width:38px; height:38px; border-radius:14px; background:rgba(255,255,255,.8); color:#176a5f; display:grid; place-items:center; cursor:pointer;}
.innariMetronomeModeBadge{font-size:.68rem; font-weight:900; letter-spacing:.06em; color:#fff; background:#176a5f; border-radius:999px; padding:7px 9px; white-space:nowrap;}
.innariMetronomeMain{padding:14px 18px 8px; display:grid; gap:12px; justify-items:center;}
.innariMetronomeDisplay{display:grid; grid-template-columns:48px 1fr 48px; align-items:center; gap:12px; width:100%;}
.innariMetronomeDisplay button,.innariMetronomeTransport button,.innariMetronomeSyncActions button{border:0; border-radius:18px; min-height:46px; background:#eef5f2; color:#176a5f; font-weight:900; display:flex; align-items:center; justify-content:center; gap:6px; cursor:pointer;}
.innariMetronomeDisplay div{text-align:center; background:#fff; border-radius:22px; padding:8px 12px; box-shadow:inset 0 0 0 1px rgba(47,125,109,.12)}
.innariMetronomeDisplay strong{font-size:3rem; line-height:.95; font-family:'Roboto Condensed',Arial,sans-serif;}
.innariMetronomeDisplay small{display:block; font-weight:900; color:#717a76;}
.innariMetronomeBeatDot{width:86px; height:86px; border-radius:50%; display:grid; place-items:center; font-weight:900; font-size:2.3rem; color:#fff; background:#176a5f; box-shadow:0 12px 30px rgba(23,106,95,.32);}
.innariMetronomeBeatDot[data-accent="1"]{background:#cc194b; box-shadow:0 12px 30px rgba(204,25,75,.35)}
.innariMetronomePulse{animation:innariMetronomePulse .14s ease-out;}
@keyframes innariMetronomePulse{0%{transform:scale(1.12)}100%{transform:scale(1)}}
.innariMetronomeBeatBar{display:flex; justify-content:center; gap:7px; flex-wrap:wrap;}
.innariMetronomeBeatBar span{min-width:28px; height:28px; border-radius:999px; background:#e4ede9; color:#176a5f; display:grid; place-items:center; font-weight:900; font-size:.82rem;}
.innariMetronomeBeatBar span[data-active="1"]{background:#176a5f; color:#fff;}
.innariMetronomeBeatBar span[data-accent="1"]{box-shadow:inset 0 0 0 2px rgba(204,25,75,.55)}
.innariMetronomeTransport{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:9px; width:100%;}
.innariMetronomeTransport .innariMetronomePrimary{background:linear-gradient(135deg,#cc194b,#f08a24); color:#fff;}
.innariMetronomeBody{padding:0 18px 18px; overflow:auto;}
.innariMetronomeBody details{background:#fff; border:1px solid rgba(47,125,109,.12); border-radius:18px; margin-top:10px; overflow:hidden;}
.innariMetronomeBody summary{cursor:pointer; padding:13px 14px; font-weight:900; color:#176a5f;}
.innariMetronomeGrid{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 14px 14px;}
.innariMetronomeGrid label,.innariMetronomeSyncBox label{display:grid; gap:5px; font-size:.82rem; font-weight:900; color:#54605b;}
.innariMetronomeGrid input,.innariMetronomeGrid select,.innariMetronomeSyncBox input{width:100%; min-width:0; border:1px solid rgba(47,125,109,.22); border-radius:14px; padding:10px; background:#fffaf0; font-weight:800; color:#1f2a2a; box-sizing:border-box;}
.innariMetronomeSyncBox{display:grid; gap:10px; padding:0 14px 14px;}
.innariMetronomeSyncBox p,.innariMetronomeSyncBox small{margin:0; color:#5b6460; line-height:1.35;}
.innariMetronomeSyncActions{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.innariMetronomeCompactRow{display:none; align-items:center; justify-content:space-between; padding:10px 12px; gap:10px;}
.innariMetronomeCompactRow button{border:0; border-radius:14px; background:#eef5f2; color:#176a5f; min-width:44px; min-height:40px;}
.innariMetronomePanel[data-compact="1"]{width:min(330px,calc(100vw - 24px));}
.innariMetronomePanel[data-compact="1"] .innariMetronomeHeader,.innariMetronomePanel[data-compact="1"] .innariMetronomeMain,.innariMetronomePanel[data-compact="1"] .innariMetronomeBody{display:none;}
.innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow{display:flex;}
.innari2026MetronomeTopbar{position:sticky; top:0; z-index:40; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:10px 14px; background:rgba(255,250,240,.94); backdrop-filter:blur(14px); box-shadow:0 8px 22px rgba(0,0,0,.08);}
.innari2026MetronomePageMain{max-width:980px; margin:0 auto; padding:28px 16px 72px;}
.innari2026MetronomeHero{background:linear-gradient(135deg,rgba(47,125,109,.10),rgba(204,25,75,.08)); border:1px solid rgba(47,125,109,.15); border-radius:28px; padding:24px; margin-bottom:18px;}
.innari2026MetronomeHero h1{margin:.2rem 0 .5rem; font-size:clamp(2rem,6vw,4rem); line-height:.95;}
.innari2026MetronomeHero p{margin:0; max-width:720px; color:#52605b; font-weight:700;}
.innariMetronomeFullPagePanel{position:relative!important; right:auto!important; bottom:auto!important; width:100%!important; max-height:none!important; opacity:1!important; pointer-events:auto!important; transform:none!important; z-index:1!important;}
.innari2026MetronomePage .innariMetronomeFloatButton{display:none;}
@media (max-width:640px){
  .innariMetronomePanel{right:8px; bottom:72px; width:calc(100vw - 16px); max-height:calc(100vh - 86px); border-radius:22px;}
  .innariMetronomeFloatButton{right:12px; bottom:12px; padding:11px 13px;}
  .innariMetronomeHeader{padding:15px 14px 10px;}
  .innariMetronomeDisplay{grid-template-columns:42px 1fr 42px; gap:8px;}
  .innariMetronomeDisplay strong{font-size:2.55rem;}
  .innariMetronomeBeatDot{width:72px; height:72px; font-size:2rem;}
  .innariMetronomeTransport,.innariMetronomeSyncActions{grid-template-columns:1fr;}
  .innariMetronomeGrid{grid-template-columns:1fr;}
}

/* v5.7 - Metronomo: mobile fit e testi non tagliati */
.innariMetronomePanel,
.innariMetronomePanel *,
.innari2026MetronomePageMain,
#innariMetronomeFullPageHost{
  box-sizing:border-box;
}

.innari2026MetronomePage,
.innari2026MetronomePage body{
  max-width:100vw;
  overflow-x:hidden;
}

.innari2026MetronomePageMain,
#innariMetronomeFullPageHost,
.innariMetronomeFullPagePanel,
.innariMetronomeBody,
.innariMetronomeBody details,
.innariMetronomeSyncBox,
.innariMetronomeGrid,
.innariMetronomeTransport,
.innariMetronomeSyncActions{
  min-width:0;
  max-width:100%;
}

.innariMetronomeFullPagePanel,
.innariMetronomePanel{
  overflow-x:hidden;
}

.innariMetronomeBody{
  overflow-x:hidden;
}

.innariMetronomeSyncBox p,
.innariMetronomeSyncBox small,
.innariMetronomeGrid label,
.innariMetronomeSyncBox label,
.innariMetronomeHeader small{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

.innariMetronomeDisplay button,
.innariMetronomeTransport button,
.innariMetronomeSyncActions button{
  width:100%;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow:hidden;
  text-overflow:clip;
  text-align:center;
  line-height:1.15;
  padding-left:.75rem;
  padding-right:.75rem;
}

.innariMetronomeTransport button span:last-child,
.innariMetronomeSyncActions button span:last-child{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

.innariMetronomeSyncActions{
  grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));
}

@media (max-width:820px){
  .innari2026MetronomePageMain{
    width:100%;
    max-width:100vw;
    padding-left:10px;
    padding-right:10px;
  }
  .innari2026MetronomeHero{
    padding:18px 16px;
    border-radius:22px;
  }
  .innariMetronomeFullPagePanel{
    width:100%!important;
    max-width:100%!important;
    border-radius:22px!important;
  }
  .innariMetronomeHeader{
    gap:8px;
  }
  .innariMetronomeHeaderActions{
    flex-wrap:wrap;
    justify-content:flex-end;
    min-width:0;
  }
  .innariMetronomeModeBadge{
    max-width:116px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .innariMetronomeSyncActions,
  .innariMetronomeTransport{
    grid-template-columns:1fr!important;
  }
  .innariMetronomeSyncActions button,
  .innariMetronomeTransport button{
    justify-content:center;
    min-height:52px;
  }
}

@media (max-width:480px){
  .innari2026MetronomeTopbar{
    grid-template-columns:auto minmax(0,1fr) auto;
    padding-left:8px;
    padding-right:8px;
  }
  .innariMetronomeHeader{
    padding:14px 12px 10px;
  }
  .innariMetronomeMain{
    padding-left:12px;
    padding-right:12px;
  }
  .innariMetronomeBody{
    padding-left:12px;
    padding-right:12px;
  }
  .innariMetronomeGrid,
  .innariMetronomeSyncBox{
    padding-left:10px;
    padding-right:10px;
  }
}

/* v5.13 - Metronomo: hero e pulsanti trasporto */
.innari2026MetronomeHero,
.innari2026MetronomeHero *{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.innari2026MetronomeHero{
  overflow:hidden;
}

.innari2026MetronomeHero h1,
.innari2026MetronomeHero p{
  max-width:100%;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:break-word;
  word-break:normal;
}

.innari2026MetronomeHero p{
  line-height:1.35;
}

@media (max-width:820px){
  .innari2026MetronomeHero h1{
    font-size:clamp(2rem,10vw,3.1rem);
    line-height:1;
  }
  .innari2026MetronomeHero p{
    font-size:1rem;
  }
  .innariMetronomeTransport{
    grid-template-columns:1fr 1fr!important;
  }
  .innariMetronomeTransport .innariMetronomePrimary{
    grid-column:1 / -1;
  }
}

@media (max-width:360px){
  .innariMetronomeTransport{
    grid-template-columns:1fr!important;
  }
  .innariMetronomeTransport .innariMetronomePrimary{
    grid-column:auto;
  }
}

/* v5.14 - Metronomo: layout compatto mobile/flottante */
.innariMetronomePanel:not(.innariMetronomeFullPagePanel){
  max-height:calc(100dvh - 84px);
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader{
  padding:12px 14px 9px;
  gap:8px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innari2026Eyebrow{
  font-size:.72rem;
  letter-spacing:.08em;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader h2{
  font-size:1.18rem;
  line-height:1.05;
  margin:.06rem 0 0;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader small{
  margin-top:2px;
  font-size:.78rem;
  line-height:1.15;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeaderActions{
  gap:5px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeaderActions button{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:13px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeaderActions button .material-symbols-rounded{
  font-size:1.35rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeModeBadge{
  font-size:.62rem;
  padding:6px 8px;
  max-width:104px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeMain{
  padding:10px 14px 5px;
  gap:8px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay{
  grid-template-columns:40px 1fr 40px;
  gap:8px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay button{
  min-height:40px;
  border-radius:16px;
  padding:.35rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay button .material-symbols-rounded{
  font-size:1.35rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay div{
  border-radius:19px;
  padding:5px 10px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay strong{
  font-size:2.35rem;
  line-height:.9;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay small{
  font-size:.86rem;
  line-height:1.05;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatDot{
  width:58px;
  height:58px;
  font-size:1.72rem;
  box-shadow:0 8px 22px rgba(23,106,95,.25);
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatDot[data-accent="1"]{
  box-shadow:0 8px 22px rgba(204,25,75,.28);
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatBar{
  gap:5px;
  margin-top:-1px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatBar span{
  min-width:24px;
  height:24px;
  font-size:.74rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport{
  gap:7px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport button{
  min-height:42px;
  border-radius:16px;
  padding:.52rem .65rem;
  font-size:.9rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport .innariMetronomePrimary{
  min-height:48px;
  border-radius:20px;
  font-size:1rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport button .material-symbols-rounded{
  font-size:1.35rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody{
  padding:0 14px 14px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody details{
  margin-top:8px;
  border-radius:16px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody summary{
  padding:10px 12px;
  font-size:.98rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid,
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeSyncBox{
  gap:8px;
  padding:0 11px 11px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid label,
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeSyncBox label{
  gap:4px;
  font-size:.78rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid input,
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid select,
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeSyncBox input{
  border-radius:13px;
  padding:8px 10px;
  min-height:40px;
}

@media (max-width:640px){
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel){
    right:6px;
    bottom:66px;
    width:calc(100vw - 12px);
    max-height:calc(100dvh - 76px);
    border-radius:20px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader{
    padding:10px 12px 8px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader h2{
    font-size:1.08rem;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeMain{
    padding:9px 12px 4px;
    gap:7px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay{
    grid-template-columns:38px 1fr 38px;
    gap:7px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay button{
    min-height:38px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay strong{
    font-size:2.15rem;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatDot{
    width:52px;
    height:52px;
    font-size:1.55rem;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatBar span{
    min-width:22px;
    height:22px;
    font-size:.7rem;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport{
    grid-template-columns:1fr 1fr!important;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport .innariMetronomePrimary{
    grid-column:1 / -1;
    min-height:46px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport button{
    min-height:40px;
    padding:.48rem .55rem;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody{
    padding:0 12px 12px;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody summary{
    padding:9px 10px;
  }
}

@media (max-height:720px){
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader{
    padding-top:8px;
    padding-bottom:6px;
  }
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeMain{
    padding-top:7px;
    gap:6px;
  }
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBeatDot{
    width:48px;
    height:48px;
    font-size:1.45rem;
  }
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeDisplay strong{
    font-size:2rem;
  }
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeTransport .innariMetronomePrimary{
    min-height:42px;
  }
}

/* v5.15 - Metronomo: impostazioni pi compatte e chiuse all'apertura */
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 8px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid label{
  font-size:.75rem;
  gap:3px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid input,
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid select{
  min-height:36px;
  padding:6px 9px;
  border-radius:12px;
  font-size:.9rem;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody details:not([open]){
  margin-bottom:0;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody details:not([open]) summary{
  border-bottom:0;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody summary{
  padding:8px 10px;
}

.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeBody{
  padding-bottom:10px;
}

@media (min-width:430px){
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid label:nth-child(7),
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid label:nth-child(8){
    grid-column:span 3;
  }
}

@media (max-width:340px){
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeGrid{
    grid-template-columns:1fr!important;
  }
}

/* v5.16 - Metronomo: sync actions compatte + compensazione ritardo personale */
.innariMetronomeSyncActions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch;
}

.innariMetronomeSyncActions button{
  min-width:0;
  width:100%;
  white-space:normal;
  line-height:1.16;
  padding-left:.55rem;
  padding-right:.55rem;
}

.innariMetronomeSyncActions button[data-metronome-action="disconnect"]{
  grid-column:1 / -1;
}

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

  .innariMetronomeSyncActions button[data-metronome-action="disconnect"]{
    grid-column:auto;
  }
}

/* v5.17 - metronomo: chiarimento anticipo/ritardo personale */
.innariMetronomeOffsetHint{
  display:block;
  grid-column:1 / -1;
  margin:-.25rem .25rem .15rem;
  color:rgba(35,51,49,.72);
  font-size:.92rem;
  line-height:1.35;
}
.innariMetronomePanel[data-compact="1"] .innariMetronomeOffsetHint{
  font-size:.86rem;
  margin:-.15rem .1rem .05rem;
}
@media (max-width:640px){
  .innariMetronomeOffsetHint{
    font-size:.84rem;
  }
}

/* v5.18 - metronomo: pulsante di chiusura completa */
.innariMetronomeHeaderActions .innariMetronomeFullCloseButton{
  color:#b00020;
  background:rgba(176,0,32,.10);
}
.innariMetronomeHeaderActions .innariMetronomeFullCloseButton:hover{
  background:rgba(176,0,32,.16);
}
@media (max-width:640px){
  .innariMetronomeHeaderActions{
    gap:4px;
  }
  .innariMetronomeHeaderActions button{
    width:34px;
    height:34px;
    border-radius:12px;
  }
  .innariMetronomeModeBadge{
    padding:6px 7px;
    font-size:.62rem;
  }
}

/* v5.19 - metronomo: chiusura completa reale del pulsante flottante */
.innariMetronomeFloatButton[hidden],
.innariMetronomePanel[hidden],
#innariMetronomeToast[hidden],
body.innariMetronomeFullyClosed .innariMetronomeFloatButton,
body.innariMetronomeFullyClosed #innariMetronomePanel,
body.innariMetronomeFullyClosed #innariMetronomeToast{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* v5.20 - metronomo: chiusura completa persistente tra pagine */
body.innariMetronomeFullyClosed #innariMetronomePanel,
body.innariMetronomeFullyClosed #innariMetronomeFullPagePanel,
body.innariMetronomeFullyClosed #innariMetronomeFloatButton,
body.innariMetronomeFullyClosed #innariMetronomeToast{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* v5.21 - metronomo: badge Tempo/BPM aprono il metronomo */
.innari2026SongBadge,
.innari2026HomeDailyBadge{
  cursor:pointer;
}
.innari2026SongBadge:hover,
.innari2026HomeDailyBadge:hover{
  transform:translateY(-1px);
}

/* v5.24 - Transport: pulsante Metronomo e drawer scrollabile */
.innari2026Topbar[data-expanded="1"]{
  touch-action:auto;
}

.innari2026Topbar[data-expanded="1"] .innari2026TopDrawer{
  max-height:min(430px, calc(100dvh - 86px));
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  padding-right:2px;
  scrollbar-width:thin;
}

.innari2026QuickActions{
  grid-template-columns:repeat(auto-fit, minmax(78px, 1fr));
  width:min(860px, 100%);
}

.innari2026QuickActions .innari2026DrawerMetronomeButton{
  background:rgba(47,125,109,.12) !important;
  border-color:rgba(47,125,109,.28) !important;
}

.innari2026QuickActions .innari2026DrawerMetronomeButton .material-symbols-rounded{
  font-size:1.72rem;
}

@media (max-width:680px){
  .innari2026Topbar[data-expanded="1"] .innari2026TopDrawer{
    max-height:min(68dvh, calc(100dvh - 78px));
    padding-bottom:10px;
  }
  .innari2026QuickActions{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:7px;
  }
  .innari2026QuickActions .innari2026DrawerButton{
    min-height:46px !important;
    padding:7px 4px !important;
  }
}

@media (max-width:420px){
  .innari2026QuickActions{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

/* v5.27 - Transport sopra metronomo senza bloccare il backdrop */
body.innari2026TopbarOpen .innari2026Topbar,
html.innari2026TopbarOpen .innari2026Topbar,
.innari2026Topbar[data-expanded="1"]{
  position:sticky;
  z-index:10050 !important;
  isolation:isolate;
}

body.innari2026TopbarOpen .innari2026Topbar .innari2026TopDrawer,
html.innari2026TopbarOpen .innari2026Topbar .innari2026TopDrawer,
.innari2026Topbar[data-expanded="1"] .innari2026TopDrawer{
  position:relative;
  z-index:10051 !important;
}

/* Il backdrop resta al suo livello normale. Abbassiamo solo il metronomo
   mentre il Transport  aperto, cos il drawer resta sempre cliccabile. */
body.innari2026TopbarOpen #innariMetronomePanel,
body.innari2026TopbarOpen .innariMetronomePanel,
html.innari2026TopbarOpen #innariMetronomePanel,
html.innari2026TopbarOpen .innariMetronomePanel,
.innari2026Topbar[data-expanded="1"] ~ #innariMetronomePanel,
.innari2026Topbar[data-expanded="1"] ~ .innariMetronomePanel{
  z-index:60 !important;
}

body.innari2026TopbarOpen #innariMetronomeFloatButton,
body.innari2026TopbarOpen .innariMetronomeFloatButton,
html.innari2026TopbarOpen #innariMetronomeFloatButton,
html.innari2026TopbarOpen .innariMetronomeFloatButton{
  z-index:55 !important;
}

/* Il pulsante Metronomo nel Transport usa lo stesso stile degli altri pulsanti. */
.innari2026QuickActions .innari2026DrawerMetronomeButton{
  background:var(--app-paper-2) !important;
  border-color:var(--app-line) !important;
  color:var(--app-green) !important;
  box-shadow:none !important;
}

.innari2026QuickActions .innari2026DrawerMetronomeButton:hover{
  background:rgba(224,247,242,.86) !important;
  border-color:rgba(14,107,99,.46) !important;
}

.innari2026QuickActions .innari2026DrawerMetronomeButton .material-symbols-rounded{
  font-size:1.65rem !important;
}

/* v5.28 - Metronomo: sync gruppo disabilitata senza gruppo attivo */
.innariMetronomeSyncControls[hidden],
.innariMetronomeSyncUnavailable[hidden]{
  display:none !important;
}
.innariMetronomeSyncUnavailable{
  display:block;
  padding:12px 13px;
  border:1px solid rgba(204,25,75,.18);
  border-radius:16px;
  background:rgba(204,25,75,.08);
  color:#7a2437;
  font-weight:900;
  line-height:1.35;
}
.innariMetronomePanel[data-sync-available="0"] .innariMetronomeSyncBox{
  opacity:.96;
}
body.stage .innariMetronomeSyncUnavailable{
  background:rgba(229,117,82,.14);
  border-color:rgba(229,117,82,.28);
  color:#ffd7c9;
}

/* v5.29 - Metronomo: sezione sync senza stanza visibile */
.innariMetronomeSyncHint{
  margin:0;
  padding:9px 11px;
  border-radius:14px;
  background:rgba(47,125,109,.09);
  color:#233331;
  font-weight:800;
  line-height:1.35;
}
body.stage .innariMetronomeSyncHint{
  background:rgba(116,214,199,.12);
  color:var(--app-ink,#f5efe3);
}

/* v5.30 - Metronomo: testo sync pi leggero e spaziatura corretta */
.innariMetronomeSyncBox{
  gap:12px;
}

.innariMetronomeSyncHint{
  margin:0 0 12px 0 !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:rgba(47,125,109,.07) !important;
  color:#4f5b58 !important;
  font-size:.96rem !important;
  font-weight:400 !important;
  line-height:1.42 !important;
  letter-spacing:0 !important;
}

.innariMetronomeSyncHint strong,
.innariMetronomeSyncHint b{
  font-weight:600 !important;
}

.innariMetronomeSyncActions{
  margin-top:4px !important;
}

body.stage .innariMetronomeSyncHint{
  background:rgba(116,214,199,.10) !important;
  color:rgba(245,239,227,.86) !important;
  font-weight:400 !important;
}

@media (max-width:640px){
  .innariMetronomeSyncHint{
    font-size:.92rem !important;
    padding:9px 11px !important;
    margin-bottom:13px !important;
  }
}

/* v5.31 - Metronomo: blocco master gi presente nella stanza */
.innariMetronomeSyncActions button[data-master-locked="1"],
.innariMetronomeSyncActions button:disabled{
  opacity:.48 !important;
  cursor:not-allowed !important;
  filter:grayscale(.12);
}

/* v5.32 - Metronomo: stato pannello nascosto, messaggi solo nel toast */
#innariMetronomeStatus{
  display:none !important;
}

.innariMetronomeHeader h2{
  margin-bottom:0 !important;
}

.innariMetronomeHeader > div:first-child{
  align-self:center;
}

/* v5.33 - Metronomo: tempo libero e accenti personalizzati */
.innariMetronomeGrid label input[data-metronome-field="timeSignature"],
.innariMetronomeGrid label input[data-metronome-field="accentPattern"]{
  font-family:inherit;
}

.innariMetronomeBeatBar{
  flex-wrap:wrap;
  row-gap:6px;
}

.innariMetronomeBeatBar span[data-accent="1"]{
  border-color:rgba(204,25,75,.55);
}

@media (max-width:640px){
  .innariMetronomeGrid label input[data-metronome-field="accentPattern"]{
    letter-spacing:-.01em;
  }
}

/* v5.34 - Metronomo: preconteggio percepibile */
.innariMetronomeBeatDot[data-countin="1"]{
  background:linear-gradient(135deg,#d39228,#f08a24) !important;
  color:#fff !important;
  box-shadow:0 14px 36px rgba(211,146,40,.30);
}

.innariMetronomeBeatBar span[data-countin="1"][data-active="1"]{
  background:rgba(211,146,40,.22) !important;
  border-color:rgba(211,146,40,.70) !important;
  color:#7a4d00 !important;
}

body.stage .innariMetronomeBeatBar span[data-countin="1"][data-active="1"]{
  color:#ffe8bd !important;
}

/* v5.36 - Metronomo: badge compatto aggiornato e un solo richiamo visibile */
.innariMetronomeCompactRow strong#innariMetronomeCompactLabel{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
}

.innariMetronomePanel[data-open="1"] ~ .innariMetronomeFloatButton,
.innariMetronomeFloatButton[hidden]{
  display:none !important;
}

/* v5.40 - Popover discreto per tonalit dal badge Chiave */
.innari2026SongBadge.innari2026KeyBadge{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  cursor:pointer;
  text-align:inherit;
}

.innari2026SongBadge.innari2026KeyBadge:hover{
  transform:translateY(-1px);
}

.innari2026KeyPopover{
  position:fixed;
  z-index:10090;
  box-sizing:border-box;
  padding:10px;
  border-radius:18px;
  background:rgba(255,250,240,.98);
  border:1px solid rgba(47,125,109,.18);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  color:var(--app-ink,#1f2a2a);
  backdrop-filter:blur(14px);
}

.innari2026KeyPopoverHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:2px 4px 8px;
}

.innari2026KeyPopoverHead span{
  color:var(--app-muted,#5f6c67);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.innari2026KeyPopoverHead strong{
  color:var(--app-green,#0f6b61);
  font-size:1.05rem;
  font-weight:950;
}

.innari2026KeyPopoverStep{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  gap:7px;
  margin-bottom:8px;
}

.innari2026KeyPopoverStep button,
.innari2026KeyPopoverGrid button{
  border:1px solid rgba(47,125,109,.16);
  background:rgba(47,125,109,.08);
  color:var(--app-green,#0f6b61);
  border-radius:13px;
  min-height:38px;
  font-weight:900;
  cursor:pointer;
}

.innari2026KeyPopoverStep button{
  display:flex;
  align-items:center;
  justify-content:center;
}

.innari2026KeyPopoverStep button:nth-child(2){
  font-size:.86rem;
  text-transform:lowercase;
}

.innari2026KeyPopoverGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
}

.innari2026KeyPopoverGrid button{
  min-height:34px;
  font-size:.88rem;
  background:rgba(255,255,255,.62);
}

.innari2026KeyPopoverGrid button[aria-pressed="true"]{
  background:var(--app-green,#0f6b61);
  border-color:var(--app-green,#0f6b61);
  color:#fffaf0;
}

.innari2026KeyPopoverStep button:hover,
.innari2026KeyPopoverGrid button:hover{
  border-color:rgba(47,125,109,.36);
  background:rgba(47,125,109,.14);
}

.innari2026KeyPopoverGrid button[aria-pressed="true"]:hover{
  background:var(--app-green,#0f6b61);
  color:#fffaf0;
}

body.stage .innari2026KeyPopover{
  background:rgba(32,43,39,.96);
  color:var(--app-ink,#f5efe3);
  border-color:rgba(116,214,199,.18);
}

body.stage .innari2026KeyPopoverGrid button{
  background:rgba(116,214,199,.08);
}

@media (max-width:560px){
  .innari2026KeyPopover{
    width:min(292px, calc(100vw - 20px))!important;
    padding:9px;
  }
  .innari2026KeyPopoverStep button,
  .innari2026KeyPopoverGrid button{
    min-height:36px;
  }
}

/* v5.41 - Badge Chiave/Trasp. come gli altri badge e semitoni nel popover */
.innari2026SongBadges button.innari2026SongBadge.innari2026KeyBadge,
.innari2026SongBadges button#innari2026StatTransposedBadge.innari2026KeyBadge{
  appearance:none !important;
  -webkit-appearance:none !important;
  min-height:0 !important;
  padding:8px 11px !important;
  border:1px solid var(--app-line) !important;
  border-radius:999px !important;
  background:rgba(249,244,233,.86) !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:7px !important;
  box-shadow:none !important;
  color:inherit !important;
  font:inherit !important;
  line-height:1.1 !important;
  text-align:inherit !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026KeyBadge:hover,
.innari2026SongBadges button#innari2026StatTransposedBadge.innari2026KeyBadge:hover{
  background:rgba(249,244,233,.96) !important;
  border-color:rgba(14,107,99,.28) !important;
  transform:none !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026KeyBadge span,
.innari2026SongBadges button#innari2026StatTransposedBadge.innari2026KeyBadge span{
  color:var(--app-muted,#5f6c67) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026KeyBadge strong,
.innari2026SongBadges button#innari2026StatTransposedBadge.innari2026KeyBadge strong{
  color:var(--app-coral,#bc4d34) !important;
  font-size:1rem !important;
  font-weight:950 !important;
}

.innari2026KeyPopoverStep button[data-key-shift]{
  font-size:.9rem !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:nowrap;
}

body.stage .innari2026SongBadges button.innari2026SongBadge.innari2026KeyBadge,
body.stage .innari2026SongBadges button#innari2026StatTransposedBadge.innari2026KeyBadge{
  background:rgba(40,45,43,.86) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
}

body.stage .innari2026SongBadges button.innari2026SongBadge.innari2026KeyBadge span,
body.stage .innari2026SongBadges button#innari2026StatTransposedBadge.innari2026KeyBadge span{
  color:rgba(245,239,227,.70) !important;
}

/* v5.47 - Fix pulito da v5.42: TRASP. nascosto quando coincide con CHIAVE */
#innari2026StatTransposedBadge[hidden],
#innari2026StatTransposedBadge[aria-hidden="true"],
.innari2026SongBadges #innari2026StatTransposedBadge[hidden],
.innari2026SongBadges #innari2026StatTransposedBadge[aria-hidden="true"]{
  display:none !important;
}

/* v6.4 - Riflessione supporto biblico: pulsante in coda e apertura dal punto di lettura */
.innari2026ReflectionText {
  align-items: start;
}

.innari2026ReflectionMore:not([hidden]) + .innari2026ReflectionToggle {
  margin-top: 0.4rem !important;
}

/* v6.7 - badge versione personale/originale allineato ai badge Chiave/Tempo/BPM */
.innari2026SongBadges button.innari2026SongBadge.innari2026PersonalVersionBadge{
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:pointer !important;
  min-height:0 !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  padding:8px 11px !important;
  border:1px solid var(--app-line) !important;
  border-radius:999px !important;
  background:rgba(249,244,233,.86) !important;
  display:inline-flex !important;
  align-items:baseline !important;
  justify-content:flex-start !important;
  gap:7px !important;
  box-shadow:none !important;
  color:inherit !important;
  font:inherit !important;
  line-height:1.1 !important;
  text-align:inherit !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  transition:background .16s ease, border-color .16s ease, transform .16s ease !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026PersonalVersionBadge:hover{
  background:rgba(249,244,233,.96) !important;
  border-color:rgba(14,107,99,.28) !important;
  box-shadow:none !important;
  transform:none !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026PersonalVersionBadge span{
  display:inline !important;
  color:var(--app-muted,#5f6c67) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026PersonalVersionBadge strong{
  display:inline !important;
  margin:0 !important;
  color:var(--app-coral,#bc4d34) !important;
  font-size:1rem !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.stage .innari2026SongBadges button.innari2026SongBadge.innari2026PersonalVersionBadge{
  background:rgba(40,45,43,.86) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
}

body.stage .innari2026SongBadges button.innari2026SongBadge.innari2026PersonalVersionBadge span{
  color:rgba(245,239,227,.70) !important;
}

.innari2026SongBadge.innari2026PersonalVersionBadge[hidden],
.innari2026SongBadge.innari2026PersonalVersionBadge[aria-hidden="true"]{
  display:none !important;
}

/* v6.10 - pulsante modifica rapida in testata brano: icona Material e stile pagina */
.innari2026QuickEditTopButton{
  position:absolute;
  top:clamp(10px, 1.8vw, 18px);
  right:clamp(10px, 1.8vw, 18px);
  z-index:4;
  min-height:42px;
  min-width:42px;
  padding:8px 13px 8px 11px;
  border:1px solid rgba(13,111,103,.24) !important;
  border-radius:999px !important;
  background:rgba(255,253,247,.96) !important;
  color:var(--app-green,#0d6f67) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  font-family:var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(25,23,18,.08), 0 5px 16px rgba(13,111,103,.10) !important;
  text-decoration:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
.innari2026QuickEditTopButton:hover,
.innari2026QuickEditTopButton:focus-visible{
  background:rgba(232,247,242,.98) !important;
  border-color:rgba(13,111,103,.40) !important;
  box-shadow:0 12px 28px rgba(25,23,18,.10), 0 7px 20px rgba(13,111,103,.16) !important;
  transform:translateY(-1px);
  outline:none !important;
}
.innari2026QuickEditTopButton .innari2026QuickEditTopIcon,
.innari2026QuickEditTopButton .material-symbols-outlined{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(13,111,103,.12) !important;
  color:var(--app-green,#0d6f67) !important;
  font-family:'Material Symbols Outlined' !important;
  font-size:1.16rem !important;
  font-weight:400 !important;
  line-height:1 !important;
  font-variation-settings:'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24;
  text-align:center !important;
  overflow:hidden !important;
}
.innari2026QuickEditTopButton .innari2026QuickEditTopLabel,
.innari2026QuickEditTopButton strong{
  display:inline-block !important;
  color:var(--app-green,#0d6f67) !important;
  font-size:.82rem !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body.stage .innari2026QuickEditTopButton{
  background:rgba(40,45,43,.86) !important;
  border-color:rgba(245,239,227,.14) !important;
  color:rgba(245,239,227,.92) !important;
}
body.stage .innari2026QuickEditTopButton .innari2026QuickEditTopIcon,
body.stage .innari2026QuickEditTopButton .material-symbols-outlined{
  background:rgba(245,239,227,.12) !important;
  color:rgba(245,239,227,.94) !important;
}
body.stage .innari2026QuickEditTopButton .innari2026QuickEditTopLabel,
body.stage .innari2026QuickEditTopButton strong{
  color:rgba(245,239,227,.94) !important;
}
@media (max-width:760px){
  .innari2026QuickEditTopButton{
    top:8px;
    right:8px;
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    padding:0 !important;
    gap:0 !important;
  }
  .innari2026QuickEditTopButton .innari2026QuickEditTopIcon,
  .innari2026QuickEditTopButton .material-symbols-outlined{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    font-size:1.18rem !important;
  }
  .innari2026QuickEditTopButton .innari2026QuickEditTopLabel,
  .innari2026QuickEditTopButton strong{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
  }
  .innari2026SongHead{
    padding-top:16px;
  }
}

/* v6.11 - pulsante modifica rapida: sfondo chiaro forzato, icona verde visibile */
#innari2026SongHead > #innari2026QuickEditTopButton.innari2026QuickEditTopButton,
.innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton{
  background:var(--app-paper-2, #f8f3ea) !important;
  background-color:var(--app-paper-2, #f8f3ea) !important;
  background-image:none !important;
  border:1px solid rgba(13,111,103,.28) !important;
  color:var(--app-green, #0d6f67) !important;
  box-shadow:0 8px 20px rgba(25,23,18,.08) !important;
}
#innari2026SongHead > #innari2026QuickEditTopButton.innari2026QuickEditTopButton:hover,
#innari2026SongHead > #innari2026QuickEditTopButton.innari2026QuickEditTopButton:focus-visible,
.innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton:hover,
.innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton:focus-visible{
  background:rgba(232,247,242,.96) !important;
  background-color:rgba(232,247,242,.96) !important;
  background-image:none !important;
  border-color:rgba(13,111,103,.42) !important;
  color:var(--app-green, #0d6f67) !important;
}
#innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton .innari2026QuickEditTopIcon,
#innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton .material-symbols-outlined{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  color:var(--app-green, #0d6f67) !important;
  box-shadow:none !important;
}
#innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton .innari2026QuickEditTopLabel,
#innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton strong{
  color:var(--app-green, #0d6f67) !important;
}
body.stage #innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton,
body.stage .innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton{
  background:rgba(40,45,43,.88) !important;
  background-color:rgba(40,45,43,.88) !important;
  background-image:none !important;
  border-color:rgba(245,239,227,.16) !important;
  color:rgba(245,239,227,.94) !important;
}
body.stage #innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton .innari2026QuickEditTopIcon,
body.stage #innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton .material-symbols-outlined,
body.stage #innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton .innari2026QuickEditTopLabel,
body.stage #innari2026SongHead #innari2026QuickEditTopButton.innari2026QuickEditTopButton strong{
  background:transparent !important;
  color:rgba(245,239,227,.94) !important;
}


/* v6.18 - reset dati offline */
.innari2026OfflineActions button.is-danger,
.innari2026OfflineEmbeddedPanel .innari2026OfflineActions button.is-danger{
  background:rgba(201,74,45,.10) !important;
  color:#a9432d !important;
  border-color:rgba(201,74,45,.28) !important;
}
.innari2026OfflineActions button.is-danger:hover,
.innari2026OfflineEmbeddedPanel .innari2026OfflineActions button.is-danger:hover{
  background:rgba(201,74,45,.16) !important;
  border-color:rgba(201,74,45,.42) !important;
}
.innari2026OfflineActions button.is-danger[disabled],
.innari2026OfflineActions button.is-danger[aria-busy="true"]{
  opacity:.65;
  cursor:wait;
  transform:none !important;
}
body.stage .innari2026OfflineActions button.is-danger,
body.stage .innari2026OfflineEmbeddedPanel .innari2026OfflineActions button.is-danger{
  background:rgba(226,139,107,.13) !important;
  color:var(--app-coral,#e28b6b) !important;
  border-color:rgba(226,139,107,.28) !important;
}

/* v6.33 - Metronomo: bordo piu marcato quando il pannello e aperto */
.innariMetronomePanel:not(.innariMetronomeFullPagePanel){
  border:2px solid rgba(23,106,95,.58)!important;
  box-shadow:
    0 0 0 4px rgba(23,106,95,.10),
    0 26px 82px rgba(21,36,32,.34)!important;
}
.innariMetronomePanel:not(.innariMetronomeFullPagePanel)[data-open="1"]{
  box-shadow:
    0 0 0 4px rgba(23,106,95,.13),
    0 30px 90px rgba(21,36,32,.38)!important;
}
.innariMetronomePanel:not(.innariMetronomeFullPagePanel) .innariMetronomeHeader{
  border-bottom:1px solid rgba(23,106,95,.18);
}
.innariMetronomePanel[data-compact="1"]{
  border-color:rgba(23,106,95,.68)!important;
}
@media (max-width:640px){
  .innariMetronomePanel:not(.innariMetronomeFullPagePanel){
    border-width:2px!important;
    box-shadow:
      0 0 0 3px rgba(23,106,95,.12),
      0 22px 70px rgba(21,36,32,.36)!important;
  }
}

/* v34.3 - Area pinch-zoom senza indicatori diagnostici.
   Mantiene solo il padding laterale ridotto introdotto per lo zoom mobile,
   ma rimuove outline tratteggiato e sfondo usati durante il debug. */
@media (max-width: 760px) {
  #testo.divBrano.innari2026MobileWrap,
  .innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap,
  .innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap {
    box-sizing: border-box !important;
    outline: none !important;
    outline-offset: 0 !important;
    background: transparent !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.stage #testo.divBrano.innari2026MobileWrap,
  body.stage .innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap,
  body.stage .innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap {
    outline: none !important;
    background: transparent !important;
  }
}

/* v6.37 - Pinch zoom brano: niente interlinea artificiale nelle strofe di solo testo.
   La classe innari2026MobileWrap serve al pinch, ma non deve aggiungere spaziatura
   da paragrafo tra righe semplici senza accordi. */
@media (max-width: 760px) {
  #testo.divBrano.innari2026MobileWrap p.soloTesto,
  .innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap p.soloTesto,
  .innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.soloTesto {
    line-height: 1.16em !important;
    margin-top: 0 !important;
    margin-bottom: 0.14em !important;
  }
}

/* v6.43 - Pinch zoom: compatta solo le righe solo testo che restano su una riga.
   Le righe che vanno realmente a capo mantengono una line-height leggibile. */
@media (max-width: 760px) {
  #testo.divBrano.innari2026MobileWrap p.soloTesto.innari2026SoloTextZoomCompact,
  .innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap p.soloTesto.innari2026SoloTextZoomCompact,
  .innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.soloTesto.innari2026SoloTextZoomCompact,
  .innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed p.soloTesto.innari2026SoloTextZoomCompact {
    white-space: normal !important;
    line-height: 0.22em !important;
    margin-top: 0 !important;
    margin-bottom: var(--innari2026-solo-text-fixed-gap, 12px) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #testo.divBrano.innari2026MobileWrap p.soloTesto.innari2026SoloTextZoomWrapped,
  .innari2026SongOfflineLikeOnline #testo.divBrano.innari2026MobileWrap p.soloTesto.innari2026SoloTextZoomWrapped,
  .innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap p.soloTesto.innari2026SoloTextZoomWrapped,
  .innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed p.soloTesto.innari2026SoloTextZoomWrapped {
    white-space: normal !important;
    line-height: 1.08em !important;
    margin-top: 0 !important;
    margin-bottom: 0.10em !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* v6.46 - Metronomo: badge flottante semitrasparente per leggere il testo sotto */
.innariMetronomeFloatButton{
  background:linear-gradient(135deg,rgba(23,106,95,.48),rgba(37,79,157,.48))!important;
  color:#fff!important;
  border:1px solid rgba(255,250,240,.42)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.innariMetronomeFloatButton[data-running="1"]{
  background:linear-gradient(135deg,rgba(204,25,75,.50),rgba(240,138,36,.50))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}
.innariMetronomeFloatButton:hover,
.innariMetronomeFloatButton:focus-visible{
  background:linear-gradient(135deg,rgba(23,106,95,.72),rgba(37,79,157,.72))!important;
  box-shadow:0 14px 32px rgba(0,0,0,.22)!important;
}
.innariMetronomeFloatButton[data-running="1"]:hover,
.innariMetronomeFloatButton[data-running="1"]:focus-visible{
  background:linear-gradient(135deg,rgba(204,25,75,.76),rgba(240,138,36,.76))!important;
}
@media (max-width:640px){
  .innariMetronomeFloatButton{
    background:linear-gradient(135deg,rgba(23,106,95,.42),rgba(37,79,157,.42))!important;
    box-shadow:0 10px 22px rgba(0,0,0,.14)!important;
  }
  .innariMetronomeFloatButton[data-running="1"]{
    background:linear-gradient(135deg,rgba(204,25,75,.45),rgba(240,138,36,.45))!important;
  }
}



/* v6.47 - Metronomo: pannello compatto orizzontale semitrasparente */
.innariMetronomePanel[data-compact="1"]:not(.innariMetronomeFullPagePanel){
  background:rgba(255,250,240,.42)!important;
  border-color:rgba(23,106,95,.52)!important;
  box-shadow:
    0 0 0 2px rgba(23,106,95,.12),
    0 10px 28px rgba(0,0,0,.13)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow{
  background:transparent!important;
}
.innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow strong#innariMetronomeCompactLabel{
  color:rgba(31,42,42,.96)!important;
  text-shadow:0 1px 2px rgba(255,250,240,.70);
}
.innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow button{
  background:rgba(238,245,242,.46)!important;
  color:#0f6b61!important;
  border:1px solid rgba(23,106,95,.13)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow button:hover,
.innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow button:focus-visible{
  background:rgba(238,245,242,.70)!important;
  border-color:rgba(23,106,95,.22)!important;
}
@media (max-width:640px){
  .innariMetronomePanel[data-compact="1"]:not(.innariMetronomeFullPagePanel){
    background:rgba(255,250,240,.36)!important;
    box-shadow:
      0 0 0 2px rgba(23,106,95,.10),
      0 8px 22px rgba(0,0,0,.12)!important;
  }
  .innariMetronomePanel[data-compact="1"] .innariMetronomeCompactRow button{
    background:rgba(238,245,242,.40)!important;
  }
}

/* v9.2 - Offline only: margine laterale di sicurezza per il testo offline.
   IMPORTANTE: le regole sono vincolate a body.innari2026OfflineViewing/body.innari2026ForceOffline,
   quindi non modificano la visualizzazione online dei brani. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline,
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline > tbody > tr > td,
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline td,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline > tbody > tr > td,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano:not(.innari2026MobileWrap):not(.innari2026OfflinePinchZoomed),
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano:not(.innari2026MobileWrap):not(.innari2026OfflinePinchZoomed) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* v9.3 - Offline: visualizzazione a due colonne autonoma per i brani renderizzati da IndexedDB.
   Non tocca il rendering online: si attiva solo nella shell offline. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  margin: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell {
  width: 50% !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCellFirst,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCellFirst {
  padding-left: 0 !important;
  padding-right: .55em !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCellSecond,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCellSecond {
  padding-left: .55em !important;
  padding-right: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell > *,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell > * {
  max-width: 100% !important;
}


/* v9.4 - Offline: due colonne a flusso reale.
   La v9.3 divideva i nodi in una tabella: se il rendering offline produceva un solo
   contenitore, il testo veniva solo ristretto alla prima meta' della pagina. Qui non
   spostiamo piu' l'HTML: il browser distribuisce il contenuto nelle due colonne. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  column-count: 2 !important;
  column-gap: 1.15em !important;
  column-fill: balance !important;
  overflow: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns > p,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns > div,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns > p,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns > div {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns .par,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns .parSoloTesto,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns .par,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns .parSoloTesto {
  break-after: avoid !important;
  page-break-after: avoid !important;
}

@media (max-width: 520px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns {
    column-gap: .95em !important;
  }
}


/* v35.2 - badge struttura brano senza prefisso e BPM condizionale */
.innari2026SongStructureBadge {
  align-items: center;
}
.innari2026SongStructureBadge strong {
  font-size: 0.92rem;
  letter-spacing: 0.015em;
}
@media (max-width: 700px) {
  .innari2026SongStructureBadge strong {
    font-size: 0.88rem;
  }
}

/* v35.6 - badge metadati: intestazioni uniformi */
.innari2026SongBadges .innari2026SongBadge > span,
.innari2026SongBadges button.innari2026SongBadge > span,
.innari2026SongBadges .innari2026SongStat > span,
.innari2026SongOfflineLikeOnline .innari2026SongBadge > span,
.innari2026SongOfflineLikeOnline button.innari2026SongBadge > span {
  font-family: var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  line-height: 1 !important;
  color: var(--app-muted, #5f6c67) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.stage .innari2026SongBadges .innari2026SongBadge > span,
body.stage .innari2026SongBadges button.innari2026SongBadge > span,
body.stage .innari2026SongOfflineLikeOnline .innari2026SongBadge > span,
body.stage .innari2026SongOfflineLikeOnline button.innari2026SongBadge > span {
  color: rgba(245,239,227,.70) !important;
}

/* v9.12 - Temi app selezionabili da Impostazioni grafiche */
html.innariTheme-readable {
  --app-bg: #f4f5f1;
  --app-paper: #ffffff;
  --app-paper-2: #f8faf6;
  --app-ink: #111715;
  --app-muted: #4d5853;
  --app-line: #cfd7d0;
  --app-green: #0f6157;
  --app-green-soft: #dcefe9;
  --app-coral: #a9422d;
  --app-shadow: 0 18px 54px rgba(19, 34, 30, 0.13);
}

html.innariTheme-blue {
  --app-bg: #eef4f8;
  --app-paper: #fbfdff;
  --app-paper-2: #edf5f8;
  --app-ink: #17232b;
  --app-muted: #60707a;
  --app-line: #cfdee6;
  --app-green: #146b78;
  --app-green-soft: #dceff3;
  --app-coral: #b15a3f;
  --app-shadow: 0 22px 64px rgba(21, 54, 72, 0.14);
}

html.innariTheme-sage {
  --app-bg: #eef2e7;
  --app-paper: #fffdf6;
  --app-paper-2: #f4f6ec;
  --app-ink: #1d261e;
  --app-muted: #65705f;
  --app-line: #d7ddc9;
  --app-green: #4f7141;
  --app-green-soft: #e5efdd;
  --app-coral: #b05b35;
  --app-shadow: 0 22px 64px rgba(51, 64, 38, 0.14);
}

html.innariTheme-readable body:not(.stage) {
  background:
    linear-gradient(90deg, rgba(15, 97, 87, 0.055) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 18% 0%, rgba(15, 97, 87, 0.12), transparent 30rem),
    linear-gradient(180deg, #fbfcf9 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-blue body:not(.stage) {
  background:
    linear-gradient(90deg, rgba(20, 107, 120, 0.065) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 18% 0%, rgba(20, 107, 120, 0.16), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(177, 90, 63, 0.10), transparent 28rem),
    linear-gradient(180deg, #f8fbfd 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-sage body:not(.stage) {
  background:
    linear-gradient(90deg, rgba(79, 113, 65, 0.06) 1px, transparent 1px) 0 0 / 52px 52px,
    radial-gradient(circle at 18% 0%, rgba(79, 113, 65, 0.17), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(176, 91, 53, 0.10), transparent 28rem),
    linear-gradient(180deg, #fbfaf3 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-readable body:not(.stage) .whiteBox,
html.innariTheme-readable body:not(.stage) .whiteUserBox,
html.innariTheme-readable body:not(.stage) .tabellaElenco,
html.innariTheme-blue body:not(.stage) .whiteBox,
html.innariTheme-blue body:not(.stage) .whiteUserBox,
html.innariTheme-blue body:not(.stage) .tabellaElenco,
html.innariTheme-sage body:not(.stage) .whiteBox,
html.innariTheme-sage body:not(.stage) .whiteUserBox,
html.innariTheme-sage body:not(.stage) .tabellaElenco {
  background-color: var(--app-paper) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

html.innariTheme-readable body:not(.stage) .pulsanteColorato,
html.innariTheme-readable body:not(.stage) button.selColorato,
html.innariTheme-readable body:not(.stage) input[type="button"].selColorato,
html.innariTheme-blue body:not(.stage) .pulsanteColorato,
html.innariTheme-blue body:not(.stage) button.selColorato,
html.innariTheme-blue body:not(.stage) input[type="button"].selColorato,
html.innariTheme-sage body:not(.stage) .pulsanteColorato,
html.innariTheme-sage body:not(.stage) button.selColorato,
html.innariTheme-sage body:not(.stage) input[type="button"].selColorato {
  background-color: var(--app-green) !important;
  border-color: var(--app-green) !important;
}

html.innariTheme-readable body:not(.stage) select.selColorato,
html.innariTheme-readable body:not(.stage) input.selColorato,
html.innariTheme-readable body:not(.stage) textarea.selColorato,
html.innariTheme-blue body:not(.stage) select.selColorato,
html.innariTheme-blue body:not(.stage) input.selColorato,
html.innariTheme-blue body:not(.stage) textarea.selColorato,
html.innariTheme-sage body:not(.stage) select.selColorato,
html.innariTheme-sage body:not(.stage) input.selColorato,
html.innariTheme-sage body:not(.stage) textarea.selColorato {
  background-color: var(--app-paper) !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

#innariAppTheme {
  min-width: 170px;
}

/* v9.13 - sfondo esterno morbido senza righe verticali */
body:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.78), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(211, 146, 40, 0.12), transparent 30rem),
    linear-gradient(180deg, #faf7ef 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-classic body:not(.stage),
body.innariTheme-classic:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.78), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(211, 146, 40, 0.12), transparent 30rem),
    linear-gradient(180deg, #faf7ef 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-readable body:not(.stage),
body.innariTheme-readable:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.86), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(15, 97, 87, 0.075), transparent 30rem),
    linear-gradient(180deg, #fbfcf9 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-blue body:not(.stage),
body.innariTheme-blue:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.82), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(20, 107, 120, 0.12), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(177, 90, 63, 0.075), transparent 28rem),
    linear-gradient(180deg, #f8fbfd 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-sage body:not(.stage),
body.innariTheme-sage:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.80), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(79, 113, 65, 0.13), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(176, 91, 53, 0.07), transparent 28rem),
    linear-gradient(180deg, #fbfaf3 0%, var(--app-bg) 100%) !important;
}

/* v9.14 - Tema scuro integrato nel selettore Tema app + sfondo scuro senza righe */
body.stage,
body.stage.innari2026AppPage,
body.stage.innari2026BiblePage,
body[data-theme="stage"],
html.innariTheme-dark body {
  background:
    radial-gradient(circle at 50% -12%, rgba(116, 214, 199, 0.10), transparent 34rem),
    radial-gradient(circle at 86% 10%, rgba(228, 147, 114, 0.065), transparent 30rem),
    linear-gradient(180deg, #0c1110 0%, var(--app-bg, #101615) 100%) !important;
}

#innariAppTheme option[value="dark"] {
  font-weight: 900;
}


/* v9.15 - Tema scuro unificato: accordi ambra e niente controllo separato */
html.innariTheme-dark body,
body.innariTheme-dark,
body.stage,
body.stage.innari2026AppPage,
body.stage.innari2026BiblePage,
body[data-theme="stage"] {
  --song-chord: #f1c95b;
  background:
    radial-gradient(circle at 50% -12%, rgba(116, 214, 199, 0.10), transparent 34rem),
    radial-gradient(circle at 86% 10%, rgba(228, 147, 114, 0.065), transparent 30rem),
    linear-gradient(180deg, #0c1110 0%, var(--app-bg, #101615) 100%) !important;
}

html.innariTheme-dark body #testo .c,
html.innariTheme-dark body #testo .fr,
html.innariTheme-dark body #testo .fd,
html.innariTheme-dark body #testo .cMultiToken,
body.innariTheme-dark #testo .c,
body.innariTheme-dark #testo .fr,
body.innariTheme-dark #testo .fd,
body.innariTheme-dark #testo .cMultiToken,
body.stage #testo .c,
body.stage #testo .fr,
body.stage #testo .fd,
body.stage #testo .cMultiToken,
body[data-theme="stage"] #testo .c,
body[data-theme="stage"] #testo .fr,
body[data-theme="stage"] #testo .fd,
body[data-theme="stage"] #testo .cMultiToken {
  color: var(--song-chord, #f1c95b) !important;
}

html.innariTheme-dark body #testo .fd,
body.innariTheme-dark #testo .fd,
body.stage #testo .fd,
body[data-theme="stage"] #testo .fd {
  border-top-color: var(--song-chord, #f1c95b) !important;
}

#innari2026DisplayHost #temaScuroOpt,
#innari2026DisplayHost #temaScuroOptLabel,
#innari2026DisplayHost label[for="temaScuroOpt"] {
  display: none !important;
}

/* v9.16 - Offline: due colonne come versione online.
   Disattiva il vecchio flusso CSS e usa una tabella stabile con due celle. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.innari2026OfflineCssColumns {
  column-count: auto !important;
  column-gap: normal !important;
  column-fill: auto !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable {
  display: table !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 auto !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell {
  width: 50% !important;
  max-width: 50% !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
  padding-left: 0 !important;
  padding-right: 1.05em !important;
  border-right: 1px solid rgba(30, 72, 63, .10) !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
  padding-left: 1.05em !important;
  padding-right: 0 !important;
}

@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
    padding-right: .65em !important;
  }
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
    padding-left: .65em !important;
  }
}

/* v9.17 - Offline: stabilizzazione due colonne.
   La pagina offline contiene vecchie regole che trasformano tutte le celle in blocchi;
   per la tabella delle due colonne occorre ripristinare esplicitamente il comportamento table. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable {
  display: table !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody {
  display: table-row-group !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr {
  display: table-row !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell {
  display: table-cell !important;
  width: 50% !important;
  max-width: 50% !important;
  min-width: 0 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
  padding-left: 0 !important;
  padding-right: 1.05em !important;
  border-right: 1px solid rgba(30, 72, 63, .10) !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
  padding-left: 1.05em !important;
  padding-right: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell > div:first-child,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell > div:first-child {
  height: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
    padding-right: .65em !important;
  }
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
    padding-left: .65em !important;
  }
}

/* v9.18 - Offline: 2 colonne stabilizzate.
   La tabella viene generata dal renderer offline e deve rimanere nel flusso reale,
   senza essere riconvertita dalle regole responsive legacy della shell. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"],
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable {
  display: table !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 auto !important;
  float: none !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody {
  display: table-row-group !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr {
  display: table-row !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell {
  display: table-cell !important;
  width: 50% !important;
  max-width: 50% !important;
  min-width: 0 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  float: none !important;
  overflow: visible !important;
  white-space: normal !important;
}


/* v9.19 - Offline: due colonne come online, senza comprimere le celle.
   Il rendering storico degli accordi usa offset relativi: se le celle vengono forzate
   al 50% con table-layout:fixed, i righi lunghi invadono l'altra colonna. La versione
   online non comprime le celle: la tabella cresce secondo il contenuto. Qui replichiamo
   quel comportamento nella shell offline, lasciando allo scroller orizzontale il compito
   di gestire eventuale larghezza superiore al viewport. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"],
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] {
  display: block !important;
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable {
  display: table !important;
  table-layout: auto !important;
  width: auto !important;
  min-width: 100% !important;
  max-width: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody {
  display: table-row-group !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr {
  display: table-row !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell {
  display: table-cell !important;
  width: auto !important;
  max-width: none !important;
  min-width: max-content !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
  float: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
  position: relative !important;
  top: 10px !important;
  padding-left: 0 !important;
  padding-right: 5px !important;
  border-right: 2px solid rgba(211, 211, 211, 0.3) !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
  padding-left: 30px !important;
  padding-right: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.testoAccordi,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.soloTesto,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.testoAccordi,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.soloTesto {
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: pre !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* v9.20 - Offline: il contenitore del brano si allarga quando sono attive le 2 colonne.
   Con le colonne a larghezza intrinseca la tabella del testo puo' diventare piu' larga
   del box standard da 860/1040px. Qui allarghiamo il riquadro esterno fino allo spazio
   disponibile nel viewport, evitando che la seconda colonna sembri uscire dal foglio. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026OfflineTwoColumnsLayout,
body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026OfflineTwoColumnsLayout {
  max-width: none !important;
  overflow-x: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard.innari2026OfflineTwoColumnsLayout,
body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard.innari2026OfflineTwoColumnsLayout {
  width: var(--innari2026-offline-two-col-box-width, min(1280px, calc(100vw - 96px))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns {
  display: block !important;
  box-sizing: border-box !important;
  width: var(--innari2026-offline-two-col-box-width, min(1280px, calc(100vw - 96px))) !important;
  max-width: none !important;
  min-width: min(860px, calc(100vw - 96px)) !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns > tbody,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns > tbody > tr,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns > tbody > tr > td,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns > tbody,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns > tbody > tr,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns > tbody > tr > td {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

@media (max-width: 900px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard.innari2026OfflineTwoColumnsLayout,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard.innari2026OfflineTwoColumnsLayout,
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineTextHasTwoColumns {
    width: var(--innari2026-offline-two-col-box-width, calc(100vw - 18px)) !important;
    min-width: calc(100vw - 18px) !important;
  }
}

/* v9.23 - Metronomo: toggle audio/solo feedback visivo */
.innariMetronomeHeaderActions .innariMetronomeMuteButton,
.innariMetronomeCompactRow .innariMetronomeMuteButton{
  color:#176a5f !important;
  background:rgba(238,245,242,.86) !important;
  border:1px solid rgba(23,106,95,.16) !important;
}
.innariMetronomeHeaderActions .innariMetronomeMuteButton:hover,
.innariMetronomeHeaderActions .innariMetronomeMuteButton:focus-visible,
.innariMetronomeCompactRow .innariMetronomeMuteButton:hover,
.innariMetronomeCompactRow .innariMetronomeMuteButton:focus-visible{
  background:rgba(219,239,234,.95) !important;
  border-color:rgba(23,106,95,.28) !important;
}
.innariMetronomeHeaderActions .innariMetronomeMuteButton[data-muted="1"],
.innariMetronomeCompactRow .innariMetronomeMuteButton[data-muted="1"]{
  color:#b84f37 !important;
  background:rgba(255,236,225,.92) !important;
  border-color:rgba(184,79,55,.30) !important;
}
.innariMetronomePanel[data-muted="1"] .innariMetronomeBeatDot{
  box-shadow:0 10px 26px rgba(23,106,95,.18), inset 0 0 0 3px rgba(255,250,240,.30) !important;
}
.innariMetronomePanel[data-muted="1"] .innariMetronomeModeBadge::after{
  content:' - MUTO';
}
body.stage .innariMetronomeHeaderActions .innariMetronomeMuteButton,
body.stage .innariMetronomeCompactRow .innariMetronomeMuteButton{
  color:#93d9c9 !important;
  background:rgba(147,217,201,.13) !important;
  border-color:rgba(147,217,201,.24) !important;
}
body.stage .innariMetronomeHeaderActions .innariMetronomeMuteButton[data-muted="1"],
body.stage .innariMetronomeCompactRow .innariMetronomeMuteButton[data-muted="1"]{
  color:#ffd19c !important;
  background:rgba(255,209,156,.13) !important;
  border-color:rgba(255,209,156,.30) !important;
}
@media (max-width:420px){
  .innariMetronomeHeaderActions .innariMetronomeMuteButton{
    width:32px;
    height:32px;
    min-width:32px;
  }
}

/* v9.25 - Scalette: pannello piu' operativo e meno dipendente dalle select legacy */
.innari2026SetlistSongsPanel {
  width: 100%;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: var(--app-paper-2);
  box-sizing: border-box;
  padding: 10px;
}

.innari2026SetlistHiddenSelect {
  display: none !important;
}

.innari2026SetlistSongList {
  display: grid;
  gap: 8px;
  max-height: min(42vh, 420px);
  overflow: auto;
  padding-right: 2px;
}

.innari2026SetlistSongItem {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(23, 106, 95, 0.16);
  border-radius: 16px;
  background: rgba(255, 253, 247, 0.82);
  color: var(--app-ink);
  font-family: var(--innari2026-ui-font);
  text-align: left;
  cursor: pointer;
  padding: 9px 10px;
  box-sizing: border-box;
}

.innari2026SetlistSongItem:hover,
.innari2026SetlistSongItem:focus-visible {
  border-color: rgba(23, 106, 95, 0.34);
  background: rgba(228, 241, 236, 0.72);
  outline: 0;
}

.innari2026SetlistSongItem[aria-current="true"] {
  border-color: rgba(23, 106, 95, 0.48);
  background: rgba(228, 241, 236, 0.95);
  box-shadow: inset 4px 0 0 var(--app-green);
}

.innari2026SetlistSongNum {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--app-green-soft);
  color: var(--app-green);
  font-weight: 900;
  font-size: 0.86rem;
}

.innari2026SetlistSongTitle {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 900;
  font-size: 0.95rem;
  line-height: 1.15;
}

.innari2026SetlistSongItem .material-symbols-outlined {
  font-size: 1.35rem;
  color: var(--app-green);
}

.innari2026SetlistEmptyState {
  min-height: 82px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px;
  border-radius: 18px;
  background: rgba(228, 241, 236, 0.45);
  color: var(--app-muted);
  box-sizing: border-box;
}

.innari2026SetlistEmptyState .material-symbols-outlined {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  background: var(--app-green-soft);
  color: var(--app-green);
  font-size: 1.55rem;
}

.innari2026SetlistEmptyState b {
  color: var(--app-ink);
  font-size: 1rem;
  line-height: 1.1;
}

.innari2026SetlistEmptyState small {
  grid-column: 2;
  font-weight: 700;
  line-height: 1.25;
}

.innari2026SetlistManageSections #innari2026AutoSetlistButton .innari2026ActionIcon {
  background: rgba(248, 232, 189, 0.8);
  color: #8a5a00;
}

body.stage .innari2026SetlistSongsPanel,
body.stage .innari2026SetlistSongItem,
body.stage .innari2026SetlistEmptyState {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.15) !important;
}

body.stage .innari2026SetlistSongItem[aria-current="true"] {
  background: rgba(241, 201, 91, 0.12) !important;
  border-color: rgba(241, 201, 91, 0.4) !important;
}

body.stage .innari2026SetlistSongNum,
body.stage .innari2026SetlistEmptyState .material-symbols-outlined {
  background: rgba(241, 201, 91, 0.18) !important;
  color: #f1c95b !important;
}

body.stage .innari2026SetlistSongItem .material-symbols-outlined {
  color: #f1c95b !important;
}

@media (max-width: 680px) {
  .innari2026SetlistSongList {
    max-height: min(46vh, 360px);
  }

  .innari2026SetlistSongTitle {
    font-size: 0.9rem;
  }
}

/* v9.30 - Indicatore scaletta nella testata del brano */
.innari2026SongSetlistStatus {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  width: min(680px, 100%);
  margin: 9px auto 0;
  padding: 6px;
  border: 1px solid rgba(14, 107, 99, 0.18);
  border-radius: 18px;
  background: color-mix(in srgb, var(--app-paper, #fffaf1) 88%, var(--app-green, #0e6b63) 12%);
  box-shadow: 0 10px 24px rgba(32, 28, 20, 0.08);
  box-sizing: border-box;
}
.innari2026SongSetlistStatus[hidden],
.innari2026SongSetlistStatus[data-active="0"] {
  display: none !important;
}
.innari2026SongSetlistMain {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,0.58);
  color: var(--app-ink, #252019);
  padding: 7px 10px;
  text-align: left;
  cursor: pointer;
}
.innari2026SongSetlistMain:hover,
.innari2026SongSetlistMain:focus-visible {
  outline: none;
  background: rgba(255,255,255,0.82);
  box-shadow: inset 0 0 0 1px rgba(14, 107, 99, 0.18);
}
.innari2026SongSetlistMain > .material-symbols-rounded {
  color: var(--app-green, #0e6b63);
  font-size: 1.45rem;
}
.innari2026SongSetlistText {
  display: grid;
  min-width: 0;
  gap: 1px;
}
.innari2026SongSetlistText small {
  color: var(--app-muted, #746c5d);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.innari2026SongSetlistText strong {
  min-width: 0;
  overflow: hidden;
  color: var(--app-green, #0e6b63);
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.innari2026SongSetlistText em,
.innari2026SongSetlistCurrent {
  min-width: 0;
  overflow: hidden;
  color: var(--app-muted, #746c5d);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.innari2026SongSetlistPosition {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--app-green, #0e6b63);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 950;
  line-height: 1;
}
.innari2026SongSetlistActions {
  display: flex;
  align-items: stretch;
  gap: 5px;
}
.innari2026SongSetlistActions button {
  width: 38px;
  min-width: 38px;
  border: 1px solid rgba(14, 107, 99, 0.18);
  border-radius: 13px;
  background: rgba(255,255,255,0.72);
  color: var(--app-green, #0e6b63);
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.innari2026SongSetlistActions button:hover:not(:disabled),
.innari2026SongSetlistActions button:focus-visible:not(:disabled) {
  background: var(--app-green, #0e6b63);
  color: #fff;
  outline: none;
}
.innari2026SongSetlistActions button:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}
.innari2026SongSetlistCurrent {
  display: none;
}
.innari2026SongSetlistStatus[data-current="0"] .innari2026SongSetlistPosition {
  background: rgba(116,108,93,0.16);
  color: var(--app-muted, #746c5d);
}
body.stage .innari2026SongSetlistStatus {
  border-color: rgba(241, 201, 91, 0.22);
  background: rgba(15, 23, 42, 0.84);
  box-shadow: 0 12px 28px rgba(0,0,0,0.22);
}
body.stage .innari2026SongSetlistMain,
body.stage .innari2026SongSetlistActions button {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.13);
}
body.stage .innari2026SongSetlistText strong,
body.stage .innari2026SongSetlistMain > .material-symbols-rounded,
body.stage .innari2026SongSetlistActions button {
  color: #f1c95b;
}
body.stage .innari2026SongSetlistText small,
body.stage .innari2026SongSetlistText em,
body.stage .innari2026SongSetlistCurrent {
  color: rgba(255,255,255,0.72);
}
body.stage .innari2026SongSetlistPosition {
  background: #f1c95b;
  color: #1f2937;
}
@media (max-width: 560px) {
  .innari2026SongSetlistStatus {
    gap: 6px;
    padding: 5px;
    border-radius: 15px;
  }
  .innari2026SongSetlistMain {
    gap: 6px;
    padding: 6px 7px;
  }
  .innari2026SongSetlistMain > .material-symbols-rounded {
    font-size: 1.25rem;
  }
  .innari2026SongSetlistText strong {
    font-size: 0.78rem;
  }
  .innari2026SongSetlistText em {
    font-size: 0.66rem;
  }
  .innari2026SongSetlistPosition {
    min-width: 42px;
    padding-left: 6px;
    padding-right: 6px;
    font-size: 0.74rem;
  }
  .innari2026SongSetlistActions button {
    width: 34px;
    min-width: 34px;
  }
}


/* v9.31 - Indicatore scaletta: leggibilit e contrasto */
#innari2026SongSetlistStatus.innari2026SongSetlistStatus {
  align-items: center !important;
  justify-content: flex-start !important;
  width: min(720px, 100%) !important;
  padding: 7px !important;
  border: 1px solid rgba(14, 107, 99, 0.22) !important;
  background: rgba(255, 250, 241, 0.94) !important;
  box-shadow: 0 10px 24px rgba(32, 28, 20, 0.08) !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistMain {
  background: rgba(255, 255, 255, 0.88) !important;
  color: var(--app-ink, #252019) !important;
  border: 1px solid rgba(14, 107, 99, 0.14) !important;
  box-shadow: none !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistMain:hover,
#innari2026SongSetlistStatus .innari2026SongSetlistMain:focus-visible {
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(14, 107, 99, 0.22) !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistText small {
  color: var(--app-muted, #6b7168) !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistText strong {
  display: block !important;
  color: var(--app-ink, #252019) !important;
  font-size: 0.9rem !important;
  line-height: 1.18 !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistText em,
#innari2026SongSetlistStatus .innari2026SongSetlistCurrent {
  color: var(--app-muted, #6b7168) !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistMain > .material-symbols-rounded {
  color: var(--app-green, #0e6b63) !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistPosition {
  background: rgba(14, 107, 99, 0.12) !important;
  color: var(--app-green, #0e6b63) !important;
}
#innari2026SongSetlistStatus[data-current="1"] .innari2026SongSetlistPosition {
  background: var(--app-green, #0e6b63) !important;
  color: #fff !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistActions button {
  background: rgba(14, 107, 99, 0.12) !important;
  color: var(--app-green, #0e6b63) !important;
  border-color: rgba(14, 107, 99, 0.18) !important;
}
#innari2026SongSetlistStatus .innari2026SongSetlistActions button:hover:not(:disabled),
#innari2026SongSetlistStatus .innari2026SongSetlistActions button:focus-visible:not(:disabled) {
  background: var(--app-green, #0e6b63) !important;
  color: #fff !important;
}
body.stage #innari2026SongSetlistStatus.innari2026SongSetlistStatus {
  border-color: rgba(241, 201, 91, 0.26) !important;
  background: rgba(15, 23, 42, 0.78) !important;
}
body.stage #innari2026SongSetlistStatus .innari2026SongSetlistMain {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
body.stage #innari2026SongSetlistStatus .innari2026SongSetlistText strong,
body.stage #innari2026SongSetlistStatus .innari2026SongSetlistMain > .material-symbols-rounded {
  color: #f1c95b !important;
}
body.stage #innari2026SongSetlistStatus .innari2026SongSetlistText small,
body.stage #innari2026SongSetlistStatus .innari2026SongSetlistText em {
  color: rgba(255,255,255,0.72) !important;
}
@media (max-width: 560px) {
  #innari2026SongSetlistStatus.innari2026SongSetlistStatus {
    align-items: stretch !important;
  }
  #innari2026SongSetlistStatus .innari2026SongSetlistText strong {
    font-size: 0.8rem !important;
  }
}

/* v9.33 - Menu e sottomenu: layout uniforme a lista, con icona e testo affiancati */
.innari2026MenuPanel .innari2026SongManageSections .innari2026ActionGrid,
.innari2026MenuPanel .innari2026GroupManageSections .innari2026ActionGrid,
.innari2026MenuPanel .innari2026SetlistManageSections .innari2026ActionGrid,
.innari2026MenuPanel .innari2026SyncManageSections .innari2026ActionGrid,
.innari2026MenuPanel .innari2026BibleManageSections .innari2026ActionGrid,
.innari2026MenuPanel .innari2026AccountManageSections .innari2026ActionGrid {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.innari2026MenuPanel .innari2026ActionGrid > div,
.innari2026MenuPanel .innari2026ActionGrid > button,
.innari2026MenuPanel .innari2026ActionGrid > a,
.innari2026MenuPanel .innari2026ActionGrid > form,
.innari2026MenuPanel .innari2026PairedControls,
.innari2026MenuPanel .innari2026PairedControls > span {
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

.innari2026MenuPanel .innari2026PairedControls {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.innari2026MenuPanel .innari2026ActionButton,
.innari2026MenuPanel form .innari2026ActionButton,
.innari2026MenuPanel .innari2026SelectActionCard,
.innari2026MenuPanel .innari2026InfoCard {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 74px !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 14px !important;
  padding: 13px 15px !important;
  text-align: left !important;
}

.innari2026MenuPanel .innari2026ActionText {
  min-width: 0 !important;
  justify-items: start !important;
  text-align: left !important;
}

.innari2026MenuPanel .innari2026ActionText b {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.innari2026MenuPanel .innari2026ActionText small {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.innari2026MenuPanel .innari2026BibleManageSections .innari2026ActionGrid .innari2026ActionButton:nth-child(3),
.innari2026MenuPanel .innari2026BibleManageSections .innari2026MenuSection:first-child .innari2026ActionGrid,
.innari2026MenuPanel .innari2026BibleManageSections .innari2026InfoCard,
.innari2026MenuPanel .innari2026SyncManageSections .innari2026MenuSection:first-child .innari2026ActionGrid,
.innari2026MenuPanel .innari2026SyncManageSections .innari2026InfoCard,
.innari2026MenuPanel .innari2026AccountManageSections .innari2026InfoCard {
  grid-column: 1 / -1 !important;
}

.innari2026MenuPanel .innari2026OfflineEmbeddedPanel .innari2026OfflineActions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.innari2026MenuPanel .innari2026OfflineEmbeddedPanel .innari2026OfflineActions button,
.innari2026MenuPanel .innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus button {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  justify-content: stretch !important;
  justify-items: start !important;
  gap: 12px !important;
  text-align: left !important;
}

.innari2026MenuPanel .innari2026OfflineEmbeddedPanel .innari2026OfflineActions button .material-symbols-rounded,
.innari2026MenuPanel .innari2026OfflineEmbeddedPanel .innari2026OfflineInstallStatus button .material-symbols-rounded {
  justify-self: center !important;
}

@media (min-width: 681px) {
  .innari2026MenuPanel .innari2026ActionIcon {
    width: 48px !important;
    height: 48px !important;
    font-size: 1.85rem !important;
  }

  .innari2026MenuPanel .innari2026ActionText b {
    font-size: 1.03rem !important;
    line-height: 1.12 !important;
  }

  .innari2026MenuPanel .innari2026ActionText small {
    font-size: 0.86rem !important;
    line-height: 1.22 !important;
  }
}

/* v9.37 - Cronologia recente: pannello menu e home */
.innari2026RecentManageSections .innari2026RecentInfoCard,
.innari2026RecentManageSections .innari2026ActionButton,
.innari2026RecentSongItem {
  background: rgba(255, 253, 247, 0.92);
  border: 1px solid rgba(25, 117, 101, 0.16);
  border-radius: 20px;
  box-shadow: 0 10px 26px rgba(36, 30, 20, 0.06);
}
.innari2026RecentSongList {
  display: grid;
  gap: 12px;
}
.innari2026RecentSongItem {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  color: var(--innari-text, #202624);
  text-align: left;
  cursor: pointer;
}
.innari2026RecentSongItem:hover,
.innari2026RecentSongItem:focus-visible {
  border-color: rgba(25, 117, 101, 0.34);
  box-shadow: 0 14px 30px rgba(25, 117, 101, 0.12);
  transform: translateY(-1px);
}
.innari2026RecentSongNum {
  min-width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(25, 117, 101, 0.10);
  color: var(--innari-primary, #187566);
  font-weight: 900;
}
.innari2026RecentSongText {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.innari2026RecentSongText b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.02rem;
}
.innari2026RecentSongText small {
  color: var(--innari-muted, #6d746e);
  font-weight: 750;
  line-height: 1.3;
}
.innari2026RecentEmptyState {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items: center;
  padding: 20px;
  border: 1px dashed rgba(25, 117, 101, 0.22);
  border-radius: 20px;
  color: var(--innari-muted, #6d746e);
}
.innari2026RecentEmptyState .material-symbols-outlined {
  grid-row: span 2;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(25, 117, 101, 0.10);
  color: var(--innari-primary, #187566);
}
.innari2026RecentEmptyState b {
  color: var(--innari-text, #202624);
}
.innari2026HomeRecentSection[hidden] {
  display: none !important;
}
.innari2026HomeRecentOpenMenu {
  border: 1px solid rgba(25, 117, 101, 0.18);
  border-radius: 999px;
  background: rgba(255, 253, 247, 0.88);
  color: var(--innari-primary, #187566);
  font-weight: 900;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.innari2026HomeRecentList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.innari2026HomeRecentCard {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 15px;
  border: 1px solid rgba(25, 117, 101, 0.16);
  border-radius: 20px;
  background: rgba(255, 253, 247, 0.90);
  color: var(--innari-text, #202624);
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(36, 30, 20, 0.055);
}
.innari2026HomeRecentCard:hover,
.innari2026HomeRecentCard:focus-visible {
  border-color: rgba(25, 117, 101, 0.34);
  box-shadow: 0 16px 32px rgba(25, 117, 101, 0.13);
  transform: translateY(-1px);
}
.innari2026HomeRecentIcon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(25, 117, 101, 0.10);
  color: var(--innari-primary, #187566);
}
.innari2026HomeRecentText {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.innari2026HomeRecentText b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 900;
}
.innari2026HomeRecentText small {
  color: var(--innari-muted, #6d746e);
  font-weight: 750;
}
body.stage .innari2026RecentManageSections .innari2026RecentInfoCard,
body.stage .innari2026RecentManageSections .innari2026ActionButton,
body.stage .innari2026RecentSongItem,
body.stage .innari2026HomeRecentCard,
body.stage .innari2026HomeRecentOpenMenu {
  background: rgba(18, 26, 24, 0.88);
  border-color: rgba(241, 201, 91, 0.24);
  color: #f5f0df;
}
body.stage .innari2026RecentSongText small,
body.stage .innari2026HomeRecentText small {
  color: rgba(245, 240, 223, 0.72);
}
body.stage .innari2026RecentSongNum,
body.stage .innari2026HomeRecentIcon,
body.stage .innari2026RecentEmptyState .material-symbols-outlined {
  background: rgba(241, 201, 91, 0.16);
  color: #f1c95b;
}
@media (max-width: 680px) {
  .innari2026HomeRecentList {
    grid-template-columns: 1fr;
  }
  .innari2026RecentSongItem,
  .innari2026HomeRecentCard {
    border-radius: 18px;
  }
}

/* v9.42 - ricerca: innario evidenziato e highlight piu' visibile anche su mobile */
.innari2026SearchMeta.innari2026SearchMetaRich {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

.innari2026SearchMetaChip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  max-width: 100% !important;
  min-height: 22px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(23, 106, 95, 0.22) !important;
  background: rgba(23, 106, 95, 0.08) !important;
  color: var(--app-green, #176a5f) !important;
  font-family: var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.innari2026SearchMetaChip > span {
  flex: 0 0 auto !important;
  color: var(--app-muted, #66736f) !important;
  font-size: 0.64rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
}

.innari2026SearchMetaChip > b {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: inherit !important;
  font: inherit !important;
}

.innari2026SearchInnarioChip {
  border-color: rgba(184, 74, 53, 0.28) !important;
  background: linear-gradient(135deg, rgba(184, 74, 53, 0.13), rgba(255, 247, 232, 0.72)) !important;
  color: var(--app-coral, #b84a35) !important;
}

.innari2026SearchNumberChip {
  border-color: rgba(23, 106, 95, 0.22) !important;
  background: rgba(23, 106, 95, 0.08) !important;
  color: var(--app-green, #176a5f) !important;
}

.innari2026SearchMetaAuthor {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  color: var(--app-muted, #66736f) !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}

.innari2026SearchHit {
  display: inline !important;
  padding: 0 0.13em !important;
  border-radius: 0.28em !important;
  background: rgba(255, 214, 84, 0.58) !important;
  color: inherit !important;
  box-shadow: 0 0 0 1px rgba(184, 126, 18, 0.16) inset !important;
  box-decoration-break: clone !important;
  -webkit-box-decoration-break: clone !important;
}

.innari2026SearchMetaChip .innari2026SearchHit {
  background: rgba(255, 226, 115, 0.72) !important;
}

body.stage .innari2026SearchHit,
body.innariTheme-dark .innari2026SearchHit {
  background: rgba(241, 201, 91, 0.42) !important;
  color: #fff7d1 !important;
  box-shadow: 0 0 0 1px rgba(241, 201, 91, 0.22) inset !important;
}

body.stage .innari2026SearchInnarioChip,
body.innariTheme-dark .innari2026SearchInnarioChip {
  border-color: rgba(241, 201, 91, 0.28) !important;
  background: rgba(241, 201, 91, 0.12) !important;
  color: #f1c95b !important;
}

@media (max-width: 680px) {
  .innari2026SearchMeta.innari2026SearchMetaRich {
    gap: 4px !important;
  }

  .innari2026SearchMetaChip {
    min-height: 21px !important;
    padding: 3px 7px !important;
    font-size: 0.68rem !important;
  }

  .innari2026SearchMetaChip > span {
    font-size: 0.58rem !important;
  }

  .innari2026SearchInnarioChip > b {
    max-width: min(68vw, 260px) !important;
  }

  .innari2026SearchNumberChip > b {
    max-width: 72px !important;
  }

  .innari2026SearchHit {
    background: rgba(255, 214, 84, 0.74) !important;
    box-shadow: 0 0 0 1px rgba(184, 126, 18, 0.20) inset !important;
  }
}


/* =========================================================
   Innari.it 2026 - Topbar sticky in flusso pagina (v20.4)
   Dopo la separazione CSS la topbar fissa poteva sovrapporsi al contenuto
   quando l'altezza reale era maggiore del padding stimato. La topbar torna
   sticky e resta nel flusso naturale: nessun contenuto resta nascosto sopra.
   ========================================================= */
body.innari2026AppPage {
  padding-top: 0 !important;
  --innari2026FixedTopbarHeight: 0px;
  --innari2026MeasuredTopbarHeight: 0px;
  --innari2026TopbarGap: 0px;
}

body.innari2026AppPage .innari2026Topbar {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
}

@supports (top: env(safe-area-inset-top)) {
  body.innari2026AppPage {
    padding-top: 0 !important;
  }

  body.innari2026AppPage .innari2026Topbar {
    top: 0 !important;
  }
}

body.innari2026AppPage.innari2026SongPage {
  --innari2026TopbarGap: 0px;
}

body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
  margin-top: clamp(12px, 2vw, 22px) !important;
}


/* v13.10 - Bibbia: rimozione barra inferiore, modale opzioni e larghezza mobile sicura */
html.innari2026BibleHtml,
body.innari2026BiblePage {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage {
  padding-bottom: 0 !important;
}

body.innari2026BiblePage #fixedDivTools,
body.innari2026BiblePage #divBottomBar,
body.innari2026BiblePage .fixedDivTools,
body.innari2026BiblePage .divBottomBar,
body.innari2026BiblePage .innari2026TransportPanel {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  transform: translateY(200%) !important;
}

body.innari2026BiblePage > table,
body.innari2026BiblePage > table > tbody,
body.innari2026BiblePage > table > tbody > tr,
body.innari2026BiblePage > table > tbody > tr > td,
body.innari2026BiblePage table.soloTesto,
body.innari2026BiblePage table.soloTesto > tbody,
body.innari2026BiblePage table.soloTesto > tbody > tr,
body.innari2026BiblePage table.soloTesto > tbody > tr > td {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BibleSearchCard,
body.innari2026BiblePage .innari2026BibleHelp,
body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom,
body.innari2026BiblePage .innari2026BibleResultsOuter,
body.innari2026BiblePage .innari2026BibleResults,
body.innari2026BiblePage .innari2026BibleResultsCards,
body.innari2026BiblePage .innari2026BibleResultCard,
body.innari2026BiblePage .innari2026BibleResultInner,
body.innari2026BiblePage .innari2026BibleChapterView,
body.innari2026BiblePage .innari2026BibleChapterHeader,
body.innari2026BiblePage .innari2026BibleChapterText,
body.innari2026BiblePage .innari2026BibleChapterVerse {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BibleSearchCard,
body.innari2026BiblePage .innari2026BibleHelp,
body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom,
body.innari2026BiblePage .innari2026BibleResultsOuter {
  width: min(960px, calc(100% - 16px)) !important;
  max-width: calc(100% - 16px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.innari2026BiblePage .innari2026BibleResults,
body.innari2026BiblePage .innari2026BibleResultsCards,
body.innari2026BiblePage .innari2026BibleResultCard,
body.innari2026BiblePage .innari2026BibleResultInner {
  width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleResultHeader {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
}

body.innari2026BiblePage .innari2026BibleResultToggle {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
}

body.innari2026BiblePage .innari2026BibleVerseText,
body.innari2026BiblePage .innari2026BibleVerseText *,
body.innari2026BiblePage .innari2026BibleChapterVerseBody,
body.innari2026BiblePage .innari2026BibleChapterVerseBody * {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

body.innari2026BiblePage .innari2026BibleVerseModalActions .innari2026BibleVerseActionsPanel,
body.innari2026BiblePage .innari2026BibleVerseActionsPanel {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.16) !important;
  border-radius: 18px !important;
  background: rgba(255, 253, 247, 0.92) !important;
  box-shadow: 0 14px 38px rgba(52, 45, 34, 0.08) !important;
}

body.innari2026BiblePage .innari2026BibleVerseModal .innari2026BibleVerseActionGrid,
body.innari2026BiblePage .innari2026BibleVerseActionGrid,
body.innari2026BiblePage .innari2026BibleVerseActionGridPair,
body.innari2026BiblePage .innari2026BibleVerseActionNavStack {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGrid,
body.innari2026BiblePage .innari2026BibleVerseActionGridPair {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.innari2026BiblePage button.innari2026BibleVerseActionButton,
body.innari2026BiblePage .innari2026BibleVerseModal button.innari2026BibleVerseActionButton {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(216, 207, 190, 0.92) !important;
  border-radius: 16px !important;
  background: rgba(249, 244, 233, 0.82) !important;
  color: var(--app-green, #0f766e) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-align: center !important;
  white-space: normal !important;
  font: 950 clamp(0.82rem, 3vw, 0.98rem)/1.08 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

body.innari2026BiblePage button.innari2026BibleVerseActionButton .material-symbols-outlined,
body.innari2026BiblePage button.innari2026BibleVerseActionButton .material-symbols-rounded {
  color: var(--app-green, #0f766e) !important;
  font-size: clamp(1.35rem, 5vw, 1.75rem) !important;
  line-height: 1 !important;
  font-weight: 850 !important;
}

body.innari2026BiblePage button.innari2026BibleVerseActionButton:hover,
body.innari2026BiblePage button.innari2026BibleVerseActionButton:focus-visible {
  background: rgba(228, 241, 236, 0.96) !important;
  border-color: rgba(23, 106, 95, 0.32) !important;
  outline: none !important;
}

body.innari2026BiblePage button.innari2026BibleVerseActionButtonFull,
body.innari2026BiblePage .innari2026BibleVerseActionNavStack > button.innari2026BibleVerseActionButton {
  grid-column: 1 / -1 !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionSection label,
body.innari2026BiblePage .innari2026BibleVerseActionSection h4 {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--app-muted, #6d746e) !important;
  font: 950 0.8rem/1.1 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

body.innari2026BiblePage .innari2026BibleVerseSelect {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  border: 1px solid var(--app-line, #ded7c9) !important;
  border-radius: 15px !important;
  background: rgba(249, 244, 233, 0.86) !important;
  color: var(--app-ink, #1f2421) !important;
  padding: 0 38px 0 12px !important;
  font: 850 1rem/1 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

@media (max-width: 680px) {
  body.innari2026BiblePage .innari2026BibleSearchCard,
  body.innari2026BiblePage .innari2026BibleHelp,
  body.innari2026BiblePage .innari2026BiblePagerCard,
  body.innari2026BiblePage .innari2026BiblePagerBottom,
  body.innari2026BiblePage .innari2026BibleResultsOuter {
    width: calc(100% - 14px) !important;
    max-width: calc(100% - 14px) !important;
  }

  body.innari2026BiblePage .innari2026BibleResultInner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseModalSheet {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 24px 24px 18px 18px !important;
    border-left: 1px solid rgba(23, 106, 95, 0.18) !important;
    border-right: 1px solid rgba(23, 106, 95, 0.18) !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseModalBody {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* =========================================================
   Innari.it 2026 - Topbar fissa e stacco brano stabile (v20.6)
   La home resta nel flusso/sticky per non rischiare sovrapposizioni.
   Nel brano la topbar resta fissa; il padding compensa solo l'altezza
   della barra, mentre il distacco visibile viene dato al box del brano.
   ========================================================= */
body.innari2026AppPage.innari2026SongPage {
  --innari2026FixedTopbarHeight: 62px;
  --innari2026MeasuredTopbarHeight: var(--innari2026FixedTopbarHeight, 62px);
  --innari2026TopbarGap: 0px;
  padding-top: var(--innari2026MeasuredTopbarHeight, 62px) !important;
}

body.innari2026AppPage.innari2026SongPage .innari2026Topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 90 !important;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
  margin-top: clamp(14px, 2.2vw, 24px) !important;
}

@supports (top: env(safe-area-inset-top)) {
  body.innari2026AppPage.innari2026SongPage {
    padding-top: calc(var(--innari2026MeasuredTopbarHeight, 62px) + env(safe-area-inset-top)) !important;
  }

  body.innari2026AppPage.innari2026SongPage .innari2026Topbar {
    top: env(safe-area-inset-top) !important;
  }
}

@media (max-width: 680px) {
  body.innari2026AppPage.innari2026SongPage {
    --innari2026FixedTopbarHeight: 62px;
    --innari2026TopbarGap: 0px;
  }

  body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
    margin-top: 14px !important;
  }
}

/* v20.7 - brano online: topbar fissa con distacco reale ripristinato
   Il distacco va nel padding della pagina, non nel margine della tabella,
   perche' il primo box visibile del brano coincide con il flusso principale. */
body.innari2026AppPage.innari2026SongPage {
  --innari2026FixedTopbarHeight: 62px;
  --innari2026MeasuredTopbarHeight: var(--innari2026FixedTopbarHeight, 62px);
  --innari2026SongTopGap: clamp(14px, 1.7vw, 24px);
  padding-top: calc(var(--innari2026MeasuredTopbarHeight, var(--innari2026FixedTopbarHeight, 62px)) + var(--innari2026SongTopGap, 14px)) !important;
}

body.innari2026AppPage.innari2026SongPage .innari2026Topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 90 !important;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
  margin-top: 0 !important;
}

@supports (top: env(safe-area-inset-top)) {
  body.innari2026AppPage.innari2026SongPage {
    padding-top: calc(var(--innari2026MeasuredTopbarHeight, var(--innari2026FixedTopbarHeight, 62px)) + var(--innari2026SongTopGap, 14px) + env(safe-area-inset-top)) !important;
  }

  body.innari2026AppPage.innari2026SongPage .innari2026Topbar {
    top: env(safe-area-inset-top) !important;
  }
}

@media (max-width: 680px) {
  body.innari2026AppPage.innari2026SongPage {
    --innari2026FixedTopbarHeight: 62px;
    --innari2026SongTopGap: 14px;
  }
}


/* v13.7 - badge Tempo/BPM: stessi stile e dimensioni degli altri badge brano */
.innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge,
.innari2026SongOfflineLikeOnline .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge{
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:pointer !important;
  min-height:0 !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
  padding:8px 11px !important;
  border:1px solid var(--app-line) !important;
  border-radius:999px !important;
  background:rgba(249,244,233,.86) !important;
  display:inline-flex !important;
  align-items:baseline !important;
  justify-content:flex-start !important;
  gap:7px !important;
  box-shadow:none !important;
  color:inherit !important;
  font:inherit !important;
  line-height:1.1 !important;
  text-align:inherit !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  transition:background .16s ease, border-color .16s ease, transform .16s ease !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge:hover,
.innari2026SongOfflineLikeOnline .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge:hover{
  background:rgba(249,244,233,.96) !important;
  border-color:rgba(14,107,99,.28) !important;
  box-shadow:none !important;
  transform:none !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge span,
.innari2026SongOfflineLikeOnline .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge span{
  display:inline !important;
  color:var(--app-muted,#5f6c67) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge strong,
.innari2026SongOfflineLikeOnline .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge strong{
  display:inline !important;
  margin:0 !important;
  color:var(--app-coral,#bc4d34) !important;
  font-size:1rem !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.stage .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge,
body.stage .innari2026SongOfflineLikeOnline .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge{
  background:rgba(40,45,43,.86) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
}

body.stage .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge span,
body.stage .innari2026SongOfflineLikeOnline .innari2026SongBadges button.innari2026SongBadge.innari2026MetronomeBadge span{
  color:rgba(245,239,227,.70) !important;
}


/* v13.8 - Offline: nasconde risorse online, spartiti, riflessioni e dettagli server */
body.innari2026IsOffline #innari2026SongMaterials,
body.innari2026OfflineViewing #innari2026SongMaterials,
body.innari2026IsOffline #risorseBrano,
body.innari2026OfflineViewing #risorseBrano,
body.innari2026IsOffline #dettagliBrano,
body.innari2026OfflineViewing #dettagliBrano,
body.innari2026IsOffline #formSegnalazione,
body.innari2026OfflineViewing #formSegnalazione,
body.innari2026IsOffline #versettiRiferimento,
body.innari2026OfflineViewing #versettiRiferimento {
  display: none !important;
  visibility: hidden !important;
}


/* v13.9 - Bibbia: pager ricerca senza overflow orizzontale su mobile */
body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom,
body.innari2026BiblePage .innari2026BiblePagerCompact,
body.innari2026BiblePage .innari2026BibleResultsSummary .innari2026BiblePagerCard {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

body.innari2026BiblePage .innari2026BiblePagerRow,
body.innari2026BiblePage .innari2026BiblePagerLinks,
body.innari2026BiblePage .innari2026BiblePageSelectWrap {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  body.innari2026BiblePage .innari2026BiblePagerCompact {
    display: block !important;
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.innari2026BiblePage .innari2026BiblePagerRow {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 10px !important;
  }

  body.innari2026BiblePage .innari2026BiblePagerLinks {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 6px !important;
  }

  body.innari2026BiblePage .innari2026BiblePageLink {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.innari2026BiblePage .innari2026BiblePageSelectWrap,
  body.innari2026BiblePage .innari2026BiblePageSelect {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 360px) {
  body.innari2026BiblePage .innari2026BiblePagerLinks {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}


/* v13.10 - Bibbia: contenimento mobile anti-overflow reale */
body.innari2026BiblePage {
  width:100% !important;
  max-width:100vw !important;
  overflow-x:hidden !important;
  position:relative !important;
}

body.innari2026BiblePage > table,
body.innari2026BiblePage table.soloTesto,
body.innari2026BiblePage table.soloTesto > tbody,
body.innari2026BiblePage table.soloTesto > tbody > tr,
body.innari2026BiblePage table.soloTesto > tbody > tr > td {
  width:100% !important;
  max-width:100vw !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

body.innari2026BiblePage .innari2026BibleResultsOuter,
body.innari2026BiblePage .innari2026BibleResults,
body.innari2026BiblePage .innari2026BibleResultsCards,
body.innari2026BiblePage .innari2026BibleResultCard,
body.innari2026BiblePage .innari2026BibleResultInner {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
}

body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

body.innari2026BiblePage .innari2026BiblePagerRow {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:block !important;
}

body.innari2026BiblePage .innari2026BiblePagerLinks {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:7px !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  overflow:hidden !important;
}

body.innari2026BiblePage .innari2026BiblePageLink {
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  padding-left:2px !important;
  padding-right:2px !important;
  box-sizing:border-box !important;
}

body.innari2026BiblePage .innari2026BiblePageSelectWrap {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-top:12px !important;
  display:flex !important;
  justify-content:center !important;
  overflow:hidden !important;
}

body.innari2026BiblePage .innari2026BiblePageSelect {
  max-width:100% !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
}

body.innari2026BiblePage .innari2026BiblePageSelect select {
  max-width:140px !important;
}

@media (max-width:420px){
  body.innari2026BiblePage .innari2026BiblePagerLinks {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}


/* v13.11 - Bibbia: pager compatto e modale opzioni versetto ripristinata */
html,
body.innari2026BiblePage {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage,
body.innari2026BiblePage * {
  box-sizing: border-box !important;
}

body.innari2026BiblePage .innari2026BibleResultsOuter,
body.innari2026BiblePage .innari2026BibleSearchCard,
body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom,
body.innari2026BiblePage .innari2026BibleResultCard,
body.innari2026BiblePage .innari2026BibleResultInner {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom {
  width: min(100%, 560px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(8px, 2.5vw, 18px) !important;
  padding-right: clamp(8px, 2.5vw, 18px) !important;
}

body.innari2026BiblePage .innari2026BiblePagerRow {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  gap: 12px !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage #BarraScorrPagine,
body.innari2026BiblePage [id^="BarraScorrPagine"],
body.innari2026BiblePage .innari2026BiblePagerLinks {
  width: 100% !important;
  max-width: 440px !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 7px !important;
  justify-content: center !important;
  overflow-x: hidden !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.innari2026BiblePage .innari2026BiblePageLink {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.innari2026BiblePage .innari2026BiblePageSelectWrap,
body.innari2026BiblePage .innari2026BiblePageSelect {
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 390px) {
  body.innari2026BiblePage #BarraScorrPagine,
  body.innari2026BiblePage [id^="BarraScorrPagine"],
  body.innari2026BiblePage .innari2026BiblePagerLinks {
    max-width: 330px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Modale opzioni versetto: forza lo stile anche quando il contenuto e' creato via JS */
body.innari2026BiblePage .innari2026BibleVerseModal,
.innari2026BibleVerseModal {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BibleVerseModalSheet,
.innari2026BibleVerseModalSheet {
  width: min(760px, calc(100vw - 20px)) !important;
  max-width: calc(100vw - 20px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.innari2026BiblePage .innari2026BibleVerseModalBody,
.innari2026BibleVerseModalBody {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionsPanel,
.innari2026BibleVerseActionsPanel {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 14px !important;
  padding: 14px !important;
  border: 1px solid rgba(23,106,95,.16) !important;
  border-radius: 18px !important;
  background: rgba(255,253,247,.92) !important;
  box-shadow: 0 14px 38px rgba(52,45,34,.08) !important;
  overflow-x: hidden !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionSection,
.innari2026BibleVerseActionSection {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionSection h4,
body.innari2026BiblePage .innari2026BibleVerseActionSection label,
.innari2026BibleVerseActionSection h4,
.innari2026BibleVerseActionSection label {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--app-muted,#65706c) !important;
  font: 950 .78rem/1.1 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionNavStack,
.innari2026BibleVerseActionNavStack {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGrid,
.innari2026BibleVerseActionGrid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGridPair,
.innari2026BibleVerseActionGridPair {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton,
.innari2026BibleVerseActionButton {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 8px 6px !important;
  border: 1px solid rgba(216,207,190,.92) !important;
  border-radius: 16px !important;
  background: rgba(249,244,233,.78) !important;
  color: var(--app-green,#0f766e) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  font: 950 clamp(.68rem, 2.7vw, .84rem)/1.08 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: hidden !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButtonFull,
.innari2026BibleVerseActionButtonFull {
  flex-direction: row !important;
  gap: 9px !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton .material-symbols-outlined,
body.innari2026BiblePage .innari2026BibleVerseActionButton .material-symbols-rounded,
.innari2026BibleVerseActionButton .material-symbols-outlined,
.innari2026BibleVerseActionButton .material-symbols-rounded {
  color: var(--app-green,#0f766e) !important;
  font-size: clamp(1.35rem, 4vw, 1.75rem) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton span:not(.material-symbols-outlined):not(.material-symbols-rounded),
.innari2026BibleVerseActionButton span:not(.material-symbols-outlined):not(.material-symbols-rounded) {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionButton:hover,
body.innari2026BiblePage .innari2026BibleVerseActionButton:focus-visible,
.innari2026BibleVerseActionButton:hover,
.innari2026BibleVerseActionButton:focus-visible {
  background: rgba(228,241,236,.95) !important;
  border-color: rgba(23,106,95,.30) !important;
  outline: none !important;
}

@media (max-width: 520px) {
  body.innari2026BiblePage .innari2026BibleVerseModalSheet,
  .innari2026BibleVerseModalSheet {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    border-radius: 22px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseModalHeader,
  .innari2026BibleVerseModalHeader {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseModalBody,
  .innari2026BibleVerseModalBody {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGrid,
  .innari2026BibleVerseActionGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGridPair,
  .innari2026BibleVerseActionGridPair {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionButton,
  .innari2026BibleVerseActionButton {
    min-height: 50px !important;
    padding: 7px 5px !important;
  }
}


/* v13.14 - Bibbia: pager mobile piu' compatto e navigazione versetto a due colonne */
body.innari2026BiblePage {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: clip !important;
}

@supports not (overflow-x: clip) {
  body.innari2026BiblePage {
    overflow-x: hidden !important;
  }
}

body.innari2026BiblePage .innari2026BiblePagerCard,
body.innari2026BiblePage .innari2026BiblePagerBottom {
  width: min(100%, 520px) !important;
  max-width: calc(100vw - 18px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  overflow: hidden !important;
}

body.innari2026BiblePage .innari2026BiblePagerRow {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  overflow: hidden !important;
}

body.innari2026BiblePage #BarraScorrPagine,
body.innari2026BiblePage [id^="BarraScorrPagine"],
body.innari2026BiblePage .innari2026BiblePagerLinks {
  width: 100% !important;
  max-width: 360px !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: hidden !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.innari2026BiblePage .innari2026BiblePageLink {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 0 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

body.innari2026BiblePage .innari2026BiblePageSelectWrap {
  width: 100% !important;
  max-width: 360px !important;
  display: flex !important;
  justify-content: center !important;
  overflow: hidden !important;
}

@media (max-width: 430px) {
  body.innari2026BiblePage .innari2026BiblePagerCard,
  body.innari2026BiblePage .innari2026BiblePagerBottom {
    max-width: calc(100vw - 14px) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.innari2026BiblePage #BarraScorrPagine,
  body.innari2026BiblePage [id^="BarraScorrPagine"],
  body.innari2026BiblePage .innari2026BiblePagerLinks {
    max-width: 292px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.innari2026BiblePage .innari2026BiblePageLink {
    min-height: 44px !important;
    border-radius: 15px !important;
  }
}

/* Opzioni versetto: due righe compatte, non una colonna lunga */
body.innari2026BiblePage .innari2026BibleVerseActionNavStack,
.innari2026BibleVerseActionNavStack {
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGridPair,
.innari2026BibleVerseActionGridPair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.innari2026BiblePage .innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton,
.innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton {
  min-height: 56px !important;
  padding: 7px 5px !important;
  flex-direction: column !important;
}

@media (max-width: 380px) {
  body.innari2026BiblePage .innari2026BibleVerseActionGridPair,
  .innari2026BibleVerseActionGridPair {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.innari2026BiblePage .innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton,
  .innari2026BibleVerseActionGridPair .innari2026BibleVerseActionButton {
    min-height: 52px !important;
    font-size: clamp(.62rem, 2.55vw, .74rem) !important;
  }
}


/* v13.15 - Offline: nasconde menu Gruppi e Scalette */
body.innari2026IsOffline .innari2026MenuCard[data-panel="groups"],
body.innari2026IsOffline .innari2026MenuCard[data-panel="setlists"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="groups"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="setlists"],
body.innari2026IsOffline #innari2026Panel-groups,
body.innari2026IsOffline #innari2026Panel-setlists,
body.innari2026OfflineViewing #innari2026Panel-groups,
body.innari2026OfflineViewing #innari2026Panel-setlists {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* v13.16 - Offline: nasconde solo i menu che richiedono online/server */
body.innari2026IsOffline .innari2026MenuCard[data-panel="song"],
body.innari2026IsOffline .innari2026MenuCard[data-panel="groups"],
body.innari2026IsOffline .innari2026MenuCard[data-panel="setlists"],
body.innari2026IsOffline .innari2026MenuCard[data-panel="sync"],
body.innari2026IsOffline .innari2026MenuCard[data-panel="bible"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="song"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="groups"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="setlists"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="sync"],
body.innari2026OfflineViewing .innari2026MenuCard[data-panel="bible"],
body.innari2026IsOffline #innari2026Panel-song,
body.innari2026IsOffline #innari2026Panel-groups,
body.innari2026IsOffline #innari2026Panel-setlists,
body.innari2026IsOffline #innari2026Panel-sync,
body.innari2026IsOffline #innari2026Panel-bible,
body.innari2026OfflineViewing #innari2026Panel-song,
body.innari2026OfflineViewing #innari2026Panel-groups,
body.innari2026OfflineViewing #innari2026Panel-setlists,
body.innari2026OfflineViewing #innari2026Panel-sync,
body.innari2026OfflineViewing #innari2026Panel-bible {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* v13.17 - Modalita Offline: guida iniziale e strumenti tecnici in Avanzate */
.innari2026OfflineIntro{
  margin:12px 20px 0;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(47,125,109,.18);
  background:rgba(47,125,109,.08);
  color:var(--app-ink,#17211f);
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.innari2026OfflineIntro>.material-symbols-rounded{
  width:36px;
  height:36px;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(47,125,109,.12);
  color:var(--app-green,#2f7d6d);
}
.innari2026OfflineIntro p{
  margin:0;
  color:var(--app-muted,#61716d);
  font-size:.94rem;
  line-height:1.42;
  font-weight:650;
}
.innari2026OfflineMainActions{
  border-bottom:0!important;
  padding-bottom:8px!important;
}
.innari2026OfflineMainActions #innari2026ForceOfflineButton{
  width:100%!important;
  min-height:58px!important;
  justify-content:flex-start!important;
  padding:.85rem 1rem!important;
  border-radius:18px!important;
  border-color:rgba(47,125,109,.24)!important;
  background:rgba(47,125,109,.10)!important;
  color:var(--app-green,#2f7d6d)!important;
}
.innari2026OfflineMainActions #innari2026ForceOfflineButton span:last-child{
  font-size:1rem;
  font-weight:950;
}
.innari2026OfflineAdvanced{
  margin:0 20px 0;
  border:1px solid var(--app-line,rgba(0,0,0,.12));
  border-radius:18px;
  background:rgba(249,244,233,.58);
  overflow:hidden;
}
.innari2026OfflineAdvanced>summary{
  list-style:none;
  cursor:pointer;
  min-height:54px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 30px;
  gap:10px;
  align-items:center;
  color:var(--app-ink,#17211f);
  font-weight:900;
}
.innari2026OfflineAdvanced>summary::-webkit-details-marker{display:none;}
.innari2026OfflineAdvanced>summary>.material-symbols-rounded:first-child{
  width:40px;
  height:40px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--app-green,#2f7d6d);
  background:rgba(47,125,109,.10);
}
.innari2026OfflineAdvanced>summary b{display:block;line-height:1.1;}
.innari2026OfflineAdvanced>summary small{
  display:block;
  margin-top:3px;
  color:var(--app-muted,#61716d);
  font-size:.84rem;
  line-height:1.25;
  font-weight:700;
}
.innari2026OfflineAdvancedChevron{
  justify-self:end;
  transition:transform .16s ease;
  color:var(--app-muted,#61716d);
}
.innari2026OfflineAdvanced[open] .innari2026OfflineAdvancedChevron{transform:rotate(180deg);}
.innari2026OfflineAdvancedActions{
  padding:0 12px 12px!important;
  border-bottom:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.innari2026OfflineAdvancedActions button{
  width:100%!important;
}
.innari2026OfflineEmbeddedPanel .innari2026OfflineIntro,
.innari2026OfflineEmbeddedPanel .innari2026OfflineAdvanced{
  margin-left:0!important;
  margin-right:0!important;
}
body.stage .innari2026OfflineIntro{
  background:rgba(116,214,199,.10);
  border-color:rgba(116,214,199,.20);
}
body.stage .innari2026OfflineIntro p,
body.stage .innari2026OfflineAdvanced>summary small{color:var(--app-muted,#b8c1ba);}
body.stage .innari2026OfflineAdvanced{
  background:rgba(245,239,227,.04);
  border-color:var(--app-line,rgba(245,239,227,.14));
}
@media (max-width:700px){
  .innari2026OfflineIntro,
  .innari2026OfflineAdvanced{margin-left:14px;margin-right:14px;}
  .innari2026OfflineIntro{grid-template-columns:32px minmax(0,1fr);padding:11px 12px;}
  .innari2026OfflineIntro>.material-symbols-rounded{width:32px;height:32px;}
}


/* v13.18 - Offline: testo guida multilinea e contenuto nel pannello */
.innari2026OfflinePanel,
.innari2026OfflinePanel * {
  box-sizing: border-box !important;
}

.innari2026OfflineIntro {
  width: auto !important;
  max-width: calc(100% - 40px) !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  align-items: start !important;
}

.innari2026OfflineIntro p {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

@media (max-width: 520px) {
  .innari2026OfflineIntro {
    margin-left: 10px !important;
    margin-right: 10px !important;
    max-width: calc(100% - 20px) !important;
    padding: 11px 12px !important;
    gap: 10px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }
}


/* v13.19 - Offline: guida con font leggero e testo piu' largo */
.innari2026OfflineIntro {
  margin-left: 14px !important;
  margin-right: 14px !important;
  max-width: calc(100% - 28px) !important;
  padding: 14px 16px !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.innari2026OfflineIntro > .material-symbols-rounded {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
}

.innari2026OfflineIntro p {
  font-family: var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.36 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: var(--app-muted, #6f7b77) !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.innari2026OfflineInstallStatus[hidden],
.innari2026OfflineInstallStatus[aria-hidden="true"],
#innari2026OfflineInstallStatus[hidden],
#innari2026OfflineInstallStatus[aria-hidden="true"] {
  display: none !important;
}

@media (max-width: 520px) {
  .innari2026OfflineIntro {
    margin-left: 10px !important;
    margin-right: 10px !important;
    max-width: calc(100% - 20px) !important;
    padding: 13px 14px !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .innari2026OfflineIntro > .material-symbols-rounded {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
  }

  .innari2026OfflineIntro p {
    font-size: .98rem !important;
    line-height: 1.34 !important;
  }
}


/* v13.20 - Home: versetto e massima a tutta larghezza con font uniforme */
.innari2026HomeTodayGrid .innari2026HomeWideTextCard {
  grid-column: 1 / -1 !important;
  align-items: start !important;
}

.innari2026HomeVerseCard,
.innari2026HomeQuoteCard {
  grid-template-columns: 56px minmax(0, 1fr) !important;
}

.innari2026HomeQuoteBlock {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.innari2026HomeVerseText,
.innari2026HomeQuoteText {
  margin: 0 !important;
  color: rgba(31, 36, 33, 0.88) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.02rem, 1.28vw, 1.18rem) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.innari2026HomeVerseText {
  display: block !important;
  margin-top: 4px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.14) !important;
  border-radius: 14px !important;
  background: rgba(228, 241, 236, 0.38) !important;
}

.innari2026HomeQuoteText {
  padding-top: 2px !important;
}

@media (max-width: 680px) {
  .innari2026HomeVerseCard,
  .innari2026HomeQuoteCard {
    grid-template-columns: 46px minmax(0, 1fr) !important;
  }

  .innari2026HomeVerseText,
  .innari2026HomeQuoteText {
    font-size: 1rem !important;
    line-height: 1.44 !important;
  }

  .innari2026HomeVerseText {
    padding: 10px 12px !important;
  }
}


/* v13.21 - Home: rimuovi Accessi rapidi e limita elenco innari */
.innari2026HomeCollectionExtra[hidden],
.innari2026HomeCollectionExtra[aria-hidden="true"] {
  display: none !important;
}

.innari2026HomeCollectionsMoreWrap {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.innari2026HomeCollectionsMoreButton {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 44px;
  padding: 9px 18px;
  border: 1px solid rgba(47,125,109,.22) !important;
  border-radius: 999px !important;
  background: rgba(228,241,236,.78) !important;
  color: var(--app-green,#0f766e) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: 900 .96rem/1 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  cursor: pointer;
  box-shadow: none !important;
}

.innari2026HomeCollectionsMoreButton:hover,
.innari2026HomeCollectionsMoreButton:focus-visible {
  background: rgba(218,238,232,.95) !important;
  border-color: rgba(47,125,109,.36) !important;
  outline: none !important;
}

.innari2026HomeCollectionsMoreButton .material-symbols-rounded {
  font-size: 1.35rem !important;
  line-height: 1 !important;
}


/* v13.22 - Footer minimale */
.innari2026Footer {
  width: min(920px, calc(100% - 32px));
  margin: clamp(38px, 7vw, 74px) auto 44px;
  padding: 18px 14px 28px;
  text-align: center;
  color: var(--app-muted, #64706c);
  font-family: var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.innari2026FooterBrand {
  color: var(--app-ink, #1f2421);
  font-size: .96rem;
  font-weight: 850;
  line-height: 1.35;
}

.innari2026FooterSupport {
  margin-top: 5px;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.35;
}

.innari2026FooterSupport a {
  color: var(--app-green, #0f766e) !important;
  font-weight: 850;
  text-decoration: none !important;
}

.innari2026FooterSupport a:hover,
.innari2026FooterSupport a:focus-visible {
  text-decoration: underline !important;
  outline: none;
}

body.stage .innari2026FooterBrand {
  color: var(--app-ink, #f5efe3);
}

body.stage .innari2026FooterSupport {
  color: rgba(245,239,227,.68);
}


/* v13.33 - Account panel: login e recupero accesso piu' ordinati su desktop */
@media (min-width: 681px) {
  .innari2026AccountManageSections .innari2026AccountLoginForm .innari2026AccountSubmit {
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    min-height: 82px !important;
  }

  .innari2026AccountManageSections .innari2026AccountRecoverForm .innari2026AccountField {
    grid-column: 1 / -1 !important;
  }

  .innari2026AccountManageSections .innari2026AccountRecoverForm > .innari2026ActionButton {
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    min-height: 82px !important;
  }

  .innari2026AccountManageSections .innari2026AccountRecoverForm #innari2026AccountStatus {
    grid-column: 1 / -1 !important;
  }
}


/* v13.34 - Placeholder in corsivo ma non grassetto */
input::placeholder,
textarea::placeholder {
  font-style: italic !important;
  font-weight: 400 !important;
  opacity: .72;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-style: italic !important;
  font-weight: 400 !important;
  opacity: .72;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  font-style: italic !important;
  font-weight: 400 !important;
  opacity: .72;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  font-style: italic !important;
  font-weight: 400 !important;
  opacity: .72;
}


/* v13.38 - Box informativo sincronizzazione come Modalita Offline */
.innari2026SyncIntroSection {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.innari2026SyncIntroBox {
  margin: 0;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(47,125,109,.18);
  background: rgba(47,125,109,.08);
  color: var(--app-ink,#17211f);
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 12px;
  align-items: start;
}

.innari2026SyncIntroBox > .material-symbols-rounded {
  width: 36px;
  height: 36px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(47,125,109,.12);
  color: var(--app-green,#2f7d6d);
  font-size: 22px;
}

.innari2026SyncIntroBox p {
  margin: 0;
  color: var(--app-muted,#61716d);
  font-size: .94rem;
  line-height: 1.42;
  font-weight: 650;
}

.innari2026SyncIntroBox strong {
  color: var(--app-ink,#17211f);
  font-weight: 900;
}

body.stage .innari2026SyncIntroBox {
  border-color: rgba(245,239,227,.14);
  background: rgba(47,125,109,.14);
}

body.stage .innari2026SyncIntroBox p {
  color: rgba(245,239,227,.74);
}

body.stage .innari2026SyncIntroBox strong {
  color: rgba(245,239,227,.94);
}


/* v13.39 - Sync intro: titolo e descrizione correttamente formattati */
.innari2026SyncIntroBox {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.innari2026SyncIntroText {
  min-width: 0;
  display: block;
  overflow-wrap: anywhere;
}

.innari2026SyncIntroText b {
  display: block;
  margin: 0 0 4px;
  color: var(--app-ink,#17211f);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.18;
}

.innari2026SyncIntroText small {
  display: block;
  margin: 0;
  color: var(--app-muted,#61716d);
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.42;
  white-space: normal;
}

.innari2026SyncIntroBox p {
  white-space: normal;
}

body.stage .innari2026SyncIntroText b {
  color: rgba(245,239,227,.94);
}

body.stage .innari2026SyncIntroText small {
  color: rgba(245,239,227,.74);
}


/* v13.40 - Box informativo Supporto Biblico come Sincronizzazione */
.innari2026BibleIntroSection {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.innari2026BibleIntroBox {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(47,125,109,.18);
  background: rgba(47,125,109,.08);
  color: var(--app-ink,#17211f);
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 12px;
  align-items: start;
}

.innari2026BibleIntroBox > .material-symbols-rounded {
  width: 36px;
  height: 36px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(47,125,109,.12);
  color: var(--app-green,#2f7d6d);
  font-size: 22px;
}

.innari2026BibleIntroText {
  min-width: 0;
  display: block;
  overflow-wrap: anywhere;
}

.innari2026BibleIntroText b {
  display: block;
  margin: 0 0 4px;
  color: var(--app-ink,#17211f);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.18;
}

.innari2026BibleIntroText small {
  display: block;
  margin: 0;
  color: var(--app-muted,#61716d);
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.42;
  white-space: normal;
}

body.stage .innari2026BibleIntroBox {
  border-color: rgba(245,239,227,.14);
  background: rgba(47,125,109,.14);
}

body.stage .innari2026BibleIntroText b {
  color: rgba(245,239,227,.94);
}

body.stage .innari2026BibleIntroText small {
  color: rgba(245,239,227,.74);
}


/* v13.41 - Box informativi Recenti e Account */
.innari2026RecentIntroSection,
.innari2026AccountIntroSection {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.innari2026RecentIntroBox,
.innari2026AccountIntroBox {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(47,125,109,.18);
  background: rgba(47,125,109,.08);
  color: var(--app-ink,#17211f);
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  gap: 12px;
  align-items: start;
}

.innari2026RecentIntroBox > .material-symbols-rounded,
.innari2026AccountIntroBox > .material-symbols-rounded {
  width: 36px;
  height: 36px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(47,125,109,.12);
  color: var(--app-green,#2f7d6d);
  font-size: 22px;
}

.innari2026RecentIntroText,
.innari2026AccountIntroText {
  min-width: 0;
  display: block;
  overflow-wrap: anywhere;
}

.innari2026RecentIntroText b,
.innari2026AccountIntroText b {
  display: block;
  margin: 0 0 4px;
  color: var(--app-ink,#17211f);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.18;
}

.innari2026RecentIntroText small,
.innari2026AccountIntroText small {
  display: block;
  margin: 0;
  color: var(--app-muted,#61716d);
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.42;
  white-space: normal;
}

body.stage .innari2026RecentIntroBox,
body.stage .innari2026AccountIntroBox {
  border-color: rgba(245,239,227,.14);
  background: rgba(47,125,109,.14);
}

body.stage .innari2026RecentIntroText b,
body.stage .innari2026AccountIntroText b {
  color: rgba(245,239,227,.94);
}

body.stage .innari2026RecentIntroText small,
body.stage .innari2026AccountIntroText small {
  color: rgba(245,239,227,.74);
}


/* v13.42 - Modalita Offline: massimizza larghezza orizzontale box intro */
.innari2026OfflineIntroBox {
  width: 100%;
  box-sizing: border-box;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 18px 16px !important;
}

.innari2026OfflineIntroBox > .material-symbols-rounded,
.innari2026OfflineIntroBox > .material-symbols-outlined {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 14px !important;
  font-size: 24px !important;
}

.innari2026OfflineIntroText,
.innari2026OfflineIntroBox p,
.innari2026OfflineIntroBox .innari2026OfflineIntroContent {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
  display: block !important;
  overflow-wrap: anywhere;
}

.innari2026OfflineIntroText b,
.innari2026OfflineIntroText strong {
  display: block;
  margin: 0 0 4px;
}

.innari2026OfflineIntroText small,
.innari2026OfflineIntroBox p,
.innari2026OfflineIntroBox small {
  display: block;
  margin: 0;
  font-weight: 500 !important;
  white-space: normal !important;
  line-height: 1.42 !important;
}

@media (max-width: 680px) {
  .innari2026OfflineIntroBox {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 16px 14px !important;
  }

  .innari2026OfflineIntroBox > .material-symbols-rounded,
  .innari2026OfflineIntroBox > .material-symbols-outlined {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 22px !important;
  }
}


/* v13.43 - Modalita Offline: correzione classe reale del box intro */
.innari2026OfflineMenuPanel .innari2026OfflineIntro,
#innari2026OfflineMenuPanel .innari2026OfflineIntro,
.innari2026OfflinePanel .innari2026OfflineIntro {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 12px 0 0 !important;
  padding: 12px 14px !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.innari2026OfflineMenuPanel .innari2026OfflineIntro p,
#innari2026OfflineMenuPanel .innari2026OfflineIntro p,
.innari2026OfflinePanel .innari2026OfflineIntro p {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: block !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
}

.innari2026OfflineMenuPanel .innari2026OfflineIntro > .material-symbols-rounded,
#innari2026OfflineMenuPanel .innari2026OfflineIntro > .material-symbols-rounded,
.innari2026OfflinePanel .innari2026OfflineIntro > .material-symbols-rounded {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
}


/* v13.44 - Modalita attuale app come box uguale a Stato dell'app */
.innari2026OfflineModeCard {
  align-items: flex-start !important;
}

.innari2026OfflineModeCardText {
  min-width: 0;
  flex: 1 1 auto;
}

.innari2026OfflineModeCardText strong {
  display: block;
  margin: 0 0 8px;
  color: var(--app-ink,#17211f);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.innari2026OfflineModeCardBadgeRow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026OfflineModeCard #innari2026OfflineStateBadge,
.innari2026OfflineModeCard span#innari2026OfflineStateBadge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 1.05rem;
  font-weight: 850;
  line-height: 1;
  background: rgba(47,125,109,.08);
  color: var(--app-green,#2f7d6d);
  border: 1px solid rgba(47,125,109,.28);
}

.innari2026OfflineModeCard #innari2026OfflineStateBadge[data-state="offline"],
.innari2026OfflineModeCard span#innari2026OfflineStateBadge[data-state="offline"] {
  background: rgba(229,117,82,.12);
  color: var(--app-coral,#df6f52);
  border-color: rgba(229,117,82,.28);
}


/* v13.48 - Box ricerca: scorciatoie innario sempre allineate a destra */
.innari2026SearchPanel .innari2026SearchStatusRow {
  justify-content: flex-end !important;
}

.innari2026SearchPanel .innari2026SearchStatusRow .innari2026SearchStatus {
  flex: 1 1 auto !important;
}

.innari2026SearchPanel .innari2026SearchScopeChips {
  margin-left: auto !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
}

@media (max-width: 680px) {
  .innari2026SearchPanel .innari2026SearchStatusRow {
    display: flex !important;
  }

  .innari2026SearchPanel .innari2026SearchScopeChips {
    margin-left: auto !important;
  }
}


/* v13.49 - Seleziona/Deseleziona tutti innari nel box ricerca */
.innari2026SearchGroupHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.innari2026SearchMiniAction {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(23,106,95,.26);
  border-radius: 999px;
  background: rgba(228,241,236,.78);
  color: var(--app-green,#176a5f);
  font: 900 .76rem/1 var(--innari2026-ui-font,"Nunito Sans",system-ui,sans-serif);
  cursor: pointer;
  white-space: nowrap;
}

.innari2026SearchMiniAction:hover,
.innari2026SearchMiniAction:focus-visible {
  background: rgba(209,232,224,.96);
  border-color: rgba(23,106,95,.44);
  outline: none;
}

.innari2026SearchMiniAction:disabled {
  opacity: .58;
  cursor: default;
}

@media (max-width: 520px) {
  .innari2026SearchGroupHeader {
    align-items: flex-start;
  }

  .innari2026SearchMiniAction {
    min-height: 28px;
    padding: 0 9px;
    font-size: .72rem;
  }
}


/* v13.50 - Ricerca home: selezione totale innari e lista verticale */
.innari2026HomeAdvancedInnariHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.innari2026HomeSearchMiniAction {
  flex: 0 0 auto;
}

.innari2026HomeSearchInnariList {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: 6px !important;
  max-height: 156px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 2px 2px 4px !important;
}

.innari2026HomeInnarioChip {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  justify-content: stretch !important;
  justify-items: start !important;
  text-align: left !important;
}

.innari2026HomeInnarioChip span {
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 520px) {
  .innari2026HomeAdvancedInnariHeader {
    align-items: flex-start;
  }

  .innari2026HomeSearchInnariList {
    max-height: 170px !important;
  }
}


/* v13.51 - Ricerca home con layout allineato alla ricerca del brano */
.innari2026HomeAdvancedBody {
  gap: 14px !important;
  padding: 0 14px 14px !important;
}

.innari2026HomeAdvancedOptions,
.innari2026HomeAdvancedInnari {
  display: grid !important;
  gap: 8px !important;
}

.innari2026HomeGroupTitle,
.innari2026HomeAdvancedInnari strong {
  color: var(--app-muted) !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
}

.innari2026HomeCheckRow {
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--app-ink) !important;
  font: 800 0.98rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

.innari2026HomeCheckRow input {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  accent-color: var(--app-green) !important;
}

.innari2026HomeAdvancedInnariHeader {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.innari2026HomeAdvancedInnari small {
  margin: -2px 0 2px !important;
  color: var(--app-muted) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
}

.innari2026HomeSearchMiniAction {
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(23,106,95,.26) !important;
  border-radius: 999px !important;
  background: rgba(228,241,236,.78) !important;
  color: var(--app-green,#176a5f) !important;
  font: 900 .76rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.innari2026HomeSearchMiniAction:hover,
.innari2026HomeSearchMiniAction:focus-visible {
  background: rgba(209,232,224,.96) !important;
  border-color: rgba(23,106,95,.44) !important;
  outline: none !important;
}

.innari2026HomeSearchMiniAction:disabled {
  opacity: .58 !important;
  cursor: default !important;
}

.innari2026HomeSearchInnariList {
  min-width: 0 !important;
  max-height: 156px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: 6px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  padding: 2px 4px 4px 0 !important;
}

.innari2026HomeInnarioChip {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 34px !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  justify-items: start !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: 999px !important;
  background: var(--app-paper) !important;
  color: var(--app-ink) !important;
  text-align: left !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
}

.innari2026HomeInnarioChip input {
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  accent-color: var(--app-green) !important;
}

.innari2026HomeInnarioChip span {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 520px) {
  .innari2026HomeAdvancedInnariHeader {
    align-items: flex-start !important;
  }

  .innari2026HomeSearchMiniAction {
    min-height: 28px !important;
    padding: 0 9px !important;
    font-size: .72rem !important;
  }

  .innari2026HomeSearchInnariList {
    max-height: 170px !important;
  }
}


/* v13.52 - Ricerca home: opzioni senza riquadri */
.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow,
.innari2026HomeAdvancedBody .innari2026HomeAdvancedOptions .innari2026HomeCheckRow {
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow::before,
.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow::after,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow::before,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow::after {
  content: none !important;
  display: none !important;
}

.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow:focus,
.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow:focus-within,
.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow:hover,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow:focus,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow:focus-within,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow:hover {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.innari2026HomeSearchForm .innari2026HomeAdvancedOptions .innari2026HomeCheckRow span,
.innari2026HomeHero .innari2026HomeAdvancedOptions .innari2026HomeCheckRow span {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}


/* v13.53 - Badge Seleziona/Deseleziona tutti più vicino al layout di riferimento */
.innari2026SearchMiniAction,
.innari2026HomeSearchMiniAction {
  min-height: 40px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(118, 182, 172, .55) !important;
  border-radius: 999px !important;
  background: #e6f1ed !important;
  color: var(--app-green, #176a5f) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.innari2026SearchMiniAction:hover,
.innari2026SearchMiniAction:focus-visible,
.innari2026HomeSearchMiniAction:hover,
.innari2026HomeSearchMiniAction:focus-visible {
  background: #dcece7 !important;
  border-color: rgba(92, 160, 149, .72) !important;
  outline: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 0 0 1px rgba(92,160,149,.08) !important;
}

.innari2026SearchMiniAction:disabled,
.innari2026HomeSearchMiniAction:disabled {
  opacity: .62 !important;
  cursor: default !important;
}

@media (max-width: 520px) {
  .innari2026SearchMiniAction,
  .innari2026HomeSearchMiniAction {
    min-height: 38px !important;
    padding: 0 16px !important;
    font-size: .74rem !important;
  }
}


/* v13.54 - Correzione badge Seleziona/Deseleziona tutti: piccolo, chiaro, testo verde */
.innari2026HomeAdvancedInnariHeader .innari2026HomeSearchMiniAction,
.innari2026SearchGroupHeader .innari2026SearchMiniAction {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  min-height: 31px !important;
  height: 31px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(23, 106, 95, .26) !important;
  border-radius: 999px !important;
  background: rgba(228, 241, 236, .92) !important;
  color: var(--app-green, #176a5f) !important;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: end !important;
  flex: 0 0 auto !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.innari2026HomeAdvancedInnariHeader .innari2026HomeSearchMiniAction[aria-pressed="true"],
.innari2026SearchGroupHeader .innari2026SearchMiniAction[aria-pressed="true"] {
  background: rgba(228, 241, 236, .92) !important;
  color: var(--app-green, #176a5f) !important;
  border-color: rgba(23, 106, 95, .26) !important;
}

.innari2026HomeAdvancedInnariHeader .innari2026HomeSearchMiniAction:hover,
.innari2026HomeAdvancedInnariHeader .innari2026HomeSearchMiniAction:focus-visible,
.innari2026SearchGroupHeader .innari2026SearchMiniAction:hover,
.innari2026SearchGroupHeader .innari2026SearchMiniAction:focus-visible {
  background: rgba(215, 235, 228, .98) !important;
  color: var(--app-green, #176a5f) !important;
  border-color: rgba(23, 106, 95, .42) !important;
  outline: none !important;
  box-shadow: none !important;
}

.innari2026HomeAdvancedInnariHeader .innari2026HomeSearchMiniAction:disabled,
.innari2026SearchGroupHeader .innari2026SearchMiniAction:disabled {
  opacity: .62 !important;
  color: var(--app-green, #176a5f) !important;
  background: rgba(228, 241, 236, .7) !important;
  cursor: default !important;
}

.innari2026HomeAdvancedInnariHeader {
  align-items: center !important;
}


/* v13.58 - Risultati compatti nelle ricerche */
.innari2026SearchResultCompact,
.innari2026HomeSearchResultCompact {
  display: block !important;
  padding: 7px 10px !important;
  min-height: 34px !important;
}

.innari2026SearchCompactLine {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.innari2026SearchCompactLine strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--app-ink);
  font: 900 .92rem/1.15 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026SearchCompactMeta {
  min-width: 0;
  max-width: 46%;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  overflow: hidden;
  white-space: nowrap;
  color: var(--app-muted);
  font: 850 .74rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026SearchCompactMeta > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.innari2026SearchCompactNumber {
  flex: 0 0 auto;
  color: var(--app-green);
}

.innari2026SearchCompactSep {
  flex: 0 0 auto;
  opacity: .55;
}

.innari2026SearchResultCompact .innari2026SearchHit,
.innari2026HomeSearchResultCompact .innari2026SearchHit {
  padding: 0 .08em;
}

@media (max-width: 560px) {
  .innari2026SearchCompactLine {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .innari2026SearchCompactMeta {
    max-width: 100%;
    justify-content: flex-start;
    font-size: .70rem;
  }

  .innari2026SearchResultCompact,
  .innari2026HomeSearchResultCompact {
    padding: 6px 9px !important;
    min-height: 36px !important;
  }
}


/* v13.59 - Rifinitura risultati compatti e opzioni ricerca */
.innari2026HomeAdvancedOptions {
  grid-template-columns: 1fr !important;
}

.innari2026HomeCheckRow,
.innari2026CheckRow {
  width: fit-content !important;
  max-width: 100% !important;
}

.innari2026SearchResultCompact,
.innari2026HomeSearchResultCompact {
  padding: 8px 10px !important;
  min-height: 38px !important;
}

.innari2026SearchCompactLine {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto) !important;
  align-items: baseline !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

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

.innari2026SearchCompactMeta {
  max-width: none !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.innari2026SearchCompactNumber {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.innari2026SearchCompactSep {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.innari2026SearchCompactInnario {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 560px) {
  .innari2026SearchCompactLine {
    grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
    gap: 8px !important;
  }

  .innari2026SearchCompactMeta {
    max-width: 42vw !important;
    justify-content: flex-end !important;
    font-size: .70rem !important;
  }

  .innari2026SearchResultCompact,
  .innari2026HomeSearchResultCompact {
    padding: 7px 8px !important;
    min-height: 34px !important;
  }
}

@media (min-width: 900px) {
  .innari2026SearchCompactLine {
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto) !important;
  }

  .innari2026SearchCompactMeta {
    max-width: 520px !important;
  }
}


/* v13.60 - Pulsante opzioni ricerca sempre pieno */
.innari2026HomeAdvancedToggle,
.innari2026SearchAdvancedToggle,
button.innari2026HomeAdvancedToggle,
button.innari2026SearchAdvancedToggle {
  background: var(--app-green, #176a5f) !important;
  color: #ffffff !important;
  border-color: var(--app-green, #176a5f) !important;
  box-shadow: 0 8px 18px rgba(23,106,95,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.innari2026HomeAdvancedToggle .material-symbols-rounded,
.innari2026SearchAdvancedToggle .material-symbols-rounded,
button.innari2026HomeAdvancedToggle .material-symbols-rounded,
button.innari2026SearchAdvancedToggle .material-symbols-rounded {
  color: #ffffff !important;
}

.innari2026HomeAdvancedToggle:hover,
.innari2026HomeAdvancedToggle:focus,
.innari2026HomeAdvancedToggle:focus-visible,
.innari2026HomeAdvancedToggle:active,
.innari2026HomeAdvancedToggle[aria-expanded="true"],
.innari2026SearchAdvancedToggle:hover,
.innari2026SearchAdvancedToggle:focus,
.innari2026SearchAdvancedToggle:focus-visible,
.innari2026SearchAdvancedToggle:active,
.innari2026SearchAdvancedToggle[aria-expanded="true"] {
  background: var(--app-green, #176a5f) !important;
  color: #ffffff !important;
  border-color: var(--app-green, #176a5f) !important;
  box-shadow: 0 8px 18px rgba(23,106,95,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
  outline: none !important;
}

.innari2026HomeAdvancedToggle:hover .material-symbols-rounded,
.innari2026HomeAdvancedToggle:focus .material-symbols-rounded,
.innari2026HomeAdvancedToggle:focus-visible .material-symbols-rounded,
.innari2026HomeAdvancedToggle:active .material-symbols-rounded,
.innari2026HomeAdvancedToggle[aria-expanded="true"] .material-symbols-rounded,
.innari2026SearchAdvancedToggle:hover .material-symbols-rounded,
.innari2026SearchAdvancedToggle:focus .material-symbols-rounded,
.innari2026SearchAdvancedToggle:focus-visible .material-symbols-rounded,
.innari2026SearchAdvancedToggle:active .material-symbols-rounded,
.innari2026SearchAdvancedToggle[aria-expanded="true"] .material-symbols-rounded {
  color: #ffffff !important;
}


/* v13.61 - Icona pulsante Opzioni ruotata quando il pannello e' aperto */
.innari2026HomeAdvancedToggle .material-symbols-rounded,
.innari2026SearchAdvancedToggle .material-symbols-rounded {
  transition: transform .18s ease !important;
  transform-origin: center center !important;
}

.innari2026HomeAdvancedToggle[aria-expanded="true"] .material-symbols-rounded,
.innari2026SearchAdvancedToggle[aria-expanded="true"] .material-symbols-rounded {
  transform: rotate(180deg) !important;
}

.innari2026HomeAdvancedToggle[aria-expanded="false"] .material-symbols-rounded,
.innari2026SearchAdvancedToggle[aria-expanded="false"] .material-symbols-rounded {
  transform: rotate(0deg) !important;
}


/* v13.62 - Pulsante X ricerca sempre pieno */
.innari2026HomeSearchClear,
.innari2026SearchClear,
button.innari2026HomeSearchClear,
button.innari2026SearchClear {
  background: var(--app-green, #176a5f) !important;
  color: #ffffff !important;
  border-color: var(--app-green, #176a5f) !important;
  box-shadow: 0 8px 18px rgba(23,106,95,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.innari2026HomeSearchClear .material-symbols-rounded,
.innari2026SearchClear .material-symbols-rounded,
button.innari2026HomeSearchClear .material-symbols-rounded,
button.innari2026SearchClear .material-symbols-rounded {
  color: #ffffff !important;
}

.innari2026HomeSearchClear:hover,
.innari2026HomeSearchClear:focus,
.innari2026HomeSearchClear:focus-visible,
.innari2026HomeSearchClear:active,
.innari2026SearchClear:hover,
.innari2026SearchClear:focus,
.innari2026SearchClear:focus-visible,
.innari2026SearchClear:active {
  background: var(--app-green, #176a5f) !important;
  color: #ffffff !important;
  border-color: var(--app-green, #176a5f) !important;
  box-shadow: 0 8px 18px rgba(23,106,95,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
  outline: none !important;
}

.innari2026HomeSearchClear:hover .material-symbols-rounded,
.innari2026HomeSearchClear:focus .material-symbols-rounded,
.innari2026HomeSearchClear:focus-visible .material-symbols-rounded,
.innari2026HomeSearchClear:active .material-symbols-rounded,
.innari2026SearchClear:hover .material-symbols-rounded,
.innari2026SearchClear:focus .material-symbols-rounded,
.innari2026SearchClear:focus-visible .material-symbols-rounded,
.innari2026SearchClear:active .material-symbols-rounded {
  color: #ffffff !important;
}


/* v13.63 - X ricerca sempre piena verde, anche hover/focus/active */
.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"],
.innari2026HomeSearchBox button[onclick*="innari2026ClearSearchInput"],
.innari2026HomeSearchForm button[onclick*="innari2026ClearSearchInput"],
.innari2026HomeSearchInputWrap button[onclick*="innari2026ClearSearchInput"],
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"],
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"],
.innari2026SearchBar button[onclick*="innari2026ClearSearchInput"],
.innari2026SearchInputWrap button[onclick*="innari2026ClearSearchInput"],
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"],
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"] {
  background: var(--app-green, #176a5f) !important;
  background-color: var(--app-green, #176a5f) !important;
  color: #ffffff !important;
  border-color: var(--app-green, #176a5f) !important;
  box-shadow: 0 8px 18px rgba(23,106,95,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026HomeSearchBox button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026HomeSearchForm button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026HomeSearchInputWrap button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026SearchBar button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
.innari2026SearchInputWrap button[onclick*="innari2026ClearSearchInput"] .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"] .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"] .material-symbols-rounded {
  color: #ffffff !important;
}

.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:active,
.innari2026HomeSearchBox button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026HomeSearchBox button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026HomeSearchBox button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026HomeSearchBox button[onclick*="innari2026ClearSearchInput"]:active,
.innari2026HomeSearchForm button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026HomeSearchForm button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026HomeSearchForm button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026HomeSearchForm button[onclick*="innari2026ClearSearchInput"]:active,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:active,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:active,
.innari2026SearchBar button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026SearchBar button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026SearchBar button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026SearchBar button[onclick*="innari2026ClearSearchInput"]:active,
.innari2026SearchInputWrap button[onclick*="innari2026ClearSearchInput"]:hover,
.innari2026SearchInputWrap button[onclick*="innari2026ClearSearchInput"]:focus,
.innari2026SearchInputWrap button[onclick*="innari2026ClearSearchInput"]:focus-visible,
.innari2026SearchInputWrap button[onclick*="innari2026ClearSearchInput"]:active,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:hover,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:focus,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:focus-visible,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:active,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:hover,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:focus,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:focus-visible,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:active {
  background: var(--app-green, #176a5f) !important;
  background-color: var(--app-green, #176a5f) !important;
  color: #ffffff !important;
  border-color: var(--app-green, #176a5f) !important;
  box-shadow: 0 8px 18px rgba(23,106,95,.20), inset 0 1px 0 rgba(255,255,255,.18) !important;
  outline: none !important;
  opacity: 1 !important;
}

.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:hover .material-symbols-rounded,
.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:focus .material-symbols-rounded,
.innari2026HomeHero button[onclick*="innari2026ClearSearchInput"]:active .material-symbols-rounded,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:hover .material-symbols-rounded,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:focus .material-symbols-rounded,
.innari2026SearchPanel button[onclick*="innari2026ClearSearchInput"]:active .material-symbols-rounded,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:hover .material-symbols-rounded,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:focus .material-symbols-rounded,
.innari2026SearchForm button[onclick*="innari2026ClearSearchInput"]:active .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:hover .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:focus .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][aria-label*="Cancella"]:active .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:hover .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:focus .material-symbols-rounded,
button[onclick*="innari2026ClearSearchInput"][title*="Cancella"]:active .material-symbols-rounded {
  color: #ffffff !important;
}


/* v16.3 - Gestione gruppi: collaboratori con badge modificabili */
body.innari2026GestionePage .innari2026CollaboratorRawInputEnhanced {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.innari2026GestionePage .innari2026CollaboratorPicker {
  display: grid !important;
  gap: 10px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026GestionePage .innari2026CollaboratorChips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 48px;
  padding: 10px;
  border: 1px solid var(--app-line) !important;
  border-radius: calc(var(--app-radius) - 7px) !important;
  background: var(--app-paper-2) !important;
}

body.innari2026GestionePage .innari2026CollaboratorChip {
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 6px 0 12px;
  border: 1px solid rgba(23, 106, 95, 0.22);
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.94);
  color: var(--app-green);
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

body.innari2026GestionePage .innari2026CollaboratorChipLabel {
  min-width: 0;
  max-width: min(260px, 65vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.innari2026GestionePage .innari2026CollaboratorRemove {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(23, 106, 95, 0.12) !important;
  color: var(--app-green) !important;
  font: 950 1rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
}

body.innari2026GestionePage .innari2026CollaboratorRemove:hover,
body.innari2026GestionePage .innari2026CollaboratorRemove:focus-visible {
  background: rgba(190, 45, 65, 0.13) !important;
  color: #9f1d36 !important;
  outline: none !important;
}

body.innari2026GestionePage .innari2026CollaboratorEmpty {
  align-self: center;
  color: var(--app-muted);
  font: 800 0.9rem/1.3 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

body.innari2026GestionePage .innari2026CollaboratorAddRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
}

body.innari2026GestionePage .innari2026ManageFormTable .innari2026CollaboratorAddRow .innari2026CollaboratorInput {
  min-width: 0 !important;
}

body.innari2026GestionePage .innari2026CollaboratorAddButton {
  width: auto !important;
  min-width: 132px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px;
  padding: 0 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.24) !important;
  border-radius: calc(var(--app-radius) - 7px) !important;
  background: var(--app-green) !important;
  color: #fff !important;
  font: 900 0.86rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
}

body.innari2026GestionePage .innari2026CollaboratorAddButton .material-symbols-outlined {
  font-size: 1.25rem !important;
  color: inherit !important;
}

body.innari2026GestionePage .innari2026CollaboratorHelp {
  display: block;
  color: var(--app-muted);
  font: 800 0.82rem/1.35 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026CollaboratorAddRow {
    grid-template-columns: 1fr;
  }

  body.innari2026GestionePage .innari2026CollaboratorAddButton {
    width: 100% !important;
  }
}


/* v16.4 - Gestione gruppi: chip collaboratori piu compatti e leggibili */
body.innari2026GestionePage .innari2026CollaboratorChips {
  align-items: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 8px !important;
  border-radius: 14px !important;
}

body.innari2026GestionePage .innari2026CollaboratorChip {
  width: auto !important;
  max-width: min(100%, 14rem) !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  min-height: 28px !important;
  gap: 5px !important;
  padding: 0 7px 0 10px !important;
  border-radius: 999px !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026CollaboratorChipLabel {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 13rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.innari2026GestionePage .innari2026ManageFormTable button.innari2026CollaboratorRemove,
body.innari2026GestionePage button.innari2026CollaboratorRemove {
  width: 20px !important;
  max-width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  max-height: 20px !important;
  min-height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--app-green) !important;
  font: 950 1.08rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer !important;
}

body.innari2026GestionePage .innari2026ManageFormTable button.innari2026CollaboratorRemove:hover,
body.innari2026GestionePage .innari2026ManageFormTable button.innari2026CollaboratorRemove:focus-visible,
body.innari2026GestionePage button.innari2026CollaboratorRemove:hover,
body.innari2026GestionePage button.innari2026CollaboratorRemove:focus-visible {
  background: rgba(190, 45, 65, 0.12) !important;
  color: #9f1d36 !important;
  outline: none !important;
}

body.innari2026GestionePage .innari2026CollaboratorAddRow {
  gap: 7px !important;
  align-items: center !important;
}

body.innari2026GestionePage .innari2026ManageFormTable .innari2026CollaboratorAddRow .innari2026CollaboratorInput {
  min-height: 40px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  font-size: 0.9rem !important;
}

body.innari2026GestionePage .innari2026CollaboratorAddButton {
  min-width: 116px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
  font-size: 0.82rem !important;
}

body.innari2026GestionePage .innari2026CollaboratorAddButton .material-symbols-outlined {
  font-size: 1.12rem !important;
}

body.innari2026GestionePage .innari2026CollaboratorHelp {
  color: var(--app-muted) !important;
  opacity: 0.86 !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026CollaboratorChip {
    max-width: min(100%, 12rem) !important;
  }

  body.innari2026GestionePage .innari2026CollaboratorChipLabel {
    max-width: 11rem !important;
  }
}


/* v16.5 - Gestione gruppo: pulsanti finali più ordinati e compatti */
body.innari2026GestionePage .innari2026ManageFormSubmitRow {
  background: linear-gradient(180deg, rgba(255, 252, 245, 0), rgba(255, 252, 245, 0.72)) !important;
  padding: 22px 24px 28px !important;
}

body.innari2026GestionePage .innari2026ManageFormSubmitRow td {
  display: block !important;
  width: 100% !important;
  text-align: right !important;
}

body.innari2026GestionePage .innari2026ManageFormActions {
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

body.innari2026GestionePage .innari2026ManageFormBack,
body.innari2026GestionePage .innari2026ManageFormSubmit {
  width: auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.innari2026GestionePage .innari2026ManageFormBack {
  background: rgba(255, 252, 245, 0.72) !important;
  border: 1px solid rgba(113, 99, 76, 0.20) !important;
  color: var(--app-green) !important;
}

body.innari2026GestionePage .innari2026ManageFormSubmit {
  padding-left: 18px !important;
  padding-right: 20px !important;
  border: 1px solid rgba(15, 118, 110, 0.40) !important;
  background: linear-gradient(135deg, #176a5f, #0f766e) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px rgba(23, 106, 95, 0.20) !important;
}

body.innari2026GestionePage .innari2026ManageFormBack .material-symbols-outlined,
body.innari2026GestionePage .innari2026ManageFormSubmit .material-symbols-outlined {
  font-size: 1.25rem !important;
  line-height: 1 !important;
  color: currentColor !important;
}

body.innari2026GestionePage .innari2026ManageFormBack:hover,
body.innari2026GestionePage .innari2026ManageFormBack:focus-visible,
body.innari2026GestionePage .innari2026ManageFormSubmit:hover,
body.innari2026GestionePage .innari2026ManageFormSubmit:focus-visible {
  transform: translateY(-1px) !important;
  outline: none !important;
}

body.innari2026GestionePage .innari2026ManageFormSubmit:hover,
body.innari2026GestionePage .innari2026ManageFormSubmit:focus-visible {
  box-shadow: 0 13px 26px rgba(23, 106, 95, 0.24) !important;
}

body.stage.innari2026GestionePage .innari2026ManageFormBack {
  background: rgba(32, 43, 39, 0.72) !important;
  border-color: rgba(116, 214, 199, 0.22) !important;
  color: var(--app-green) !important;
}

body.stage.innari2026GestionePage .innari2026ManageFormSubmit {
  background: linear-gradient(135deg, var(--app-green), #74d6c7) !important;
  border-color: rgba(116, 214, 199, 0.42) !important;
  color: #07110f !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageFormSubmitRow {
    padding: 18px 12px 22px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormActions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSubmit {
    order: 1 !important;
  }

  body.innari2026GestionePage .innari2026ManageFormBack {
    order: 2 !important;
  }

  body.innari2026GestionePage .innari2026ManageFormBack,
  body.innari2026GestionePage .innari2026ManageFormSubmit {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
  }
}


/* v16.6 - Gestione gruppo: centra i pulsanti finali del form */
body.innari2026GestionePage .innari2026ManageFormSubmitRow td {
  justify-content: center !important;
  text-align: center !important;
}

body.innari2026GestionePage .innari2026ManageFormActions {
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

body.innari2026GestionePage .innari2026ManageFormSubmit {
  min-width: 230px !important;
}

body.innari2026GestionePage .innari2026ManageFormBack {
  min-width: 190px !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageFormActions {
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.innari2026GestionePage .innari2026ManageFormSubmit {
    order: 1 !important;
    min-width: 0 !important;
  }

  body.innari2026GestionePage .innari2026ManageFormBack {
    order: 2 !important;
    min-width: 0 !important;
  }
}


/* v16.7 - Gestione gruppo: azioni finali fuori dalla tabella, centrate sul box */
body.innari2026GestionePage .innari2026ManageFormActionsOuter {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 28px 24px 30px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 12px !important;
  border-top: 1px solid rgba(113, 99, 76, 0.14) !important;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0), rgba(255, 252, 245, 0.68)) !important;
  text-align: center !important;
  box-sizing: border-box !important;
  clear: both !important;
}

body.innari2026GestionePage .innari2026ManageFormActionsOuter .innari2026ManageFormSubmit,
body.innari2026GestionePage .innari2026ManageFormActionsOuter .innari2026ManageFormBack {
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.innari2026GestionePage .innari2026ManageFormActionsOuter .innari2026ManageFormSubmit {
  justify-self: center !important;
  min-width: 250px !important;
  height: 46px !important;
  min-height: 46px !important;
  order: 1 !important;
}

body.innari2026GestionePage .innari2026ManageFormActionsOuter .innari2026ManageFormBack {
  justify-self: center !important;
  min-width: 190px !important;
  height: 42px !important;
  min-height: 42px !important;
  order: 2 !important;
}

body.stage.innari2026GestionePage .innari2026ManageFormActionsOuter {
  border-top-color: rgba(116, 214, 199, 0.14) !important;
  background: linear-gradient(180deg, rgba(11, 18, 17, 0), rgba(11, 18, 17, 0.48)) !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageFormActionsOuter {
    padding: 22px 12px 24px !important;
  }

  body.innari2026GestionePage .innari2026ManageFormActionsOuter .innari2026ManageFormSubmit,
  body.innari2026GestionePage .innari2026ManageFormActionsOuter .innari2026ManageFormBack {
    width: min(100%, 320px) !important;
    min-width: 0 !important;
  }
}


/* v16.8 - Gestione brano: azioni finali fuori dalla tabella e Salva brano centrato */
body.innari2026GestionePage .innari2026ManageDocFormActionsOuter {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 30px 24px 32px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 14px !important;
  border-top: 1px solid rgba(113, 99, 76, 0.14) !important;
  background: linear-gradient(180deg, rgba(255, 252, 245, 0), rgba(255, 252, 245, 0.68)) !important;
  text-align: center !important;
  box-sizing: border-box !important;
  clear: both !important;
}

body.innari2026GestionePage .innari2026ManageDocFormActionsOuter .innari2026ManageDocFormSubmit {
  justify-self: center !important;
  min-width: 260px !important;
  height: 46px !important;
  min-height: 46px !important;
  order: 1 !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.innari2026GestionePage .innari2026ManageDocSecondaryActions {
  width: 100% !important;
  max-width: 560px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  order: 2 !important;
}

body.innari2026GestionePage .innari2026ManageDocSecondaryActions .innari2026ManageFormBack,
body.innari2026GestionePage .innari2026ManageDocSecondaryActions .innari2026ManageFormDelete {
  width: auto !important;
  min-width: 185px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  font: 900 0.9rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  float: none !important;
  margin: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.innari2026GestionePage .innari2026ManageDocSecondaryActions .innari2026ManageFormDelete {
  background: rgba(220, 38, 38, 0.10) !important;
  color: #b42318 !important;
  border: 1px solid rgba(220, 38, 38, 0.25) !important;
}

body.innari2026GestionePage .innari2026ManageDocSecondaryActions .innari2026ManageFormDelete .material-symbols-outlined {
  color: #b42318 !important;
}

body.stage.innari2026GestionePage .innari2026ManageDocFormActionsOuter {
  border-top-color: rgba(116, 214, 199, 0.14) !important;
  background: linear-gradient(180deg, rgba(11, 18, 17, 0), rgba(11, 18, 17, 0.48)) !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026ManageDocFormActionsOuter {
    padding: 22px 12px 24px !important;
  }

  body.innari2026GestionePage .innari2026ManageDocFormActionsOuter .innari2026ManageDocFormSubmit,
  body.innari2026GestionePage .innari2026ManageDocSecondaryActions .innari2026ManageFormBack,
  body.innari2026GestionePage .innari2026ManageDocSecondaryActions .innari2026ManageFormDelete {
    width: min(100%, 320px) !important;
    min-width: 0 !important;
  }

  body.innari2026GestionePage .innari2026ManageDocSecondaryActions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    max-width: 320px !important;
  }
}


/* v16.9 - Gestione brano: salvataggio rapido sotto Testo e accordi */
body.innari2026GestionePage .innari2026GestionaleQuickSave {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  gap: 8px !important;
  padding: 16px 0 2px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body.innari2026GestionePage .innari2026GestionaleQuickSaveButton {
  width: auto !important;
  min-width: 230px !important;
  max-width: min(100%, 320px) !important;
  height: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  float: none !important;
  margin: 0 auto !important;
  white-space: nowrap !important;
}

body.innari2026GestionePage .innari2026GestionaleQuickSaveButton .material-symbols-outlined {
  font-size: 1.2rem !important;
  line-height: 1 !important;
}

body.innari2026GestionePage .innari2026GestionaleQuickSaveButton[disabled] {
  opacity: 0.68 !important;
  cursor: progress !important;
}

body.innari2026GestionePage .innari2026GestionaleQuickSaveStatus {
  min-height: 1.1em !important;
  color: var(--app-muted) !important;
  font: 850 0.86rem/1.2 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
}

body.innari2026GestionePage .innari2026GestionaleQuickSaveStatus[data-state="saving"] {
  color: var(--app-green, #176a5f) !important;
}

body.innari2026GestionePage .innari2026GestionaleQuickSaveStatus[data-state="done"] {
  color: var(--app-green, #176a5f) !important;
}

@media (max-width: 760px) {
  body.innari2026GestionePage .innari2026GestionaleQuickSave {
    padding-top: 14px !important;
  }

  body.innari2026GestionePage .innari2026GestionaleQuickSaveButton {
    width: min(100%, 320px) !important;
    min-width: 0 !important;
  }
}


/* v16.10 - Messaggistica realtime Innari: widget discreto */
.innariMsgRoot {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 2147482500;
  font-family: var(--innari2026-ui-font, "Nunito Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
.innariMsgFab {
  position: relative;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(23,106,95,.20);
  border-radius: 999px;
  background: rgba(255,252,245,.94);
  color: var(--app-green, #0f766e);
  box-shadow: 0 16px 42px rgba(37,31,21,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  backdrop-filter: blur(12px);
}
.innariMsgFab .material-symbols-outlined { font-size: 1.75rem; font-weight: 800; }
.innariMsgBadge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #b91c1c;
  color: #fff;
  font: 900 .72rem/22px var(--innari2026-ui-font, system-ui, sans-serif);
  text-align: center;
  box-shadow: 0 8px 18px rgba(185,28,28,.25);
}
.innariMsgPanel {
  position: absolute;
  right: 0;
  bottom: 64px;
  width: min(380px, calc(100vw - 24px));
  height: min(620px, calc(100vh - 110px));
  border: 1px solid rgba(23,106,95,.18);
  border-radius: 26px;
  background: rgba(255,252,245,.98);
  box-shadow: 0 30px 90px rgba(16,24,20,.24);
  color: var(--app-ink, #18211d);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.innariMsgPanel[hidden] { display: none !important; }
.innariMsgHeader {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 16px 14px;
  background: linear-gradient(135deg, rgba(228,241,236,.98), rgba(255,252,245,.96));
  border-bottom: 1px solid rgba(113,99,76,.13);
}
.innariMsgHeader strong {
  display: block;
  font: 950 1.35rem/1.05 var(--innari2026-ui-font, system-ui, sans-serif);
  letter-spacing: -.02em;
}
.innariMsgKicker {
  display: block;
  color: var(--app-green, #0f766e);
  text-transform: uppercase;
  letter-spacing: .14em;
  font: 950 .7rem/1 var(--innari2026-ui-font, system-ui, sans-serif);
  margin-bottom: 4px;
}
.innariMsgClose,
.innariMsgBack {
  border: 0;
  background: rgba(255,252,245,.76);
  color: var(--app-green, #0f766e);
  border-radius: 14px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.innariMsgBody { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; padding: 12px; gap: 10px; }
.innariMsgSearchBox { position: relative; flex: 0 0 auto; }
.innariMsgSearchBox input {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(216,207,190,.95);
  border-radius: 16px;
  background: rgba(249,244,233,.72);
  color: var(--app-ink, #18211d);
  padding: 0 14px;
  font: 850 .98rem/1 var(--innari2026-ui-font, system-ui, sans-serif);
  outline: none;
}
.innariMsgSearchBox input:focus { border-color: rgba(23,106,95,.38); box-shadow: 0 0 0 4px rgba(23,106,95,.08); }
.innariMsgSuggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 240px;
  overflow: auto;
  border: 1px solid rgba(23,106,95,.16);
  border-radius: 16px;
  background: rgba(255,252,245,.99);
  box-shadow: 0 18px 45px rgba(37,31,21,.16);
  z-index: 2;
  padding: 6px;
}
.innariMsgSuggestion,
.innariMsgConversation {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.innariMsgSuggestion {
  padding: 10px 11px;
  border-radius: 12px;
  font-weight: 850;
  color: var(--app-green, #0f766e);
}
.innariMsgSuggestion:hover,
.innariMsgConversation:hover { background: rgba(228,241,236,.72); }
.innariMsgSuggestionEmpty,
.innariMsgEmpty,
.innariMsgStatus {
  padding: 14px;
  color: var(--app-muted, #64748b);
  font: 800 .9rem/1.35 var(--innari2026-ui-font, system-ui, sans-serif);
  text-align: center;
}
.innariMsgStatus[hidden] { display: none !important; }
.innariMsgStatus[data-error="1"] { color: #b91c1c; }
.innariMsgConversations { flex: 1 1 auto; min-height: 0; overflow: auto; display: grid; align-content: start; gap: 6px; }
.innariMsgConversation {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px;
  border-radius: 16px;
}
.innariMsgAvatar {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(23,106,95,.11);
  color: var(--app-green, #0f766e);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
}
.innariMsgConversationMain { min-width: 0; display: grid; gap: 3px; }
.innariMsgConversationMain strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 950; color: var(--app-ink, #18211d); }
.innariMsgConversationMain em { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-style: normal; color: var(--app-muted, #64748b); font-size: .86rem; }
.innariMsgConversationSide { display: grid; justify-items: end; gap: 4px; color: var(--app-muted, #64748b); font-size: .72rem; }
.innariMsgConversationSide b { min-width: 20px; height: 20px; border-radius: 999px; background: var(--app-green, #0f766e); color: #fff; text-align: center; line-height: 20px; font-size: .72rem; }
.innariMsgChat { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 10px; }
.innariMsgChat[hidden] { display: none !important; }
.innariMsgChatTop { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 2px 2px 8px; border-bottom: 1px solid rgba(113,99,76,.12); }
.innariMsgChatTop strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 950 1.05rem/1 var(--innari2026-ui-font, system-ui, sans-serif); }
.innariMsgHistory { flex: 1 1 auto; min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 8px; padding: 4px 2px; }
.innariMsgBubble { max-width: 82%; border-radius: 18px; padding: 9px 11px 7px; box-shadow: 0 8px 22px rgba(37,31,21,.08); }
.innariMsgBubble p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 750 .95rem/1.32 var(--innari2026-ui-font, system-ui, sans-serif); }
.innariMsgBubbleSender { display: block; margin: 0 0 3px; font: 850 .72rem/1.1 var(--innari2026-ui-font, system-ui, sans-serif); letter-spacing: .035em; text-transform: uppercase; opacity: .82; }
.innariMsgBubble.is-mine .innariMsgBubbleSender { color: rgba(255,255,255,.86); }
.innariMsgBubble.is-other .innariMsgBubbleSender { color: var(--app-teal, #176a5f); }
.innariMsgBubble time { display: block; margin-top: 4px; opacity: .7; font-size: .68rem; text-align: right; }
.innariMsgBubble.is-mine { align-self: flex-end; background: rgba(23,106,95,.92); color: #fff; border-bottom-right-radius: 6px; }
.innariMsgBubble.is-other { align-self: flex-start; background: rgba(249,244,233,.92); color: var(--app-ink, #18211d); border-bottom-left-radius: 6px; }
.innariMsgForm { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0,1fr) 46px; gap: 8px; align-items: end; }
.innariMsgForm textarea {
  width: 100%;
  resize: none;
  min-height: 46px;
  max-height: 110px;
  border: 1px solid rgba(216,207,190,.95);
  border-radius: 16px;
  background: rgba(249,244,233,.72);
  color: var(--app-ink, #18211d);
  padding: 12px 13px;
  font: 750 .95rem/1.25 var(--innari2026-ui-font, system-ui, sans-serif);
  outline: none;
}
.innariMsgForm button {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 16px;
  background: var(--app-green, #0f766e);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.innariMsgToast {
  position: absolute;
  right: 0;
  bottom: 64px;
  width: min(320px, calc(100vw - 24px));
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(24,33,29,.94);
  color: #fff;
  box-shadow: 0 18px 50px rgba(16,24,20,.25);
  font: 850 .9rem/1.3 var(--innari2026-ui-font, system-ui, sans-serif);
}
@media (max-width: 680px) {
  .innariMsgRoot { right: 12px; bottom: 12px; }
  .innariMsgPanel { position: fixed; left: 10px; right: 10px; bottom: 74px; width: auto; height: min(620px, calc(100dvh - 96px)); border-radius: 24px; }
  .innariMsgFab { width: 50px; height: 50px; }
}
body.innari2026SongPage .innariMsgRoot:not(.is-open) .innariMsgFab { opacity: .78; }
body.innari2026SongPage .innariMsgToast { display: none !important; }


/* v16.16 - Messaggi: ambito collaboratori stesso gruppo */
.innariMsgScopeHint {
  margin: -4px 0 12px;
  color: var(--app-muted, #64736e);
  font: 850 0.78rem/1.25 var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  letter-spacing: 0.01em;
}


/* v16.17 - Messaggi: chat di gruppo */
.innariMsgGroups {
  display: grid;
  gap: 6px;
  flex: 0 0 auto;
  max-height: 210px;
  overflow: auto;
  padding-bottom: 2px;
}
.innariMsgGroups[hidden] { display: none !important; }
.innariMsgGroupTitle {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--app-green, #0f766e);
  font: 950 .76rem/1 var(--innari2026-ui-font, system-ui, sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 2px 4px 1px;
}
.innariMsgGroupTitle .material-symbols-outlined { font-size: 1rem; }
.innariMsgGroupButton {
  width: 100%;
  border: 1px solid rgba(23,106,95,.12);
  background: rgba(228,241,236,.42);
  color: inherit;
  cursor: pointer;
  text-align: left;
  font: inherit;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 9px;
  border-radius: 16px;
}
.innariMsgGroupButton:hover,
.innariMsgConversation.is-group:hover { background: rgba(228,241,236,.76); }
.innariMsgGroupButton .innariMsgAvatar,
.innariMsgConversation.is-group .innariMsgAvatar {
  background: rgba(23,106,95,.16);
}
.innariMsgGroupButton .innariMsgAvatar .material-symbols-outlined,
.innariMsgConversation.is-group .innariMsgAvatar .material-symbols-outlined {
  font-size: 1.35rem;
  color: var(--app-green, #0f766e);
}

/* v16.20 - Messaggi: modalità chat a piena altezza, senza liste sopra la conversazione */
.innariMsgRoot.is-chat-open .innariMsgHeader {
  padding: 12px 14px 11px;
}
.innariMsgRoot.is-chat-open .innariMsgHeader strong {
  font-size: 1.12rem;
}
.innariMsgRoot.is-chat-open .innariMsgKicker {
  margin-bottom: 2px;
}
.innariMsgRoot.is-chat-open .innariMsgBody {
  gap: 8px;
  padding: 10px 12px 12px;
}
.innariMsgRoot.is-chat-open .innariMsgSearchBox,
.innariMsgRoot.is-chat-open .innariMsgScopeHint,
.innariMsgRoot.is-chat-open .innariMsgGroups,
.innariMsgRoot.is-chat-open .innariMsgConversations {
  display: none !important;
}
.innariMsgRoot.is-chat-open .innariMsgChat {
  flex: 1 1 auto;
  min-height: 0;
  gap: 8px;
}
.innariMsgRoot.is-chat-open .innariMsgChatTop {
  padding: 0 0 8px;
}
.innariMsgRoot.is-chat-open .innariMsgHistory {
  flex: 1 1 auto;
  min-height: 0;
  padding: 6px 2px 8px;
}
.innariMsgRoot.is-chat-open .innariMsgForm {
  flex: 0 0 auto;
}
.innariMsgRoot.is-chat-open .innariMsgBubble {
  max-width: 88%;
}
@media (max-width: 680px) {
  .innariMsgRoot.is-chat-open .innariMsgPanel {
    height: min(660px, calc(100dvh - 82px));
    bottom: max(64px, calc(env(safe-area-inset-bottom) + 64px));
  }
}


/* v16.21 - Messaggi: ricerca mista collaboratori/gruppi e una sola lista conversazioni */
.innariMsgGroups { display: none !important; }
.innariMsgSuggestions { max-height: min(360px, calc(100dvh - 220px)); }
.innariMsgSuggestionSection {
  padding: 7px 8px 4px;
  color: var(--app-muted, #64736e);
  font: 950 .68rem/1 var(--innari2026-ui-font, system-ui, sans-serif);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.innariMsgSuggestion {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 9px;
  color: inherit;
}
.innariMsgSuggestionIcon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(23,106,95,.16);
  color: var(--app-green, #0f766e);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
}
.innariMsgSuggestionIcon .material-symbols-outlined { font-size: 1.25rem; }
.innariMsgSuggestionIcon.is-user { background: rgba(23,106,95,.10); }
.innariMsgSuggestionText { min-width: 0; display: grid; gap: 2px; }
.innariMsgSuggestionText strong {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--app-ink, #18211d);
  font-weight: 950;
}
.innariMsgSuggestionText em {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-style: normal;
  color: var(--app-muted, #64748b);
  font-size: .82rem;
}
.innariMsgSuggestion.is-group { background: rgba(228,241,236,.36); border: 1px solid rgba(23,106,95,.10); }
.innariMsgSuggestion.is-group:hover,
.innariMsgSuggestion.is-user:hover { background: rgba(228,241,236,.78); }
.innariMsgRoot:not(.is-chat-open) .innariMsgConversations { flex: 1 1 auto; }


/* v16.22 - Messaggi: presenza online realtime */
.innariMsgAvatar.has-presence,
.innariMsgSuggestionIcon.has-presence {
  position: relative;
}
.innariMsgPresenceDot {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 11px;
  height: 11px;
  border: 2px solid rgba(255,252,245,.98);
  border-radius: 999px;
  background: #a8b0ab;
  box-shadow: 0 2px 6px rgba(24,33,29,.16);
}
.innariMsgAvatar.is-online .innariMsgPresenceDot,
.innariMsgSuggestionIcon.is-online .innariMsgPresenceDot,
.innariMsgConversation.is-online .innariMsgPresenceDot,
.innariMsgSuggestion.is-online .innariMsgPresenceDot {
  background: #16a34a;
}
.innariMsgConversation.is-online .innariMsgConversationMain em,
.innariMsgSuggestion.is-online .innariMsgSuggestionText em {
  color: var(--app-green, #0f766e);
  font-weight: 850;
}
.innariMsgOnlineCount {
  color: var(--app-green, #0f766e);
  font-weight: 850;
}
.innariMsgSuggestion .innariMsgPresenceDot {
  right: -1px;
  bottom: -1px;
}

/* v16.24 - Messaggi: spunte inviato/recapitato/letto */
.innariMsgBubbleMeta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin-top: 4px;
  opacity: .82;
  font-size: .68rem;
  line-height: 1;
}
.innariMsgBubble .innariMsgBubbleMeta time {
  display: inline;
  margin: 0;
  opacity: .86;
  font-size: inherit;
  text-align: right;
}
.innariMsgReceipt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25em;
  font: 950 .78rem/1 var(--innari2026-ui-font, system-ui, sans-serif);
  letter-spacing: -.08em;
  opacity: .82;
  transform: translateY(-.02em);
}
.innariMsgReceipt.is-read {
  opacity: 1;
  text-shadow: 0 0 0 currentColor;
}
.innariMsgBubble.is-mine .innariMsgReceipt.is-read {
  color: #bff7ee;
}
.innariMsgBubble.is-other .innariMsgBubbleMeta {
  justify-content: flex-start;
}

/* v16.26 - Messaggi: chat compatta, piu' spazio ai messaggi */
.innariMsgChatClose {
  margin-left: auto;
  border: 0;
  background: rgba(255,252,245,.76);
  color: var(--app-green, #0f766e);
  border-radius: 12px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.innariMsgChatClose .material-symbols-outlined { font-size: 1.45rem; }
.innariMsgRoot:not(.is-chat-open) .innariMsgChatClose { display: none !important; }
.innariMsgRoot.is-chat-open .innariMsgHeader { display: none !important; }
.innariMsgRoot.is-chat-open .innariMsgPanel {
  height: min(720px, calc(100vh - 38px));
  bottom: 18px;
  border-radius: 22px;
}
.innariMsgRoot.is-chat-open .innariMsgBody {
  padding: 8px 10px 8px;
  gap: 5px;
}
.innariMsgRoot.is-chat-open .innariMsgChat { gap: 5px; }
.innariMsgRoot.is-chat-open .innariMsgChatTop {
  min-height: 40px;
  padding: 0 0 6px;
  gap: 6px;
}
.innariMsgRoot.is-chat-open .innariMsgBack {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: transparent;
}
.innariMsgRoot.is-chat-open .innariMsgBack .material-symbols-outlined { font-size: 1.65rem; }
.innariMsgRoot.is-chat-open .innariMsgChatTop strong {
  font-size: 1rem;
  line-height: 1.05;
}
.innariMsgRoot.is-chat-open .innariMsgHistory {
  gap: 4px;
  padding: 2px 0 4px;
}
.innariMsgRoot.is-chat-open .innariMsgBubble {
  max-width: 92%;
  border-radius: 14px;
  padding: 6px 8px 4px;
  box-shadow: 0 5px 15px rgba(37,31,21,.06);
}
.innariMsgRoot.is-chat-open .innariMsgBubble.is-mine { border-bottom-right-radius: 5px; }
.innariMsgRoot.is-chat-open .innariMsgBubble.is-other { border-bottom-left-radius: 5px; }
.innariMsgRoot.is-chat-open .innariMsgBubble p {
  font-size: .9rem;
  line-height: 1.22;
}
.innariMsgRoot.is-chat-open .innariMsgBubbleSender {
  margin-bottom: 2px;
  font-size: .62rem;
  line-height: 1;
}
.innariMsgRoot.is-chat-open .innariMsgBubbleMeta {
  margin-top: 2px;
  gap: 4px;
  font-size: .62rem;
}
.innariMsgRoot.is-chat-open .innariMsgReceipt { font-size: .7rem; }
.innariMsgRoot.is-chat-open .innariMsgForm {
  grid-template-columns: minmax(0,1fr) 42px;
  gap: 6px;
  padding-top: 2px;
}
.innariMsgRoot.is-chat-open .innariMsgForm textarea {
  min-height: 40px;
  max-height: 88px;
  border-radius: 14px;
  padding: 8px 11px;
  font-size: .9rem;
  line-height: 1.18;
}
.innariMsgRoot.is-chat-open .innariMsgForm button {
  width: 42px;
  height: 42px;
  border-radius: 14px;
}
.innariMsgRoot.is-chat-open .innariMsgForm button .material-symbols-outlined { font-size: 1.55rem; }
@media (max-width: 680px) {
  .innariMsgRoot.is-chat-open .innariMsgPanel {
    left: 6px;
    right: 6px;
    top: max(8px, env(safe-area-inset-top));
    bottom: max(8px, env(safe-area-inset-bottom));
    width: auto;
    height: auto;
    border-radius: 20px;
  }
  .innariMsgRoot.is-chat-open .innariMsgBody { padding: 8px 9px 8px; }
}

/* v16.27 - Messaggi: emoji picker leggero */
.innariMsgForm { grid-template-columns: minmax(0,1fr) 40px 46px; }
.innariMsgEmojiToggle {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(23,106,95,.10);
  color: var(--app-teal, #176a5f);
  font: 900 1.35rem/1 var(--innari2026-ui-font, system-ui, sans-serif);
  box-shadow: inset 0 0 0 1px rgba(23,106,95,.10);
  cursor: pointer;
  touch-action: manipulation;
}
.innariMsgEmojiToggle:hover,
.innariMsgEmojiToggle.is-active {
  background: rgba(23,106,95,.18);
  color: var(--app-teal-dark, #0f5f54);
}
.innariMsgEmojiPanel {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 4px;
  padding: 7px;
  margin: 0 0 2px;
  border-radius: 18px;
  background: rgba(255,250,241,.94);
  box-shadow: inset 0 0 0 1px rgba(113,99,76,.14), 0 8px 24px rgba(37,31,21,.08);
}
.innariMsgEmojiPanel[hidden] { display: none !important; }
.innariMsgEmojiBtn {
  width: 100%;
  min-width: 0;
  height: 30px;
  border: 0;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  font-size: 1.16rem;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
}
.innariMsgEmojiBtn:hover,
.innariMsgEmojiBtn:focus-visible {
  background: rgba(23,106,95,.12);
  outline: none;
}
.innariMsgRoot.is-chat-open .innariMsgEmojiPanel { margin-top: 1px; }
@media (max-width: 520px) {
  .innariMsgForm { grid-template-columns: minmax(0,1fr) 38px 42px; gap: 6px; }
  .innariMsgEmojiToggle { width: 38px; height: 38px; border-radius: 14px; }
  .innariMsgEmojiPanel { grid-template-columns: repeat(8, minmax(0, 1fr)); padding: 6px; gap: 3px; }
  .innariMsgEmojiBtn { height: 29px; font-size: 1.12rem; }
}


/* v16.28 - Messaggi: emoji e invio sempre sulla stessa riga */
.innariMsgRoot.is-chat-open .innariMsgForm {
  grid-template-columns: minmax(0, 1fr) 40px 42px;
  align-items: end;
  gap: 6px;
}
.innariMsgRoot.is-chat-open .innariMsgEmojiToggle {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  align-self: end;
}
.innariMsgRoot.is-chat-open .innariMsgForm button[type="submit"] {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  align-self: end;
}
.innariMsgRoot.is-chat-open .innariMsgForm textarea {
  min-width: 0;
}
@media (max-width: 520px) {
  .innariMsgRoot.is-chat-open .innariMsgForm {
    grid-template-columns: minmax(0, 1fr) 38px 42px;
    gap: 5px;
  }
  .innariMsgRoot.is-chat-open .innariMsgEmojiToggle {
    width: 38px;
    height: 38px;
  }
  .innariMsgRoot.is-chat-open .innariMsgForm button[type="submit"] {
    width: 42px;
    height: 42px;
  }
}
@media (max-width: 380px) {
  .innariMsgRoot.is-chat-open .innariMsgForm {
    grid-template-columns: minmax(0, 1fr) 34px 38px;
    gap: 4px;
  }
  .innariMsgRoot.is-chat-open .innariMsgEmojiToggle {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: 1.12rem;
  }
  .innariMsgRoot.is-chat-open .innariMsgForm button[type="submit"] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }
  .innariMsgRoot.is-chat-open .innariMsgForm button[type="submit"] .material-symbols-outlined {
    font-size: 1.42rem;
  }
}

/* v16.30 - Messaggi: bordi chat piu' evidenti */
.innariMsgPanel {
  border: 2px solid rgba(23,106,95,.34);
  box-shadow:
    0 28px 80px rgba(16,24,20,.22),
    0 0 0 1px rgba(255,255,255,.74) inset;
}
.innariMsgHeader {
  border-bottom: 1px solid rgba(23,106,95,.16);
}
.innariMsgBody {
  background: rgba(255,252,245,.985);
}
.innariMsgRoot.is-chat-open .innariMsgPanel {
  border: 2px solid rgba(23,106,95,.40);
  box-shadow:
    0 26px 76px rgba(16,24,20,.24),
    0 0 0 1px rgba(255,255,255,.76) inset;
}
@media (max-width: 680px) {
  .innariMsgPanel {
    border-width: 2px;
  }
  .innariMsgRoot.is-chat-open .innariMsgPanel {
    border-width: 2px;
  }
}

/* v16.31 - Messaggi: minimizza e non disturbare */
.innariMsgHeaderActions,
.innariMsgChatTopActions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.innariMsgMinimize,
.innariMsgChatClose {
  border: 0;
  background: rgba(255,252,245,.76);
  color: var(--app-green, #0f766e);
  border-radius: 14px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.innariMsgMinimize:hover,
.innariMsgClose:hover,
.innariMsgChatClose:hover,
.innariMsgBack:hover {
  background: rgba(228,241,236,.88);
}
.innariMsgChatTop strong {
  flex: 1 1 auto;
}
.innariMsgRoot.is-suppressed .innariMsgFab {
  display: none !important;
}
.innari2026TopToolsButton,
.innariMsgTransportOpen {
  position: relative !important;
}
.innariMsgTransportBadge,
.innariMsgTransportButtonBadge {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #b91c1c;
  color: #fff;
  text-align: center;
  font: 950 .68rem/20px var(--innari2026-ui-font, system-ui, sans-serif);
  box-shadow: 0 8px 18px rgba(185,28,28,.25);
  z-index: 2;
}
.innariMsgTransportBadge {
  position: absolute;
  top: -7px;
  right: -7px;
  pointer-events: none;
}
.innariMsgTransportButtonBadge {
  position: absolute;
  top: 7px;
  right: 7px;
}
.innariMsgTransportBadge[hidden],
.innariMsgTransportButtonBadge[hidden] {
  display: none !important;
}
.innariMsgTransportOpen .material-symbols-rounded {
  color: var(--app-green, #176a5f) !important;
}
@media (max-width: 680px) {
  .innariMsgMinimize,
  .innariMsgChatClose {
    width: 38px;
    height: 38px;
    border-radius: 13px;
  }
  .innariMsgHeaderActions,
  .innariMsgChatTopActions {
    gap: 4px;
  }
}


/* v16.32 - Messaggi: evita la sovrapposizione con il badge flottante del metronomo */
.innariMsgRoot.has-metronome-float:not(.is-open){
  bottom:max(92px, calc(env(safe-area-inset-bottom) + 92px));
}
@media (max-width:640px){
  .innariMsgRoot.has-metronome-float:not(.is-open){
    bottom:max(86px, calc(env(safe-area-inset-bottom) + 86px));
  }
}

/* v16.33 - Sincronizzazione realtime: visualizza il brano del master */
.innari2026SyncSection .innariSyncControls{
  display:grid;
  gap:8px;
}
.innariSyncStatus{
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(23,106,95,.14);
  border-radius:14px;
  background:rgba(228,241,236,.42);
  color:var(--app-muted,#64748b);
  font:850 .78rem/1.32 var(--innari2026-ui-font,system-ui,sans-serif);
}
.innariSyncStatus[data-kind="master"]{
  color:#0f766e;
  background:rgba(23,106,95,.10);
  border-color:rgba(23,106,95,.28);
}
.innariSyncStatus[data-kind="follow"]{
  color:#254f9d;
  background:rgba(37,79,157,.08);
  border-color:rgba(37,79,157,.18);
}
.innariSyncStatus[data-kind="error"]{
  color:#b91c1c;
  background:rgba(185,28,28,.08);
  border-color:rgba(185,28,28,.18);
}
.innariSyncStatus[data-kind="loading"]{
  color:#9a5b16;
  background:rgba(211,146,40,.10);
  border-color:rgba(211,146,40,.18);
}
.innariSyncButtons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.innariSyncButton.is-active{
  background:var(--app-green,#176a5f)!important;
  color:#fff!important;
  border-color:rgba(23,106,95,.38)!important;
}
.innariSyncButton:disabled{
  opacity:.48;
  cursor:not-allowed;
}
@media (max-width:520px){
  .innariSyncButtons{
    grid-template-columns:1fr;
  }
}


/* v16.35 - Sincronizzazione realtime: layout stabile, status leggibile e pulsanti su righe separate */
.innariSyncControls{
  display:grid !important;
  gap:10px !important;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
}
.innariSyncStatus{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.innariSyncButtons{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.innariSyncButton{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) !important;
  justify-content:stretch !important;
  text-align:left !important;
}
.innariSyncButton .innari2026ActionText,
.innariSyncButton .innari2026ActionText b,
.innariSyncButton .innari2026ActionText small{
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.innariSyncButton .innari2026ActionText small{
  line-height:1.18;
}
#innariSyncStopBtn:not(.is-active){
  background:rgba(255,252,245,.78) !important;
  color:var(--app-green,#176a5f) !important;
}


/* v16.36 - Sincronizzazione realtime: contrasto pulsanti selezionati e layout corretto */
.innariSyncButton.is-active,
.innariSyncButton.is-active *{
  color:#fff !important;
}
.innariSyncButton.is-active .innari2026ActionIcon{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.innariSyncButton.is-active .innari2026ActionText b,
.innariSyncButton.is-active .innari2026ActionText small{
  color:#fff !important;
}
.innariSyncButton.is-active .innari2026ActionText small{
  opacity:.88;
}
.innariSyncButton:not(.is-active) .innari2026ActionText small{
  color:var(--app-muted,#6d746e) !important;
}
.innariSyncStatus[data-kind="error"]{
  color:#b91c1c !important;
  background:rgba(185,28,28,.09) !important;
  border-color:rgba(185,28,28,.25) !important;
}


/* v16.37 - Sync: contrasto modalita' selezionata e layout sicuro */
#innariSyncControls .innariSyncButtons{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  overflow:visible !important;
}
#innariSyncControls .innariSyncButton{
  display:grid !important;
  grid-template-columns:58px minmax(0,1fr) !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  text-align:left !important;
}
#innariSyncControls .innariSyncButton .innari2026ActionText{
  min-width:0 !important;
  max-width:100% !important;
}
#innariSyncControls .innariSyncButton .innari2026ActionText b,
#innariSyncControls .innariSyncButton .innari2026ActionText strong,
#innariSyncControls .innariSyncButton .innari2026ActionText small{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
#innariSyncControls .innariSyncButton.is-active{
  background:#176a5f !important;
  border-color:rgba(23,106,95,.55) !important;
  color:#fff !important;
}
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText b,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText strong,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText small{
  color:#fff !important;
}
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText small{
  opacity:.92 !important;
}
#innariSyncControls .innariSyncButton.is-active .innari2026ActionIcon,
#innariSyncControls .innariSyncButton.is-active .material-symbols-rounded{
  color:#fff !important;
}
#innariSyncControls .innariSyncStatus[data-kind="error"]{
  color:#b91c1c !important;
  background:rgba(185,28,28,.09) !important;
  border-color:rgba(185,28,28,.25) !important;
}


/* v16.38 - Sync realtime: scelta master personale + legacy */
#innariSyncControls{
  overflow:visible !important;
}
#innariSyncControls .innariSyncMasterSelectWrap{
  display:grid !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:12px !important;
  border:1px solid rgba(23,106,95,.16) !important;
  border-radius:16px !important;
  background:rgba(255,252,245,.72) !important;
  color:var(--app-ink,#18211d) !important;
}
#innariSyncControls .innariSyncMasterSelectWrap > span{
  font:900 .78rem/1.15 var(--innari2026-ui-font,system-ui,sans-serif) !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:var(--app-muted,#66716d) !important;
}
#innariSyncControls .innariSyncMasterSelectWrap select{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  min-height:48px !important;
  padding:0 14px !important;
  border:1px solid rgba(222,215,201,.95) !important;
  border-radius:14px !important;
  background:#fffaf0 !important;
  color:var(--app-ink,#18211d) !important;
  font:900 1rem/1.2 var(--innari2026-ui-font,system-ui,sans-serif) !important;
}
#innariSyncControls .innariSyncMasterSelectWrap small{
  display:block !important;
  color:var(--app-muted,#66716d) !important;
  font:800 .76rem/1.28 var(--innari2026-ui-font,system-ui,sans-serif) !important;
  overflow-wrap:anywhere !important;
}
#innariSyncControls .innariSyncButton.is-active{
  background:#176a5f !important;
  border-color:rgba(23,106,95,.72) !important;
  color:#ffffff !important;
  box-shadow:0 14px 32px rgba(23,106,95,.18) !important;
}
#innariSyncControls .innariSyncButton.is-active *,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText b,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionText small,
#innariSyncControls .innariSyncButton.is-active .innari2026ActionIcon{
  color:#ffffff !important;
}
#innariSyncControls .innariSyncButton.is-active .innari2026ActionIcon{
  background:rgba(255,255,255,.18) !important;
}
#innariSyncControls .innariSyncButton:not(.is-active) .innari2026ActionText b{
  color:var(--app-ink,#18211d) !important;
}
#innariSyncControls .innariSyncButton:not(.is-active) .innari2026ActionText small{
  color:var(--app-muted,#66716d) !important;
}

/* v18.1 - Accordatore chitarra integrato */
.innari2026DrawerTunerButton .material-symbols-rounded{
  color:#176a5f;
}
.innariTunerRoot{
  position:fixed;
  inset:0;
  z-index:4600;
  display:none;
  pointer-events:none;
  font-family:inherit;
}
.innariTunerRoot.is-open{
  display:block;
}
.innariTunerPanel{
  position:fixed;
  right:max(14px, env(safe-area-inset-right));
  bottom:calc(18px + env(safe-area-inset-bottom));
  width:min(390px, calc(100vw - 28px));
  max-height:calc(100vh - 92px);
  overflow:auto;
  pointer-events:auto;
  box-sizing:border-box;
  padding:16px;
  border-radius:28px;
  border:1.5px solid rgba(23,106,95,.34);
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 60px rgba(8,39,34,.25), 0 0 0 1px rgba(255,255,255,.72) inset;
  color:#123f39;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.innariTunerHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.innariTunerTitleBlock h2{
  margin:0;
  color:#123f39;
  font-size:1.35rem;
  line-height:1.05;
  font-weight:950;
}
.innariTunerTitleBlock p{
  margin:4px 0 0;
  color:#5b746f;
  font-size:.88rem;
  font-weight:800;
}
.innariTunerEyebrow{
  display:block;
  margin-bottom:3px;
  color:#cc194b;
  font-size:.7rem;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.innariTunerClose{
  border:0;
  width:40px;
  min-width:40px;
  height:40px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef5f2;
  color:#176a5f;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(23,106,95,.12);
}
.innariTunerClose:hover,
.innariTunerClose:focus-visible{
  background:#176a5f;
  color:#fff;
  outline:none;
}
.innariTunerPrivacy{
  display:flex;
  align-items:flex-start;
  gap:7px;
  padding:9px 10px;
  margin-bottom:12px;
  border-radius:16px;
  background:#f3f8f6;
  color:#55716b;
  font-size:.78rem;
  line-height:1.25;
  font-weight:750;
}
.innariTunerPrivacy .material-symbols-rounded{
  font-size:18px;
  color:#176a5f;
  margin-top:-1px;
}
.innariTunerReadout{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:160px;
  padding:14px 12px;
  border-radius:26px;
  background:linear-gradient(180deg,#f7fbfa,#eef6f3);
  border:1px solid rgba(23,106,95,.12);
  text-align:center;
}
.innariTunerNote{
  font-size:4.2rem;
  line-height:.88;
  font-weight:1000;
  letter-spacing:-.05em;
  color:#176a5f;
}
.innariTunerString{
  margin-top:7px;
  color:#123f39;
  font-size:1.05rem;
  font-weight:950;
}
.innariTunerCents{
  margin-top:8px;
  color:#cc194b;
  font-size:1rem;
  font-weight:950;
}
.innariTunerHint{
  margin-top:4px;
  color:#5b746f;
  font-size:.82rem;
  line-height:1.2;
  font-weight:800;
}
.innariTunerMeter{
  padding:16px 7px 8px;
}
.innariTunerMeterTrack{
  position:relative;
  height:34px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(204,25,75,.18), rgba(23,106,95,.22), rgba(240,138,36,.20));
  border:1px solid rgba(23,106,95,.15);
  overflow:hidden;
}
.innariTunerMeterCenter{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  margin-left:-1.5px;
  background:#176a5f;
  box-shadow:0 0 0 4px rgba(23,106,95,.08);
}
.innariTunerMeterZone{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  color:rgba(18,63,57,.62);
  font-size:.68rem;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.innariTunerMeterLow{left:13px;}
.innariTunerMeterHigh{right:13px;}
.innariTunerNeedle{
  position:absolute;
  top:3px;
  bottom:3px;
  left:50%;
  width:6px;
  margin-left:-3px;
  border-radius:999px;
  background:#123f39;
  box-shadow:0 4px 10px rgba(18,63,57,.24);
  transition:left .12s ease-out, background .15s ease;
}
.innariTunerRoot.is-tuned .innariTunerNeedle,
.innariTunerRoot.is-tuned .innariTunerMeterCenter{
  background:#15945f;
}
.innariTunerRoot.is-tuned .innariTunerNote,
.innariTunerRoot.is-tuned .innariTunerCents{
  color:#15945f;
}
.innariTunerRoot.is-close .innariTunerCents{color:#176a5f;}
.innariTunerRoot.is-low .innariTunerNeedle{background:#cc194b;}
.innariTunerRoot.is-high .innariTunerNeedle{background:#f08a24;}
.innariTunerMeta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:1px 4px 12px;
  color:#5b746f;
  font-size:.8rem;
  font-weight:850;
}
.innariTunerMeta strong{
  color:#123f39;
  font-weight:950;
}
.innariTunerSelectWrap{
  display:grid;
  gap:6px;
  margin-bottom:12px;
  color:#176a5f;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.innariTunerInlineControls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  align-items:end;
  margin-bottom:12px;
}
.innariTunerInlineControls .innariTunerSelectWrap{
  margin-bottom:0;
}
.innariTunerSelectCompact{
  gap:4px;
  font-size:.72rem;
  letter-spacing:.05em;
}
.innariTunerSelectCompact span{
  display:block;
  line-height:1.1;
}
.innariTunerSelectCompact select{
  min-height:42px;
  padding:0 10px;
  border-radius:14px;
  font-size:.9rem;
}
.innariTunerSelectWrap select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(23,106,95,.2);
  border-radius:16px;
  padding:0 12px;
  color:#123f39;
  background:#fff;
  font:inherit;
  font-size:.95rem;
  font-weight:850;
  letter-spacing:0;
  text-transform:none;
}
.innariTunerActions{
  display:grid;
  grid-template-columns:1.35fr .8fr;
  gap:9px;
}
.innariTunerActions button{
  min-height:46px;
  border:0;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 12px;
  background:#eef5f2;
  color:#176a5f;
  cursor:pointer;
  font-weight:950;
  box-shadow:0 8px 18px rgba(23,106,95,.10);
}
.innariTunerActions button .material-symbols-rounded{
  font-size:21px;
}
.innariTunerActions .innariTunerPrimary{
  background:linear-gradient(135deg,#cc194b,#f08a24);
  color:#fff;
}
.innariTunerActions button:disabled{
  cursor:not-allowed;
  opacity:.48;
  box-shadow:none;
}
.innariTunerRoot.is-listening .innariTunerActions button[data-tuner-action="stop"]{
  background:linear-gradient(135deg,#176a5f,#0f4f47);
  color:#fff;
  box-shadow:0 10px 24px rgba(23,106,95,.26);
  border:1px solid rgba(255,255,255,.42);
  opacity:1;
}
.innariTunerRoot.is-listening .innariTunerActions button[data-tuner-action="stop"] .material-symbols-rounded{
  color:inherit;
}
.innariTunerRoot.is-listening .innariTunerActions button[data-tuner-action="stop"]:hover,
.innariTunerRoot.is-listening .innariTunerActions button[data-tuner-action="stop"]:focus-visible{
  background:linear-gradient(135deg,#cc194b,#f08a24);
  color:#fff;
  box-shadow:0 12px 28px rgba(204,25,75,.30);
  outline:none;
}
.innariTunerRoot.is-listening .innariTunerActions .innariTunerPrimary:disabled{
  opacity:.36;
  filter:saturate(.65);
}
.innariTunerStatus{
  min-height:18px;
  margin-top:10px;
  color:#5b746f;
  font-size:.8rem;
  line-height:1.25;
  font-weight:800;
  text-align:center;
}
.innariTunerStatus[data-kind="ok"]{color:#15945f;}
.innariTunerStatus[data-kind="error"]{color:#cc194b;}
.innariTunerStatus[data-kind="info"]{color:#176a5f;}
body.stage .innariTunerPanel{
  background:rgba(11,27,25,.96);
  border-color:rgba(120,211,195,.35);
  color:#e7fbf7;
  box-shadow:0 22px 60px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08) inset;
}
body.stage .innariTunerTitleBlock h2,
body.stage .innariTunerString,
body.stage .innariTunerMeta strong,
body.stage .innariTunerSelectWrap select{
  color:#e7fbf7;
}
body.stage .innariTunerTitleBlock p,
body.stage .innariTunerHint,
body.stage .innariTunerMeta,
body.stage .innariTunerStatus{
  color:#b8d8d1;
}
body.stage .innariTunerPrivacy,
body.stage .innariTunerClose,
body.stage .innariTunerActions button{
  background:rgba(255,255,255,.08);
  color:#e7fbf7;
}
body.stage .innariTunerReadout{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.1);
}
body.stage .innariTunerMeterTrack{
  border-color:rgba(255,255,255,.12);
}
body.stage .innariTunerMeterZone{
  color:rgba(231,251,247,.68);
}
body.stage .innariTunerSelectWrap select{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
}
@media (max-width:640px){
  .innariTunerPanel{
    right:10px;
    left:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:auto;
    max-height:calc(100vh - 70px);
    padding:14px;
    border-radius:24px;
  }
  .innariTunerReadout{
    min-height:142px;
  }
  .innariTunerNote{
    font-size:3.65rem;
  }
  .innariTunerInlineControls{
    gap:8px;
  }
  .innariTunerSelectCompact{
    font-size:.66rem;
    letter-spacing:.04em;
  }
  .innariTunerSelectCompact select{
    min-height:40px;
    padding:0 8px;
    font-size:.84rem;
  }
  .innariTunerActions{
    grid-template-columns:minmax(0,1.32fr) minmax(0,.82fr);
    gap:8px;
  }
  .innariTunerActions button{
    min-width:0;
    min-height:43px;
    border-radius:16px;
    padding:0 8px;
    gap:5px;
    font-size:.82rem;
    line-height:1.05;
    white-space:nowrap;
  }
  .innariTunerActions button .material-symbols-rounded{
    font-size:20px;
  }
  .innariTunerMeta{
    flex-direction:column;
    gap:2px;
    align-items:center;
  }
}

/* v18.9 - Pagina brano: badge numero in tema verde */
.innari2026SongNumberPill {
  border-color: rgba(23, 106, 95, 0.30) !important;
  background: linear-gradient(180deg, rgba(239, 249, 246, 0.98) 0%, rgba(228, 241, 236, 0.96) 100%) !important;
  color: var(--app-green) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68), 0 6px 18px rgba(23, 106, 95, 0.08) !important;
}

body.stage .innari2026SongNumberPill {
  border-color: rgba(116, 214, 199, 0.34) !important;
  background: rgba(116, 214, 199, 0.12) !important;
  color: var(--app-green) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 6px 18px rgba(0, 0, 0, 0.18) !important;
}

/* v18.17 - upload file explorer fase 1 */
.innari2026UploadExplorerToolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin: 0 0 18px;
  padding: 12px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 6px);
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.78), rgba(255, 253, 247, 0.84));
}

.innari2026UploadBreadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  color: var(--app-muted);
  font-weight: 900;
  line-height: 1.25;
}

.innari2026UploadBreadcrumb a {
  color: var(--app-green) !important;
  text-decoration: none !important;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(23, 106, 95, 0.08);
  border: 1px solid rgba(23, 106, 95, 0.12);
}

.innari2026UploadBreadcrumb .material-symbols-outlined {
  font-size: 1.1rem !important;
  color: var(--app-muted) !important;
}

.innari2026UploadNewFolderForm {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: min(440px, 100%);
  margin: 0;
}

body.innari2026UploadPage .innari2026UploadNewFolderForm input[type="text"] {
  min-height: 44px;
  max-width: 260px !important;
}

.innari2026UploadNewFolderForm .innari2026UploadButton {
  min-height: 44px;
  padding-inline: 14px !important;
}

.innari2026UploadDestination {
  max-width: 780px;
  margin: 0 auto 14px;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(23, 106, 95, 0.16);
  border-radius: calc(var(--app-radius) - 6px);
  background: rgba(23, 106, 95, 0.07);
  color: var(--app-muted);
  font-weight: 900;
}

.innari2026UploadDestination .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.35rem !important;
}

.innari2026UploadDestination strong {
  color: var(--app-green);
}

.innari2026UploadFolderCard {
  cursor: pointer;
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.96), rgba(255, 253, 247, 0.94));
}

.innari2026UploadFolderCard:hover {
  border-color: rgba(23, 106, 95, 0.28);
  box-shadow: 0 12px 26px rgba(23, 106, 95, 0.10);
  transform: translateY(-1px);
}

.innari2026UploadFolderCard .innari2026UploadFileIcon {
  background: rgba(23, 106, 95, 0.12);
  color: var(--app-green) !important;
}

.innari2026UploadFolderUpCard {
  background: rgba(255, 253, 247, 0.72);
}

@media (max-width: 760px) {
  .innari2026UploadExplorerToolbar {
    grid-template-columns: 1fr;
    padding: 10px;
  }
  .innari2026UploadNewFolderForm {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.innari2026UploadPage .innari2026UploadNewFolderForm input[type="text"] {
    max-width: 100% !important;
  }
  .innari2026UploadNewFolderForm .innari2026UploadButton {
    width: auto !important;
    min-width: 86px;
  }
  .innari2026UploadBreadcrumb a {
    padding: 6px 8px;
  }
}

body.stage.innari2026UploadPage .innari2026UploadExplorerToolbar,
body.stage.innari2026UploadPage .innari2026UploadDestination,
body.stage.innari2026UploadPage .innari2026UploadFolderCard {
  background: rgba(32, 43, 39, 0.86) !important;
  border-color: var(--app-line) !important;
  color: var(--app-muted) !important;
}

body.stage.innari2026UploadPage .innari2026UploadBreadcrumb a,
body.stage.innari2026UploadPage .innari2026UploadDestination strong {
  color: var(--app-green) !important;
}

/* v18.20 - upload file explorer: layout piu ordinato + multi-upload */
.innari2026UploadCurrentFolderBar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid rgba(23, 106, 95, 0.18);
  border-radius: calc(var(--app-radius) - 6px);
  background: linear-gradient(135deg, rgba(23, 106, 95, 0.10), rgba(228, 241, 236, 0.82));
}

.innari2026UploadCurrentFolderInfo {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.innari2026UploadCurrentFolderInfo > .material-symbols-outlined {
  width: 48px;
  height: 48px;
  display: grid !important;
  place-items: center;
  border-radius: 16px;
  background: rgba(23, 106, 95, 0.14);
  color: var(--app-green) !important;
  font-size: 1.6rem !important;
}

.innari2026UploadCurrentFolderInfo small,
.innari2026UploadSectionTitle small {
  display: block;
  color: var(--app-muted);
  font-weight: 900;
  line-height: 1.25;
}

.innari2026UploadCurrentFolderInfo strong {
  display: block;
  color: var(--app-ink);
  font-size: 1.15rem;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.innari2026UploadFolderUploadButton {
  min-height: 50px !important;
  padding-inline: 18px !important;
  box-shadow: 0 12px 24px rgba(23, 106, 95, 0.14);
}

.innari2026UploadExplorerSections {
  display: grid;
  gap: 16px;
}

.innari2026UploadExplorerSection {
  padding: 14px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 6px);
  background: rgba(255, 253, 247, 0.66);
}

.innari2026UploadFoldersSection {
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.58), rgba(255, 253, 247, 0.72));
}

.innari2026UploadSectionTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  color: var(--app-ink);
}

.innari2026UploadSectionTitle > .material-symbols-outlined {
  width: 38px;
  height: 38px;
  display: grid !important;
  place-items: center;
  border-radius: 13px;
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.35rem !important;
}

.innari2026UploadSectionTitle strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 950;
  line-height: 1.15;
}

.innari2026UploadFolderList .innari2026UploadFileCard {
  border-color: rgba(23, 106, 95, 0.16);
}

.innari2026UploadOnlyFileList .innari2026UploadRealFileCard {
  background: rgba(255, 253, 247, 0.92);
}

.innari2026UploadSectionEmpty {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 50px;
  padding: 12px;
  border: 1px dashed var(--app-line);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(255, 253, 247, 0.64);
  color: var(--app-muted);
  font-weight: 900;
}

.innari2026UploadSectionEmpty .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.3rem !important;
}

.innari2026UploadExplorerEmpty {
  margin-top: 16px;
}

.innari2026UploadMultiPicker {
  max-width: 820px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}

.innari2026UploadDropZone {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 2px dashed rgba(23, 106, 95, 0.24);
  border-radius: calc(var(--app-radius) - 4px);
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.92), rgba(255, 253, 247, 0.92));
}

.innari2026UploadDropZone > .material-symbols-outlined {
  width: 54px;
  height: 54px;
  display: grid !important;
  place-items: center;
  border-radius: 18px;
  background: rgba(23, 106, 95, 0.12);
  color: var(--app-green) !important;
  font-size: 1.8rem !important;
}

.innari2026UploadDropZone strong {
  display: block;
  color: var(--app-ink);
  font-size: 1.1rem;
  font-weight: 950;
  line-height: 1.2;
}

.innari2026UploadDropZone small {
  display: block;
  margin-top: 4px;
  color: var(--app-muted);
  font-weight: 850;
  line-height: 1.3;
}

body.innari2026UploadPage .innari2026UploadDropZone input[type="file"] {
  grid-column: 1 / -1;
  width: 100% !important;
  margin-top: 4px;
  background: rgba(255, 253, 247, 0.88) !important;
}

.innari2026UploadSelectedFiles {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(255, 253, 247, 0.82);
  color: var(--app-muted);
  font-weight: 850;
  line-height: 1.35;
}

.innari2026UploadSelectedFiles.has-files {
  border-color: rgba(23, 106, 95, 0.22);
  background: rgba(23, 106, 95, 0.06);
  color: var(--app-ink);
}

.innari2026UploadSelectedFiles strong,
.innari2026UploadSelectedFiles span,
.innari2026UploadSelectedFiles small {
  display: block;
}

.innari2026UploadSelectedFiles strong {
  color: var(--app-green);
  font-weight: 950;
}

.innari2026UploadSelectedFiles small {
  color: var(--app-muted);
  font-weight: 900;
}

.innari2026UploadOverwriteOption {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: rgba(255, 253, 247, 0.82);
  color: var(--app-muted);
  font-weight: 900;
  cursor: pointer;
}

.innari2026UploadOverwriteOption input {
  width: auto !important;
  min-height: 0 !important;
}

@media (max-width: 760px) {
  .innari2026UploadCurrentFolderBar {
    grid-template-columns: 1fr;
    padding: 12px;
  }
  .innari2026UploadFolderUploadButton {
    width: 100%;
  }
  .innari2026UploadExplorerSection {
    padding: 10px;
  }
  .innari2026UploadDropZone {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 12px;
  }
  .innari2026UploadDropZone > .material-symbols-outlined {
    width: 44px;
    height: 44px;
    font-size: 1.45rem !important;
  }
  .innari2026UploadOverwriteOption {
    width: 100%;
    border-radius: calc(var(--app-radius) - 8px);
  }
}

body.stage.innari2026UploadPage .innari2026UploadCurrentFolderBar,
body.stage.innari2026UploadPage .innari2026UploadExplorerSection,
body.stage.innari2026UploadPage .innari2026UploadSectionEmpty,
body.stage.innari2026UploadPage .innari2026UploadDropZone,
body.stage.innari2026UploadPage .innari2026UploadSelectedFiles,
body.stage.innari2026UploadPage .innari2026UploadOverwriteOption {
  background: rgba(32, 43, 39, 0.86) !important;
  border-color: var(--app-line) !important;
  color: var(--app-muted) !important;
}

body.stage.innari2026UploadPage .innari2026UploadCurrentFolderInfo strong,
body.stage.innari2026UploadPage .innari2026UploadDropZone strong,
body.stage.innari2026UploadPage .innari2026UploadSelectedFiles.has-files {
  color: var(--app-ink) !important;
}


/* v18.21 - upload file explorer: elenco unico cartelle + file */
.innari2026UploadMixedSection {
  background: rgba(255, 253, 247, 0.72);
}

.innari2026UploadMixedList .innari2026UploadFolderCard,
.innari2026UploadMixedList .innari2026UploadRealFileCard {
  margin: 0;
}

.innari2026UploadFolderBadge {
  background: rgba(228, 241, 236, 0.96) !important;
  border-color: rgba(23, 106, 95, 0.22) !important;
  color: var(--app-green) !important;
}

.innari2026UploadMixedList .innari2026UploadFolderCard .innari2026UploadFileInfo h3::after {
  content: "";
}

body.stage.innari2026UploadPage .innari2026UploadMixedSection,
body.stage.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadRealFileCard {
  background: rgba(32, 43, 39, 0.86) !important;
}

/* Innari2026 v18.22 - File explorer fase 2 */
.innari2026UploadFilterBar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0 18px;
  padding: 14px;
  border: 1px solid rgba(23, 106, 95, .14);
  background: linear-gradient(135deg, rgba(224, 245, 240, .58), rgba(255, 250, 241, .72));
  border-radius: 18px;
}
.innari2026UploadSearchBox {
  flex: 1 1 260px;
  position: relative;
  display: flex;
  align-items: center;
}
.innari2026UploadSearchBox .material-symbols-outlined {
  position: absolute;
  left: 14px;
  color: #176a5f;
  pointer-events: none;
}
body.innari2026UploadPage .innari2026UploadSearchBox input[type="text"] {
  width: 100%;
  padding-left: 44px;
}
.innari2026UploadFilterBar select {
  flex: 0 1 180px;
  min-width: 150px;
}
.innari2026UploadMoveForm {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}
body.innari2026UploadPage .innari2026UploadMoveForm select {
  min-width: 150px;
  width: auto;
  max-width: 210px;
  height: 42px;
  padding: 0 34px 0 12px;
  font-size: .88rem;
}
.innari2026UploadFileActions .innari2026UploadMiniButton .material-symbols-outlined,
.innari2026UploadMoveForm .innari2026UploadMiniButton .material-symbols-outlined {
  font-size: 20px;
}
.innari2026UploadFolderCard .innari2026UploadFileActions {
  cursor: default;
}
@media (max-width: 760px) {
  .innari2026UploadFilterBar {
    align-items: stretch;
  }
  .innari2026UploadFilterBar > *,
  .innari2026UploadSearchBox,
  .innari2026UploadFilterBar select,
  .innari2026UploadFilterBar .innari2026UploadButton,
  .innari2026UploadFilterBar .innari2026UploadMiniButton {
    width: 100%;
    flex: 1 1 100%;
  }
  .innari2026UploadMoveForm {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
  }
  body.innari2026UploadPage .innari2026UploadMoveForm select {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}

/* Innari2026 v18.25 - File explorer fase 3: drag/drop, progress, preview, viste */
.innari2026UploadDropZone {
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.innari2026UploadDropZone.is-dragover {
  border-color: rgba(23, 106, 95, .78) !important;
  background: linear-gradient(135deg, rgba(228, 241, 236, 1), rgba(255, 247, 232, .94)) !important;
  box-shadow: 0 0 0 5px rgba(23, 106, 95, .10), 0 18px 38px rgba(23, 106, 95, .16);
  transform: translateY(-1px);
}
.innari2026UploadProgress {
  display: none;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(23, 106, 95, .18);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(228, 241, 236, .58);
}
.innari2026UploadProgress.is-active {
  display: grid;
}
.innari2026UploadProgress.has-error {
  border-color: rgba(178, 31, 31, .28);
  background: rgba(178, 31, 31, .06);
}
.innari2026UploadProgressTrack {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(23, 106, 95, .12);
  box-shadow: inset 0 0 0 1px rgba(23, 106, 95, .12);
}
.innari2026UploadProgressTrack span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #176a5f, #f47b20);
  transition: width .16s ease;
}
.innari2026UploadProgress small {
  color: var(--app-muted);
  font-weight: 900;
}
.innari2026UploadSelectedFiles ul {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.innari2026UploadSelectedFiles li {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid rgba(23, 106, 95, .10);
  border-radius: 12px;
  background: rgba(255,253,247,.78);
}
.innari2026UploadSelectedFiles li .material-symbols-outlined {
  color: var(--app-green) !important;
  font-size: 1.2rem !important;
}
.innari2026UploadSelectedFiles li b {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--app-ink);
  font-weight: 900;
}
.innari2026UploadSelectedFiles li small {
  white-space: nowrap;
}
.innari2026UploadPreviewModal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  padding: 20px;
  background: rgba(17, 23, 21, .62);
  backdrop-filter: blur(5px);
}
.innari2026UploadPreviewModal.is-open {
  display: grid;
  place-items: center;
}
.innari2026UploadPreviewDialog {
  width: min(980px, calc(100vw - 28px));
  max-height: min(86vh, 820px);
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  overflow: hidden;
  border: 1px solid rgba(23, 106, 95, .28);
  border-radius: calc(var(--app-radius) + 2px);
  background: var(--app-paper);
  box-shadow: 0 26px 70px rgba(0,0,0,.26);
}
.innari2026UploadPreviewDialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--app-line);
  background: linear-gradient(135deg, rgba(228, 241, 236, .88), rgba(255,253,247,.94));
}
.innari2026UploadPreviewDialog header strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--app-ink);
  font-weight: 950;
}
.innari2026UploadPreviewDialog header button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper);
  color: var(--app-green);
  cursor: pointer;
}
.innari2026UploadPreviewBody {
  min-height: 260px;
  display: grid;
  place-items: center;
  padding: 14px;
  background: rgba(255,253,247,.72);
}
.innari2026UploadPreviewBody img,
.innari2026UploadPreviewBody video {
  max-width: 100%;
  max-height: 72vh;
  border-radius: 14px;
}
.innari2026UploadPreviewBody audio {
  width: min(720px, 100%);
}
.innari2026UploadPreviewBody iframe {
  width: 100%;
  height: min(72vh, 720px);
  border: 0;
  border-radius: 14px;
  background: #fff;
}
.innari2026UploadMixedList.is-view-compact {
  gap: 7px;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadFileCard {
  grid-template-columns: 38px minmax(0,1fr) auto;
  padding: 8px 10px;
  gap: 10px;
  border-radius: 16px;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadFileIcon {
  width: 38px;
  height: 38px;
  font-size: 1.25rem !important;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadFileInfo h3 {
  margin-bottom: 2px;
  font-size: .96rem;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadBadge {
  min-height: 23px;
  padding: 0 8px;
  font-size: .76rem;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadMiniButton {
  min-height: 34px;
  padding: 0 9px !important;
  font-size: .8rem !important;
}
.innari2026UploadMixedList.is-view-cards {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.innari2026UploadMixedList.is-view-cards .innari2026UploadFileCard {
  grid-template-columns: 1fr;
  align-items: stretch;
  min-height: 185px;
}
.innari2026UploadMixedList.is-view-cards .innari2026UploadFileIcon {
  width: 58px;
  height: 58px;
}
.innari2026UploadMixedList.is-view-cards .innari2026UploadFileActions {
  justify-content: flex-start;
}
body.stage.innari2026UploadPage .innari2026UploadPreviewDialog,
body.stage.innari2026UploadPage .innari2026UploadPreviewBody,
body.stage.innari2026UploadPage .innari2026UploadPreviewDialog header,
body.stage.innari2026UploadPage .innari2026UploadProgress,
body.stage.innari2026UploadPage .innari2026UploadSelectedFiles li {
  background: rgba(32, 43, 39, .92) !important;
  border-color: var(--app-line) !important;
}
@media (max-width: 760px) {
  .innari2026UploadPreviewModal { padding: 8px; }
  .innari2026UploadPreviewDialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .innari2026UploadMixedList.is-view-cards { grid-template-columns: 1fr; }
  .innari2026UploadSelectedFiles li { grid-template-columns: 24px minmax(0,1fr); }
  .innari2026UploadSelectedFiles li small { grid-column: 2; }
}

/* Innari2026 v18.28 - File explorer: file su due righe, nome leggibile */
.innari2026UploadMixedList .innari2026UploadRealFileCard {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-areas:
    "fileicon fileinfo"
    ". fileactions" !important;
  align-items: start !important;
  gap: 12px 16px !important;
}
.innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileIcon {
  grid-area: fileicon;
  align-self: start;
  margin-top: 2px;
}
.innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileInfo {
  grid-area: fileinfo;
  min-width: 0;
  max-width: 100%;
}
.innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileInfo h3 {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 8px !important;
  font-size: clamp(1.08rem, 1.5vw, 1.28rem) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileInfo h3 a {
  display: inline;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileActions {
  grid-area: fileactions;
  width: 100%;
  justify-content: flex-start !important;
  align-items: center;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(23, 106, 95, 0.12);
}
.innari2026UploadMixedList .innari2026UploadRealFileCard .innari2026UploadMoveForm {
  flex-wrap: nowrap;
}
body.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadRealFileCard .innari2026UploadMoveForm select {
  min-width: 190px;
  max-width: min(260px, 100%);
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadRealFileCard {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-areas:
    "fileicon fileinfo"
    ". fileactions" !important;
  gap: 8px 12px !important;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadRealFileCard > .innari2026UploadFileActions {
  padding-top: 7px;
  gap: 6px;
}
.innari2026UploadMixedList.is-view-compact .innari2026UploadRealFileCard > .innari2026UploadFileInfo h3 {
  font-size: 1rem !important;
}
.innari2026UploadMixedList.is-view-cards .innari2026UploadRealFileCard {
  grid-template-columns: 1fr !important;
  grid-template-areas:
    "fileicon"
    "fileinfo"
    "fileactions" !important;
}
.innari2026UploadMixedList.is-view-cards .innari2026UploadRealFileCard > .innari2026UploadFileActions {
  border-top: 1px solid rgba(23, 106, 95, 0.12);
}
@media (max-width: 760px) {
  .innari2026UploadMixedList .innari2026UploadRealFileCard,
  .innari2026UploadMixedList.is-view-compact .innari2026UploadRealFileCard {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-areas:
      "fileicon fileinfo"
      "fileactions fileactions" !important;
    gap: 10px 12px !important;
  }
  .innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileInfo h3 {
    font-size: 1.04rem !important;
  }
  .innari2026UploadMixedList .innari2026UploadRealFileCard > .innari2026UploadFileActions {
    padding-top: 10px;
  }
  body.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadRealFileCard .innari2026UploadMoveForm {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadRealFileCard .innari2026UploadMoveForm select {
    min-width: 0;
    width: 100%;
  }
}

/* Innari2026 v18.47 - File explorer: azioni file in modale */
.innari2026UploadMixedList .innari2026UploadRealFileCard {
  grid-template-columns: 56px minmax(0, 1fr) auto !important;
  grid-template-areas: "fileicon fileinfo filequick" !important;
  align-items: start !important;
}
.innari2026UploadFileQuickActions {
  grid-area: filequick;
  align-self: start;
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.innari2026UploadKebabButton {
  min-width: 46px;
  min-height: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 12px !important;
  border: 1px solid rgba(23, 106, 95, .18) !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 247, .94) !important;
  color: var(--app-green) !important;
  font: 900 .88rem/1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif) !important;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(23, 106, 95, .08);
}
.innari2026UploadKebabButton .material-symbols-outlined {
  font-size: 1.35rem !important;
}
.innari2026UploadKebabButton:hover,
.innari2026UploadKebabButton:focus-visible {
  background: rgba(224, 245, 240, .96) !important;
  border-color: rgba(23, 106, 95, .34) !important;
  outline: none;
}
.innari2026UploadFileHiddenActions[hidden] {
  display: none !important;
}
.innari2026UploadActionsModal {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(18, 30, 28, .40);
  backdrop-filter: blur(5px);
}
.innari2026UploadActionsModal.is-open {
  display: flex;
}
.innari2026UploadActionsDialog {
  width: min(620px, calc(100vw - 28px));
  max-height: calc(100dvh - 36px);
  overflow: auto;
  border: 1px solid rgba(23, 106, 95, .18);
  border-radius: 26px;
  background: var(--app-paper);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}
.innari2026UploadActionsDialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(23, 106, 95, .12);
  background: linear-gradient(135deg, rgba(224, 245, 240, .72), rgba(255, 250, 241, .86));
}
.innari2026UploadActionsDialog header small {
  display: block;
  margin-bottom: 2px;
  color: var(--app-muted);
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.innari2026UploadActionsDialog header strong {
  display: block;
  color: var(--app-ink);
  font-size: 1.16rem;
  line-height: 1.16;
  font-weight: 950;
  overflow-wrap: anywhere;
}
.innari2026UploadActionsDialog header button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 16px;
  background: rgba(224, 245, 240, .72);
  color: var(--app-green);
  cursor: pointer;
}
.innari2026UploadActionsBody {
  padding: 18px 20px 20px;
}
.innari2026UploadModalActionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.innari2026UploadModalActionGrid .innari2026UploadMiniButton,
.innari2026UploadModalActionGrid a.innari2026UploadMiniButton {
  width: 100%;
  min-height: 46px;
  justify-content: flex-start !important;
  border-radius: 16px !important;
  padding-inline: 14px !important;
}
.innari2026UploadModalActionGrid .innari2026UploadDanger {
  color: #b83b2f !important;
}
.innari2026UploadModalMoveForm {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-top: 6px;
  border-top: 1px solid rgba(23, 106, 95, .12);
}
body.innari2026UploadPage .innari2026UploadModalMoveForm select {
  width: 100%;
  min-width: 0 !important;
  min-height: 46px;
  border-radius: 16px;
}
body.stage.innari2026UploadPage .innari2026UploadKebabButton,
body.stage.innari2026UploadPage .innari2026UploadActionsDialog {
  background: #202b27 !important;
  color: #eaf7f2 !important;
  border-color: rgba(174, 216, 205, .24) !important;
}
body.stage.innari2026UploadPage .innari2026UploadActionsDialog header {
  background: rgba(22, 48, 42, .96) !important;
  border-color: rgba(174, 216, 205, .16) !important;
}
body.stage.innari2026UploadPage .innari2026UploadActionsDialog header strong {
  color: #f8faf8 !important;
}
@media (max-width: 760px) {
  .innari2026UploadMixedList .innari2026UploadRealFileCard,
  .innari2026UploadMixedList.is-view-compact .innari2026UploadRealFileCard {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    grid-template-areas: "fileicon fileinfo filequick" !important;
  }
  .innari2026UploadKebabButton {
    min-width: 42px;
    min-height: 42px;
    padding: 0 8px !important;
  }
  .innari2026UploadKebabButton span:not(.material-symbols-outlined) {
    display: none;
  }
  .innari2026UploadActionsDialog {
    width: calc(100vw - 18px);
    border-radius: 22px;
  }
  .innari2026UploadActionsDialog header,
  .innari2026UploadActionsBody {
    padding-inline: 14px;
  }
  .innari2026UploadModalActionGrid {
    grid-template-columns: 1fr;
  }
  .innari2026UploadModalMoveForm {
    grid-template-columns: 1fr;
  }
}

/* Innari2026 v18.48 - File explorer: ottimizzazione mobile + elimina rosso */
body.innari2026UploadPage .innari2026UploadDeleteAction,
body.innari2026UploadPage .innari2026UploadDanger {
  border-color: rgba(178, 31, 31, 0.34) !important;
  background: rgba(178, 31, 31, 0.075) !important;
  color: #b21f1f !important;
}
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDeleteAction,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDanger {
  border-color: rgba(178, 31, 31, 0.42) !important;
  background: linear-gradient(135deg, rgba(178, 31, 31, 0.12), rgba(255, 253, 247, 0.92)) !important;
  color: #a9271f !important;
}
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDeleteAction:hover,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDanger:hover,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDeleteAction:focus-visible,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDanger:focus-visible {
  background: linear-gradient(135deg, #b21f1f, #d3523d) !important;
  border-color: #b21f1f !important;
  color: #fff !important;
  outline: none;
}
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDeleteAction:hover .material-symbols-outlined,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDanger:hover .material-symbols-outlined,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDeleteAction:focus-visible .material-symbols-outlined,
body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDanger:focus-visible .material-symbols-outlined {
  color: #fff !important;
}

@media (max-width: 760px) {
  body.innari2026UploadPage {
    overflow-x: hidden !important;
  }
  body.innari2026UploadPage .innari2026UploadManage {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 8px 18px !important;
    box-sizing: border-box !important;
    gap: 10px !important;
  }
  body.innari2026UploadPage .innari2026GestioneTopbar {
    margin: 0 -8px 10px !important;
  }
  body.innari2026UploadPage .innari2026UploadHeaderCard {
    display: none !important;
  }
  body.innari2026UploadPage .innari2026UploadCard {
    padding: 10px 8px !important;
    border-radius: 18px !important;
  }
  body.innari2026UploadPage .innari2026UploadCardHeader {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }
  body.innari2026UploadPage .innari2026UploadCardIcon,
  body.innari2026UploadPage .innari2026UploadCardHeader .innari2026UploadCardIcon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    font-size: 1.35rem !important;
  }
  body.innari2026UploadPage .innari2026UploadCardHeader h2 {
    font-size: clamp(1.35rem, 7vw, 1.85rem) !important;
    line-height: 1.02 !important;
    margin-top: 0 !important;
  }
  body.innari2026UploadPage .innari2026UploadCardHeader p {
    margin-top: 4px !important;
    font-size: .9rem !important;
    line-height: 1.25 !important;
  }
  body.innari2026UploadPage .innari2026UploadExplorerToolbar,
  body.innari2026UploadPage .innari2026UploadCurrentFolderBar,
  body.innari2026UploadPage .innari2026UploadFilterBar,
  body.innari2026UploadPage .innari2026UploadExplorerSection,
  body.innari2026UploadPage .innari2026UploadDropZone,
  body.innari2026UploadPage .innari2026UploadSelectedFiles,
  body.innari2026UploadPage .innari2026UploadProgress {
    border-radius: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.innari2026UploadPage .innari2026UploadExplorerToolbar {
    padding: 8px !important;
    gap: 8px !important;
  }
  body.innari2026UploadPage .innari2026UploadBreadcrumb {
    gap: 5px !important;
    font-size: .95rem !important;
  }
  body.innari2026UploadPage .innari2026UploadBreadcrumb a {
    max-width: 42vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 6px 9px !important;
  }
  body.innari2026UploadPage .innari2026UploadNewFolderForm {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  body.innari2026UploadPage .innari2026UploadNewFolderForm .innari2026UploadButton {
    width: 100% !important;
  }
  body.innari2026UploadPage .innari2026UploadCurrentFolderBar {
    padding: 10px !important;
    gap: 10px !important;
  }
  body.innari2026UploadPage .innari2026UploadCurrentFolderInfo {
    gap: 10px !important;
  }
  body.innari2026UploadPage .innari2026UploadCurrentFolderInfo > .material-symbols-outlined {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    font-size: 1.35rem !important;
  }
  body.innari2026UploadPage .innari2026UploadCurrentFolderInfo strong {
    font-size: 1.35rem !important;
    line-height: 1.02 !important;
  }
  body.innari2026UploadPage .innari2026UploadFolderUploadButton {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    font-size: .98rem !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }
  body.innari2026UploadPage .innari2026UploadFilterBar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
    margin: 10px 0 12px !important;
  }
  body.innari2026UploadPage .innari2026UploadFilterBar select,
  body.innari2026UploadPage .innari2026UploadFilterBar input[type="text"],
  body.innari2026UploadPage .innari2026UploadFilterBar .innari2026UploadButton {
    min-height: 42px !important;
    font-size: .95rem !important;
  }
  body.innari2026UploadPage .innari2026UploadMixedSection {
    padding: 8px !important;
  }
  body.innari2026UploadPage .innari2026UploadSectionTitle {
    gap: 8px !important;
    margin-bottom: 8px !important;
  }
  body.innari2026UploadPage .innari2026UploadSectionTitle > .material-symbols-outlined {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    font-size: 1.25rem !important;
  }
  body.innari2026UploadPage .innari2026UploadSectionTitle strong {
    font-size: 1rem !important;
  }
  body.innari2026UploadPage .innari2026UploadSectionTitle small {
    font-size: .82rem !important;
  }
  body.innari2026UploadPage .innari2026UploadMixedList,
  body.innari2026UploadPage .innari2026UploadFileList {
    gap: 8px !important;
  }
  body.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadFileCard,
  body.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadRealFileCard,
  body.innari2026UploadPage .innari2026UploadMixedList .innari2026UploadFolderCard {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }
  body.innari2026UploadPage .innari2026UploadFileIcon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 12px !important;
    font-size: 1.35rem !important;
  }
  body.innari2026UploadPage .innari2026UploadFileInfo h3 {
    font-size: 1.06rem !important;
    line-height: 1.12 !important;
    margin-bottom: 7px !important;
  }
  body.innari2026UploadPage .innari2026UploadBadge {
    min-height: 24px !important;
    padding: 0 8px !important;
    font-size: .78rem !important;
  }
  body.innari2026UploadPage .innari2026UploadKebabButton {
    width: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
  }
  body.innari2026UploadPage .innari2026UploadActionsModal {
    align-items: flex-end !important;
    padding: 0 !important;
  }
  body.innari2026UploadPage .innari2026UploadActionsDialog {
    width: 100% !important;
    max-height: 88dvh !important;
    border-radius: 22px 22px 0 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
  }
  body.innari2026UploadPage .innari2026UploadActionsDialog header {
    padding: 12px 14px !important;
    position: sticky;
    top: 0;
    z-index: 2;
  }
  body.innari2026UploadPage .innari2026UploadActionsDialog header strong {
    font-size: 1.02rem !important;
  }
  body.innari2026UploadPage .innari2026UploadActionsDialog header button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }
  body.innari2026UploadPage .innari2026UploadActionsBody {
    padding: 12px 14px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body.innari2026UploadPage .innari2026UploadModalActionGrid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  body.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadMiniButton,
  body.innari2026UploadPage .innari2026UploadModalActionGrid a.innari2026UploadMiniButton {
    min-height: 44px !important;
    padding-inline: 12px !important;
    border-radius: 14px !important;
  }
}

body.stage.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDeleteAction,
body.stage.innari2026UploadPage .innari2026UploadModalActionGrid .innari2026UploadDanger {
  color: #ffb4a8 !important;
  border-color: rgba(255, 99, 84, .34) !important;
  background: rgba(178, 31, 31, .16) !important;
}

/* v21.1 - Richieste brani: card responsive in stile Innari 2026 */
.innari2026RequestsPage {
  width: 100%;
  box-sizing: border-box;
  padding: clamp(14px, 3vw, 28px);
}

.innari2026RequestsShell {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 16px;
}

.innari2026RequestsHero {
  margin-top: 4px;
}

.innari2026RequestsHero h2 {
  font-size: clamp(2rem, 5vw, 3.65rem);
}

.innari2026RequestsBack {
  white-space: nowrap;
}

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

.innari2026RequestsSummaryCard {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value";
  column-gap: 10px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,.92);
  box-shadow: 0 10px 28px rgba(52,45,34,.08);
}

.innari2026RequestsSummaryCard .material-symbols-outlined {
  grid-area: icon;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.45rem !important;
}

.innari2026RequestsSummaryCard small {
  grid-area: label;
  color: var(--app-muted);
  font-size: .73rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
}

.innari2026RequestsSummaryCard b {
  grid-area: value;
  min-width: 0;
  color: var(--app-ink);
  font-size: 1.12rem;
  line-height: 1.05;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.innari2026RequestsList {
  display: grid;
  gap: 12px;
}

.innari2026RequestCard {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(230px, auto);
  gap: 16px;
  align-items: start;
  padding: 16px;
  border: 1px solid var(--app-line);
  border-left: 5px solid var(--app-green);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,.96);
  box-shadow: 0 14px 42px rgba(52,45,34,.10);
}

.innari2026RequestCard.is-accepted { border-left-color: #5f8f2f; }
.innari2026RequestCard.is-done { border-left-color: #176a5f; }
.innari2026RequestCard.is-rejected { border-left-color: #b42318; }
.innari2026RequestCard.is-withdrawn { border-left-color: #8b6f47; }

.innari2026RequestIcon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: calc(var(--app-radius) - 2px);
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026RequestIcon .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.8rem !important;
}

.innari2026RequestCard.is-rejected .innari2026RequestIcon {
  background: #ffe9e5;
  color: #b42318;
}

.innari2026RequestCard.is-withdrawn .innari2026RequestIcon {
  background: #f1eadc;
  color: #8b6f47;
}

.innari2026RequestMain {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.innari2026RequestTitleRow {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.innari2026RequestTitleRow h3 {
  min-width: 0;
  margin: 0;
  color: var(--app-ink);
  font-size: clamp(1.18rem, 2.2vw, 1.65rem);
  line-height: 1.12;
  letter-spacing: -.02em;
  font-weight: 950;
}

.innari2026RequestTitleRow h3 a {
  color: inherit !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}

.innari2026RequestTitleRow h3 a:hover,
.innari2026RequestTitleRow h3 a:focus-visible {
  color: var(--app-green) !important;
}

.innari2026RequestStatus {
  flex: 0 0 auto;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid rgba(23,106,95,.24);
  border-radius: 999px;
  background: var(--app-green-soft);
  color: var(--app-green);
  font-size: .8rem;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}

.innari2026RequestStatus .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.05rem !important;
}

.innari2026RequestStatus.is-accepted {
  border-color: rgba(95,143,47,.25);
  background: #eef7df;
  color: #547d27;
}

.innari2026RequestStatus.is-done {
  border-color: rgba(23,106,95,.25);
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026RequestStatus.is-rejected {
  border-color: rgba(180,35,24,.24);
  background: #ffe9e5;
  color: #b42318;
}

.innari2026RequestStatus.is-withdrawn {
  border-color: rgba(139,111,71,.25);
  background: #f1eadc;
  color: #8b6f47;
}

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

.innari2026RequestMeta div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(222,215,201,.72);
  border-radius: calc(var(--app-radius) - 8px);
  background: rgba(245,239,227,.55);
}

.innari2026RequestMeta div.is-wide {
  grid-column: 1 / -1;
}

.innari2026RequestMeta span {
  display: block;
  margin-bottom: 3px;
  color: var(--app-muted);
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 900;
}

.innari2026RequestMeta b {
  display: block;
  min-width: 0;
  color: var(--app-ink);
  font-size: .9rem;
  line-height: 1.25;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.innari2026RequestActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.innari2026RequestActions .innari2026ManageIconAction.is-primary {
  color: var(--app-green) !important;
  background: var(--app-green-soft);
}

.innari2026RequestActions .innari2026ManageIconAction.is-primary:hover {
  background: rgba(23,106,95,.16);
}

.innari2026RequestActions .innari2026ManageIconAction.is-warning {
  color: #8a5b00 !important;
  background: #fff5d8;
}

.innari2026RequestActions .innari2026ManageIconAction.is-warning:hover {
  background: #ffedb7;
}

.innari2026RequestStatusSelect {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 8px 0 10px;
  border: 1px solid var(--app-line);
  border-radius: 999px;
  background: var(--app-paper-2);
  color: var(--app-muted);
  font-size: .78rem;
  font-weight: 950;
}

.innari2026RequestStatusSelect span {
  line-height: 1;
}

.innari2026RequestStatusSelect select {
  max-width: 132px;
  min-height: 30px;
  border: 1px solid rgba(222,215,201,.78);
  border-radius: 999px;
  background: var(--app-paper);
  color: var(--app-ink);
  font: inherit;
  font-size: .8rem;
  font-weight: 900;
  padding: 0 8px;
}

.innari2026RequestsEmpty {
  grid-template-columns: 56px minmax(0, 1fr);
}

.innari2026RequestsPagerBottom {
  margin-top: 2px;
}

body.stage .innari2026RequestsHero,
body.stage .innari2026RequestsSummaryCard,
body.stage .innari2026RequestCard,
body.stage .innari2026RequestsPager,
body.stage .innari2026RequestsEmpty {
  background: rgba(22,26,27,.92);
  border-color: rgba(245,239,227,.14);
  box-shadow: 0 18px 55px rgba(0,0,0,.32);
}

body.stage .innari2026RequestTitleRow h3,
body.stage .innari2026RequestMeta b,
body.stage .innari2026RequestsSummaryCard b,
body.stage .innari2026RequestStatusSelect select {
  color: #f5efe3;
}

body.stage .innari2026RequestMeta div,
body.stage .innari2026RequestStatusSelect,
body.stage .innari2026RequestStatusSelect select {
  background: rgba(255,255,255,.055);
  border-color: rgba(245,239,227,.14);
}

body.stage .innari2026RequestMeta span,
body.stage .innari2026RequestsSummaryCard small,
body.stage .innari2026RequestStatusSelect {
  color: #b8c1ba;
}

body.stage .innari2026RequestIcon,
body.stage .innari2026RequestsSummaryCard .material-symbols-outlined,
body.stage .innari2026RequestStatus.is-open,
body.stage .innari2026RequestStatus.is-done,
body.stage .innari2026RequestActions .innari2026ManageIconAction.is-primary {
  background: rgba(116,214,199,.13);
  color: #74d6c7 !important;
  border-color: rgba(116,214,199,.24);
}

body.stage .innari2026RequestStatus.is-accepted {
  background: rgba(163,206,90,.13);
  color: #c9ee8a;
  border-color: rgba(201,238,138,.25);
}

body.stage .innari2026RequestStatus.is-rejected,
body.stage .innari2026RequestCard.is-rejected .innari2026RequestIcon {
  background: rgba(226,139,107,.13);
  color: #ffb199 !important;
  border-color: rgba(226,139,107,.25);
}

body.stage .innari2026RequestStatus.is-withdrawn,
body.stage .innari2026RequestCard.is-withdrawn .innari2026RequestIcon {
  background: rgba(210,176,116,.13);
  color: #e6c98f !important;
  border-color: rgba(210,176,116,.25);
}

@media (max-width: 920px) {
  .innari2026RequestCard {
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
      "icon main"
      "actions actions";
    gap: 12px;
    padding: 14px;
  }
  .innari2026RequestIcon {
    grid-area: icon;
    width: 48px;
    height: 48px;
  }
  .innari2026RequestIcon .material-symbols-outlined {
    font-size: 1.55rem !important;
  }
  .innari2026RequestMain {
    grid-area: main;
  }
  .innari2026RequestActions {
    grid-area: actions;
    justify-content: flex-start;
    padding-top: 10px;
    border-top: 1px solid rgba(222,215,201,.72);
  }
}

@media (max-width: 720px) {
  .innari2026RequestsPage {
    padding: 10px 8px 18px;
  }
  .innari2026RequestsShell {
    gap: 12px;
  }
  .innari2026RequestsHero {
    padding: 16px;
  }
  .innari2026RequestsHero h2 {
    font-size: clamp(1.85rem, 10vw, 2.45rem);
  }
  .innari2026RequestsBack {
    width: 100%;
  }
  .innari2026RequestsSummary {
    grid-template-columns: 1fr;
  }
  .innari2026RequestTitleRow {
    display: grid;
    gap: 8px;
  }
  .innari2026RequestStatus {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
    line-height: 1.2;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .innari2026RequestMeta {
    grid-template-columns: 1fr;
  }
  .innari2026RequestActions {
    align-items: stretch;
  }
  .innari2026RequestActions .innari2026ManageIconAction,
  .innari2026RequestStatusSelect {
    width: 100%;
    justify-content: center;
  }
  .innari2026RequestStatusSelect {
    box-sizing: border-box;
    justify-content: space-between;
    border-radius: calc(var(--app-radius) - 2px);
    padding: 8px 10px;
  }
  .innari2026RequestStatusSelect select {
    flex: 1 1 auto;
    max-width: none;
  }
  .innari2026RequestsPager {
    display: grid;
    align-items: stretch;
  }
}

@media (max-width: 420px) {
  .innari2026RequestCard {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 12px;
  }
  .innari2026RequestIcon {
    width: 42px;
    height: 42px;
  }
  .innari2026RequestTitleRow h3 {
    font-size: 1.12rem;
  }
}


/* v21.2 - Richieste brani: pagina senza ricerca legacy e ottimizzazione mobile */
body.innari2026RequestsBody {
  overflow-x: hidden;
}

body.innari2026RequestsBody #barraRicerca,
body.innari2026RequestsBody .barraRicerca {
  display: none !important;
}

body.innari2026RequestsBody .innari2026RequestsPage {
  max-width: 100%;
  overflow-x: hidden;
  padding-top: clamp(12px, 2vw, 22px);
}

body.innari2026RequestsBody .innari2026RequestsShell,
body.innari2026RequestsBody .innari2026RequestsHero,
body.innari2026RequestsBody .innari2026RequestsHero > div,
body.innari2026RequestsBody .innari2026RequestsSummaryCard,
body.innari2026RequestsBody .innari2026RequestCard,
body.innari2026RequestsBody .innari2026RequestMain,
body.innari2026RequestsBody .innari2026RequestTitleRow,
body.innari2026RequestsBody .innari2026RequestsPager {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.innari2026RequestsBody .innari2026RequestsHero h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

body.innari2026RequestsBody .innari2026RequestsHero p {
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.innari2026RequestsBody .innari2026RequestsPager .innari2026ManagePagerInfo {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.innari2026RequestsBody .innari2026RequestsPager .innari2026ManagePagerButtons {
  min-width: 0;
  flex-wrap: wrap;
}

@media (max-width: 720px) {
  body.innari2026RequestsBody .innari2026RequestsPage {
    padding: 8px 8px 18px;
  }

  body.innari2026RequestsBody .innari2026RequestsHero {
    padding: 14px 12px;
    gap: 12px;
  }

  body.innari2026RequestsBody .innari2026RequestsHero h2 {
    font-size: clamp(1.65rem, 8.5vw, 2.15rem);
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  body.innari2026RequestsBody .innari2026RequestsHero p {
    font-size: .94rem;
    line-height: 1.32;
  }

  body.innari2026RequestsBody .innari2026RequestsSummaryCard {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 12px;
  }

  body.innari2026RequestsBody .innari2026RequestsSummaryCard .material-symbols-outlined {
    width: 38px;
    height: 38px;
    font-size: 1.28rem !important;
  }

  body.innari2026RequestsBody .innari2026RequestCard {
    gap: 10px;
  }
}

@media (max-width: 420px) {
  body.innari2026RequestsBody .innari2026RequestsPage {
    padding-left: 6px;
    padding-right: 6px;
  }

  body.innari2026RequestsBody .innari2026RequestsHero {
    border-radius: 18px;
  }

  body.innari2026RequestsBody .innari2026RequestsHero h2 {
    font-size: clamp(1.5rem, 8vw, 1.95rem);
  }

  body.innari2026RequestsBody .innari2026RequestCard {
    border-radius: 18px;
  }
}

/* v21.3 - Richieste brani: contenimento anti-taglio e mobile piu compatto */
body.innari2026RequestsBody {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.innari2026RequestsBody .innari2026RequestsPage,
body.innari2026RequestsBody .innari2026RequestsShell,
body.innari2026RequestsBody .innari2026RequestsHero,
body.innari2026RequestsBody .innari2026RequestsHero > div,
body.innari2026RequestsBody .innari2026RequestsSummary,
body.innari2026RequestsBody .innari2026RequestsList,
body.innari2026RequestsBody .innari2026RequestCard,
body.innari2026RequestsBody .innari2026RequestsPager {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.innari2026RequestsBody .innari2026RequestsHero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  overflow: hidden !important;
}

body.innari2026RequestsBody .innari2026RequestsHero h2,
body.innari2026RequestsBody .innari2026RequestsHero p,
body.innari2026RequestsBody .innari2026RequestsHero .innari2026RequestsIntro,
body.innari2026RequestsBody .innari2026RequestsHero .innari2026RequestsIntro b,
body.innari2026RequestsBody .innari2026RequestsHero .innari2026RequestsIntro span,
body.innari2026RequestsBody .innari2026Eyebrow {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

body.innari2026RequestsBody .innari2026RequestsIntro {
  display: block !important;
}

body.innari2026RequestsBody .innari2026RequestsIntro b,
body.innari2026RequestsBody .innari2026RequestsIntro span {
  display: block !important;
}

body.innari2026RequestsBody .innari2026RequestsIntro b {
  margin-bottom: 3px;
}

body.innari2026RequestsBody .innari2026RequestsBack {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 720px) {
  body.innari2026RequestsBody .innari2026RequestsPage {
    padding: 8px 6px 18px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsShell {
    gap: 12px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsHero {
    padding: 16px 14px !important;
    border-radius: 22px !important;
    gap: 12px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsHero h2 {
    font-size: clamp(1.42rem, 7vw, 1.95rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.03em !important;
  }

  body.innari2026RequestsBody .innari2026RequestsHero p {
    margin-top: 8px !important;
    font-size: .9rem !important;
    line-height: 1.28 !important;
  }

  body.innari2026RequestsBody .innari2026Eyebrow {
    font-size: .78rem !important;
    line-height: 1.1 !important;
  }

  body.innari2026RequestsBody .innari2026RequestsBack {
    min-height: 44px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsSummary {
    gap: 10px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsSummaryCard {
    min-height: 74px !important;
  }
}

@media (max-width: 420px) {
  body.innari2026RequestsBody .innari2026RequestsPage {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsHero {
    padding: 15px 12px !important;
    border-radius: 20px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsHero h2 {
    font-size: clamp(1.34rem, 6.8vw, 1.75rem) !important;
  }

  body.innari2026RequestsBody .innari2026RequestsHero p {
    font-size: .86rem !important;
  }

  body.innari2026RequestsBody .innari2026RequestsSummaryCard {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    padding: 10px 11px !important;
  }

  body.innari2026RequestsBody .innari2026RequestsSummaryCard .material-symbols-outlined {
    width: 34px !important;
    height: 34px !important;
    font-size: 1.18rem !important;
  }
}

/* v21.4 - Pagina gruppo pubblica: nuova grafica responsive */
body.innari2026GroupBody {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.innari2026GroupBody #barraRicerca,
body.innari2026GroupBody .barraRicerca {
  display: none !important;
}

.innari2026GroupPage,
.innari2026GroupInnariSection {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: clamp(12px, 3vw, 28px);
}

.innari2026GroupInnariSection {
  padding-top: 0;
}

.innari2026GroupShell {
  width: min(980px, 100%);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  box-sizing: border-box;
}

.innari2026GroupHero,
.innari2026GroupStatusCard,
.innari2026GroupContactForm,
.innari2026GroupSectionHead,
.innari2026GroupInnarioCard,
.innari2026GroupEmptyCard {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.innari2026GroupHero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: clamp(18px, 3.2vw, 28px);
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) + 6px);
  background: linear-gradient(135deg, rgba(255,253,247,.96), rgba(245,239,227,.86));
  box-shadow: 0 18px 55px rgba(52,45,34,.12);
  overflow: hidden;
}

.innari2026GroupHeroMain {
  min-width: 0;
}

.innari2026GroupHero h2 {
  max-width: 100%;
  margin: 6px 0 10px;
  color: var(--app-ink);
  font-size: clamp(2rem, 5vw, 3.45rem);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 950;
  overflow-wrap: break-word;
  word-break: normal;
}

.innari2026GroupDescription {
  max-width: 68ch;
  color: var(--app-ink);
  font-size: clamp(1rem, 1.65vw, 1.16rem);
  line-height: 1.5;
  overflow-wrap: break-word;
}

.innari2026GroupHeroActions {
  display: grid;
  gap: 9px;
  min-width: min(220px, 100%);
}

.innari2026GroupHeroButton,
a.innari2026GroupHeroButton {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  border: 0;
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-green);
  color: #fff !important;
  font: inherit;
  font-weight: 950;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(23,106,95,.22);
  cursor: pointer;
}

.innari2026GroupHeroButton .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.35rem !important;
}

.innari2026GroupHeroButton:hover,
a.innari2026GroupHeroButton:hover,
.innari2026GroupHeroButton:focus-visible,
a.innari2026GroupHeroButton:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.innari2026GroupStatusCard {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,.94);
  box-shadow: 0 12px 35px rgba(52,45,34,.09);
}

.innari2026GroupStatusCard.is-cta {
  border-left: 5px solid var(--app-green);
}

.innari2026GroupStatusIcon {
  width: 54px;
  height: 54px;
  display: grid !important;
  place-items: center;
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.65rem !important;
}

.innari2026GroupStatusText {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.innari2026GroupStatusText strong {
  color: var(--app-ink);
  font-size: 1.05rem;
  line-height: 1.12;
  font-weight: 950;
  overflow-wrap: break-word;
}

.innari2026GroupStatusText span {
  color: var(--app-muted);
  font-size: .92rem;
  line-height: 1.32;
  overflow-wrap: break-word;
}

.innari2026GroupStatusActions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.innari2026GroupContactForm {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,.96);
  box-shadow: 0 16px 45px rgba(52,45,34,.12);
}

.innari2026GroupContactHead {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 4px;
}

.innari2026GroupContactHead > .material-symbols-outlined {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
}

.innari2026GroupContactHead strong {
  display: block;
  color: var(--app-ink);
  font-size: 1.16rem;
  font-weight: 950;
}

.innari2026GroupContactHead small {
  display: block;
  color: var(--app-muted);
  line-height: 1.25;
}

.innari2026GroupContactForm label {
  display: grid;
  gap: 6px;
  color: var(--app-muted);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.innari2026GroupContactForm input,
.innari2026GroupContactForm textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid var(--app-line);
  border-radius: calc(var(--app-radius) - 6px);
  background: var(--app-paper);
  color: var(--app-ink);
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  padding: 12px 13px;
  text-transform: none;
  letter-spacing: normal;
}

.innari2026GroupContactForm textarea {
  resize: vertical;
}

.innari2026GroupContactActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.innari2026GroupSectionHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 2px 2px;
}

.innari2026GroupSectionHead h2 {
  margin: 4px 0 4px;
  color: var(--app-ink);
  font-size: clamp(1.75rem, 4vw, 2.8rem);
  line-height: 1;
  letter-spacing: -.035em;
  font-weight: 950;
  overflow-wrap: break-word;
}

.innari2026GroupSectionHead p {
  margin: 0;
  color: var(--app-muted);
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: break-word;
}

.innari2026GroupInnariGrid {
  display: grid;
  gap: 10px;
}

.innari2026GroupInnarioCard {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 34px;
  gap: 13px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--app-line);
  border-radius: var(--app-radius);
  background: rgba(255,253,247,.96);
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 12px 35px rgba(52,45,34,.09);
}

.innari2026GroupInnarioCard:hover,
.innari2026GroupInnarioCard:focus-visible {
  border-color: rgba(23,106,95,.35);
  transform: translateY(-1px);
}

.innari2026GroupInnarioIcon {
  width: 52px;
  height: 52px;
  display: grid !important;
  place-items: center;
  border-radius: calc(var(--app-radius) - 4px);
  background: var(--app-green-soft);
  color: var(--app-green) !important;
  font-size: 1.55rem !important;
}

.innari2026GroupInnarioMain {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.innari2026GroupInnarioMain > strong {
  min-width: 0;
  color: var(--app-green);
  font-size: clamp(1.14rem, 2.5vw, 1.45rem);
  line-height: 1.08;
  font-weight: 950;
  overflow-wrap: break-word;
}

.innari2026GroupInnarioMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.innari2026GroupInnarioMeta > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(23,106,95,.16);
  border-radius: 999px;
  background: var(--app-green-soft);
  color: var(--app-green);
}

.innari2026GroupInnarioMeta small {
  color: var(--app-muted);
  font-size: .66rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 950;
}

.innari2026GroupInnarioMeta b {
  color: var(--app-ink);
  font-size: .9rem;
  font-weight: 950;
}

.innari2026GroupInnarioArrow {
  color: var(--app-green) !important;
  font-size: 1.75rem !important;
}

body.stage .innari2026GroupHero,
body.stage .innari2026GroupStatusCard,
body.stage .innari2026GroupContactForm,
body.stage .innari2026GroupInnarioCard,
body.stage .innari2026GroupEmptyCard {
  background: rgba(22,26,27,.92);
  border-color: rgba(245,239,227,.14);
  box-shadow: 0 18px 55px rgba(0,0,0,.32);
}

body.stage .innari2026GroupHero h2,
body.stage .innari2026GroupDescription,
body.stage .innari2026GroupStatusText strong,
body.stage .innari2026GroupContactHead strong,
body.stage .innari2026GroupSectionHead h2,
body.stage .innari2026GroupInnarioMeta b,
body.stage .innari2026GroupContactForm input,
body.stage .innari2026GroupContactForm textarea {
  color: #f5efe3;
}

body.stage .innari2026GroupStatusText span,
body.stage .innari2026GroupContactHead small,
body.stage .innari2026GroupContactForm label,
body.stage .innari2026GroupSectionHead p,
body.stage .innari2026GroupInnarioMeta small {
  color: #b8c1ba;
}

body.stage .innari2026GroupStatusIcon,
body.stage .innari2026GroupContactHead > .material-symbols-outlined,
body.stage .innari2026GroupInnarioIcon,
body.stage .innari2026GroupInnarioMeta > span {
  background: rgba(116,214,199,.13);
  color: #74d6c7 !important;
  border-color: rgba(116,214,199,.22);
}

body.stage .innari2026GroupContactForm input,
body.stage .innari2026GroupContactForm textarea {
  background: rgba(255,255,255,.055);
  border-color: rgba(245,239,227,.14);
}

@media (max-width: 720px) {
  .innari2026GroupPage,
  .innari2026GroupInnariSection {
    padding: 8px 6px 18px !important;
  }

  .innari2026GroupShell {
    gap: 12px;
  }

  .innari2026GroupHero {
    grid-template-columns: minmax(0, 1fr);
    padding: 16px 14px;
    border-radius: 22px;
    gap: 14px;
  }

  .innari2026GroupHero h2 {
    font-size: clamp(1.5rem, 8vw, 2rem);
    line-height: 1.05;
    letter-spacing: -.035em;
  }

  .innari2026GroupDescription {
    font-size: .96rem;
    line-height: 1.42;
  }

  .innari2026GroupHeroActions {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .innari2026GroupStatusCard {
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas:
      "icon text"
      "actions actions";
    gap: 11px;
    padding: 13px;
    border-radius: 20px;
  }

  .innari2026GroupStatusIcon {
    grid-area: icon;
    width: 44px;
    height: 44px;
    font-size: 1.35rem !important;
  }

  .innari2026GroupStatusText {
    grid-area: text;
  }

  .innari2026GroupStatusActions {
    grid-area: actions;
    justify-content: stretch;
  }

  .innari2026GroupStatusActions .innari2026ManagePrimaryAction,
  .innari2026GroupStatusActions .innari2026ManageIconAction {
    width: 100%;
    justify-content: center;
    min-height: 44px;
    box-sizing: border-box;
  }

  .innari2026GroupContactForm {
    padding: 13px;
    border-radius: 20px;
  }

  .innari2026GroupContactActions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .innari2026GroupContactActions .innari2026ManageIconAction,
  .innari2026GroupContactActions .innari2026ManagePrimaryAction {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }

  .innari2026GroupSectionHead {
    padding: 12px 2px 0;
  }

  .innari2026GroupSectionHead h2 {
    font-size: clamp(1.42rem, 7vw, 2rem);
    line-height: 1.05;
  }

  .innari2026GroupSectionHead p {
    font-size: .92rem;
  }

  .innari2026GroupInnarioCard {
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas:
      "icon main"
      "arrow main";
    gap: 10px;
    padding: 12px;
    border-radius: 20px;
  }

  .innari2026GroupInnarioIcon {
    grid-area: icon;
    width: 42px;
    height: 42px;
    font-size: 1.25rem !important;
  }

  .innari2026GroupInnarioMain {
    grid-area: main;
  }

  .innari2026GroupInnarioArrow {
    grid-area: arrow;
    align-self: end;
    font-size: 1.35rem !important;
  }

  .innari2026GroupInnarioMeta {
    gap: 6px;
  }

  .innari2026GroupInnarioMeta > span {
    min-height: 28px;
    padding-inline: 8px;
  }
}

@media (max-width: 420px) {
  .innari2026GroupPage,
  .innari2026GroupInnariSection {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .innari2026GroupHero {
    padding: 15px 12px;
    border-radius: 20px;
  }

  .innari2026GroupHero h2 {
    font-size: clamp(1.34rem, 7vw, 1.78rem);
  }

  .innari2026GroupDescription {
    font-size: .9rem;
  }

  .innari2026GroupStatusText strong {
    font-size: .98rem;
  }

  .innari2026GroupStatusText span {
    font-size: .86rem;
  }

  .innari2026GroupInnarioMain > strong {
    font-size: 1.08rem;
  }
}


/* v21.6 - Gruppo: fix testi tagliati nella sezione innari su mobile */
.innari2026GroupSectionHead {
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.innari2026GroupSectionHead > div {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}

.innari2026GroupSectionHead .innari2026Eyebrow,
.innari2026GroupSectionHead h2,
.innari2026GroupSectionHead p {
  max-width: 100%;
  min-width: 0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  word-break: normal;
  box-sizing: border-box;
}

body.innari2026GroupBody .innari2026GroupInnariSection {
  overflow-x: hidden;
}

body.innari2026GroupBody .innari2026GroupShell {
  overflow: visible;
}

@media (max-width: 720px) {
  .innari2026GroupSectionHead {
    display: block;
    width: 100%;
    padding-inline: 2px;
  }

  .innari2026GroupSectionHead h2 {
    font-size: clamp(1.32rem, 6.4vw, 1.82rem);
    line-height: 1.08;
  }

  .innari2026GroupSectionHead p {
    display: block;
    font-size: .9rem;
    line-height: 1.34;
    padding-right: 0;
  }
}

@media (max-width: 420px) {
  .innari2026GroupSectionHead h2 {
    font-size: clamp(1.22rem, 6vw, 1.58rem);
  }

  .innari2026GroupSectionHead p {
    font-size: .86rem;
  }
}

/* v22.1 - Trasporto con capotasto nel popover tonalita */
.innari2026KeyPopoverCapo{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(47,125,109,.14);
  display:grid;
  gap:8px;
}
.innari2026KeyPopoverCapoHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 2px;
}
.innari2026KeyPopoverCapoHead span{
  color:var(--app-muted,#5f6c67);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.innari2026KeyPopoverCapoHead strong{
  color:var(--app-coral,#bc4d34);
  font-size:.92rem;
  font-weight:950;
  white-space:nowrap;
}
.innari2026KeyPopoverCapoGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
}
.innari2026KeyPopoverCapoGrid button{
  min-height:34px;
  border:1px solid rgba(47,125,109,.16);
  border-radius:13px;
  background:rgba(255,255,255,.62);
  color:var(--app-green,#0f6b61);
  font-size:.86rem;
  font-weight:900;
  cursor:pointer;
}
.innari2026KeyPopoverCapoGrid button:hover{
  border-color:rgba(47,125,109,.36);
  background:rgba(47,125,109,.14);
}
.innari2026KeyPopoverCapoGrid button[aria-pressed="true"]{
  background:var(--app-coral,#bc4d34);
  border-color:var(--app-coral,#bc4d34);
  color:#fffaf0;
}
.innari2026KeyPopoverCapo small{
  display:block;
  color:var(--app-muted,#5f6c67);
  font-size:.76rem;
  font-weight:800;
  line-height:1.25;
}
.innari2026SongBadges button#innari2026StatCapoBadge.innari2026CapoBadge{
  appearance:none !important;
  -webkit-appearance:none !important;
  min-height:0 !important;
  padding:8px 11px !important;
  border:1px solid var(--app-line) !important;
  border-radius:999px !important;
  background:rgba(249,244,233,.86) !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:7px !important;
  box-shadow:none !important;
  color:inherit !important;
  font:inherit !important;
  line-height:1.1 !important;
  text-align:inherit !important;
}
.innari2026SongBadges button#innari2026StatCapoBadge[hidden],
.innari2026SongBadges button#innari2026StatCapoBadge[aria-hidden="true"]{
  display:none !important;
}
.innari2026SongBadges button#innari2026StatCapoBadge span{
  color:var(--app-muted,#5f6c67) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.innari2026SongBadges button#innari2026StatCapoBadge strong{
  color:var(--app-coral,#bc4d34) !important;
  font-size:1rem !important;
  font-weight:950 !important;
}
body.stage .innari2026KeyPopoverCapo{
  border-top-color:rgba(116,214,199,.16);
}
body.stage .innari2026KeyPopoverCapoGrid button{
  background:rgba(116,214,199,.08);
}
body.stage .innari2026SongBadges button#innari2026StatCapoBadge{
  background:rgba(40,45,43,.86) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
}
body.stage .innari2026SongBadges button#innari2026StatCapoBadge span{
  color:rgba(245,239,227,.70) !important;
}
@media (max-width:560px){
  .innari2026KeyPopoverCapoGrid button{min-height:36px;}
  .innari2026KeyPopoverCapo small{font-size:.74rem;}
}

/* v22.2 - Capotasto anche nel pannello Trasporto */
.innari2026TransposeSection .innari2026CapoTransportRow{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(23,106,95,.12);
}
.innari2026TransposeSection .innari2026CapoTransportRow .innari2026KeyPill,
.innari2026TransposeSection .innari2026CapoTransportRow .innari2026KeyStepper{
  background:rgba(255,253,247,.78);
}
.innari2026CapoTransportRow.is-active .innari2026KeyStepper button:nth-child(2) strong,
.innari2026CapoTransportRow.is-active .innari2026KeyPill strong{
  color:var(--app-coral,#bc4d34);
}
.innari2026CapoTransportRow .innari2026KeyStepper button[disabled]{
  opacity:.46;
  cursor:not-allowed;
  pointer-events:none;
}
.innari2026CapoTransportRow .innari2026KeyStepper button[aria-pressed="true"]{
  border-color:rgba(188,77,52,.34) !important;
  background:rgba(188,77,52,.10) !important;
}
body.stage .innari2026TransposeSection .innari2026CapoTransportRow{
  border-top-color:rgba(116,214,199,.18);
}
body.stage .innari2026TransposeSection .innari2026CapoTransportRow .innari2026KeyPill,
body.stage .innari2026TransposeSection .innari2026CapoTransportRow .innari2026KeyStepper,
body.stage .innari2026TransposeSection .innari2026CapoTransportRow .innari2026KeyStepper button{
  background:rgba(32,43,39,.95) !important;
  border-color:rgba(116,214,199,.26) !important;
}
body.stage .innari2026CapoTransportRow.is-active .innari2026KeyStepper button:nth-child(2) strong,
body.stage .innari2026CapoTransportRow.is-active .innari2026KeyPill strong{
  color:#ff9b7c !important;
}
@media (max-width:560px){
  .innari2026TransposeSection .innari2026CapoTransportRow{
    margin-top:7px;
    padding-top:7px;
  }
}


/* v22.5 - Riga compatta: semplificazione + suggerimento chitarra */
.innari2026TransposeSection .innari2026EasyGuitarRow{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(23,106,95,.12);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.innari2026TransportActionButton{
  min-width:0;
  min-height:62px;
  width:100%;
  border:1px solid var(--app-line,rgba(23,106,95,.16));
  border-radius:14px;
  background:rgba(255,255,255,.58);
  color:var(--app-ink,#1f2523);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:9px 12px;
  font:inherit;
  text-align:center;
  cursor:pointer;
  box-shadow:none;
  box-sizing:border-box;
}
.innari2026TransportActionButton strong{
  color:var(--app-teal,#176a5f);
  font-weight:950;
  line-height:1.08;
  overflow-wrap:anywhere;
}
.innari2026TransportActionButton small{
  color:var(--app-muted,#66736e);
  font-size:.72rem;
  font-weight:800;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.innari2026TransportActionButton:disabled{
  opacity:.64;
  cursor:default;
}
.innari2026SimplifyToggleButton[aria-pressed="true"],
.innari2026SimplifyToggleButton.is-active,
.innari2026GuitarSuggestionApply.is-active,
.innari2026EasyGuitarRow.is-guitar-suggested .innari2026GuitarSuggestionApply{
  border-color:rgba(188,77,52,.34) !important;
  background:rgba(188,77,52,.10) !important;
}
.innari2026SimplifyToggleButton[aria-pressed="true"] strong,
.innari2026SimplifyToggleButton.is-active strong,
.innari2026GuitarSuggestionApply.is-active strong,
.innari2026EasyGuitarRow.is-guitar-suggested .innari2026GuitarSuggestionApply strong{
  color:var(--app-coral,#bc4d34) !important;
}
.innari2026SongBadges button#innari2026StatSimplifyBadge.innari2026SimplifyBadge{
  appearance:none !important;
  -webkit-appearance:none !important;
  min-height:0 !important;
  padding:8px 11px !important;
  border:1px solid var(--app-line) !important;
  border-radius:999px !important;
  background:rgba(249,244,233,.86) !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:7px !important;
  box-shadow:none !important;
  color:inherit !important;
  font:inherit !important;
  line-height:1.1 !important;
  text-align:inherit !important;
  cursor:pointer !important;
}
.innari2026SongBadges button#innari2026StatSimplifyBadge[hidden],
.innari2026SongBadges button#innari2026StatSimplifyBadge[aria-hidden="true"]{
  display:none !important;
}
.innari2026SongBadges button#innari2026StatSimplifyBadge span{
  color:var(--app-muted,#5f6c67) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.innari2026SongBadges button#innari2026StatSimplifyBadge strong{
  color:var(--app-coral,#bc4d34) !important;
  font-size:1rem !important;
  font-weight:950 !important;
}
body.stage .innari2026TransposeSection .innari2026EasyGuitarRow{
  border-top-color:rgba(116,214,199,.18);
}
body.stage .innari2026TransposeSection .innari2026TransportActionButton{
  background:rgba(32,43,39,.95) !important;
  border-color:rgba(116,214,199,.26) !important;
}
body.stage .innari2026SimplifyToggleButton[aria-pressed="true"] strong,
body.stage .innari2026SimplifyToggleButton.is-active strong,
body.stage .innari2026GuitarSuggestionApply.is-active strong,
body.stage .innari2026EasyGuitarRow.is-guitar-suggested .innari2026GuitarSuggestionApply strong{
  color:#ff9b7c !important;
}
body.stage .innari2026TransportActionButton small{
  color:rgba(245,239,227,.70) !important;
}
body.stage .innari2026SongBadges button#innari2026StatSimplifyBadge{
  background:rgba(40,45,43,.86) !important;
  border-color:var(--app-line,rgba(245,239,227,.14)) !important;
}
body.stage .innari2026SongBadges button#innari2026StatSimplifyBadge span{
  color:rgba(245,239,227,.70) !important;
}
@media (max-width:680px){
  .innari2026TransposeSection .innari2026EasyGuitarRow{
    gap:8px;
  }
  .innari2026TransportActionButton{
    min-height:58px;
    padding:8px 9px;
  }
  .innari2026TransportActionButton strong{
    font-size:.88rem !important;
  }
}
@media (max-width:430px){
  .innari2026TransposeSection .innari2026EasyGuitarRow{
    grid-template-columns:1fr;
    margin-top:7px;
    padding-top:7px;
  }
  .innari2026TransportActionButton strong{
    font-size:.86rem !important;
  }
}

/* v22.6 - spazio stabile tra topbar fissa e blocco brano.
   Mantiene la compensazione dell'altezza reale della topbar e aggiunge
   un piccolo margine di sicurezza sul primo box del brano, utile su mobile/PWA. */
body.innari2026AppPage.innari2026SongPage {
  --innari2026SongTopGap: clamp(14px, 1.8vw, 24px);
  padding-top: calc(var(--innari2026MeasuredTopbarHeight, var(--innari2026FixedTopbarHeight, 62px)) + var(--innari2026SongTopGap, 14px)) !important;
}

body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
  margin-top: clamp(10px, 1.4vw, 16px) !important;
}

@supports (top: env(safe-area-inset-top)) {
  body.innari2026AppPage.innari2026SongPage {
    padding-top: calc(var(--innari2026MeasuredTopbarHeight, var(--innari2026FixedTopbarHeight, 62px)) + var(--innari2026SongTopGap, 14px) + env(safe-area-inset-top)) !important;
  }
}

@media (max-width: 680px) {
  body.innari2026AppPage.innari2026SongPage {
    --innari2026SongTopGap: 14px;
  }

  body.innari2026AppPage.innari2026SongPage #tabellaTestoBrano {
    margin-top: 14px !important;
  }
}


/* v22.7 - pulsanti semplificazione/suggerimento sempre su una sola riga.
   Anche su schermi stretti i due comandi restano affiancati, con testi ridotti. */
.innari2026TransposeSection .innari2026EasyGuitarRow{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}
.innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton{
  min-width:0 !important;
  min-height:58px !important;
  padding:8px 8px !important;
}
.innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton strong{
  font-size:.88rem !important;
  line-height:1.05 !important;
}
.innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton small{
  font-size:.64rem !important;
  line-height:1.08 !important;
}
@media (max-width:430px){
  .innari2026TransposeSection .innari2026EasyGuitarRow{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:6px !important;
  }
  .innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton{
    min-height:56px !important;
    padding:7px 5px !important;
    border-radius:13px !important;
  }
  .innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton strong{
    font-size:.76rem !important;
    line-height:1.03 !important;
  }
  .innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton small{
    font-size:.56rem !important;
    line-height:1.05 !important;
  }
}
@media (max-width:350px){
  .innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton{
    min-height:52px !important;
    padding:6px 4px !important;
  }
  .innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton strong{
    font-size:.70rem !important;
  }
  .innari2026TransposeSection .innari2026EasyGuitarRow .innari2026TransportActionButton small{
    font-size:.52rem !important;
  }
}


/* v22.11 - titolo Capotasto piu arioso nel pannello Trasporto.
   Il titolo resta separato dal blocco Trasporto e la linea sopra il blocco capo viene rimossa. */
.innari2026TransposeSection .innari2026CapoSectionTitle{
  margin-top:14px !important;
  margin-bottom:8px !important;
}
.innari2026TransposeSection .innari2026CapoTransportRow{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
body.stage .innari2026TransposeSection .innari2026CapoTransportRow{
  border-top:0 !important;
}
@media (max-width:560px){
  .innari2026TransposeSection .innari2026CapoSectionTitle{
    margin-top:12px !important;
    margin-bottom:7px !important;
  }
  .innari2026TransposeSection .innari2026CapoTransportRow{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

/* v22.12 - Dizionario accordi */
.innari2026ChordLookupToken {
  cursor: pointer;
  border-radius: .32em;
  padding: 0 .08em;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.innari2026ChordLookupToken:hover,
.innari2026ChordLookupToken:focus-visible {
  background: rgba(23,106,95,.10);
  box-shadow: 0 0 0 .14em rgba(23,106,95,.14);
  outline: none;
}
.innari2026ChordDictionaryBackdrop {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(19,28,27,.42);
  backdrop-filter: blur(5px);
}
.innari2026ChordDictionaryBackdrop[hidden] {
  display: none !important;
}
.innari2026ChordDictionarySheet {
  position: relative;
  width: min(560px, 100%);
  max-height: min(86vh, 760px);
  overflow: auto;
  border: 1px solid rgba(23,106,95,.20);
  border-radius: 28px;
  background: #fffaf0;
  color: #1f2422;
  box-shadow: 0 24px 70px rgba(23,32,31,.26);
  padding: 22px;
}
.innari2026ChordDictionaryClose {
  position: sticky;
  top: 0;
  float: right;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(23,106,95,.20);
  border-radius: 16px;
  background: rgba(255,250,240,.95);
  color: #176a5f;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.innari2026ChordDictionaryHeader {
  padding: 4px 52px 14px 0;
}
.innari2026ChordDictionaryHeader span {
  display: block;
  color: #6e7771;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .82rem;
}
.innari2026ChordDictionaryHeader h3 {
  margin: 2px 0 0;
  color: #176a5f;
  font-size: clamp(2.1rem, 8vw, 3.3rem);
  line-height: .98;
  font-weight: 950;
}
.innari2026ChordDictionaryHeader p {
  margin: 7px 0 0;
  color: #ba5338;
  font-weight: 900;
  font-size: 1.05rem;
}
.innari2026ChordDictionaryGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}
.innari2026ChordDictionarySection {
  margin: 12px 0 0;
  border: 1px solid rgba(23,106,95,.16);
  border-radius: 20px;
  background: rgba(255,255,255,.48);
  padding: 14px;
}
.innari2026ChordDictionarySection h4 {
  margin: 0 0 9px;
  color: #6e7771;
  font-size: .9rem;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 950;
}
.innari2026ChordDictionarySection p {
  margin: 7px 0 0;
  line-height: 1.35;
  font-weight: 750;
}
.innari2026ChordShapeCode {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  padding: 9px 12px;
  border-radius: 16px;
  background: rgba(23,106,95,.10);
  color: #176a5f;
  font-weight: 950;
  letter-spacing: .08em;
  font-size: 1.2rem;
}
.innari2026ChordShapeGrid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 5px;
  margin-top: 10px;
}
.innari2026ChordShapeGrid span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 54px;
  border: 1px solid rgba(23,106,95,.15);
  border-radius: 14px;
  background: rgba(255,250,240,.68);
}
.innari2026ChordShapeGrid em {
  font-style: normal;
  color: #6e7771;
  font-size: .72rem;
  font-weight: 900;
}
.innari2026ChordShapeGrid strong {
  color: #1f2422;
  font-size: 1.12rem;
  font-weight: 950;
}
.innari2026ChordNotes {
  color: #176a5f;
  font-size: 1.18rem;
  font-weight: 950 !important;
}
.innari2026ChordSmall,
.innari2026ChordEmpty {
  color: #6e7771;
  font-size: .92rem;
}
body.stage .innari2026ChordDictionarySheet,
.innariTheme-dark .innari2026ChordDictionarySheet {
  background: #1f2422;
  color: #f6efe4;
  border-color: rgba(241,201,91,.28);
}
body.stage .innari2026ChordDictionaryClose,
.innariTheme-dark .innari2026ChordDictionaryClose {
  background: rgba(31,36,34,.95);
  color: #f1c95b;
  border-color: rgba(241,201,91,.28);
}
body.stage .innari2026ChordDictionarySection,
.innariTheme-dark .innari2026ChordDictionarySection {
  background: rgba(255,255,255,.05);
  border-color: rgba(241,201,91,.16);
}
body.stage .innari2026ChordDictionaryHeader h3,
body.stage .innari2026ChordNotes,
.innariTheme-dark .innari2026ChordDictionaryHeader h3,
.innariTheme-dark .innari2026ChordNotes {
  color: #f1c95b;
}
body.stage .innari2026ChordShapeCode,
.innariTheme-dark .innari2026ChordShapeCode {
  background: rgba(241,201,91,.12);
  color: #f1c95b;
}
body.stage .innari2026ChordShapeGrid span,
.innariTheme-dark .innari2026ChordShapeGrid span {
  background: rgba(255,255,255,.04);
  border-color: rgba(241,201,91,.13);
}
body.stage .innari2026ChordShapeGrid strong,
.innariTheme-dark .innari2026ChordShapeGrid strong {
  color: #f6efe4;
}
@media (max-width: 640px) {
  .innari2026ChordDictionaryBackdrop {
    align-items: flex-end;
    padding: 10px;
  }
  .innari2026ChordDictionarySheet {
    width: 100%;
    max-height: 82vh;
    border-radius: 24px 24px 18px 18px;
    padding: 18px 14px 14px;
  }
  .innari2026ChordDictionaryGrid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .innari2026ChordDictionaryHeader h3 {
    font-size: clamp(2rem, 13vw, 3rem);
  }
  .innari2026ChordDictionarySection {
    border-radius: 18px;
    padding: 12px;
  }
  .innari2026ChordShapeGrid {
    gap: 4px;
  }
  .innari2026ChordShapeGrid span {
    min-height: 48px;
    border-radius: 12px;
  }
}

/* v22.13 - Dizionario accordi: rientri e anti-overflow nei box */
.innari2026ChordDictionarySheet,
.innari2026ChordDictionarySheet * {
  box-sizing: border-box;
  min-width: 0;
}
#innari2026ChordDictionaryContent,
.innari2026ChordDictionaryHeader,
.innari2026ChordDictionaryGrid,
.innari2026ChordDictionarySection {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
.innari2026ChordDictionaryHeader h3,
.innari2026ChordDictionaryHeader p,
.innari2026ChordDictionarySection h4,
.innari2026ChordDictionarySection p,
.innari2026ChordSmall,
.innari2026ChordEmpty,
.innari2026ChordNotes {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}
.innari2026ChordDictionarySection p {
  text-indent: 0;
  padding-inline: 0;
}
.innari2026ChordDictionarySection strong,
.innari2026ChordDictionarySection b {
  overflow-wrap: anywhere;
}
.innari2026ChordShapeCode {
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  text-align: center;
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.innari2026ChordShapeGrid {
  width: 100%;
  min-width: 0;
}
.innari2026ChordShapeGrid span {
  min-width: 0;
  overflow: hidden;
  padding-inline: 2px;
}
.innari2026ChordShapeGrid strong,
.innari2026ChordShapeGrid em {
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
  line-height: 1.05;
}
@media (max-width: 420px) {
  .innari2026ChordDictionarySheet {
    padding: 16px 12px 12px;
  }
  .innari2026ChordDictionaryHeader {
    padding-right: 48px;
  }
  .innari2026ChordDictionaryHeader h3 {
    font-size: clamp(1.65rem, 11vw, 2.55rem);
    line-height: 1;
  }
  .innari2026ChordDictionaryHeader p {
    font-size: .96rem;
  }
  .innari2026ChordDictionarySection {
    padding: 11px;
  }
  .innari2026ChordDictionarySection h4 {
    font-size: .8rem;
    letter-spacing: .03em;
  }
  .innari2026ChordDictionarySection p,
  .innari2026ChordSmall,
  .innari2026ChordEmpty {
    font-size: .86rem;
    line-height: 1.28;
  }
  .innari2026ChordNotes {
    font-size: 1rem;
  }
  .innari2026ChordShapeCode {
    font-size: 1rem;
    padding: 8px 10px;
  }
  .innari2026ChordShapeGrid {
    gap: 3px;
  }
  .innari2026ChordShapeGrid span {
    min-height: 44px;
    border-radius: 11px;
  }
  .innari2026ChordShapeGrid em {
    font-size: .66rem;
  }
  .innari2026ChordShapeGrid strong {
    font-size: .96rem;
  }
}

/* v22.18 - Dizionario accordi: diagramma grafico SVG e tablatura chitarra */
.innari2026ChordDiagramWrap {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 2px 0 12px;
}
.innari2026ChordDiagramSvg {
  width: min(226px, 100%);
  height: auto;
  display: block;
  overflow: visible;
}
.innari2026ChordDiagramBg {
  fill: rgba(255,250,240,.60);
  stroke: rgba(23,106,95,.14);
  stroke-width: 1.5;
}
.innari2026ChordDiagramString,
.innari2026ChordDiagramFret {
  stroke: rgba(31,36,34,.50);
  stroke-width: 2;
  stroke-linecap: round;
}
.innari2026ChordDiagramNut {
  stroke: rgba(31,36,34,.80);
  stroke-width: 6;
  stroke-linecap: round;
}
.innari2026ChordDiagramDot,
.innari2026ChordDiagramBarre {
  fill: #176a5f;
}
.innari2026ChordDiagramMark,
.innari2026ChordDiagramStringName,
.innari2026ChordDiagramFretLabel {
  fill: #6e7771;
  font-family: inherit;
  font-weight: 950;
  text-anchor: middle;
  dominant-baseline: middle;
}
.innari2026ChordDiagramMark {
  font-size: 16px;
}
.innari2026ChordDiagramStringName,
.innari2026ChordDiagramFretLabel {
  font-size: 12px;
}
.innari2026ChordShapeGridCompact {
  margin-top: 8px;
}
.innari2026ChordTab {
  margin: 10px 0 0;
  border: 1px solid rgba(23,106,95,.12);
  border-radius: 14px;
  background: rgba(23,106,95,.045);
  overflow: hidden;
}
.innari2026ChordTab summary {
  cursor: pointer;
  padding: 8px 10px;
  color: #6e7771;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
  list-style-position: inside;
}
.innari2026ChordTab pre {
  margin: 0;
  padding: 0 12px 10px 12px;
  color: #176a5f;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .92rem;
  line-height: 1.22;
  font-weight: 850;
  white-space: pre;
  overflow-x: auto;
}
body.stage .innari2026ChordDiagramBg,
.innariTheme-dark .innari2026ChordDiagramBg {
  fill: rgba(255,255,255,.04);
  stroke: rgba(241,201,91,.18);
}
body.stage .innari2026ChordDiagramString,
body.stage .innari2026ChordDiagramFret,
.innariTheme-dark .innari2026ChordDiagramString,
.innariTheme-dark .innari2026ChordDiagramFret {
  stroke: rgba(246,239,228,.54);
}
body.stage .innari2026ChordDiagramNut,
.innariTheme-dark .innari2026ChordDiagramNut {
  stroke: rgba(246,239,228,.84);
}
body.stage .innari2026ChordDiagramDot,
body.stage .innari2026ChordDiagramBarre,
.innariTheme-dark .innari2026ChordDiagramDot,
.innariTheme-dark .innari2026ChordDiagramBarre {
  fill: #f1c95b;
}
body.stage .innari2026ChordDiagramMark,
body.stage .innari2026ChordDiagramStringName,
body.stage .innari2026ChordDiagramFretLabel,
.innariTheme-dark .innari2026ChordDiagramMark,
.innariTheme-dark .innari2026ChordDiagramStringName,
.innariTheme-dark .innari2026ChordDiagramFretLabel {
  fill: rgba(246,239,228,.72);
}
body.stage .innari2026ChordTab,
.innariTheme-dark .innari2026ChordTab {
  border-color: rgba(241,201,91,.16);
  background: rgba(241,201,91,.08);
}
body.stage .innari2026ChordTab pre,
.innariTheme-dark .innari2026ChordTab pre {
  color: #f1c95b;
}
@media (max-width: 420px) {
  .innari2026ChordDiagramWrap {
    margin-bottom: 9px;
  }
  .innari2026ChordDiagramSvg {
    width: min(206px, 100%);
  }
  .innari2026ChordTab pre {
    font-size: .84rem;
  }
}


/* v22.20 - Dizionario accordi: altre rappresentazioni chiuse e diagramma piu' compatto */
.innari2026ChordDiagramWrap {
  margin: 0 0 8px;
}
.innari2026ChordDiagramSvg {
  width: min(188px, 100%);
}
.innari2026ChordMore {
  margin-top: 8px;
  border: 1px solid rgba(23,106,95,.14);
  border-radius: 16px;
  background: rgba(23,106,95,.035);
  overflow: hidden;
}
.innari2026ChordMore summary {
  cursor: pointer;
  padding: 9px 12px;
  color: #6e7771;
  font-size: .82rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .035em;
  list-style-position: inside;
  user-select: none;
}
.innari2026ChordMore[open] summary {
  border-bottom: 1px solid rgba(23,106,95,.10);
}
.innari2026ChordMoreBody {
  padding: 10px 10px 12px;
}
.innari2026ChordMore .innari2026ChordShapeCode {
  margin: 0 0 8px;
}
.innari2026ChordMore .innari2026ChordTab {
  margin-top: 8px;
}
.innari2026ChordTabLabel {
  padding: 8px 10px 3px;
  color: #6e7771;
  font-size: .76rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}
body.stage .innari2026ChordMore,
.innariTheme-dark .innari2026ChordMore {
  border-color: rgba(241,201,91,.16);
  background: rgba(241,201,91,.06);
}
body.stage .innari2026ChordMore[open] summary,
.innariTheme-dark .innari2026ChordMore[open] summary {
  border-bottom-color: rgba(241,201,91,.13);
}
body.stage .innari2026ChordMore summary,
body.stage .innari2026ChordTabLabel,
.innariTheme-dark .innari2026ChordMore summary,
.innariTheme-dark .innari2026ChordTabLabel {
  color: rgba(246,239,228,.72);
}
@media (max-width: 420px) {
  .innari2026ChordDiagramSvg {
    width: min(172px, 100%);
  }
  .innari2026ChordMore summary {
    font-size: .76rem;
    padding: 8px 10px;
  }
  .innari2026ChordMoreBody {
    padding: 9px 8px 10px;
  }
}

/* v22.21 - Dizionario accordi: Chitarra a tutta larghezza e Note sotto anche su desktop */
.innari2026ChordDictionaryGrid {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
.innari2026ChordDictionaryGrid > .innari2026ChordDictionarySection {
  width: 100% !important;
}

/* v22.22 - Diapason integrato nell'accordatore */
.innariTunerTabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 0 12px;
  padding:5px;
  border-radius:18px;
  background:rgba(238,245,242,.82);
  border:1px solid rgba(23,106,95,.12);
}
.innariTunerTabs button{
  min-height:42px;
  border:0;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:transparent;
  color:#5b746f;
  cursor:pointer;
  font-weight:950;
}
.innariTunerTabs button .material-symbols-rounded{
  font-size:21px;
}
.innariTunerTabs button.is-active{
  background:#fff;
  color:#176a5f;
  box-shadow:0 8px 18px rgba(23,106,95,.12);
}
.innariTunerPane[hidden]{display:none!important;}
.innariTunerToneReadout{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:116px;
  padding:14px 12px;
  margin-bottom:12px;
  border-radius:24px;
  background:linear-gradient(180deg,#f7fbfa,#eef6f3);
  border:1px solid rgba(23,106,95,.12);
  text-align:center;
}
.innariTunerToneNote{
  color:#176a5f;
  font-size:3.25rem;
  line-height:.9;
  font-weight:1000;
  letter-spacing:-.05em;
}
.innariTunerToneFreq{
  margin-top:7px;
  color:#cc194b;
  font-size:1.04rem;
  font-weight:950;
}
.innariTunerToneHint{
  margin-top:4px;
  color:#5b746f;
  font-size:.82rem;
  line-height:1.2;
  font-weight:800;
}
.innariTunerToneNotes{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0 0 12px;
}
.innariTunerToneNotes button{
  min-width:0;
  min-height:52px;
  border:1px solid rgba(23,106,95,.18);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  background:#fff;
  color:#176a5f;
  cursor:pointer;
  font:inherit;
  box-shadow:0 6px 16px rgba(23,106,95,.06);
}
.innariTunerToneNotes button strong{
  font-size:1.02rem;
  line-height:1;
  font-weight:1000;
}
.innariTunerToneNotes button span{
  color:#5b746f;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.innariTunerToneNotes button.is-active{
  background:#176a5f;
  border-color:#176a5f;
  color:#fff;
  box-shadow:0 10px 22px rgba(23,106,95,.24);
}
.innariTunerToneNotes button.is-active span{color:rgba(255,255,255,.78);}
.innariTunerToneMode{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 0 12px;
}
.innariTunerToneMode button{
  min-height:42px;
  border:1px solid rgba(23,106,95,.18);
  border-radius:16px;
  background:#fff;
  color:#176a5f;
  cursor:pointer;
  font:inherit;
  font-size:.9rem;
  font-weight:950;
}
.innariTunerToneMode button.is-active{
  background:linear-gradient(135deg,#176a5f,#0f4f47);
  border-color:rgba(23,106,95,.55);
  color:#fff;
  box-shadow:0 9px 20px rgba(23,106,95,.20);
}
.innariTunerToneVolume{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin:0 0 13px;
  color:#176a5f;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.innariTunerToneVolume input[type="range"]{
  width:100%;
  accent-color:#176a5f;
}
.innariTunerRoot.is-tone-playing .innariTunerToneActions button[data-tuner-action="tone-stop"]{
  background:linear-gradient(135deg,#176a5f,#0f4f47);
  color:#fff;
  box-shadow:0 10px 24px rgba(23,106,95,.26);
  opacity:1;
}
body.stage .innariTunerTabs{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.10);
}
body.stage .innariTunerTabs button{
  color:#b8d8d1;
}
body.stage .innariTunerTabs button.is-active,
body.stage .innariTunerToneNotes button,
body.stage .innariTunerToneMode button{
  background:rgba(255,255,255,.09);
  color:#e7fbf7;
  border-color:rgba(255,255,255,.14);
}
body.stage .innariTunerToneReadout{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.1);
}
body.stage .innariTunerToneFreq{color:#f1a66b;}
body.stage .innariTunerToneHint,
body.stage .innariTunerToneNotes button span{color:#b8d8d1;}
body.stage .innariTunerToneNotes button.is-active,
body.stage .innariTunerToneMode button.is-active{
  background:linear-gradient(135deg,#176a5f,#0f4f47);
  color:#fff;
  border-color:rgba(120,211,195,.35);
}
@media (max-width:640px){
  .innariTunerTabs button{min-height:40px;font-size:.86rem;}
  .innariTunerToneReadout{min-height:104px;border-radius:22px;}
  .innariTunerToneNote{font-size:2.85rem;}
  .innariTunerToneNotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .innariTunerToneNotes button{min-height:48px;border-radius:15px;}
  .innariTunerToneVolume{gap:9px;}
}

/* v22.23 - Diapason: rinforzo note basse compatto */
.innariTunerToneBoost{
  margin-top:-4px;
  margin-bottom:12px;
}
.innariTunerToneBoost button{
  min-height:38px;
  font-size:.82rem;
}
@media (max-width:640px){
  .innariTunerToneBoost{gap:7px;margin-bottom:10px;}
  .innariTunerToneBoost button{min-height:36px;font-size:.78rem;}
}


/* v22.25 - Dizionario accordi: pulsante Play arpeggio note */
.innari2026ChordNotesHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 9px;
}
.innari2026ChordNotesHeader h4 {
  margin: 0 !important;
}
.innari2026ChordPlayButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(23,106,95,.20);
  border-radius: 999px;
  background: rgba(23,106,95,.10);
  color: #176a5f;
  font: inherit;
  font-size: .78rem;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(23,106,95,.08);
}
.innari2026ChordPlayButton span {
  font-size: .8rem;
  transform: translateY(-.02em);
}
.innari2026ChordPlayButton:hover,
.innari2026ChordPlayButton:focus-visible,
.innari2026ChordPlayButton.is-playing {
  background: #176a5f;
  color: #fff;
  outline: none;
}
body.stage .innari2026ChordPlayButton,
.innariTheme-dark .innari2026ChordPlayButton {
  background: rgba(241,201,91,.12);
  color: #f1c95b;
  border-color: rgba(241,201,91,.24);
}
body.stage .innari2026ChordPlayButton:hover,
body.stage .innari2026ChordPlayButton:focus-visible,
body.stage .innari2026ChordPlayButton.is-playing,
.innariTheme-dark .innari2026ChordPlayButton:hover,
.innariTheme-dark .innari2026ChordPlayButton:focus-visible,
.innariTheme-dark .innari2026ChordPlayButton.is-playing {
  background: #f1c95b;
  color: #1f2422;
}
@media (max-width: 420px) {
  .innari2026ChordNotesHeader {
    gap: 8px;
  }
  .innari2026ChordPlayButton {
    min-height: 32px;
    padding: 0 10px;
    font-size: .72rem;
  }
}

/* v24.1 - Viewer PDF interno per allegati/spartiti */
.innari2026ResourceRow {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
}

.innari2026ResourcesList li.innari2026ResourcePdf a.innari2026ResourceOpen {
  min-height: 48px;
}

.innari2026ResourcesList li.innari2026ResourcePdf a.innari2026ResourceOpen::before {
  content: "picture_as_pdf";
}

.innari2026ResourcesList li.innari2026ResourcePdf a.innari2026ResourceOpen::after {
  content: "visibility";
}

.innari2026ResourceDownload {
  min-height: 48px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 11px !important;
  border: 1px solid rgba(47, 93, 80, .22) !important;
  border-radius: calc(var(--app-radius) - 10px) !important;
  background: rgba(47, 93, 80, .08) !important;
  color: var(--app-green) !important;
  font-size: .82rem;
  font-weight: 1000 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.innari2026ResourceDownload::before,
.innari2026ResourceDownload::after {
  content: none !important;
}

.innari2026ResourceDownload .material-symbols-outlined {
  color: currentColor !important;
  font-size: 1.08rem !important;
}

@media (max-width: 560px) {
  .innari2026ResourceRow {
    grid-template-columns: 1fr;
  }
  .innari2026ResourceDownload {
    width: 100%;
    min-height: 38px;
  }
}

/* v24.27 - Registrazioni prove nella sezione risorse del brano */
.innari2026SongRecordingsBlock {
  gap: 12px;
}

.innari2026SongRecordingsList {
  display: grid;
  gap: 10px;
}

.innari2026SongRecordingItem {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 42%);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(23, 106, 95, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 24px rgba(21, 51, 44, 0.06);
}

.innari2026SongRecordingInfo {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.innari2026SongRecordingInfo strong {
  color: var(--app-ink);
  font: 1000 0.98rem/1.18 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
  overflow-wrap: anywhere;
}

.innari2026SongRecordingInfo span {
  color: var(--app-muted);
  font-size: 0.8rem;
  font-weight: 850;
  line-height: 1.25;
}

.innari2026SongRecordingNotes {
  margin: 3px 0 0;
  color: color-mix(in srgb, var(--app-ink) 78%, transparent);
  font-size: 0.86rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.innari2026SongRecordingPlayer {
  width: 100%;
  min-width: 0;
  height: 38px;
}

.innari2026SongRecordingsAllLink {
  justify-self: start;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(23, 106, 95, 0.22);
  border-radius: 999px;
  background: rgba(228, 241, 236, 0.8);
  color: var(--app-green) !important;
  text-decoration: none !important;
  font: 1000 0.86rem/1.1 var(--innari2026-ui-font, "Nunito Sans", system-ui, sans-serif);
}

.innari2026SongRecordingsAllLink .material-symbols-outlined {
  font-size: 1.05rem !important;
  font-family: "Material Symbols Outlined" !important;
}

@media (max-width: 760px) {
  .innari2026SongRecordingItem {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px;
  }

  .innari2026SongRecordingPlayer {
    height: 34px;
  }

  .innari2026SongRecordingsAllLink {
    width: 100%;
  }
}


/* v25.2 - Controlli dimensione testo brano e pinch piu' stabile su tablet/touch */
.innari2026SongHead {
  position: relative !important;
}

.innari2026SongTextZoomControls {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(23, 106, 95, 0.16);
  border-radius: 999px;
  background: rgba(255, 250, 241, 0.92);
  box-shadow: 0 8px 20px rgba(37, 31, 21, 0.08), inset 0 0 0 1px rgba(255,255,255,.68);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.innari2026SongTextZoomControls button {
  width: 31px;
  height: 31px;
  min-width: 31px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(23, 106, 95, 0.10);
  color: var(--app-teal, #176a5f);
  font-family: var(--innari2026-ui-font, system-ui, sans-serif);
  font-size: 0.78rem;
  font-weight: 1000;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.innari2026SongTextZoomControls button:hover,
.innari2026SongTextZoomControls button:focus-visible {
  background: var(--app-teal, #176a5f);
  color: #fff;
  outline: none;
}

.innari2026SongTextZoomControls .innari2026SongZoomValue {
  width: auto;
  min-width: 42px;
  padding: 0 8px;
  background: rgba(255,255,255,.84);
  color: var(--app-teal, #176a5f);
  box-shadow: inset 0 0 0 1px rgba(23,106,95,.14);
  font-size: 0.72rem;
}

.innari2026SongHead h1 {
  padding-right: 128px !important;
}

.innari2026SongAuthorAfterTitle {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (hover: none), (pointer: coarse), (any-pointer: coarse) {
  #testo.divBrano,
  #testo.divBrano * {
    touch-action: pan-y;
  }

  #testo.divBrano.innari2026MobileWrap {
    box-sizing: border-box !important;
    width: var(--innari2026-song-safe-width, 100%) !important;
    min-width: 0 !important;
    max-width: var(--innari2026-song-safe-width, 100%) !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  #testo.divBrano.innari2026MobileWrap p,
  #testo.divBrano.innari2026MobileWrap p.testoAccordi,
  #testo.divBrano.innari2026MobileWrap p.soloTesto {
    box-sizing: border-box !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 680px) {
  .innari2026SongTextZoomControls {
    top: 10px;
    right: 8px;
    gap: 3px;
    padding: 3px;
  }

  .innari2026SongTextZoomControls button {
    width: 28px;
    height: 28px;
    min-width: 28px;
    font-size: 0.72rem;
  }

  .innari2026SongTextZoomControls .innari2026SongZoomValue {
    min-width: 38px;
    padding: 0 6px;
    font-size: 0.66rem;
  }

  .innari2026SongHead h1 {
    padding-right: 112px !important;
  }
}

@media (max-width: 390px) {
  .innari2026SongTextZoomControls {
    top: 8px;
    right: 6px;
  }

  .innari2026SongTextZoomControls button {
    width: 26px;
    height: 26px;
    min-width: 26px;
    font-size: 0.68rem;
  }

  .innari2026SongTextZoomControls .innari2026SongZoomValue {
    min-width: 34px;
    padding: 0 5px;
    font-size: 0.62rem;
  }

  .innari2026SongHead h1 {
    padding-right: 100px !important;
  }
}

body.stage .innari2026SongTextZoomControls {
  background: rgba(26, 34, 32, 0.92);
  border-color: rgba(245, 239, 227, 0.14);
  box-shadow: 0 8px 20px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.05);
}

body.stage .innari2026SongTextZoomControls button {
  background: rgba(245, 239, 227, 0.10);
  color: var(--app-cream, #f5efe3);
}

body.stage .innari2026SongTextZoomControls .innari2026SongZoomValue {
  background: rgba(245, 239, 227, 0.08);
  color: var(--app-cream, #f5efe3);
}

.innari2026SongMetaLineTop {
  padding-right: 128px !important;
}
@media (max-width: 680px) {
  .innari2026SongMetaLineTop { padding-right: 112px !important; }
}
@media (max-width: 390px) {
  .innari2026SongMetaLineTop { padding-right: 100px !important; }
}

/* v25.3 - Zoom testo brano: controlli piu' discreti e larghezza sicura anche a 100% */
.innari2026SongTextZoomControls {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 3px !important;
  border: 1px solid rgba(23, 106, 95, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 247, 0.82) !important;
  box-shadow: 0 10px 24px rgba(30, 42, 38, 0.10), inset 0 0 0 1px rgba(255,255,255,.68) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.08) !important;
  backdrop-filter: blur(10px) saturate(1.08) !important;
}

.innari2026SongTextZoomControls button {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  background: transparent !important;
  color: var(--app-green, #176a5f) !important;
  font-family: var(--innari2026-ui-font, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

.innari2026SongTextZoomControls button:hover,
.innari2026SongTextZoomControls button:focus-visible {
  background: rgba(23, 106, 95, 0.10) !important;
  color: var(--app-green, #176a5f) !important;
  outline: none !important;
}

.innari2026SongTextZoomControls button:active {
  transform: scale(.94) !important;
}

.innari2026SongTextZoomControls .innari2026SongZoomA {
  font-size: .84rem !important;
  letter-spacing: -.05em !important;
}

.innari2026SongTextZoomControls .innari2026SongZoomMark {
  font-size: .74rem !important;
  font-weight: 1000 !important;
  margin-left: 1px !important;
  transform: translateY(-.03em) !important;
}

.innari2026SongTextZoomControls .innari2026SongZoomValue {
  width: auto !important;
  min-width: 44px !important;
  padding: 0 8px !important;
  border-left: 1px solid rgba(23,106,95,.13) !important;
  border-right: 1px solid rgba(23,106,95,.13) !important;
  border-radius: 999px !important;
  background: rgba(23,106,95,.07) !important;
  color: var(--app-green, #176a5f) !important;
  font-size: .68rem !important;
  letter-spacing: .02em !important;
}

.innari2026SongTextZoomControls[data-auto="1"] .innari2026SongZoomValue {
  background: rgba(255,255,255,.72) !important;
}

.innari2026SongHead h1,
.innari2026SongMetaLineTop {
  padding-right: 104px !important;
}

.innari2026SongAuthorAfterTitle {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (hover: none), (pointer: coarse), (any-pointer: coarse), (max-width: 760px) {
  #tabellaTestoBrano {
    box-sizing: border-box !important;
    max-width: calc(100vw - 12px) !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  #tabellaTestoBrano > tbody,
  #tabellaTestoBrano > tbody > tr,
  #tabellaTestoBrano > tbody > tr > td {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #testo.divBrano {
    box-sizing: border-box !important;
    width: var(--innari2026-song-safe-width, 100%) !important;
    min-width: 0 !important;
    max-width: var(--innari2026-song-safe-width, 100%) !important;
    margin-left: 0 !important;
    overflow: visible !important;
    touch-action: pan-y !important;
    -ms-touch-action: pan-y !important;
  }

  #testo.divBrano.innari2026MobileWrap {
    box-sizing: border-box !important;
    width: var(--innari2026-song-safe-width, 100%) !important;
    min-width: 0 !important;
    max-width: var(--innari2026-song-safe-width, 100%) !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    overflow: visible !important;
    touch-action: pan-y !important;
    -ms-touch-action: pan-y !important;
  }

  #testo.divBrano.innari2026MobileWrap .innari2026SongHead {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  #testo.divBrano.innari2026MobileWrap .innari2026SongHead h1,
  #testo.divBrano.innari2026MobileWrap .innari2026SongMetaLineTop,
  #testo.divBrano.innari2026MobileWrap .innari2026SongAuthorAfterTitle {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  #testo.divBrano.innari2026MobileWrap p,
  #testo.divBrano.innari2026MobileWrap p.testoAccordi,
  #testo.divBrano.innari2026MobileWrap p.soloTesto {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 680px) {
  .innari2026SongTextZoomControls {
    top: 8px !important;
    right: 8px !important;
    padding: 2px !important;
  }

  .innari2026SongTextZoomControls button {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
  }

  .innari2026SongTextZoomControls .innari2026SongZoomA {
    font-size: .78rem !important;
  }

  .innari2026SongTextZoomControls .innari2026SongZoomMark {
    font-size: .68rem !important;
  }

  .innari2026SongTextZoomControls .innari2026SongZoomValue {
    min-width: 40px !important;
    padding: 0 6px !important;
    font-size: .62rem !important;
  }

  .innari2026SongHead h1,
  .innari2026SongMetaLineTop {
    padding-right: 94px !important;
  }
}

@media (max-width: 390px) {
  .innari2026SongTextZoomControls button {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }

  .innari2026SongTextZoomControls .innari2026SongZoomValue {
    min-width: 36px !important;
    padding: 0 5px !important;
    font-size: .58rem !important;
  }

  .innari2026SongHead h1,
  .innari2026SongMetaLineTop {
    padding-right: 86px !important;
  }
}

body.stage .innari2026SongTextZoomControls {
  background: rgba(28, 35, 33, 0.78) !important;
  border-color: rgba(245, 239, 227, 0.16) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.05) !important;
}

body.stage .innari2026SongTextZoomControls button,
body.stage .innari2026SongTextZoomControls .innari2026SongZoomValue {
  color: rgba(245,239,227,.96) !important;
}

body.stage .innari2026SongTextZoomControls .innari2026SongZoomValue {
  background: rgba(245,239,227,.08) !important;
  border-color: rgba(245,239,227,.12) !important;
}

/* v25.6 - Zoom testo brano: controlli ancorati alla viewport su touch/overflow.
   Evita che A-/Auto/A+ seguano la larghezza naturale del brano quando il testo si allarga. */
.innari2026SongTextZoomControls.innari2026SongZoomDocked {
  position: fixed !important;
  left: var(--innari2026-song-zoom-left, auto) !important;
  top: var(--innari2026-song-zoom-top, 90px) !important;
  right: auto !important;
  z-index: 10020 !important;
  transform: translateZ(0) !important;
  max-width: calc(100vw - 16px) !important;
}

.innari2026SongTextZoomControls.innari2026SongZoomDocked button {
  flex: 0 0 auto !important;
}

/* v25.7 - Zoom testo brano: modalita' due colonne desktop senza trasbordo orizzontale.
   Quando il brano e' in due colonne e si usa A+, le colonne restano dentro il box
   e le righe della seconda colonna possono andare a capo invece di allargare la pagina. */
#tabellaTestoBrano.innari2026SongHasTwoColumnsWrap,
.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026SongHasTwoColumnsWrap,
.innari2026OfflineSongShell #tabellaTestoBrano.innari2026SongHasTwoColumnsWrap {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

#testo.divBrano.innari2026TwoColumnsWrap,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap {
  box-sizing: border-box !important;
  width: var(--innari2026-song-safe-width, 100%) !important;
  max-width: var(--innari2026-song-safe-width, 100%) !important;
  min-width: 0 !important;
  overflow: visible !important;
}

#testo.divBrano.innari2026TwoColumnsWrap table[class~="2col"],
#testo.divBrano.innari2026TwoColumnsWrap table.innari2026OfflineTwoColumnsTable,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap table[class~="2col"],
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap table[class~="2col"],
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap table.innari2026OfflineTwoColumnsTable {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#testo.divBrano.innari2026TwoColumnsWrap td[class~="2col"],
#testo.divBrano.innari2026TwoColumnsWrap td#Colonna1,
#testo.divBrano.innari2026TwoColumnsWrap td#Colonna2,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap td[class~="2col"],
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap td[class~="2col"],
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap td.innari2026OfflineTwoColumnsCell {
  box-sizing: border-box !important;
  width: 50% !important;
  max-width: 50% !important;
  min-width: 0 !important;
  vertical-align: top !important;
  overflow: visible !important;
}

#testo.divBrano.innari2026TwoColumnsWrap td#Colonna1,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap td#Colonna1,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap td#Colonna1 {
  padding-right: clamp(10px, 1.2vw, 22px) !important;
}

#testo.divBrano.innari2026TwoColumnsWrap td#Colonna2,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap td#Colonna2,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap td#Colonna2 {
  padding-left: clamp(10px, 1.2vw, 22px) !important;
}

#testo.divBrano.innari2026TwoColumnsWrap p,
#testo.divBrano.innari2026TwoColumnsWrap p.testoAccordi,
#testo.divBrano.innari2026TwoColumnsWrap p.soloTesto,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap p,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap p,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap p.testoAccordi,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap p.soloTesto {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

#testo.divBrano.innari2026TwoColumnsWrap .innari2026SongHead,
#testo.divBrano.innari2026TwoColumnsWrap .innari2026SongAuthorAfterTitle,
.innari2026SongOfflineLikeOnline #testo.divBrano.innari2026TwoColumnsWrap .innari2026SongHead,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap .innari2026SongHead,
.innari2026OfflineSongShell #testo.divBrano.innari2026TwoColumnsWrap .innari2026SongAuthorAfterTitle {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#testo.divBrano.innari2026TwoColumnsWrap .innari2026SongTextZoomControls.innari2026SongZoomDocked,
.innari2026SongTextZoomControls.innari2026SongZoomDocked {
  max-width: calc(100vw - 16px) !important;
}

/* v25.8 - Offline: due colonne + zoom sicuro anche sui terminali mobili/tablet.
   Le vecchie regole offline v9.19 usavano width:max-content e celle a larghezza intrinseca:
   in due colonne la seconda colonna poteva scivolare fuori dal foglio. Qui, solo nella
   shell offline, la tabella a due colonne torna a larghezza stabile e le righe possono
   andare a capo dentro ciascuna colonna. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"],
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] {
  box-sizing: border-box !important;
  display: block !important;
  width: var(--innari2026-song-safe-width, 100%) !important;
  max-width: var(--innari2026-song-safe-width, 100%) !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable {
  box-sizing: border-box !important;
  display: table !important;
  table-layout: fixed !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  float: none !important;
  overflow: visible !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody {
  display: table-row-group !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr {
  display: table-row !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCell {
  box-sizing: border-box !important;
  display: table-cell !important;
  width: 50% !important;
  max-width: 50% !important;
  min-width: 0 !important;
  vertical-align: top !important;
  float: none !important;
  overflow: visible !important;
  white-space: normal !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
  position: static !important;
  top: auto !important;
  padding-left: 0 !important;
  padding-right: clamp(8px, 1.15vw, 18px) !important;
  border-right: 1px solid rgba(30, 72, 63, .10) !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
  padding-left: clamp(8px, 1.15vw, 18px) !important;
  padding-right: 0 !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.testoAccordi,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.soloTesto,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.testoAccordi,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable p.soloTesto {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell > *,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable td.innari2026OfflineTwoColumnsCell > * {
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellFirst {
    padding-right: 8px !important;
  }
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano[data-innari2026-offline-columns="1"] > table.innari2026OfflineTwoColumnsTable > tbody > tr > td.innari2026OfflineTwoColumnsCellSecond {
    padding-left: 8px !important;
  }
}


/* v25.9 - Offline: margine destro piu' sfruttato nel box testo.
   Mantiene un piccolo respiro dal bordo, ma riduce il margine prudenziale che in alcuni
   terminali lasciava una fascia vuota a destra, soprattutto con Auto/zoom. */
body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
  padding-right: clamp(18px, 3.4vw, 52px) !important;
}

body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed {
  padding-right: clamp(8px, 2.2vw, 14px) !important;
}

@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
    padding-right: clamp(12px, 3vw, 18px) !important;
  }
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano.innari2026MobileWrap,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #testo.divBrano.innari2026OfflinePinchZoomed {
    padding-right: 10px !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
    padding-right: 12px !important;
  }
}


/* v25.10 - Offline only: box brano piu' largo sui terminali mobili.
   Riduce al minimo i margini laterali del box rispetto alla schermata, senza toccare la resa online. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard {
    width: calc(100% - 8px) !important;
    max-width: calc(100% - 8px) !important;
    margin-left: 4px !important;
    margin-right: 4px !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard {
    width: calc(100% - 6px) !important;
    max-width: calc(100% - 6px) !important;
    margin-left: 3px !important;
    margin-right: 3px !important;
  }
}

/* v25.12 - Offline: box con distacco laterale minimo e titolo piu' compatto.
   Si parte dalla resa v25.10, senza modificare lo spazio verticale sopra il box. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline h1,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline h1 {
    font-size: clamp(1.88rem, 7.1vw, 2.42rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.043em !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline h1,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #innari2026SongHead.innari2026OfflineSongHeadLikeOnline h1 {
    font-size: clamp(1.82rem, 7.4vw, 2.32rem) !important;
  }
}

/* v25.13 - Offline: margini laterali visibili e stacco topbar/box dimezzato.
   Solo rendering offline: mantiene il box molto largo, ma con un piccolo bordo laterale
   percepibile; lo spazio di testa viene compattato senza sovrapporre titolo e topbar. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell .innari2026OfflineSongCard {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
  }
}

/* v25.14 - Offline: margini reali del box e spazio di testa ridotto.
   Le regole precedenti piu' specifiche riportavano il box a width:100%: qui si
   sovrascrive con la stessa specificita' usata dalla shell offline. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline {
    padding-top: 30px !important;
    margin-top: 0 !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    box-sizing: border-box !important;
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline #tabellaTestoBrano.innari2026OfflineSongTableLikeOnline {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }
}


/* v25.15 - Offline: margini laterali del box dimezzati rispetto alla v25.14.
   Mantiene lo stacco visibile dallo sfondo, ma recupera spazio orizzontale utile. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }
}

/* v25.16 - Offline: margini laterali reali, anche quando lo stile dinamico e' gia' presente.
   La correzione principale e' in offline-app.js; questa regola mantiene coerente anche il CSS statico. */
@media (max-width: 700px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 430px) {
  body.innari2026OfflineViewing main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard,
  body.innari2026ForceOffline main.innari2026OfflineSongShell.innari2026SongOfflineLikeOnline .innari2026OfflineSongCard {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }
}


/* v25.17 - Controlli zoom testo trasparenti online/offline.
   Quando la barra A-/Auto/A+ resta sopra il brano durante lo scroll, il testo sotto
   deve rimanere leggibile. In interazione torna piu' evidente. */
.innari2026SongTextZoomControls {
  background: rgba(255, 253, 247, 0.42) !important;
  border-color: rgba(23, 106, 95, 0.14) !important;
  box-shadow: 0 8px 18px rgba(30, 42, 38, 0.045), inset 0 0 0 1px rgba(255,255,255,.42) !important;
  -webkit-backdrop-filter: blur(3px) saturate(1.02) !important;
  backdrop-filter: blur(3px) saturate(1.02) !important;
  opacity: .64 !important;
  transition: opacity .16s ease, background-color .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

.innari2026SongTextZoomControls:hover,
.innari2026SongTextZoomControls:focus-within,
.innari2026SongTextZoomControls:active {
  background: rgba(255, 253, 247, 0.78) !important;
  border-color: rgba(23, 106, 95, 0.20) !important;
  box-shadow: 0 10px 24px rgba(30, 42, 38, 0.09), inset 0 0 0 1px rgba(255,255,255,.58) !important;
  opacity: .98 !important;
}

.innari2026SongTextZoomControls button {
  background: rgba(255,255,255,0.10) !important;
}

.innari2026SongTextZoomControls button:hover,
.innari2026SongTextZoomControls button:focus-visible {
  background: rgba(23, 106, 95, 0.12) !important;
}

.innari2026SongTextZoomControls .innari2026SongZoomValue {
  background: rgba(255,255,255,0.34) !important;
  border-left-color: rgba(23,106,95,.10) !important;
  border-right-color: rgba(23,106,95,.10) !important;
}

.innari2026SongTextZoomControls[data-auto="1"] .innari2026SongZoomValue {
  background: rgba(255,255,255,0.42) !important;
}

body.stage .innari2026SongTextZoomControls {
  background: rgba(28, 35, 33, 0.42) !important;
  border-color: rgba(245, 239, 227, 0.12) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  opacity: .66 !important;
}

body.stage .innari2026SongTextZoomControls:hover,
body.stage .innari2026SongTextZoomControls:focus-within,
body.stage .innari2026SongTextZoomControls:active {
  background: rgba(28, 35, 33, 0.78) !important;
  opacity: .98 !important;
}

body.stage .innari2026SongTextZoomControls .innari2026SongZoomValue {
  background: rgba(245,239,227,.12) !important;
}


/* v25.18 - Controlli zoom testo: sempre trasparenti anche dopo clic/tocco/focus.
   Evita che la pill A-/Auto/A+ diventi solida e copra il testo durante lo scroll. */
.innari2026SongTextZoomControls:hover,
.innari2026SongTextZoomControls:focus-within,
.innari2026SongTextZoomControls:active {
  background: rgba(255, 253, 247, 0.42) !important;
  border-color: rgba(23, 106, 95, 0.14) !important;
  box-shadow: 0 8px 18px rgba(30, 42, 38, 0.045), inset 0 0 0 1px rgba(255,255,255,.42) !important;
  opacity: .64 !important;
}

.innari2026SongTextZoomControls button:hover,
.innari2026SongTextZoomControls button:focus-visible,
.innari2026SongTextZoomControls button:active {
  background: rgba(255,255,255,0.10) !important;
}

body.stage .innari2026SongTextZoomControls:hover,
body.stage .innari2026SongTextZoomControls:focus-within,
body.stage .innari2026SongTextZoomControls:active {
  background: rgba(28, 35, 33, 0.42) !important;
  border-color: rgba(245, 239, 227, 0.12) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  opacity: .66 !important;
}


/* v25.19 - Controlli zoom sotto menu/pannelli.
   La pill A-/Auto/A+ resta sopra il brano, ma non deve superare topbar,
   drawer menu, pannello Transport, ricerca, modali e backdrop. */
:root {
  --innari2026-song-zoom-layer: 60;
}

.innari2026SongTextZoomControls.innari2026SongZoomDocked {
  z-index: var(--innari2026-song-zoom-layer, 60) !important;
}

body.innari2026TopbarOpen .innari2026SongTextZoomControls,
html.innari2026TopbarOpen .innari2026SongTextZoomControls,
body.innari2026SheetOpen .innari2026SongTextZoomControls,
html.innari2026SheetOpen .innari2026SongTextZoomControls,
body.innari2026BackdropOn .innari2026SongTextZoomControls,
html.innari2026BackdropOn .innari2026SongTextZoomControls {
  z-index: var(--innari2026-song-zoom-layer, 60) !important;
}


/* === Innari v26.2 - Badge sezioni semantici colorati ===
   Micro-restyling delle intestazioni STROFA/CORO/INTRO/PONTE/FINALE.
   Non modifica rientri del testo o accordi: aggiunge solo stile ai <p> generati dal parser.
   Nota: niente caratteri speciali nel ::before per evitare mojibake (tipo "Â™"). */
#testo p.par.innari2026SectionBadge,
#testo p.parSoloTesto.innari2026SectionBadge,
.innari2026SongText p.par.innari2026SectionBadge,
.innari2026SongText p.parSoloTesto.innari2026SectionBadge,
.innari2026OfflineSongShell #testo p.par.innari2026SectionBadge,
.innari2026OfflineSongShell #testo p.parSoloTesto.innari2026SectionBadge {
  display: table !important;
  width: auto !important;
  max-width: calc(100% - .5em) !important;
  box-sizing: border-box !important;
  padding: .24em .68em .23em .58em !important;
  border-radius: 999px !important;
  border: 1px solid var(--innari-section-border, rgba(30, 86, 72, .22)) !important;
  background: linear-gradient(135deg, var(--innari-section-bg1, rgba(30, 86, 72, .12)), var(--innari-section-bg2, rgba(30, 86, 72, .045))) !important;
  color: var(--innari-section-ink, #1f5a4d) !important;
  font-style: normal !important;
  font-weight: 850 !important;
  font-size: .84em !important;
  line-height: 1.12 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.70) inset, 0 5px 12px var(--innari-section-shadow, rgba(30, 86, 72, .055)) !important;
  break-after: avoid !important;
  page-break-after: avoid !important;
}

#testo p.par.innari2026SectionBadge::before,
#testo p.parSoloTesto.innari2026SectionBadge::before,
.innari2026SongText p.par.innari2026SectionBadge::before,
.innari2026SongText p.parSoloTesto.innari2026SectionBadge::before,
.innari2026OfflineSongShell #testo p.par.innari2026SectionBadge::before,
.innari2026OfflineSongShell #testo p.parSoloTesto.innari2026SectionBadge::before {
  content: "";
  display: inline-block;
  width: .58em;
  height: .58em;
  margin-right: .45em;
  border-radius: 999px;
  background: currentColor;
  opacity: .75;
  vertical-align: .055em;
}

/* STROFA / VERSO: blu, discreta */
#testo p.innari2026Section-strofa,
.innari2026SongText p.innari2026Section-strofa,
.innari2026OfflineSongShell #testo p.innari2026Section-strofa {
  --innari-section-ink: #245a9a;
  --innari-section-border: rgba(36, 90, 154, .24);
  --innari-section-bg1: rgba(36, 90, 154, .14);
  --innari-section-bg2: rgba(36, 90, 154, .045);
  --innari-section-shadow: rgba(36, 90, 154, .06);
}

/* CORO: più evidente, corallo caldo */
#testo p.innari2026Section-coro,
.innari2026SongText p.innari2026Section-coro,
.innari2026OfflineSongShell #testo p.innari2026Section-coro {
  --innari-section-ink: #a83f2f;
  --innari-section-border: rgba(168, 63, 47, .28);
  --innari-section-bg1: rgba(184, 76, 48, .18);
  --innari-section-bg2: rgba(184, 76, 48, .055);
  --innari-section-shadow: rgba(168, 63, 47, .075);
}

/* PRE CORO: viola */
#testo p.innari2026Section-pre-coro,
.innari2026SongText p.innari2026Section-pre-coro,
.innari2026OfflineSongShell #testo p.innari2026Section-pre-coro {
  --innari-section-ink: #6d4aa0;
  --innari-section-border: rgba(109, 74, 160, .26);
  --innari-section-bg1: rgba(109, 74, 160, .15);
  --innari-section-bg2: rgba(109, 74, 160, .045);
  --innari-section-shadow: rgba(109, 74, 160, .06);
}

/* INTRO: verde acqua */
#testo p.innari2026Section-intro,
.innari2026SongText p.innari2026Section-intro,
.innari2026OfflineSongShell #testo p.innari2026Section-intro {
  --innari-section-ink: #1f6d64;
  --innari-section-border: rgba(31, 109, 100, .25);
  --innari-section-bg1: rgba(31, 109, 100, .14);
  --innari-section-bg2: rgba(31, 109, 100, .045);
  --innari-section-shadow: rgba(31, 109, 100, .055);
}

/* PONTE / BRIDGE: arancio-oro */
#testo p.innari2026Section-ponte,
.innari2026SongText p.innari2026Section-ponte,
.innari2026OfflineSongShell #testo p.innari2026Section-ponte {
  --innari-section-ink: #a66a13;
  --innari-section-border: rgba(166, 106, 19, .28);
  --innari-section-bg1: rgba(204, 143, 37, .18);
  --innari-section-bg2: rgba(204, 143, 37, .055);
  --innari-section-shadow: rgba(166, 106, 19, .06);
}

/* FINALE: rosso/rosa soft */
#testo p.innari2026Section-finale,
.innari2026SongText p.innari2026Section-finale,
.innari2026OfflineSongShell #testo p.innari2026Section-finale {
  --innari-section-ink: #b03d5c;
  --innari-section-border: rgba(176, 61, 92, .28);
  --innari-section-bg1: rgba(176, 61, 92, .16);
  --innari-section-bg2: rgba(176, 61, 92, .05);
  --innari-section-shadow: rgba(176, 61, 92, .06);
}

/* Fallback per vecchie pagine/cache con sola classe .par: badge neutro, senza icona testuale. */
#testo p.par:not(.innari2026SectionBadge),
#testo p.parSoloTesto:not(.innari2026SectionBadge),
.innari2026SongText p.par:not(.innari2026SectionBadge),
.innari2026SongText p.parSoloTesto:not(.innari2026SectionBadge),
.innari2026OfflineSongShell #testo p.par:not(.innari2026SectionBadge),
.innari2026OfflineSongShell #testo p.parSoloTesto:not(.innari2026SectionBadge) {
  color: #274D9D !important;
}

@media (max-width: 520px) {
  #testo p.par.innari2026SectionBadge,
  #testo p.parSoloTesto.innari2026SectionBadge,
  .innari2026SongText p.par.innari2026SectionBadge,
  .innari2026SongText p.parSoloTesto.innari2026SectionBadge,
  .innari2026OfflineSongShell #testo p.par.innari2026SectionBadge,
  .innari2026OfflineSongShell #testo p.parSoloTesto.innari2026SectionBadge {
    padding: .22em .60em .21em .52em !important;
    font-size: .81em !important;
  }
}

body.stage #testo p.par.innari2026SectionBadge,
body.stage #testo p.parSoloTesto.innari2026SectionBadge,
body.stage .innari2026SongText p.par.innari2026SectionBadge,
body.stage .innari2026SongText p.parSoloTesto.innari2026SectionBadge {
  box-shadow: none !important;
  filter: saturate(.95) brightness(1.08);
}


/* === Innari v26.3 - Sottotitoli menu principali non in grassetto ===
   Rende normale il peso dei testi secondari nelle card del menu principale
   e nei pannelli collegati, senza cambiare struttura o spaziature. */
#divUserBox.innari2026MenuPanel .innari2026MenuCard small,
#divUserBox.innari2026MenuPanel .innari2026ActionText small,
#divUserBox.innari2026MenuPanel .innari2026AccountIntroText small,
#divUserBox.innari2026MenuPanel .innari2026ProjectorIntroText small,
#divUserBox.innari2026MenuPanel .innari2026RecordingsIntroText small,
#divUserBox.innari2026MenuPanel .innari2026BibleIntroText small,
#divUserBox.innari2026MenuPanel .innari2026SetlistEmptyState small,
#divUserBox.innari2026MenuPanel .innari2026RecentEmptyState small {
  font-weight: 400 !important;
}

#divUserBox.innari2026MenuPanel .innari2026MenuCard small {
  color: var(--app-muted) !important;
}

/* === Innari v26.4 - Tema Bianco pulito: solo colori ===
   Tutte le superfici dell'app restano bianche; lo sfondo pagina mantiene una tinta calda
   per dare distacco. Non modifica font, dimensioni, rientri o logiche. */
html.innariTheme-white {
  --app-bg: #f8f3e8;
  --app-paper: #ffffff;
  --app-paper-2: #ffffff;
  --app-ink: #171c1a;
  --app-muted: #5f6965;
  --app-line: #ded8cb;
  --app-green: #0f6d63;
  --app-green-soft: #edf8f5;
  --app-coral: #b24f35;
  --app-shadow: 0 16px 48px rgba(37, 33, 25, 0.11);
}

html.innariTheme-white body:not(.stage),
body.innariTheme-white:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.78), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(220,176,91,.075), transparent 30rem),
    linear-gradient(180deg, #fdfbf6 0%, var(--app-bg) 100%) !important;
}

html.innariTheme-white body:not(.stage) .innari2026Topbar,
html.innariTheme-white body:not(.stage) .innari2026GestioneTopbar,
html.innariTheme-white body:not(.stage) .innari2026MenuPanel,
html.innariTheme-white body:not(.stage) .innari2026SubPanel,
html.innariTheme-white body:not(.stage) .innari2026SearchPanel,
html.innariTheme-white body:not(.stage) .innari2026PanelHeader,
html.innariTheme-white body:not(.stage) .innari2026SearchHeader,
html.innariTheme-white body:not(.stage) .innari2026TransportPanel,
html.innariTheme-white body:not(.stage) .innari2026DrawerSection,
html.innariTheme-white body:not(.stage) .innari2026HomeHero,
html.innariTheme-white body:not(.stage) .innari2026HomeSection,
html.innariTheme-white body:not(.stage) .innari2026HomeTodayCard,
html.innariTheme-white body:not(.stage) .innari2026HomeDailySongCard,
html.innariTheme-white body:not(.stage) .innari2026HomeWeeklySongCard,
html.innariTheme-white body:not(.stage) .innari2026HomeWeeklyTopCard,
html.innariTheme-white body:not(.stage) .innari2026HomeCollectionCard,
html.innariTheme-white body:not(.stage) .innari2026HomeQuickCard,
html.innariTheme-white body:not(.stage) .innari2026HomeDisplayCard,
html.innariTheme-white body:not(.stage) .innari2026SongMaterialCard,
html.innariTheme-white body:not(.stage) .innari2026MaterialCardHead,
html.innariTheme-white body:not(.stage) .innari2026SongShareCard,
html.innariTheme-white body:not(.stage) .innari2026InfoCard,
html.innariTheme-white body:not(.stage) .innari2026ResourceSubsection,
html.innariTheme-white body:not(.stage) .innari2026ReflectionBlock,
html.innariTheme-white body:not(.stage) .innari2026PlaylistShell,
html.innariTheme-white body:not(.stage) .innari2026PlaylistCard,
html.innariTheme-white body:not(.stage) .innari2026PlaylistItem,
html.innariTheme-white body:not(.stage) .innari2026PlaylistModalBox,
html.innariTheme-white body:not(.stage) .innari2026SetlistActiveCard,
html.innariTheme-white body:not(.stage) .innari2026SelectActionCard,
html.innariTheme-white body:not(.stage) .innari2026BibleSearchCard,
html.innariTheme-white body:not(.stage) .innari2026BibleResultsOuter,
html.innariTheme-white body:not(.stage) .innari2026BibleResultCard,
html.innariTheme-white body:not(.stage) .innari2026BiblePagerCard,
html.innariTheme-white body:not(.stage) .innari2026BibleReadingHero,
html.innariTheme-white body:not(.stage) .innari2026BibleReadingPassage,
html.innariTheme-white body:not(.stage) .innari2026BibleReadingResultCard,
html.innariTheme-white body:not(.stage) .innari2026BibleChapterHeader,
html.innariTheme-white body:not(.stage) .innari2026BibleChapterText,
html.innariTheme-white body:not(.stage) .innari2026BibleVerseActionsPanel,
html.innariTheme-white body:not(.stage) .innari2026MenuCard,
html.innariTheme-white body:not(.stage) .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026ActionControl,
html.innariTheme-white body:not(.stage) .innari2026DisplaySettingRow,
html.innariTheme-white body:not(.stage) .whiteBox,
html.innariTheme-white body:not(.stage) .whiteUserBox,
html.innariTheme-white body:not(.stage) .tabellaElenco,
html.innariTheme-white body:not(.stage) .searchBox,
html.innariTheme-white body:not(.stage) .nTABLEf,
html.innariTheme-white body:not(.stage) #tabellaTestoBrano,
html.innariTheme-white body:not(.stage) .innari2026OfflineSongCard,
html.innariTheme-white body:not(.stage) .innari2026OfflineSongHeadLikeOnline,
body.innariTheme-white:not(.stage) .innari2026Topbar,
body.innariTheme-white:not(.stage) .innari2026MenuPanel,
body.innariTheme-white:not(.stage) .innari2026SubPanel,
body.innariTheme-white:not(.stage) .innari2026SearchPanel,
body.innariTheme-white:not(.stage) .innari2026TransportPanel,
body.innariTheme-white:not(.stage) .innari2026DrawerSection,
body.innariTheme-white:not(.stage) .innari2026MenuCard,
body.innariTheme-white:not(.stage) #tabellaTestoBrano,
body.innariTheme-white:not(.stage) .whiteBox,
body.innariTheme-white:not(.stage) .whiteUserBox,
body.innariTheme-white:not(.stage) .tabellaElenco,
body.innariTheme-white:not(.stage) .searchBox,
body.innariTheme-white:not(.stage) .nTABLEf,
body.innariTheme-white:not(.stage) .innari2026OfflineSongCard,
body.innariTheme-white:not(.stage) .innari2026OfflineSongHeadLikeOnline {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

html.innariTheme-white body:not(.stage) .innari2026Topbar,
html.innariTheme-white body:not(.stage) .innari2026GestioneTopbar,
body.innariTheme-white:not(.stage) .innari2026Topbar {
  border-bottom-color: rgba(222,216,203,.92) !important;
  box-shadow: 0 8px 28px rgba(37,33,25,.06) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

html.innariTheme-white body:not(.stage) .innari2026MenuPanel,
html.innariTheme-white body:not(.stage) .innari2026SubPanel,
html.innariTheme-white body:not(.stage) .innari2026SearchPanel,
html.innariTheme-white body:not(.stage) .innari2026TransportPanel,
body.innariTheme-white:not(.stage) .innari2026MenuPanel,
body.innariTheme-white:not(.stage) .innari2026SubPanel,
body.innariTheme-white:not(.stage) .innari2026SearchPanel,
body.innariTheme-white:not(.stage) .innari2026TransportPanel {
  box-shadow: 0 24px 70px rgba(22,25,24,.14) !important;
}

html.innariTheme-white body:not(.stage) .innari2026MenuCard,
html.innariTheme-white body:not(.stage) .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026ActionControl,
html.innariTheme-white body:not(.stage) .innari2026DrawerButton,
html.innariTheme-white body:not(.stage) .innari2026TopButton,
html.innariTheme-white body:not(.stage) .innari2026SongNavButton,
html.innariTheme-white body:not(.stage) .innari2026SearchInlineButton,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton,
html.innariTheme-white body:not(.stage) .innari2026SongBadge,
html.innariTheme-white body:not(.stage) .innari2026SongStat,
html.innariTheme-white body:not(.stage) .innari2026SongTextZoomControls,
body.innariTheme-white:not(.stage) .innari2026MenuCard,
body.innariTheme-white:not(.stage) .innari2026ActionButton,
body.innariTheme-white:not(.stage) .innari2026ActionControl,
body.innariTheme-white:not(.stage) .innari2026DrawerButton,
body.innariTheme-white:not(.stage) .innari2026TopButton,
body.innariTheme-white:not(.stage) .innari2026SongNavButton,
body.innariTheme-white:not(.stage) .innari2026SearchInlineButton,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton,
body.innariTheme-white:not(.stage) .innari2026SongBadge,
body.innariTheme-white:not(.stage) .innari2026SongStat,
body.innariTheme-white:not(.stage) .innari2026SongTextZoomControls {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: var(--app-line) !important;
  color: var(--app-green) !important;
}

html.innariTheme-white body:not(.stage) input,
html.innariTheme-white body:not(.stage) select,
html.innariTheme-white body:not(.stage) textarea,
html.innariTheme-white body:not(.stage) .selColorato,
html.innariTheme-white body:not(.stage) .innari2026ActionSelect,
html.innariTheme-white body:not(.stage) .innari2026SearchInputWrap,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchInputWrap,
html.innariTheme-white body:not(.stage) .innari2026BibleInputWrap,
body.innariTheme-white:not(.stage) input,
body.innariTheme-white:not(.stage) select,
body.innariTheme-white:not(.stage) textarea,
body.innariTheme-white:not(.stage) .selColorato,
body.innariTheme-white:not(.stage) .innari2026ActionSelect,
body.innariTheme-white:not(.stage) .innari2026SearchInputWrap,
body.innariTheme-white:not(.stage) .innari2026HomeSearchInputWrap,
body.innariTheme-white:not(.stage) .innari2026BibleInputWrap {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: var(--app-line) !important;
  color: var(--app-ink) !important;
}

html.innariTheme-white body:not(.stage) .pulsanteColorato,
html.innariTheme-white body:not(.stage) .pulsanteColoratoBlu,
html.innariTheme-white body:not(.stage) button.selColorato,
html.innariTheme-white body:not(.stage) input[type="button"].selColorato,
body.innariTheme-white:not(.stage) .pulsanteColorato,
body.innariTheme-white:not(.stage) .pulsanteColoratoBlu,
body.innariTheme-white:not(.stage) button.selColorato,
body.innariTheme-white:not(.stage) input[type="button"].selColorato {
  background: var(--app-green) !important;
  background-color: var(--app-green) !important;
  border-color: var(--app-green) !important;
  color: #ffffff !important;
}

html.innariTheme-white body:not(.stage) .innari2026MenuCard:hover,
html.innariTheme-white body:not(.stage) .innari2026HomeQuickCard:hover,
html.innariTheme-white body:not(.stage) .innari2026HomeCollectionCard:hover,
html.innariTheme-white body:not(.stage) .innari2026BibleResultCard:hover,
body.innariTheme-white:not(.stage) .innari2026MenuCard:hover,
body.innariTheme-white:not(.stage) .innari2026HomeQuickCard:hover,
body.innariTheme-white:not(.stage) .innari2026HomeCollectionCard:hover,
body.innariTheme-white:not(.stage) .innari2026BibleResultCard:hover {
  background: #ffffff !important;
  border-color: rgba(15,109,99,.28) !important;
}

html.innariTheme-white body:not(.stage) #innariAppTheme option[value="white"] {
  font-weight: 900;
}


/* === Innari v26.5 - Tema Bianco pulito: sfondo pagina piu tenue ===
   Solo colori: rende il fondo caldo molto piu leggero, mantenendo le superfici bianche. */
html.innariTheme-white {
  --app-bg: #f8f3e8;
}

html.innariTheme-white body:not(.stage),
body.innariTheme-white:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.78), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(220,176,91,.075), transparent 30rem),
    linear-gradient(180deg, #fdfbf6 0%, var(--app-bg) 100%) !important;
}


/* === Innari v26.6 - Tema Bianco pulito: sfondo quasi neutro ===
   Solo colori: attenua ulteriormente il giallino dello sfondo pagina. */
html.innariTheme-white {
  --app-bg: #fbfaf7;
}

html.innariTheme-white body:not(.stage),
body.innariTheme-white:not(.stage) {
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.92), transparent 34rem),
    radial-gradient(circle at 18% 0%, rgba(220,176,91,.022), transparent 30rem),
    linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%) !important;
}


/* === Innari v26.7 - Tema Bianco pulito: pulsanti inline ricerca visibili ===
   Corregge i pulsanti Opzioni e Pulisci nella barra ricerca del tema bianco.
   Solo colori. */
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton {
  background: rgba(15,109,99,.10) !important;
  background-color: rgba(15,109,99,.10) !important;
  border-color: rgba(15,109,99,.22) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton .material-symbols-rounded {
  color: var(--app-green) !important;
}

html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:hover,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:focus,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:active,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle[aria-expanded="true"],
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:hover,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:focus,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:active,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle[aria-expanded="true"],
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:hover,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:focus,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:active,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:hover,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:focus,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:active,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:hover,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:focus,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:focus-visible,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:active,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle[aria-expanded="true"],
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:hover,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:focus,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:focus-visible,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:active,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle[aria-expanded="true"],
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:hover,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:focus,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:focus-visible,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:active,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:hover,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:focus,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:focus-visible,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:active {
  background: rgba(15,109,99,.16) !important;
  background-color: rgba(15,109,99,.16) !important;
  border-color: rgba(15,109,99,.32) !important;
  color: var(--app-green) !important;
  box-shadow: none !important;
}

html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:hover .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:focus .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:focus-visible .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle:active .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchAdvancedToggle[aria-expanded="true"] .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:hover .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:focus .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:focus-visible .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle:active .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeAdvancedToggle[aria-expanded="true"] .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:hover .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:focus .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:focus-visible .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026SearchClearButton:active .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:hover .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:focus .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:focus-visible .material-symbols-rounded,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchClearButton:active .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:hover .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:focus .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:focus-visible .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle:active .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchAdvancedToggle[aria-expanded="true"] .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:hover .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:focus .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:focus-visible .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle:active .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeAdvancedToggle[aria-expanded="true"] .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:hover .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:focus .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:focus-visible .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026SearchClearButton:active .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:hover .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:focus .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:focus-visible .material-symbols-rounded,
body.innariTheme-white:not(.stage) .innari2026HomeSearchClearButton:active .material-symbols-rounded {
  color: var(--app-green) !important;
}


/* === Innari v26.8 - Tema Bianco pulito: home search box coerente ===
   Solo colori: rende piu coerente il box di ricerca home nel tema bianco. */
html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: rgba(222,216,203,.92) !important;
  box-shadow: 0 14px 34px rgba(37,33,25,.07) !important;
}

html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026HomeResultsWrap,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026HomeResultsWrap {
  background: rgba(250,251,249,.96) !important;
  background-color: rgba(250,251,249,.96) !important;
  border-top-color: rgba(222,216,203,.92) !important;
}

html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026HomeResults td,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026HomeResults td {
  border-bottom-color: rgba(222,216,203,.72) !important;
}

html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchStatus,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchStatus {
  color: rgba(52,60,57,.74) !important;
}

html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchResult,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchResult {
  background: transparent !important;
}

html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchResult:hover,
html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchResult:focus-visible,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchResult:hover,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026HomeSearchResult:focus-visible {
  background: rgba(15,109,99,.055) !important;
}

html.innariTheme-white body:not(.stage) .innari2026HomeSearchShell .innari2026SearchResultRestored,
body.innariTheme-white:not(.stage) .innari2026HomeSearchShell .innari2026SearchResultRestored {
  background: rgba(211,146,40,.11) !important;
  box-shadow: inset 4px 0 0 rgba(211,146,40,.58) !important;
}


/* === Innari v26.9 - Impostazioni grafiche: testi normali ===
   Nel pannello Impostazioni grafiche lascia in grassetto solo i titoli di sezione
   (ACCORDI, TESTO, ecc.) e normalizza etichette/valori delle singole righe. */
#innari2026DisplayHost .innari2026DisplaySettingLabel {
  font-weight: 400 !important;
}

#innari2026DisplayHost .innari2026DisplaySettingLabel label,
#innari2026DisplayHost .innari2026DisplaySettingLabel strong {
  font-weight: 400 !important;
  font-style: normal !important;
}

#innari2026DisplayHost .innari2026DisplaySettingControl select.selColorato,
#innari2026DisplayHost .innari2026DisplaySettingControl button.selColorato,
#innari2026DisplayHost .innari2026DisplaySettingControl button.pulsanteColorato,
#innari2026DisplayHost .innari2026DisplaySettingControl input,
#innari2026DisplayHost .innari2026DisplaySettingControl label,
#innari2026DisplayHost .innari2026DisplaySettingControl span,
#innari2026DisplayHost .innari2026DisplaySettingControl strong {
  font-weight: 400 !important;
}


/* === Innari v27.1 - Preferiti brani (patch isolata) === */
.innari2026FavoriteTopButton .material-symbols-rounded {
  color: rgba(25, 117, 101, .38) !important;
  transform: none !important;
  transition: color .16s ease, transform .16s ease, opacity .16s ease;
}
.innari2026FavoriteTopButton.is-active .material-symbols-rounded {
  color: #d49a28 !important;
}
.innari2026FavoriteTopButton:hover .material-symbols-rounded,
.innari2026FavoriteTopButton:focus-visible .material-symbols-rounded {
  transform: scale(1.08) !important;
  color: #d49a28 !important;
}
.innari2026FavoriteTopButton.is-loading .material-symbols-rounded {
  opacity: .48;
}
body.stage .innari2026FavoriteTopButton .material-symbols-rounded {
  color: rgba(255,255,255,.48) !important;
}
body.stage .innari2026FavoriteTopButton.is-active .material-symbols-rounded {
  color: #ffd66b !important;
}

.innari2026FavoritesIntroBox,
.innari2026FavoriteSongItem {
  background: rgba(255, 253, 247, 0.92);
  border: 1px solid rgba(25, 117, 101, 0.16);
  border-radius: 20px;
  box-shadow: 0 10px 26px rgba(36, 30, 20, 0.06);
}
.innari2026FavoritesIntroBox {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  padding: 16px;
}
.innari2026FavoritesIntroBox .material-symbols-rounded {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 154, 40, .12);
  color: #b67614;
  font-size: 1.85rem;
}
.innari2026FavoritesIntroText {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.innari2026FavoritesIntroText b {
  color: var(--innari-text, #202624);
  font-weight: 900;
}
.innari2026FavoritesIntroText small {
  color: var(--innari-muted, #6d746e);
  font-weight: 600;
  line-height: 1.3;
}
.innari2026FavoriteSongList {
  display: grid;
  gap: 12px;
}
.innari2026FavoriteSongItem {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  overflow: hidden;
}
.innari2026FavoriteSongOpen {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 12px 14px 16px;
  border: 0 !important;
  background: transparent !important;
  color: var(--innari-text, #202624) !important;
  text-align: left;
  cursor: pointer;
}
.innari2026FavoriteSongItem:hover,
.innari2026FavoriteSongItem:focus-within {
  border-color: rgba(25, 117, 101, 0.34);
  box-shadow: 0 14px 30px rgba(25, 117, 101, 0.12);
}
.innari2026FavoriteSongNum {
  min-width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 154, 40, .13);
  color: #a86b13;
  font-weight: 900;
}
.innari2026FavoriteSongText {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.innari2026FavoriteSongText b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.02rem;
  color: var(--innari-text, #202624);
}
.innari2026FavoriteSongText small {
  color: var(--innari-muted, #6d746e);
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.innari2026FavoriteRemove {
  width: 44px;
  min-width: 44px;
  border: 0 !important;
  border-left: 1px solid rgba(25,117,101,.12) !important;
  background: rgba(255,255,255,.35) !important;
  color: rgba(99, 89, 76, .76) !important;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.innari2026FavoriteRemove:hover,
.innari2026FavoriteRemove:focus-visible {
  background: rgba(229, 66, 53, .10) !important;
  color: #b53229 !important;
  outline: none;
}
.innari2026FavoriteEmptyState {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items: center;
  padding: 20px;
  border: 1px dashed rgba(25, 117, 101, 0.22);
  border-radius: 20px;
  color: var(--innari-muted, #6d746e);
}
.innari2026FavoriteEmptyState .material-symbols-outlined {
  grid-row: span 2;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 154, 40, .13);
  color: #a86b13;
}
.innari2026FavoriteEmptyState b {
  color: var(--innari-text, #202624);
}
.innari2026FavoriteEmptyState small {
  line-height: 1.3;
  font-weight: 600;
}

html.innariTheme-white body:not(.stage) .innari2026FavoritesIntroBox,
html.innariTheme-white body:not(.stage) .innari2026FavoriteSongItem,
body.innariTheme-white:not(.stage) .innari2026FavoritesIntroBox,
body.innariTheme-white:not(.stage) .innari2026FavoriteSongItem {
  background: #ffffff !important;
  border-color: var(--app-line) !important;
}
body.stage .innari2026FavoritesIntroBox,
body.stage .innari2026FavoriteSongItem {
  background: rgba(30, 36, 34, 0.84);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: none;
}
body.stage .innari2026FavoritesIntroText b,
body.stage .innari2026FavoriteSongText b,
body.stage .innari2026FavoriteEmptyState b {
  color: rgba(255,255,255,.94);
}
body.stage .innari2026FavoritesIntroText small,
body.stage .innari2026FavoriteSongText small,
body.stage .innari2026FavoriteEmptyState,
body.stage .innari2026FavoriteEmptyState small {
  color: rgba(255,255,255,.68);
}
body.stage .innari2026FavoriteSongOpen {
  color: rgba(255,255,255,.92) !important;
}
body.stage .innari2026FavoriteRemove {
  background: rgba(255,255,255,.04) !important;
  border-left-color: rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.70) !important;
}
@media (max-width: 520px) {
  .innari2026FavoriteSongOpen {
    gap: 10px;
    padding: 12px 10px 12px 12px;
  }
  .innari2026FavoriteSongNum {
    min-width: 34px;
    height: 34px;
  }
  .innari2026FavoriteRemove {
    width: 40px;
    min-width: 40px;
  }
}


/* === Innari v27.2 - Preferiti: stellina nel box brano e fix caricamento === */
.innari2026SongMetaLineTop {
  align-items: center !important;
  flex-wrap: wrap !important;
}
.innari2026FavoriteInlineButton {
  width: 30px;
  height: 30px;
  min-width: 30px;
  margin-left: 4px;
  border: 1px solid rgba(212, 154, 40, .26) !important;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 247, 222, .72) !important;
  color: rgba(166, 107, 19, .78) !important;
  box-shadow: 0 4px 10px rgba(36, 30, 20, .055);
  cursor: pointer;
  vertical-align: middle;
  transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease, opacity .16s ease;
}
.innari2026FavoriteInlineButton .material-symbols-rounded {
  font-size: 1.15rem !important;
  line-height: 1 !important;
  color: currentColor !important;
  font-variation-settings: 'FILL' 0, 'wght' 560, 'GRAD' 0, 'opsz' 24 !important;
}
.innari2026FavoriteInlineButton.is-active {
  background: rgba(255, 236, 174, .92) !important;
  border-color: rgba(212, 154, 40, .46) !important;
  color: #c17d13 !important;
}
.innari2026FavoriteInlineButton.is-active .material-symbols-rounded {
  font-variation-settings: 'FILL' 1, 'wght' 620, 'GRAD' 0, 'opsz' 24 !important;
}
.innari2026FavoriteInlineButton:hover,
.innari2026FavoriteInlineButton:focus-visible {
  transform: translateY(-1px) scale(1.03);
  color: #c17d13 !important;
  outline: none;
}
.innari2026FavoriteInlineButton.is-loading {
  opacity: .58;
  pointer-events: none;
}
body.stage .innari2026FavoriteInlineButton {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,214,107,.28) !important;
  color: rgba(255,255,255,.72) !important;
  box-shadow: none;
}
body.stage .innari2026FavoriteInlineButton.is-active {
  background: rgba(255,214,107,.18) !important;
  color: #ffd66b !important;
}
@media (max-width: 520px) {
  .innari2026FavoriteInlineButton {
    width: 28px;
    height: 28px;
    min-width: 28px;
  }
  .innari2026FavoriteInlineButton .material-symbols-rounded {
    font-size: 1.08rem !important;
  }
}

/* === Innari v27.3 - Preferiti: lista scorrevole, refresh uniforme, stellina piu discreta === */
.innari2026FavoriteSongList {
  display: grid;
  gap: 12px;
  max-height: min(44vh, 420px);
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}
.innari2026FavoriteSongList::-webkit-scrollbar {
  width: 9px;
}
.innari2026FavoriteSongList::-webkit-scrollbar-thumb {
  background: rgba(25, 117, 101, .20);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.innari2026FavoriteSongList::-webkit-scrollbar-track {
  background: transparent;
}

.innari2026FavoritesManageSections .innari2026ActionButton {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 78px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  background: var(--app-paper-2) !important;
  color: var(--app-ink) !important;
  box-shadow: none !important;
  text-align: left !important;
  line-height: 1.15 !important;
}
.innari2026FavoritesManageSections .innari2026ActionButton:hover,
.innari2026FavoritesManageSections .innari2026ActionButton:focus-visible {
  border-color: rgba(23, 106, 95, 0.35) !important;
  background: rgba(228, 241, 236, 0.6) !important;
  outline: 0 !important;
}

.innari2026FavoriteInlineButton {
  width: 24px;
  height: 24px;
  min-width: 24px;
  margin-left: 6px;
  padding: 0;
  border: 1px solid rgba(212, 154, 40, .18) !important;
  border-radius: 999px;
  background: transparent !important;
  color: rgba(166, 107, 19, .46) !important;
  box-shadow: none;
}
.innari2026FavoriteInlineButton .material-symbols-rounded {
  font-size: .98rem !important;
  line-height: 1 !important;
  color: currentColor !important;
  font-variation-settings: 'FILL' 0, 'wght' 420, 'GRAD' 0, 'opsz' 24 !important;
}
.innari2026FavoriteInlineButton:hover,
.innari2026FavoriteInlineButton:focus-visible {
  background: rgba(255, 247, 222, .34) !important;
  border-color: rgba(212, 154, 40, .26) !important;
  color: rgba(193, 125, 19, .72) !important;
  transform: translateY(-1px);
  outline: none;
}
.innari2026FavoriteInlineButton.is-active {
  background: rgba(255, 236, 174, .70) !important;
  border-color: rgba(212, 154, 40, .40) !important;
  color: #c17d13 !important;
  box-shadow: 0 4px 10px rgba(36, 30, 20, .055);
}
.innari2026FavoriteInlineButton.is-active .material-symbols-rounded {
  font-variation-settings: 'FILL' 1, 'wght' 560, 'GRAD' 0, 'opsz' 24 !important;
}
body.stage .innari2026FavoriteInlineButton {
  background: transparent !important;
  border-color: rgba(255,214,107,.18) !important;
  color: rgba(255,255,255,.58) !important;
  box-shadow: none;
}
body.stage .innari2026FavoriteInlineButton:hover,
body.stage .innari2026FavoriteInlineButton:focus-visible {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,214,107,.28) !important;
  color: rgba(255,255,255,.84) !important;
}
body.stage .innari2026FavoriteInlineButton.is-active {
  background: rgba(255,214,107,.18) !important;
  border-color: rgba(255,214,107,.34) !important;
  color: #ffd66b !important;
}

@media (max-width: 680px) {
  .innari2026FavoriteSongList {
    max-height: min(46vh, 360px);
    padding-right: 2px;
  }
}
@media (max-width: 520px) {
  .innari2026FavoriteInlineButton {
    width: 22px;
    height: 22px;
    min-width: 22px;
    margin-left: 5px;
  }
  .innari2026FavoriteInlineButton .material-symbols-rounded {
    font-size: .92rem !important;
  }
}

/* === Innari v27.4 - Preferiti: scroll reale senza compressione righe === */
#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList {
  display: block !important;
  max-height: min(42vh, 390px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  padding: 0 6px 2px 0 !important;
  margin: 0 !important;
  align-content: start !important;
  min-height: 0 !important;
}

#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteSongItem {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: 82px !important;
  height: auto !important;
  margin: 0 0 12px 0 !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}

#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteSongItem:last-child {
  margin-bottom: 0 !important;
}

#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteSongOpen {
  min-height: 82px !important;
  height: auto !important;
  align-self: stretch !important;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}

#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteRemove {
  min-height: 82px !important;
  height: auto !important;
  align-self: stretch !important;
}

#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteSongNum {
  align-self: center !important;
  flex: 0 0 auto !important;
}

#innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteEmptyState {
  min-height: 92px !important;
  box-sizing: border-box !important;
}

@media (max-width: 680px) {
  #innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList {
    max-height: min(40vh, 340px) !important;
  }
  #innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteSongItem,
  #innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteSongOpen,
  #innari2026Panel-favorites #innari2026FavoriteSongList.innari2026FavoriteSongList .innari2026FavoriteRemove {
    min-height: 78px !important;
  }
}

/* === Innari v27.5 - Stellina disattiva con bordo sottile e senza sfondo pieno === */
.innari2026FavoriteInlineButton:not(.is-active) {
  background: transparent !important;
  border: 1px solid rgba(25, 117, 101, .16) !important;
  color: rgba(25, 117, 101, .58) !important;
  box-shadow: none !important;
}
.innari2026FavoriteInlineButton:not(.is-active) .material-symbols-rounded {
  color: currentColor !important;
  font-variation-settings: 'FILL' 0, 'wght' 340, 'GRAD' 0, 'opsz' 24 !important;
}
.innari2026FavoriteInlineButton:not(.is-active):hover,
.innari2026FavoriteInlineButton:not(.is-active):focus-visible {
  background: transparent !important;
  border-color: rgba(25, 117, 101, .26) !important;
  color: rgba(25, 117, 101, .78) !important;
  box-shadow: none !important;
}
body.stage .innari2026FavoriteInlineButton:not(.is-active) {
  background: transparent !important;
  border-color: rgba(255,255,255,.22) !important;
  color: rgba(255,255,255,.66) !important;
  box-shadow: none !important;
}
body.stage .innari2026FavoriteInlineButton:not(.is-active):hover,
body.stage .innari2026FavoriteInlineButton:not(.is-active):focus-visible {
  background: transparent !important;
  border-color: rgba(255,255,255,.34) !important;
  color: rgba(255,255,255,.90) !important;
}

/* === Innari v27.8 - Tema Bianco pulito: fix menu Sincronizzazione === */
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026SelectActionCard,
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026InfoCard,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionButton,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026SelectActionCard,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026InfoCard {
  background: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
  box-shadow: none !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026InfoCard,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026InfoCard {
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.55), rgba(255,255,255,0) 58%), #ffffff !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:hover,
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026SelectActionCard:focus-within,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:hover,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:focus-visible,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026SelectActionCard:focus-within {
  background: rgba(228, 241, 236, 0.60) !important;
  border-color: rgba(23, 106, 95, 0.35) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionIcon,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionIcon {
  background: rgba(228, 241, 236, 0.78) !important;
  color: #197565 !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionText b,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionText b {
  color: var(--app-ink) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionText small,
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionText em,
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionText p,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionText small,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionText em,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionText p {
  color: var(--app-muted) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:disabled,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:disabled {
  background: #ffffff !important;
  border-color: var(--app-line) !important;
  opacity: .72 !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:disabled .innari2026ActionIcon,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionButton:disabled .innari2026ActionIcon {
  background: rgba(228, 241, 236, 0.50) !important;
  color: rgba(25,117,101,.55) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SyncManageSections .innari2026ActionSelect,
body.innariTheme-white:not(.stage) .innari2026SyncManageSections .innari2026ActionSelect {
  background-color: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

/* === Innari v27.9 - Tema Bianco pulito: fix menu Scalette === */
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026SelectActionCard,
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026SetlistActiveCard,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026SelectActionCard,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026SetlistActiveCard {
  background: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
  box-shadow: none !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026SetlistActiveCard,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026SetlistActiveCard {
  background: linear-gradient(135deg, rgba(228, 241, 236, 0.55), rgba(255,255,255,0) 58%), #ffffff !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:hover,
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026SelectActionCard:focus-within,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:hover,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:focus-visible,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026SelectActionCard:focus-within {
  background: rgba(228, 241, 236, 0.60) !important;
  border-color: rgba(23, 106, 95, 0.35) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionIcon,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionIcon {
  background: rgba(228, 241, 236, 0.78) !important;
  color: #197565 !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionText b,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionText b {
  color: var(--app-ink) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionText small,
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionText em,
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionText p,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionText small,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionText em,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionText p {
  color: var(--app-muted) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:disabled,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:disabled {
  background: #ffffff !important;
  border-color: var(--app-line) !important;
  opacity: .72 !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:disabled .innari2026ActionIcon,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionButton:disabled .innari2026ActionIcon {
  background: rgba(228, 241, 236, 0.50) !important;
  color: rgba(25,117,101,.55) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SetlistManageSections .innari2026ActionSelect,
body.innariTheme-white:not(.stage) .innari2026SetlistManageSections .innari2026ActionSelect {
  background-color: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}

/* === Innari v28.0 - Tema scuro: stellina preferiti attiva gialla come tema chiaro === */
body.stage .innari2026FavoriteInlineButton.is-active {
  background: rgba(255, 236, 174, .92) !important;
  border-color: rgba(212, 154, 40, .46) !important;
  color: #c17d13 !important;
  box-shadow: 0 4px 10px rgba(36, 30, 20, .055) !important;
}
body.stage .innari2026FavoriteInlineButton.is-active .material-symbols-rounded {
  color: currentColor !important;
  font-variation-settings: 'FILL' 1, 'wght' 560, 'GRAD' 0, 'opsz' 24 !important;
}
body.stage .innari2026FavoriteInlineButton.is-active:hover,
body.stage .innari2026FavoriteInlineButton.is-active:focus-visible {
  background: rgba(255, 236, 174, .96) !important;
  border-color: rgba(212, 154, 40, .52) !important;
  color: #c17d13 !important;
}

/* === Innari v28.1 - Ripristino fix tema Bianco pulito per Gestione Brani e Gestione Gruppi === */
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026SongManageSections form .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionButton,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026SelectActionCard,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionButton,
body.innariTheme-white:not(.stage) .innari2026SongManageSections form .innari2026ActionButton,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionButton,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026SelectActionCard {
  background: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
  box-shadow: none !important;
}
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionButton:hover,
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionButton:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionButton:hover,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionButton:focus-visible,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026SelectActionCard:focus-within,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionButton:hover,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionButton:focus-visible,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionButton:hover,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionButton:focus-visible,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026SelectActionCard:focus-within {
  background: rgba(228, 241, 236, 0.60) !important;
  border-color: rgba(23, 106, 95, 0.35) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionSelect,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionSelect,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionSelect,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionSelect {
  background-color: #ffffff !important;
  color: var(--app-ink) !important;
  border-color: var(--app-line) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionIcon,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionIcon,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionIcon,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionIcon {
  background: rgba(228, 241, 236, 0.78) !important;
  color: #197565 !important;
}
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionText b,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionText b,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionText b,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionText b {
  color: var(--app-ink) !important;
}
html.innariTheme-white body:not(.stage) .innari2026SongManageSections .innari2026ActionText small,
html.innariTheme-white body:not(.stage) .innari2026GroupManageSections .innari2026ActionText small,
body.innariTheme-white:not(.stage) .innari2026SongManageSections .innari2026ActionText small,
body.innariTheme-white:not(.stage) .innari2026GroupManageSections .innari2026ActionText small {
  color: var(--app-muted) !important;
}

/* === Innari v29.4 - Desktop: controlli zoom nel flusso del brano, non fissi alla viewport ===
   Su desktop i comandi A-/100%/A+ non devono rimanere ancorati mentre si scorre:
   devono comportarsi come su mobile, cioè restare nella testata del brano e scorrere con essa. */
@media (hover: hover) and (pointer: fine) and (min-width: 761px) {
  .innari2026SongTextZoomControls,
  .innari2026SongTextZoomControls.innari2026SongZoomDocked {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 4 !important;
    transform: none !important;
    max-width: none !important;
  }

  .innari2026SongHead .innari2026SongTextZoomControls,
  .innari2026SongHead .innari2026SongTextZoomControls.innari2026SongZoomDocked {
    position: absolute !important;
  }
}

/* === Innari v29.7 - Zoom desktop inline, mobile ripristinato === */
@media (min-width: 761px) {
  #innari2026SongHead #innari2026SongTextZoomControls,
  #innari2026SongHead #innari2026SongTextZoomControls.innari2026SongZoomDocked,
  .innari2026SongHead .innari2026SongTextZoomControls,
  .innari2026SongHead .innari2026SongTextZoomControls.innari2026SongZoomDocked {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    max-width: none !important;
    z-index: 4 !important;
  }
}

/* === Innari v30.0 - Segnali sezione in Sync === */
#innariSyncControls .innariSyncSectionCueModeWrap{
  display:grid !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:12px !important;
  margin-top:10px !important;
  border:1px solid rgba(23,106,95,.16) !important;
  border-radius:16px !important;
  background:rgba(255,252,245,.72) !important;
  color:var(--app-ink,#18211d) !important;
}
#innariSyncControls .innariSyncSectionCueModeWrap > span{
  font:900 .78rem/1.15 var(--innari2026-ui-font,system-ui,sans-serif) !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:var(--app-muted,#66716d) !important;
}
#innariSyncControls .innariSyncSectionCueModeWrap select{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  min-height:48px !important;
  padding:0 14px !important;
  border:1px solid rgba(222,215,201,.95) !important;
  border-radius:14px !important;
  background:#fffaf0 !important;
  color:var(--app-ink,#18211d) !important;
  font:900 1rem/1.2 var(--innari2026-ui-font,system-ui,sans-serif) !important;
}
#innariSyncControls .innariSyncSectionCueModeWrap select:disabled{
  opacity:.72 !important;
}
#innariSyncControls .innariSyncSectionCueModeWrap small{
  display:block !important;
  color:var(--app-muted,#66716d) !important;
  font:800 .76rem/1.28 var(--innari2026-ui-font,system-ui,sans-serif) !important;
  overflow-wrap:anywhere !important;
}
html.innari2026SectionCueCanSend #testo p.innari2026SectionBadge,
html.innari2026SectionCueCanSend .innari2026SongText p.innari2026SectionBadge{
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent !important;
}
html.innari2026SectionCueCanSend #testo p.innari2026SectionBadge:hover,
html.innari2026SectionCueCanSend .innari2026SongText p.innari2026SectionBadge:hover,
#testo p.innari2026SectionBadge.innari2026SectionCueReady:focus-visible,
.innari2026SongText p.innari2026SectionBadge.innari2026SectionCueReady:focus-visible{
  outline:2px solid rgba(23,106,95,.38) !important;
  outline-offset:3px !important;
  filter:saturate(1.08) brightness(1.03) !important;
}
#testo p.innari2026SectionBadge.innari2026SectionCueActive,
.innari2026SongText p.innari2026SectionBadge.innari2026SectionCueActive{
  position:relative !important;
  animation:innari2026SectionCuePulse .82s ease-in-out infinite !important;
  box-shadow:0 0 0 3px rgba(255,193,7,.30),0 0 18px rgba(255,193,7,.55),0 2px 0 rgba(255,255,255,.65) inset !important;
}
#testo p.innari2026SectionBadge .innari2026SectionCueName,
.innari2026SongText p.innari2026SectionBadge .innari2026SectionCueName{
  display:inline-flex !important;
  align-items:center !important;
  max-width:12em !important;
  margin-left:.55em !important;
  padding:.12em .55em !important;
  border-radius:999px !important;
  background:rgba(255,193,7,.20) !important;
  color:#7a4c00 !important;
  font:900 .78em/1 var(--innari2026-ui-font,system-ui,sans-serif) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  vertical-align:.06em !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body.stage #testo p.innari2026SectionBadge .innari2026SectionCueName,
body.stage .innari2026SongText p.innari2026SectionBadge .innari2026SectionCueName{
  background:rgba(255,193,7,.28) !important;
  color:#fff4c2 !important;
}
@keyframes innari2026SectionCuePulse{
  0%,100%{ transform:scale(1); filter:brightness(1) saturate(1); }
  50%{ transform:scale(1.045); filter:brightness(1.18) saturate(1.28); }
}
@media (prefers-reduced-motion: reduce){
  #testo p.innari2026SectionBadge.innari2026SectionCueActive,
  .innari2026SongText p.innari2026SectionBadge.innari2026SectionCueActive{
    animation:none !important;
  }
}

/* === Innari v30.1 - Segnali sezione: toast senza scroll automatico === */
.innari2026SectionCueToast{
  position:fixed !important;
  left:50% !important;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  z-index:10080 !important;
  max-width:min(560px, calc(100vw - 24px)) !important;
  box-sizing:border-box !important;
  padding:12px 16px !important;
  border-radius:999px !important;
  background:rgba(24,33,29,.94) !important;
  color:#fff8df !important;
  box-shadow:0 18px 38px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.10) !important;
  font:900 .95rem/1.18 var(--innari2026-ui-font, system-ui, sans-serif) !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  transform:translate(-50%, 18px) scale(.98) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s !important;
}
.innari2026SectionCueToast[data-active="1"]{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate(-50%, 0) scale(1) !important;
  transition:opacity .18s ease, transform .18s ease, visibility 0s !important;
}
body.stage .innari2026SectionCueToast{
  background:rgba(255,193,7,.94) !important;
  color:#2b2100 !important;
  box-shadow:0 18px 38px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.22) !important;
}
@media (max-width: 680px){
  .innari2026SectionCueToast{
    bottom:calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    max-width:calc(100vw - 18px) !important;
    padding:11px 13px !important;
    border-radius:18px !important;
    font-size:.9rem !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .innari2026SectionCueToast{
    transition:none !important;
    transform:translate(-50%, 0) !important;
  }
}

/* === Innari v30.3 - Home: Massima di oggi nello stesso box del versetto === */
.innari2026HomeQuoteText {
  display: block !important;
  margin: 4px 0 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(23, 106, 95, 0.14) !important;
  border-radius: 14px !important;
  background: rgba(228, 241, 236, 0.38) !important;
  color: rgba(31, 36, 33, 0.88) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.02rem, 1.28vw, 1.18rem) !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (max-width: 680px) {
  .innari2026HomeQuoteText {
    padding: 10px 12px !important;
    font-size: 1rem !important;
    line-height: 1.44 !important;
  }
}
