/* Sinapsi UI — global button geometry (28px height, 6px radius) */

:root {
  --ui-button-height: 28px;
  --ui-button-radius: 6px;
}

/* Text links and navigation items keep their own sizing */
.action-link:not(.action-link-button),
.spc-console-inline-link,
.signup-step__back,
.toggle-password,
.lang-switch button,
.admin-tab,
.admin-section-tab,
.support-tab,
.admin-pagination__link,
.admin-users-pagination__page,
.admin-users-pagination__nav,
.menu-link,
.menu-mobile-link,
.app-sidebar-collapse-toggle,
.security-notice-trigger,
.app-launcher-trigger,
.developer-guide-index__link,
.developer-guide-doc__toc a,
.developer-guide-doc__content a {
  min-height: unset !important;
  height: auto !important;
}

.mobile-menu-toggle {
  box-sizing: border-box !important;
  min-height: 60px !important;
  height: auto !important;
  border: none !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: normal;
  align-items: center !important;
  justify-content: flex-start !important;
  background: transparent !important;
  color: inherit !important;
}

@media (max-width: 1120px) {
  .mobile-menu-toggle {
    display: flex !important;
  }
}

.ui-button,
.ui-button--primary,
.ui-button--secondary,
.billing-hub-filled-button,
.btn-primary,
.btn-secondary,
.btn-google,
.btn-apple,
.action-btn,
.action-link-button,
a.action-btn,
a.btn-primary,
a.btn-secondary,
a.btn-google,
a.btn-apple,
button.primary,
.allow,
.photo-upload-button,
.row-actions button:not(.danger),
.row-actions a:not(.danger),
.admin-message-actions button:not(.danger),
.actions button:not(.signup-step__back):not(.toggle-password):not(.action-link):not(.action-link-button):not(.danger),
.spc-console-inline-action:not(.spc-console-inline-link),
.spc-console-json-export-button,
.spc-console-chart-view-toggle__button,
.billing-hub-collapse-toggle,
.billing-hub-month-picker__month,
.billing-hub-date-picker__nav,
.legal-acceptance-shell__logout,
.assurance-search-button,
.assurance-search-form button,
.dbox-filters-actions button:not(.danger),
.dbox-filters-actions a,
.row-actions button.danger,
.admin-message-actions button.danger,
.row-actions a.danger,
button.danger,
.dbox-filters-actions button.danger,
.actions button.danger,
.deny,
input[type="submit"].danger,
.admin-users-table__delete.danger,
.spc-console-page button:not(.toggle-password):not(.signup-step__back):not(.billing-hub-collapse-toggle):not(.spc-console-chart-view-toggle__button):not(.app-sidebar-collapse-toggle):not(.profile-menu-trigger):not(.security-notice-trigger):not(.app-launcher-trigger):not(.profile-menu-item):not(.danger),
.billing-hub-page button:not(.toggle-password):not(.billing-hub-collapse-toggle):not(.app-sidebar-collapse-toggle):not(.profile-menu-trigger):not(.security-notice-trigger):not(.app-launcher-trigger):not(.profile-menu-item):not(.danger),
.dbox-page button:not(.toggle-password):not(.app-sidebar-collapse-toggle):not(.profile-menu-trigger):not(.security-notice-trigger):not(.app-launcher-trigger):not(.profile-menu-item):not(.danger),
input[type="button"],
input[type="submit"]:not(.danger),
input[type="reset"] {
  box-sizing: border-box !important;
  min-height: var(--ui-button-height, 28px) !important;
  height: var(--ui-button-height, 28px) !important;
  border: none !important;
  border-color: transparent !important;
  border-radius: var(--ui-button-radius, 6px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.btn-google,
.btn-apple,
a.btn-google,
a.btn-apple {
  border-radius: var(--ui-button-radius, 6px) !important;
}

.ui-button,
.billing-hub-filled-button,
.btn-primary,
.btn-secondary,
.btn-google,
.btn-apple,
.action-btn,
.action-link-button,
a.action-btn,
a.btn-primary,
a.btn-secondary,
.spc-console-inline-action:not(.spc-console-inline-link),
.spc-console-json-export-button,
.assurance-search-button,
.row-actions button:not(.danger),
.row-actions a:not(.danger),
.admin-message-actions button:not(.danger),
.actions button:not(.signup-step__back):not(.toggle-password):not(.action-link):not(.action-link-button):not(.danger):not([hidden]),
button.primary,
.allow,
.photo-upload-button,
.row-actions button.danger,
.admin-message-actions button.danger,
.row-actions a.danger,
button.danger,
.dbox-filters-actions button.danger,
.actions button.danger,
.deny,
input[type="submit"].danger,
.admin-users-table__delete.danger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

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

.billing-hub-month-picker__month,
.billing-hub-heatmap__legend-button,
.billing-hub-date-picker__nav,
.spc-console-widget-chip,
.spc-console-chart-view-toggle__button,
.admin-tab,
.admin-section-tab,
.support-tab,
.admin-users-table__save-btn,
.api-docs-regenerate-btn,
.api-docs-card__link,
.lang-link,
.billing-hub-icon-button,
.billing-hub-text-button,
.admin-pagination__link,
.admin-users-pagination__nav {
  border: none !important;
  border-color: transparent !important;
}

/* Bottoni filled: testo sempre leggibile su sfondo scuro/colorato */
.ui-button,
.ui-button--primary,
.ui-button--secondary,
.billing-hub-filled-button,
.btn-primary,
.btn-secondary,
.action-btn,
.action-link-button,
a.action-btn,
a.btn-primary,
a.btn-secondary,
button.primary,
.allow,
.row-actions button:not(.danger),
.row-actions a:not(.danger),
.admin-message-actions button:not(.danger),
.actions button:not(.signup-step__back):not(.toggle-password):not(.action-link):not(.action-link-button):not(.danger),
.spc-console-inline-action:not(.spc-console-inline-link),
.spc-console-json-export-button,
.assurance-search-button,
.assurance-search-form button[type="submit"],
.admin-users-table__save-btn,
.admin-tab.active,
.admin-pagination__link.active,
.legal-acceptance-shell__logout,
input[type="submit"]:not(.danger),
.api-docs-card__link:not(.api-docs-card__link--secondary),
.dbox-filters-actions button:not(.danger) {
  background: var(--theme-button-bg, #141414);
  color: var(--theme-button-text, #ffffff) !important;
}

.ui-button:hover:not(:disabled),
.ui-button--primary:hover:not(:disabled),
.ui-button--secondary:hover:not(:disabled),
.billing-hub-filled-button:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.btn-secondary:hover:not(:disabled),
.action-btn:hover:not(:disabled),
.action-link-button:hover:not(:disabled),
a.action-btn:hover,
a.btn-primary:hover,
a.btn-secondary:hover,
button.primary:hover:not(:disabled),
.allow:hover,
.row-actions button:not(.danger):hover:not(:disabled),
.row-actions a:not(.danger):hover,
.row-actions a:not(.danger):focus,
.row-actions a:not(.danger):visited,
.admin-message-actions button:not(.danger):hover:not(:disabled),
.actions button:not(.signup-step__back):not(.toggle-password):not(.action-link):not(.action-link-button):not(.danger):hover:not(:disabled),
.spc-console-inline-action:not(.spc-console-inline-link):hover,
.spc-console-json-export-button:hover,
.assurance-search-button:hover,
.assurance-search-form button[type="submit"]:hover:not(:disabled),
.admin-users-table__save-btn:hover,
.admin-tab.active:hover,
.admin-pagination__link.active:hover,
.legal-acceptance-shell__logout:hover,
input[type="submit"]:not(.danger):hover:not(:disabled),
.api-docs-card__link:not(.api-docs-card__link--secondary):hover,
.dbox-filters-actions button:not(.danger):hover:not(:disabled) {
  background: var(--theme-button-bg-hover, #333333);
  color: var(--theme-button-text, #ffffff) !important;
  text-decoration: none !important;
}

.ui-button .material-symbols-outlined,
.ui-button--primary .material-symbols-outlined,
.ui-button--secondary .material-symbols-outlined,
.billing-hub-filled-button .material-symbols-outlined,
.btn-primary .material-symbols-outlined,
.btn-secondary .material-symbols-outlined,
.action-btn .material-symbols-outlined,
.action-link-button .material-symbols-outlined,
a.action-btn .material-symbols-outlined,
a.btn-primary .material-symbols-outlined,
a.btn-secondary .material-symbols-outlined,
button.primary .material-symbols-outlined,
.row-actions button:not(.danger) .material-symbols-outlined,
.admin-message-actions button:not(.danger) .material-symbols-outlined,
.actions button:not(.signup-step__back):not(.toggle-password):not(.action-link):not(.action-link-button) .material-symbols-outlined,
.spc-console-inline-action:not(.spc-console-inline-link) .material-symbols-outlined,
.spc-console-json-export-button .material-symbols-outlined,
.assurance-search-button .material-symbols-outlined,
.assurance-search-button__icon,
.admin-users-table__save-btn .material-symbols-outlined,
.legal-acceptance-shell__logout .material-symbols-outlined,
.api-docs-card__link:not(.api-docs-card__link--secondary) .material-symbols-outlined,
.dbox-filters-actions button .material-symbols-outlined {
  color: inherit !important;
}

/* Danger / destructive: filled red, white text, no border */
.row-actions button.danger,
.admin-message-actions button.danger,
.row-actions a.danger,
button.danger,
input[type="submit"].danger,
.dbox-filters-actions button.danger,
.dbox-page button.danger,
.actions button.danger,
.deny,
.admin-users-table__delete.danger {
  background: var(--theme-danger-button-bg, var(--theme-danger, #cf2d56)) !important;
  color: var(--theme-danger-button-text, #ffffff) !important;
  border: none !important;
  border-color: transparent !important;
}

.row-actions button.danger:hover:not(:disabled),
.row-actions button.danger:focus-visible,
.admin-message-actions button.danger:hover:not(:disabled),
.admin-message-actions button.danger:focus-visible,
.row-actions a.danger:hover,
.row-actions a.danger:focus-visible,
button.danger:hover:not(:disabled),
button.danger:focus-visible,
input[type="submit"].danger:hover:not(:disabled),
input[type="submit"].danger:focus-visible,
.dbox-filters-actions button.danger:hover:not(:disabled),
.dbox-page button.danger:hover:not(:disabled),
.dbox-page button.danger:focus-visible,
.actions button.danger:hover:not(:disabled),
.actions button.danger:focus-visible,
.deny:hover,
.deny:focus-visible,
.admin-users-table__delete.danger:hover,
.admin-users-table__delete.danger:focus-visible {
  background: var(--theme-danger-button-bg-hover, color-mix(in srgb, var(--theme-danger, #cf2d56) 82%, #000000)) !important;
  color: var(--theme-danger-button-text, #ffffff) !important;
  border: none !important;
  text-decoration: none !important;
}

.row-actions button.danger .material-symbols-outlined,
.admin-message-actions button.danger .material-symbols-outlined,
button.danger .material-symbols-outlined,
.actions button.danger .material-symbols-outlined,
.dbox-filters-actions button.danger .material-symbols-outlined,
.dbox-page button.danger .material-symbols-outlined {
  color: inherit !important;
}

.profile-menu-trigger {
  box-sizing: border-box !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  flex: 0 0 40px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 50% !important;
}

.profile-menu-trigger .profile-menu-avatar-image {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center;
  display: block;
  border-radius: 50%;
}

.profile-menu-trigger .profile-menu-avatar-fallback {
  width: 100% !important;
  height: 100% !important;
}

@media (min-width: 1121px) {
  #open-mobile-menu,
  body.account-summary-page .mobile-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 1120px) {
  #open-mobile-menu:not([hidden]),
  body.account-summary-page .mobile-menu-toggle:not([hidden]) {
    display: flex !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 60px !important;
    pointer-events: auto !important;
  }
}
