@charset "UTF-8";
/* Generato da theme/fondital-scss/fondital.scss (app: cat) con npm run build in theme/. Non modificare questo file. */
/* Design tokens and CSS variables. */
:root {
  --tq-bg: #f4f7fb;
  --tq-app-accent: #ee2a24;
  --tq-app-accent-2: #d97706;
  --tq-sidebar: #250b0b;
  --tq-sidebar-2: #331111;
  --tq-card: #ffffff;
  --tq-border: #dde5f0;
  --tq-border-subtle: var(--tq-border);
  --tq-muted: #64748b;
  --tq-primary: #2563eb;
  --tq-primary-2: #1d4ed8;
  --tq-success: #16a34a;
  --tq-warning: #d97706;
  --tq-danger: #dc2626;
  --tq-info: #0284c7;
  --tq-purple: #7c3aed;
  --tq-text: #0f172a;
  --tq-text-strong: #111827;
  --tq-text-body: #1f2937;
  --tq-text-soft: #334155;
  --tq-text-muted-strong: #475569;
  --tq-text-muted: #4b5563;
  --tq-text-inverse: #ffffff;
  --tq-black: #000000;
  --tq-surface: #ffffff;
  --tq-surface-muted: #f8fafc;
  --tq-surface-soft: #fbfdff;
  --tq-surface-accent: #eef3f8;
  --tq-primary-soft: #e8f1ff;
  --tq-primary-selected: #dbeafe;
  --tq-badge-bg: #f1f5f9;
  --tq-border-strong: #d6dee8;
  --tq-link: #2563eb;
  --tq-link-hover: #1d4ed8;
  --tq-brand-mark-start: #60a5fa;
  --tq-compact-link: #0f6fa8;
  --tq-compact-link-hover: #075985;
  --tq-compact-icon-info: #0ea5e9;
  --tq-sidebar-text: #e5edff;
  --tq-sidebar-link: rgba(226, 232, 240, .84);
  --tq-sidebar-muted: rgba(226, 232, 240, .74);
  --tq-sidebar-section: rgba(226, 232, 240, .58);
  --tq-sidebar-footer: rgba(226, 232, 240, .7);
  --tq-sidebar-accent: rgba(238, 42, 36, .24);
  --tq-sidebar-accent-soft: rgba(217, 119, 6, .14);
  --tq-sidebar-control-bg: rgba(255, 255, 255, .1);
  --tq-sidebar-control-bg-hover: rgba(255, 255, 255, .16);
  --tq-sidebar-control-bg-focus: rgba(255, 255, 255, .12);
  --tq-sidebar-border: rgba(255, 255, 255, .08);
  --tq-sidebar-border-strong: rgba(255, 255, 255, .12);
  --tq-sidebar-border-focus: rgba(255, 255, 255, .16);
  --tq-sidebar-dropdown-bg: rgba(37, 11, 11, .32);
  --tq-sidebar-backdrop: rgba(37, 11, 11, .32);
  --tq-topbar-bg: rgba(244, 247, 251, .86);
  --tq-topbar-brand-accent: rgba(238, 42, 36, .18);
  --tq-white-highlight: rgba(255, 255, 255, .8);
  --tq-white-highlight-soft: rgba(255, 255, 255, .7);
  --tq-white-highlight-border: rgba(255, 255, 255, .18);
  --tq-border-translucent: rgba(221, 229, 240, .95);
  --tq-primary-border-soft: rgba(37, 99, 235, .26);
  --tq-chip-bg: rgba(15, 23, 42, .04);
  --tq-chip-border: rgba(15, 23, 42, .12);
  --tq-compact-border: rgba(148, 163, 184, .34);
  --tq-danger-bg: rgba(220, 38, 38, .12);
  --tq-danger-bg-soft: rgba(220, 38, 38, .08);
  --tq-danger-border: rgba(220, 38, 38, .25);
  --tq-warning-bg-soft: rgba(217, 119, 6, .1);
  --tq-warning-border: rgba(217, 119, 6, .24);
  --tq-btn-radius: 8px;
  --tq-btn-font-weight: 700;
  --tq-btn-gap: 6px;
  --tq-btn-action-size: 32px;
  --tq-btn-action-size-mobile: 31px;
  --tq-btn-action-icon-size: .95rem;
  --tq-form-control-height: 58px;
  --tq-form-control-line-height: 20px;
  --tq-heading-1-size: 1.75rem;
  --tq-heading-2-size: 1.5rem;
  --tq-heading-3-size: 1.25rem;
  --tq-heading-4-size: 1.125rem;
  --tq-heading-5-size: 1rem;
  --tq-heading-6-size: 1rem;
  --tq-form-control-padding-x: 12px;
  --tq-form-control-padding-y: 15px;
  --tq-edit-control-height: var(--tq-form-control-height);
  --tq-edit-control-line-height: var(--tq-form-control-line-height);
  --tq-edit-control-padding-x: var(--tq-form-control-padding-x);
  --tq-edit-control-padding-y: var(--tq-form-control-padding-y);
  --tq-list-filter-control-height: 42px;
  --tq-list-filter-control-line-height: 18px;
  --tq-list-filter-control-font-size: .875rem;
  --tq-list-filter-label-font-size: .78rem;
  --tq-list-filter-control-padding-x: 8px;
  --tq-list-filter-control-padding-y: 12px;
  --tq-radius: 8px;
  --tq-radius-sm: 8px;
  --tq-shadow: 0 8px 22px rgba(15, 23, 42, .06);
  --tq-shadow-soft: 0 6px 18px rgba(15, 23, 42, .045);
  --tq-shadow-card-soft: 0 6px 18px rgba(15, 23, 42, .04);
  --tq-loader-backdrop: rgba(15, 23, 42, .26);
  --tq-loader-surface: var(--tq-surface);
  --tq-loader-shadow: 0 18px 42px rgba(15, 23, 42, .18);
  --tq-loader-ring-size: 2.75rem;
  --tq-loader-ring-width: .24rem;
  --tq-shadow-compact: 0 8px 22px rgba(15, 23, 42, .06);
  --tq-shadow-popover: 0 18px 44px rgba(15, 23, 42, .14);
  --tq-shadow-sidebar: 18px 0 42px rgba(15, 23, 42, .18);
  --tq-shadow-sidebar-soft: 18px 0 42px rgba(15, 23, 42, .22);
  --tq-shadow-sidebar-toggle: 12px 12px 28px rgba(15, 23, 42, .18);
  --tq-shadow-mobile-toggle: 10px 12px 28px rgba(15, 23, 42, .18);
  --tq-shadow-header-control: 0 8px 20px rgba(15, 23, 42, .05);
  --tq-shadow-brand: 0 12px 26px rgba(37, 99, 235, .35);
  --tq-filter-brand: brightness(0) invert(1);
  /* Altezza della barra in alto delle app Fondital. Non e' --tq-topbar-height, che appartiene al tema:
     la scrive l'intestazione fissa delle liste con la propria altezza. */
  --fd-topbar-height: 76px;
  --tq-sidebar-width: 320px;
  --tq-sidebar-compact-width: 86px;
  --tq-home-dashboard-panel-min-inline-size: 37.5rem;
  --tq-home-app-card-min-inline-size: 14.5rem;
  --tq-form-control-border: #7d8a9e;
  --bs-border-color: var(--tq-border);
  --bs-link-color: var(--tq-primary);
  --bs-link-hover-color: var(--tq-primary-2);
}

/* Base document, links, application container. */
html,
body {
  min-height: 100%;
  background: var(--tq-bg);
}

body {
  color: var(--tq-text);
  font-family: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Shared Fondital loading state for the native tqtheme page loader. */
.loadingScreenOverlay {
  position: fixed;
  inset: 0;
  z-index: 8000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--tq-loader-backdrop);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.loadingScreenOverlay .spinner-border {
  width: var(--tq-loader-ring-size);
  height: var(--tq-loader-ring-size);
  color: var(--tq-primary) !important;
  border-width: var(--tq-loader-ring-width);
  box-shadow: 0 0 0 0.75rem var(--tq-loader-surface), var(--tq-loader-shadow);
}

@media (prefers-reduced-motion: reduce) {
  .loadingScreenOverlay .spinner-border {
    animation-duration: 1.5s;
  }
}
body.tq-sidebar--mounted:not(.tq-sidebar--overlay) {
  --tq-sidebar-w: var(--tq-sidebar-width);
}

a {
  color: var(--tq-primary);
}

a:hover {
  color: var(--tq-primary-2);
}

#appcontainer {
  min-height: 100vh;
  margin-bottom: 20px;
  background: var(--tq-bg);
}

#appcontainer > .container,
#appcontainer > .container-fluid {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 24px;
  background: var(--tq-bg);
  transition: padding 0.22s ease;
}

#appcontainer > .container-fluid {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

#appcontainer > .container > .row:first-child,
#appcontainer > .container-fluid > .row:first-child {
  margin-bottom: 18px;
}

#appcontainer h1,
#appcontainer h2,
#appcontainer h3 {
  letter-spacing: 0;
}

#appcontainer h1,
#appcontainer .h1 {
  margin: 0;
  color: var(--tq-text);
  font-size: var(--tq-heading-1-size);
  line-height: 1.12;
  font-weight: 800;
}

#appcontainer h2,
#appcontainer .h2 {
  color: var(--tq-text);
  font-size: var(--tq-heading-2-size);
  line-height: 1.2;
  font-weight: 760;
}

#appcontainer h3,
#appcontainer .h3 {
  color: var(--tq-text);
  font-size: var(--tq-heading-3-size);
  line-height: 1.25;
  font-weight: 740;
}

#appcontainer h4,
#appcontainer .h4 {
  font-size: var(--tq-heading-4-size);
}

#appcontainer h5,
#appcontainer .h5 {
  font-size: var(--tq-heading-5-size);
}

#appcontainer h6,
#appcontainer .h6 {
  font-size: var(--tq-heading-6-size);
}

body > p {
  position: relative;
  top: -20px;
}

.scrollDown,
.scrollUp {
  flex-grow: 0 !important;
}

.scrollUp > .container-fluid,
.scrollDown > .container-fluid {
  padding-right: 0;
  padding-left: 0;
}

.popover {
  z-index: 10;
}

/* Testo semplice su più righe: tiene gli a capo del dato (per esempio la descrizione di un ticket arrivata dal widget
   pubblico e mostrata come testo, non come HTML). Bootstrap non ha una classe per white-space: pre-line. */
.tq-text-multiline {
  white-space: pre-line;
}

/* Header, topbar, search and shell primitives. */
.navbar {
  box-shadow: none;
}

.topbar,
header.topbar,
header .topbar,
.app-topbar,
#navbarnavbar-fixed-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  min-height: var(--fd-topbar-height);
  background: var(--tq-topbar-bg);
  border-bottom: 1px solid var(--tq-border);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.navbar.fixed-top:not(#previewBar),
.navbar.navbar-fixed-top:not(#previewBar),
#navbarnavbar-fixed-header {
  position: fixed !important;
  top: 0 !important;
  right: 0;
  left: 0;
  z-index: 1030;
  min-height: var(--fd-topbar-height);
  background: var(--tq-topbar-bg) !important;
  border-bottom: 1px solid var(--tq-border);
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}

.navbar.fixed-top:not(#previewBar) {
  padding: 0;
}

.navbar.fixed-top:not(#previewBar) > .container,
.navbar.fixed-top:not(#previewBar) > .container-fluid {
  min-height: var(--fd-topbar-height);
  padding: 0 12px 0 0;
}

body.tq-sidebar--mounted .navbar.fixed-top:not(#previewBar) .navbar-brand,
body.tq-sidebar--mounted #navbarnavbar-fixed-header .navbar-brand {
  width: var(--tq-sidebar-width);
  min-width: var(--tq-sidebar-width);
  height: var(--fd-topbar-height);
  display: flex;
  align-items: center;
  padding: 0 22px;
  margin: 0 !important;
  background: radial-gradient(circle at top left, var(--tq-topbar-brand-accent), transparent 36%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2));
  border-right: 1px solid var(--tq-sidebar-border);
}

body.tq-sidebar--mounted .navbar.fixed-top:not(#previewBar) .navbar-brand img,
body.tq-sidebar--mounted #navbarnavbar-fixed-header .navbar-brand img {
  max-height: 42px;
  width: auto;
  object-fit: contain;
  filter: var(--tq-filter-brand);
}

.navbar.fixed-top:not(#previewBar) .navbar-collapse {
  min-width: 0;
  padding: 0 24px;
}

/* Only the real search control grows in the header; actions stay compact. */
.navbar.fixed-top:not(#previewBar) .widget-block:has(.searchContainer) {
  --tq-header-search-inline-size: min(420px, 32vw);
  width: var(--tq-header-search-inline-size);
  flex: 0 1 var(--tq-header-search-inline-size);
}

/* The navbar and sidebar both switch to their mobile layout at this breakpoint. */
@media screen and (max-width: 991px) {
  .navbar.fixed-top:not(#previewBar) .widget-block:has(.searchContainer) {
    --tq-header-search-inline-size: 100%;
    flex: 0 0 auto;
    align-self: stretch;
  }
}
.navbar.fixed-top:not(#previewBar) .widget-block:has(.searchContainer) form,
.navbar.fixed-top:not(#previewBar) .searchContainer,
.navbar.fixed-top:not(#previewBar) .searchGroup {
  width: 100%;
}

.navbar.fixed-top:not(#previewBar) .searchContainer {
  position: relative;
  overflow: visible;
}

.navbar.fixed-top:not(#previewBar) .searchGroup {
  position: relative;
  min-height: 42px;
  border: 1px solid var(--tq-border);
  border-radius: 999px;
  background: var(--tq-surface);
  box-shadow: inset 0 1px 0 var(--tq-white-highlight);
  overflow: visible;
}

.navbar.fixed-top:not(#previewBar) .searchGroup > .search-submit {
  width: 42px;
  min-width: 42px;
  border: 0;
  border-radius: 0;
  color: var(--tq-muted);
  background: transparent;
}

.navbar.fixed-top:not(#previewBar) .searchGroup > .search-submit:hover {
  color: var(--tq-text);
  background: var(--tq-surface-muted);
}

.navbar.fixed-top:not(#previewBar) .searchGroup > .form-control {
  height: 42px;
  min-height: 42px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.navbar.fixed-top:not(#previewBar) .dropdownsearch .form-floating,
.navbar.fixed-top:not(#previewBar) .dropdownsearch .element_select,
.navbar.fixed-top:not(#previewBar) .dropdownsearch .element_autocomplete {
  min-height: 58px;
}

.navbar.fixed-top:not(#previewBar) .dropdownsearch input.form-control:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=image]),
.navbar.fixed-top:not(#previewBar) .dropdownsearch select.form-select,
.navbar.fixed-top:not(#previewBar) .dropdownsearch .tqselect__control {
  height: 58px;
  min-height: 58px;
  border: 1px solid var(--tq-border);
  border-radius: 8px;
  /* Solo il colore: lo shorthand background azzerava anche l'immagine con la freccia delle select di Bootstrap. */
  background-color: var(--tq-surface);
  box-shadow: none;
}

.navbar.fixed-top:not(#previewBar) .header {
  gap: 8px;
}

.navbar.fixed-top:not(#previewBar) .header .btn {
  min-height: 42px;
  color: var(--tq-text);
  border: 1px solid var(--tq-border);
  border-radius: 14px;
  background: var(--tq-surface);
  box-shadow: var(--tq-shadow-header-control);
}

.navbar.fixed-top:not(#previewBar) .header .btn:hover {
  background: var(--tq-surface-muted);
}

#navbarnavbar-fixed-header .tq-user-menu-toggle,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle {
  display: inline-flex;
  align-items: center;
}

#navbarnavbar-fixed-header .tq-user-menu-toggle > .dropdown-toggle,
#navbarnavbar-fixed-header .tq-user-menu-toggle.dropdown-toggle,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle > .dropdown-toggle,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 6px 12px 6px 8px;
  color: var(--tq-text);
  background: var(--tq-surface);
  border: 1px solid var(--tq-border-translucent);
  border-radius: 16px;
  box-shadow: var(--tq-shadow-header-control);
}

#navbarnavbar-fixed-header .tq-user-menu-toggle > .dropdown-toggle:hover,
#navbarnavbar-fixed-header .tq-user-menu-toggle > .dropdown-toggle:focus,
#navbarnavbar-fixed-header .tq-user-menu-toggle.dropdown-toggle:hover,
#navbarnavbar-fixed-header .tq-user-menu-toggle.dropdown-toggle:focus,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle > .dropdown-toggle:hover,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle > .dropdown-toggle:focus,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle.dropdown-toggle:hover,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle.dropdown-toggle:focus {
  color: var(--tq-text);
  background: var(--tq-surface);
  border-color: var(--tq-primary-border-soft);
}

#navbarnavbar-fixed-header .tq-user-menu-toggle .caret,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle .caret {
  margin-left: 2px;
}

#navbarnavbar-fixed-header .tq-user-menu-title,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

#navbarnavbar-fixed-header .tq-user-avatar,
#navbarnavbar-fixed-header .tq-user-avatar-img,
.navbar.fixed-top:not(#previewBar) .tq-user-avatar,
.navbar.fixed-top:not(#previewBar) .tq-user-avatar-img {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: var(--tq-text-inverse);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(135deg, var(--tq-primary), var(--tq-primary-2));
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--tq-white-highlight-border);
}

#navbarnavbar-fixed-header .tq-user-avatar-img img,
#navbarnavbar-fixed-header img.tq-user-avatar-img,
.navbar.fixed-top:not(#previewBar) .tq-user-avatar-img img,
.navbar.fixed-top:not(#previewBar) img.tq-user-avatar-img {
  width: 42px;
  height: 42px;
  object-fit: cover;
}

#navbarnavbar-fixed-header .tq-user-meta,
.navbar.fixed-top:not(#previewBar) .tq-user-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
}

#navbarnavbar-fixed-header .tq-user-name,
.navbar.fixed-top:not(#previewBar) .tq-user-name {
  max-width: 180px;
  overflow: hidden;
  color: var(--tq-text-strong);
  font-size: 1rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#navbarnavbar-fixed-header .tq-user-role,
.navbar.fixed-top:not(#previewBar) .tq-user-role {
  max-width: 180px;
  overflow: hidden;
  color: var(--tq-muted);
  font-size: 1rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#navbarnavbar-fixed-header .dropdown-menu,
.navbar.fixed-top:not(#previewBar) .dropdown-menu {
  z-index: 1100;
  min-width: 236px;
  margin-top: 10px;
  padding: 8px;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: 14px;
  box-shadow: var(--tq-shadow-popover);
}

#navbarnavbar-fixed-header .dropdown-menu.dropdownsearch,
.navbar.fixed-top:not(#previewBar) .dropdown-menu.dropdownsearch,
.searchContainer .dropdown-menu.dropdownsearch {
  width: min(520px, 100vw - 32px);
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - var(--fd-topbar-height) - 32px);
  overflow-y: auto;
  z-index: 1100;
}

#navbarnavbar-fixed-header .dropdown-small.dropdown-menu,
.navbar.fixed-top:not(#previewBar) .dropdown-small.dropdown-menu {
  min-width: 124px;
  width: 124px;
  padding: 7px;
}

/* Fondital header language menu contract, aligned with CAT. */
#navbarnavbar-fixed-header .tq-language-menu,
.navbar.fixed-top:not(#previewBar) .tq-language-menu {
  position: relative;
}

#navbarnavbar-fixed-header .tq-language-menu .dropdown-small.dropdown-menu,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .dropdown-small.dropdown-menu {
  min-width: 100%;
  width: 100%;
  padding: 7px;
}

#navbarnavbar-fixed-header .tq-language-menu .dropdown-small.dropdown-menu.show,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .dropdown-small.dropdown-menu.show {
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  transform: translate3d(0, 42px, 0) !important;
}

#navbarnavbar-fixed-header .tq-user-menu-toggle .dropdown-with-icons.dropdown-menu,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle .dropdown-with-icons.dropdown-menu {
  min-width: 148px;
  width: 148px;
  padding: 7px;
}

#navbarnavbar-fixed-header .tq-user-menu-toggle .dropdown-with-icons .tq-user-menu-item,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-toggle .dropdown-with-icons .tq-user-menu-item {
  min-height: 34px;
  padding: 7px 8px;
  gap: 8px;
}

#navbarnavbar-fixed-header .dropdown-menu .dropdown-item,
#navbarnavbar-fixed-header .tq-user-menu-item,
.navbar.fixed-top:not(#previewBar) .dropdown-menu .dropdown-item,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-item {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  color: var(--tq-text-body);
  font-size: 1rem;
  font-weight: 700;
  border-radius: 10px;
}

#navbarnavbar-fixed-header .dropdown-menu .dropdown-item:hover,
#navbarnavbar-fixed-header .tq-user-menu-item:hover,
.navbar.fixed-top:not(#previewBar) .dropdown-menu .dropdown-item:hover,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-item:hover {
  color: var(--tq-primary-2);
  background: var(--tq-bg);
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=it],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=en],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=es],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=fr],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=ro],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=pl],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=tr],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=el],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=ru],
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=de],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=it],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=en],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=es],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=fr],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=ro],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=pl],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=tr],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=el],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=ru],
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=de] {
  --tq-lang-flag-size: 22px;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 6px;
  padding-right: 8px;
  padding-left: 8px;
  line-height: 1;
  text-transform: uppercase;
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=it]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=en]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=es]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=fr]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=ro]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=pl]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=tr]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=el]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=ru]::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=de]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=it]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=en]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=es]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=fr]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=ro]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=pl]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=tr]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=el]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=ru]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=de]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item::before {
  width: var(--tq-lang-flag-size, 22px);
  height: var(--tq-lang-flag-size, 22px);
  flex: 0 0 var(--tq-lang-flag-size, 22px);
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.12), 0 1px 2px rgba(15, 23, 42, 0.12);
  overflow: hidden;
}

#navbarnavbar-fixed-header .tq-language-menu .dropdown-small .dropdown-item,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .dropdown-small .dropdown-item,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item {
  --tq-lang-flag-size: 22px;
  min-height: 34px;
  gap: 8px;
  padding: 7px 8px;
  line-height: 1;
  text-transform: uppercase;
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=it]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=it]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--it::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--it::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=it]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=it]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/"]::before {
  background-image: url("/pics/flags_iso/round/it.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=en]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=en]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--en::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--en::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=en]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=en]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/en"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/en"]::before {
  background-image: url("/pics/flags_iso/round/en.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=es]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=es]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--es::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--es::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=es]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=es]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/es"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/es"]::before {
  background-image: url("/pics/flags_iso/round/es.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=fr]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=fr]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--fr::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--fr::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=fr]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=fr]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/fr"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/fr"]::before {
  background-image: url("/pics/flags_iso/round/fr.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=ro]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=ro]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--ro::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--ro::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=ro]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=ro]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/ro"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/ro"]::before {
  background-image: url("/pics/flags_iso/round/ro.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=pl]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=pl]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--pl::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--pl::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=pl]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=pl]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/pl"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/pl"]::before {
  background-image: url("/pics/flags_iso/round/pl.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=tr]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=tr]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--tr::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--tr::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=tr]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=tr]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/tr"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/tr"]::before {
  background-image: url("/pics/flags_iso/round/tr.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=el]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=el]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--el::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--el::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=el]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=el]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/el"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/el"]::before {
  background-image: url("/pics/flags_iso/round/el.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=ru]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=ru]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--ru::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--ru::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=ru]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=ru]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/ru"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/ru"]::before {
  background-image: url("/pics/flags_iso/round/ru.png");
}

#navbarnavbar-fixed-header .tq-language-menu > .dropdown-toggle[aria-label=de]::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu > .dropdown-toggle[aria-label=de]::before,
#navbarnavbar-fixed-header .tq-language-menu .tq-language-menu-item--de::before,
.navbar.fixed-top:not(#previewBar) .tq-language-menu .tq-language-menu-item--de::before,
#navbarnavbar-fixed-header .dropdown-toggle[aria-label=de]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-toggle[aria-label=de]::before,
#navbarnavbar-fixed-header .dropdown-small .dropdown-item[href="/de"]::before,
.navbar.fixed-top:not(#previewBar) .dropdown-small .dropdown-item[href="/de"]::before {
  background-image: url("/pics/flags_iso/round/de.png");
}

#navbarnavbar-fixed-header .tq-user-menu-logout,
#navbarnavbar-fixed-header .dropdown-menu .tq-user-menu-logout,
.navbar.fixed-top:not(#previewBar) .tq-user-menu-logout,
.navbar.fixed-top:not(#previewBar) .dropdown-menu .tq-user-menu-logout {
  color: var(--tq-danger);
}

.topbar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 24px;
}

.searchbox {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(700px, 100%);
  min-height: 46px;
  padding: 0 14px;
  color: var(--tq-muted);
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 var(--tq-white-highlight-soft);
}

.searchbox input {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--tq-text);
  background: transparent;
  border: 0;
  outline: 0;
}

.mobile-toggle {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tq-border);
  border-radius: 12px;
  color: var(--tq-text);
  background: var(--tq-surface);
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--tq-sidebar-width) minmax(0, 1fr);
  background: var(--tq-bg);
}

.app-shell > main,
.content,
.page {
  min-width: 0;
}

.content {
  padding: 24px;
}

.page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.page-title {
  margin: 0;
  color: var(--tq-text);
  font-size: 1.55rem;
  font-weight: 750;
  letter-spacing: 0;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--tq-muted);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Sidebar, menu navigation and content offsets. */
.sidebar,
aside.sidebar,
header .sidebar,
.topbar .sidebar,
.tq-sidebar__offcanvas {
  width: var(--tq-sidebar-width);
  min-width: var(--tq-sidebar-width);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 14px;
  color: var(--tq-sidebar-text);
  background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2));
  border-right: 1px solid var(--tq-sidebar-border);
  box-shadow: var(--tq-shadow-sidebar);
}

.tq-sidebar__offcanvas {
  width: var(--tq-sidebar-width) !important;
  min-width: var(--tq-sidebar-width);
  padding-top: 8px;
  top: var(--fd-topbar-height) !important;
  bottom: 0 !important;
  height: calc(100vh - var(--fd-topbar-height)) !important;
  min-height: calc(100vh - var(--fd-topbar-height));
  max-height: calc(100vh - var(--fd-topbar-height));
  overflow: auto;
  border: 0;
  border-right: 1px solid var(--tq-sidebar-border);
  border-radius: 0;
}

.offcanvas.tq-sidebar__offcanvas {
  top: var(--fd-topbar-height) !important;
  bottom: 0 !important;
  width: var(--tq-sidebar-width) !important;
  min-width: var(--tq-sidebar-width) !important;
  height: calc(100vh - var(--fd-topbar-height)) !important;
  min-height: calc(100vh - var(--fd-topbar-height)) !important;
  max-height: calc(100vh - var(--fd-topbar-height)) !important;
  color: var(--tq-sidebar-text) !important;
  background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2)) !important;
  border-right: 1px solid var(--tq-sidebar-border) !important;
  box-shadow: var(--tq-shadow-sidebar) !important;
}

/* Senza margine interno in alto: la testata sticky del pannello si ferma sul bordo dell'area che scorre. Con 4 px le
   voci scorse restavano visibili in una striscia sopra la testata (Home del CAT a 500 px, 24/09). */
.tq-sidebar__offcanvas > .offcanvas-body {
  padding: 0 12px 14px !important;
}

.tq-sidebar__fixed {
  top: var(--fd-topbar-height) !important;
  bottom: 0 !important;
  height: calc(100vh - var(--fd-topbar-height)) !important;
  min-height: calc(100vh - var(--fd-topbar-height)) !important;
  max-height: calc(100vh - var(--fd-topbar-height));
  overflow: hidden;
  color: var(--tq-sidebar-text) !important;
  background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2)) !important;
  border-right: 1px solid var(--tq-sidebar-border) !important;
  box-shadow: var(--tq-shadow-sidebar) !important;
}

.tq-sidebar__fixedHeader {
  color: var(--tq-sidebar-text) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--tq-sidebar-border);
}

/* Come nel tema scorre il corpo della colonna, non la colonna intera: la testata col pulsante di chiusura resta
   ferma sopra il corpo e le voci del menu non le passano piu sotto (con la colonna intera che scorreva la testata,
   sticky e trasparente, le copriva: 24/09). Il piede Help resta in fondo al corpo (margin-top: auto). */
.tq-sidebar__fixedBody {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

aside.sidebar,
header .sidebar,
.topbar .sidebar {
  min-height: 100vh;
}

aside.sidebar,
header .sidebar,
.topbar .sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
}

/* Pannello sovrapposto: qui scorre il corpo del pannello e la testata e' sticky, quindi deve essere opaca. Ha lo
   stesso sfondo del pannello, dimensionato sul pannello, perche resti continuo con la colonna. */
.tq-sidebar__panelHeader {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 46px;
  padding: 2px 4px 4px;
  background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2));
  background-size: var(--tq-sidebar-width) calc(100vh - var(--fd-topbar-height));
  border-bottom: 1px solid var(--tq-sidebar-border);
}

.tq-sidebar__btn {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tq-text-inverse);
  background: var(--tq-sidebar-control-bg);
  border: 1px solid var(--tq-sidebar-control-bg-focus);
  border-radius: 12px;
}

/* TQ13-55: fisso sopra il contenuto solo da 992 px; sotto il tema lo mette nel flusso della pagina (position: static),
   fisso copriva il contenuto a (0, 75). */
@media (min-width: 992px) {
  .tq-sidebar__toggle {
    position: fixed;
    top: calc(var(--fd-topbar-height) - 1px);
    left: 0 !important;
  }
}
.tq-sidebar__toggle {
  z-index: 1050;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2));
  border-right: 1px solid var(--tq-sidebar-control-bg);
  border-bottom: 1px solid var(--tq-sidebar-control-bg);
  box-shadow: var(--tq-shadow-sidebar-toggle);
}

.tq-sidebar__toggle .tq-sidebar__btn {
  width: 40px;
  height: 40px;
  padding: 0;
  color: var(--tq-text-inverse) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.tq-sidebar__toggle .tq-sidebar__btn:hover,
.tq-sidebar__toggle .tq-sidebar__btn:focus {
  background: var(--tq-sidebar-control-bg-focus) !important;
}

.tq-sidebar__toggle .tq-sidebar__btn i,
.tq-sidebar__toggle .tq-sidebar__btn svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  color: currentColor;
  fill: currentColor;
  font-size: 1.55rem;
  line-height: 1;
}

.btn.tq-sidebar__btn,
.btn-light.tq-sidebar__btn {
  color: var(--tq-text-inverse) !important;
  background: var(--tq-sidebar-control-bg) !important;
  border-color: var(--tq-sidebar-control-bg-focus) !important;
}

.tq-sidebar__btn:hover {
  color: var(--tq-text-inverse);
  background: var(--tq-sidebar-control-bg-hover);
}

.sidebar_menu {
  padding: 14px 2px;
}

.sidebar_menu .navbar-nav {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sidebar_menu .nav-item,
.sidebar_menu .dropdown {
  width: 100%;
  margin: 1px 0;
  background: transparent !important;
  border-radius: 0;
}

.sidebar_menu a,
.sidebar_menu .nav-link,
.sidebar_menu button {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  color: var(--tq-sidebar-link) !important;
  background: transparent;
  border: 0;
  border-radius: 12px;
  text-decoration: none;
}

.sidebar_menu .tq-menu-title {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.sidebar_menu .tq-menu-title > i {
  width: 20px;
  min-width: 20px;
  display: inline-flex;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1;
}

.sidebar_menu a:hover,
.sidebar_menu .nav-link:hover,
.sidebar_menu button:hover,
.sidebar_menu .active > a,
.sidebar_menu .active > .nav-link,
.sidebar_menu .active > button,
.sidebar_menu .current > a,
.sidebar_menu .current > .nav-link,
.sidebar_menu .current > button,
.sidebar_menu [aria-current=page] {
  color: var(--tq-text-inverse) !important;
  background: var(--tq-sidebar-control-bg);
  text-decoration: none;
}

.sidebar_menu .current:has(.current) > a,
.sidebar_menu .current:has(.current) > .nav-link,
.sidebar_menu .current:has(.current) > button {
  color: var(--tq-sidebar-link) !important;
  background: transparent;
}

.sidebar_menu .dropdown-menu {
  margin: 3px 0 5px;
  padding: 4px;
  background: var(--tq-sidebar-dropdown-bg);
  border: 1px solid var(--tq-sidebar-border);
  border-radius: 12px;
  box-shadow: none;
}

.sidebar_menu .dropdown-item {
  min-height: 30px;
  padding: 5px 8px;
  font-size: 1rem;
}

.tq-operational-counters {
  margin: 10px 0 14px;
  padding: 8px 6px;
}

.sidebar_menu .tq-operational-counter {
  min-height: 44px;
  padding: 7px 11px;
  color: var(--tq-text) !important;
  background: var(--tq-surface) !important;
  border: 1px solid var(--tq-white-highlight-border);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.sidebar_menu .tq-operational-counter:hover,
.sidebar_menu .tq-operational-counter:focus-visible {
  color: var(--tq-text) !important;
  box-shadow: var(--tq-shadow-sidebar-soft);
  transform: translateY(-1px);
}

.tq-operational-counter__dot {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 4px var(--tq-primary-soft);
}

.tq-operational-counter__count {
  font-size: 1.16rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1;
}

.tq-operational-counter__label {
  min-width: 0;
  color: var(--tq-muted);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.tq-operational-counter--primary .tq-operational-counter__dot {
  background: var(--tq-primary);
}

.tq-operational-counter--warning .tq-operational-counter__dot {
  background: var(--tq-warning);
  box-shadow: 0 0 0 4px var(--tq-warning-bg-soft);
}

.tq-operational-counter--danger .tq-operational-counter__dot {
  background: var(--tq-danger);
  box-shadow: 0 0 0 4px var(--tq-danger-bg-soft);
}

.brand {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 4px 4px 16px;
  color: var(--tq-text-inverse);
}

.brand small,
.sidebar small {
  color: var(--tq-sidebar-muted);
}

.brand-mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tq-text-inverse);
  background: linear-gradient(135deg, var(--tq-brand-mark-start), var(--tq-primary));
  border-radius: 14px;
  font-weight: 800;
  box-shadow: 0 12px 26px var(--tq-sidebar-accent);
}

.nav-section-label {
  margin: 10px 10px 4px;
  color: var(--tq-sidebar-section);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.side-link {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  color: var(--tq-sidebar-link) !important;
  border-radius: 12px;
  text-decoration: none;
}

.side-link:hover,
.side-link.active,
.side-link[aria-current=page] {
  color: var(--tq-text-inverse) !important;
  background: var(--tq-sidebar-control-bg);
  text-decoration: none;
}

.sidebar-footer {
  margin-top: auto;
  padding: 14px 10px 4px;
  color: var(--tq-sidebar-footer);
  border-top: 1px solid var(--tq-sidebar-border);
}

body:has(aside.sidebar) #appcontainer > .container,
body:has(aside.sidebar) #appcontainer > .container-fluid,
body:has(header .sidebar) #appcontainer > .container,
body:has(header .sidebar) #appcontainer > .container-fluid,
body:has(.topbar .sidebar) #appcontainer > .container,
body:has(.topbar .sidebar) #appcontainer > .container-fluid,
body.tq-sidebar--mounted:not(.tq-sidebar--overlay) #appcontainer > .container,
body.tq-sidebar--mounted:not(.tq-sidebar--overlay) #appcontainer > .container-fluid {
  width: calc(100% - var(--tq-sidebar-width));
  margin-left: var(--tq-sidebar-width);
}

body.tq-sidebar--mounted.tq-sidebar--desktop-collapsed:not(.tq-sidebar--overlay) #appcontainer > .container,
body.tq-sidebar--mounted.tq-sidebar--desktop-collapsed:not(.tq-sidebar--overlay) #appcontainer > .container-fluid {
  width: 100%;
  margin-left: 0;
}

body:has(.sidebar.is-compact) #appcontainer > .container,
body:has(.sidebar.is-compact) #appcontainer > .container-fluid,
body:has(.sidebar.collapsed) #appcontainer > .container,
body:has(.sidebar.collapsed) #appcontainer > .container-fluid,
body:has(.sidebar[data-display=compact]) #appcontainer > .container,
body:has(.sidebar[data-display=compact]) #appcontainer > .container-fluid {
  width: calc(100% - var(--tq-sidebar-compact-width));
  margin-left: var(--tq-sidebar-compact-width);
}

body.tq-sidebar--mounted.tq-sidebar--overlay #appcontainer > .container,
body.tq-sidebar--mounted.tq-sidebar--overlay #appcontainer > .container-fluid,
body.tq-sidebar--mounted.tq-sidebar--overlay #navbarnavbar-fixed-header,
body.tq-sidebar--mounted.tq-sidebar--overlay .topbar,
body.tq-sidebar--mounted.tq-sidebar--overlay header.topbar,
body.tq-sidebar--mounted.tq-sidebar--overlay header .topbar {
  width: 100%;
  margin-left: 0;
}

body.tq-sidebar--mounted:not(.tq-sidebar--overlay) #appcontainer > .container,
body.tq-sidebar--mounted:not(.tq-sidebar--overlay) #appcontainer > .container-fluid {
  overflow-x: hidden;
}

/* Shared cards, tabs, buttons, forms and live editors. */
.enterprise-card,
.card {
  background: var(--tq-card);
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius);
  box-shadow: var(--tq-shadow);
}

.section-title {
  color: var(--tq-text);
  font-weight: 750;
  letter-spacing: 0;
}

.templateLabel,
.single-col > span:first-child {
  color: var(--tq-muted);
  font-weight: 650;
}

/*
 * Errori e avvisi attivita: una riga list-group-item per messaggio, niente
 * pallini, separatore sottile solo tra righe (flush) e nessun bordo doppio
 * sul perimetro dell'alert. Il blocco non puo mai superare il perimetro del
 * contenitore (popover body incluso).
 */
.tq-activity-alerts__list {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.tq-activity-alerts__list .list-group-item {
  padding: 0.3rem 0.4rem;
  background: transparent;
  overflow-wrap: anywhere;
}

.tq-activity-alerts--compact {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Solo il popover del pattern avvisi compatti: larghezza compatta e
   responsiva, senza toccare i popover globali dell'applicativo. */
.popover:has(.tq-activity-alerts--compact) {
  width: min(22rem, 100vw - 1rem);
  max-width: min(22rem, 100vw - 1rem);
}

.tq-calculation-decisions__value {
  display: block;
  white-space: pre-line;
  line-height: 1.45;
}

.nav-tabs {
  gap: 4px;
  border-bottom-color: var(--tq-border);
}

.nav-tabs .nav-item {
  margin-bottom: -1px;
}

.nav-tabs .nav-link,
.nav-tabs .nav-item .nav-link {
  color: var(--tq-muted);
  border: 0;
  border-radius: 12px 12px 0 0;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-item .nav-link:hover {
  color: var(--tq-primary);
  background: var(--tq-primary-soft);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item .nav-link.active {
  color: var(--tq-text-inverse);
  background: var(--tq-primary);
}

button,
.btn,
.actionItemContainer.btn,
.tq-list-action,
.tq-list-action > .btn,
.btn-sort {
  max-width: none !important;
}

.actionItemContainer.btn,
.btn-sort {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--tq-btn-gap);
  border-radius: var(--tq-btn-radius) !important;
  font-weight: var(--tq-btn-font-weight);
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.actionItemContainer.btn:hover,
.actionItemContainer.btn:focus,
.btn-sort:hover,
.btn-sort:focus {
  text-decoration: none;
  box-shadow: none;
}

.actionItemContainer.btn i,
.actionItemContainer.btn .zmdi,
.actionItemContainer.btn [class*=bi-],
.btn-sort i,
.btn-sort .zmdi,
.btn-sort [class*=bi-] {
  flex: 0 0 auto;
  line-height: 1;
}

.actionItemContainer.btn-primary,
.public_fixedDataTableCell_cellContent .btn-primary,
.tq-list-cell .btn-primary {
  --bs-btn-bg: var(--tq-primary);
  --bs-btn-border-color: var(--tq-primary);
  --bs-btn-hover-bg: var(--tq-primary-2);
  --bs-btn-hover-border-color: var(--tq-primary-2);
  color: var(--tq-text-inverse) !important;
  background-color: var(--tq-primary) !important;
  border-color: var(--tq-primary) !important;
}

.actionItemContainer.btn-secondary,
.actionItemContainer.btn-dark,
.btn-sort.btn-secondary,
.btn-sort.btn-dark,
.public_fixedDataTableCell_cellContent .btn-secondary,
.public_fixedDataTableCell_cellContent .btn-dark,
.tq-list-cell .btn-secondary,
.tq-list-cell .btn-dark {
  color: var(--tq-text-soft) !important;
  background-color: var(--tq-surface-muted) !important;
  border-color: var(--tq-border) !important;
}

.actionItemContainer.btn-secondary:hover,
.actionItemContainer.btn-secondary:focus,
.actionItemContainer.btn-dark:hover,
.actionItemContainer.btn-dark:focus,
.btn-sort.btn-secondary:hover,
.btn-sort.btn-secondary:focus,
.btn-sort.btn-dark:hover,
.btn-sort.btn-dark:focus,
.public_fixedDataTableCell_cellContent .btn-secondary:hover,
.public_fixedDataTableCell_cellContent .btn-secondary:focus,
.public_fixedDataTableCell_cellContent .btn-dark:hover,
.public_fixedDataTableCell_cellContent .btn-dark:focus,
.tq-list-cell .btn-secondary:hover,
.tq-list-cell .btn-secondary:focus,
.tq-list-cell .btn-dark:hover,
.tq-list-cell .btn-dark:focus {
  color: var(--tq-text) !important;
  background-color: var(--tq-surface-accent) !important;
  border-color: var(--tq-border-strong) !important;
}

.actionItemContainer.btn-info,
.public_fixedDataTableCell_cellContent .btn-info,
.tq-list-cell .btn-info,
.tq-return-lines-report-link .btn-info {
  color: var(--tq-info) !important;
  background-color: var(--tq-surface) !important;
  border-color: var(--tq-primary-border-soft) !important;
}

.actionItemContainer.btn-info:hover,
.actionItemContainer.btn-info:focus,
.public_fixedDataTableCell_cellContent .btn-info:hover,
.public_fixedDataTableCell_cellContent .btn-info:focus,
.tq-list-cell .btn-info:hover,
.tq-list-cell .btn-info:focus,
.tq-return-lines-report-link .btn-info:hover,
.tq-return-lines-report-link .btn-info:focus {
  color: var(--tq-link-hover) !important;
  background-color: var(--tq-primary-soft) !important;
  border-color: var(--tq-primary-border-soft) !important;
}

.actionItemContainer.btn-success,
.public_fixedDataTableCell_cellContent .btn-success,
.tq-list-cell .btn-success {
  color: var(--tq-success) !important;
  background-color: var(--tq-surface-muted) !important;
  border-color: var(--tq-border) !important;
}

.actionItemContainer.btn-success:hover,
.actionItemContainer.btn-success:focus,
.public_fixedDataTableCell_cellContent .btn-success:hover,
.public_fixedDataTableCell_cellContent .btn-success:focus,
.tq-list-cell .btn-success:hover,
.tq-list-cell .btn-success:focus {
  color: var(--tq-success) !important;
  background-color: var(--tq-surface-accent) !important;
  border-color: var(--tq-border-strong) !important;
}

.actionItemContainer.btn-warning,
.public_fixedDataTableCell_cellContent .btn-warning,
.tq-list-cell .btn-warning {
  color: var(--tq-warning) !important;
  background-color: var(--tq-warning-bg-soft) !important;
  border-color: var(--tq-warning-border) !important;
}

.actionItemContainer.btn-warning:hover,
.actionItemContainer.btn-warning:focus,
.public_fixedDataTableCell_cellContent .btn-warning:hover,
.public_fixedDataTableCell_cellContent .btn-warning:focus,
.tq-list-cell .btn-warning:hover,
.tq-list-cell .btn-warning:focus {
  color: var(--tq-warning) !important;
  background-color: var(--tq-warning-bg-soft) !important;
  border-color: var(--tq-warning-border) !important;
}

.actionItemContainer.btn-danger,
.public_fixedDataTableCell_cellContent .btn-danger,
.tq-list-cell .btn-danger {
  color: var(--tq-danger) !important;
  background-color: var(--tq-danger-bg-soft) !important;
  border-color: transparent !important;
}

.actionItemContainer.btn-danger:hover,
.actionItemContainer.btn-danger:focus,
.public_fixedDataTableCell_cellContent .btn-danger:hover,
.public_fixedDataTableCell_cellContent .btn-danger:focus,
.tq-list-cell .btn-danger:hover,
.tq-list-cell .btn-danger:focus {
  color: var(--tq-danger) !important;
  background-color: var(--tq-danger-bg) !important;
  border-color: transparent !important;
}

.tq-contact-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: var(--tq-btn-gap);
  margin-left: auto;
}

.tq-contact-action {
  display: inline-flex;
  flex: 0 0 auto;
}

.tq-contact-action > .btn-danger {
  color: var(--tq-text-inverse) !important;
  background-color: var(--tq-danger) !important;
  border-color: var(--tq-danger) !important;
}

.tq-contact-action > .btn-danger:hover,
.tq-contact-action > .btn-danger:focus,
.tq-contact-action > .btn-danger:focus-visible {
  color: var(--tq-danger) !important;
  background-color: var(--tq-surface) !important;
  border-color: var(--tq-danger) !important;
}

.tq-action-button,
.tq-action-button.btn,
.tq-action-button > .btn,
.tq-list-action,
.tq-list-action.btn,
.tq-list-action > .btn,
.tq-list-action > a,
.tq-list-action > button,
.public_fixedDataTableCell_cellContent .actionItemContainer.btn,
.tq-config-card .actionItemContainer.btn,
.tq-record-section .actionItemContainer.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: var(--tq-btn-action-size) !important;
  height: var(--tq-btn-action-size) !important;
  min-height: var(--tq-btn-action-size) !important;
  padding: 0 !important;
  gap: 0;
  border-radius: var(--tq-btn-radius) !important;
  overflow: hidden !important;
  font-weight: var(--tq-btn-font-weight);
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.tq-action-button i,
.tq-action-button .zmdi,
.tq-action-button [class*=bi-],
.tq-list-action i,
.tq-list-action .zmdi,
.tq-list-action [class*=bi-],
.tq-list-action > a i,
.tq-list-action > button i,
.public_fixedDataTableCell_cellContent .actionItemContainer.btn i,
.tq-config-card .actionItemContainer.btn i,
.tq-record-section .actionItemContainer.btn i {
  flex: 0 0 auto;
  margin: 0;
  font-size: var(--tq-btn-action-icon-size);
  line-height: 1;
}

.tq-list-action--view,
.tq-list-action--view.btn,
.tq-list-action--view > .btn {
  color: var(--tq-link);
  background: var(--tq-primary-soft);
  border-color: var(--tq-primary-border-soft);
}

.tq-list-action--edit,
.tq-list-action--edit.btn,
.tq-list-action--edit > .btn {
  color: var(--tq-success);
  background: var(--tq-surface-muted);
  border-color: var(--tq-border);
}

.tq-list-action--new,
.tq-list-action--new.btn,
.tq-list-action--new > .btn {
  color: var(--tq-info);
  background: var(--tq-surface);
  border-color: var(--tq-primary-border-soft);
}

.tq-list-action--delete,
.tq-list-action--delete.btn,
.tq-list-action--delete > .btn {
  color: var(--tq-danger);
  background: var(--tq-danger-bg-soft);
  border-color: var(--tq-danger-border);
}

/* Nella testata scura del record il pulsante cancella resta come sul fondo chiaro: la sua tinta tenue e trasparente
   si appoggia sulla superficie, non sul fondo scuro della testata. */
.tq-record-header .tq-list-action--delete,
.tq-record-header .tq-list-action--delete.btn,
.tq-record-header .tq-list-action--delete > .btn {
  background: linear-gradient(var(--tq-danger-bg-soft), var(--tq-danger-bg-soft)), var(--tq-surface);
}

.tq-action-button--edit,
.tq-action-button--edit.btn,
.tq-action-button--edit > .btn {
  color: var(--tq-success) !important;
  background: var(--tq-surface-muted) !important;
  border-color: var(--tq-border) !important;
}

.tq-action-button--new,
.tq-action-button--new.btn,
.tq-action-button--new > .btn,
.tq-action-button--import,
.tq-action-button--import.btn,
.tq-action-button--import > .btn,
.tq-action-button--print,
.tq-action-button--print.btn,
.tq-action-button--print > .btn {
  color: var(--tq-info) !important;
  background: var(--tq-surface) !important;
  border-color: var(--tq-primary-border-soft) !important;
}

.tq-action-button--move,
.tq-action-button--move.btn,
.tq-action-button--move > .btn,
.tq-list-action--move,
.tq-list-action--move.btn,
.tq-list-action--move > .btn,
.tq-action-button--duplicate,
.tq-action-button--duplicate.btn,
.tq-action-button--duplicate > .btn,
.tq-list-action--duplicate,
.tq-list-action--duplicate.btn,
.tq-list-action--duplicate > .btn,
.tq-action-button--export,
.tq-action-button--export.btn,
.tq-action-button--export > .btn {
  color: var(--tq-warning) !important;
  background: var(--tq-warning-bg-soft) !important;
  border-color: var(--tq-warning-border) !important;
}

.tq-action-button--delete,
.tq-action-button--delete.btn,
.tq-action-button--delete > .btn,
.tq-action-button--bulk,
.tq-action-button--bulk.btn,
.tq-action-button--bulk > .btn {
  color: var(--tq-danger) !important;
  background: var(--tq-danger-bg-soft) !important;
  border-color: var(--tq-danger-border) !important;
}

.tq-action-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--tq-btn-gap);
  min-width: 0;
}

/* La colonna azioni occupa lo spazio che resta sulla stessa linea della riga.
   La base e il contenuto: con 320px fissi le azioni andavano a capo appena la
   riga era piu stretta (1280px), anche quando la seconda linea restava vuota. */
.tq-list-row > .tq-action-group,
.tq-list-card-row > .tq-action-group {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0;
  max-width: none !important;
  margin-left: auto !important;
}

.tq-action-group .btn,
.tq-action-group button,
.tq-action-group a.btn,
.public_fixedDataTableCell_cellContent .tq-action-button,
.public_fixedDataTableCell_cellContent .tq-list-action,
.tq-list-cell .tq-action-button,
.tq-list-cell .tq-list-action {
  margin: 0 !important;
}

.tq-action-text,
.tq-action-text.btn,
.tq-action-text > .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  min-height: 32px;
  padding: 5px 10px !important;
  border: 1px solid var(--tq-border) !important;
  border-radius: var(--tq-btn-radius) !important;
  color: var(--tq-link) !important;
  background: var(--tq-surface) !important;
  box-shadow: none !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}

.tq-action-text.tq-list-action,
.tq-action-text.tq-list-action.btn,
.tq-action-text.tq-list-action > .btn,
.tq-list-cell .tq-action-text.tq-list-action,
.tq-list-cell .tq-action-text.tq-list-action.btn {
  width: auto !important;
  min-width: var(--tq-btn-action-size) !important;
  max-width: none !important;
  padding-right: 10px !important;
  padding-left: 10px !important;
  overflow: visible !important;
  gap: 6px !important;
}

.tq-action-text:hover,
.tq-action-text:focus,
.tq-action-text.btn:hover,
.tq-action-text.btn:focus,
.tq-action-text > .btn:hover,
.tq-action-text > .btn:focus {
  color: var(--tq-link-hover) !important;
  background: var(--tq-primary-soft) !important;
  border-color: var(--tq-primary-border-soft) !important;
}

.tq-list-cell.tq-return-lines-cell--report a,
.tq-return-lines-report-link a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  min-width: var(--tq-btn-action-size) !important;
  min-height: var(--tq-btn-action-size) !important;
  padding: 5px 10px !important;
  color: var(--tq-link) !important;
  background: var(--tq-surface) !important;
  border: 1px solid var(--tq-border) !important;
  border-radius: var(--tq-btn-radius) !important;
  box-shadow: none !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}

.tq-list-cell.tq-return-lines-cell--report a:hover,
.tq-list-cell.tq-return-lines-cell--report a:focus,
.tq-return-lines-report-link a:hover,
.tq-return-lines-report-link a:focus {
  color: var(--tq-link-hover) !important;
  background: var(--tq-primary-soft) !important;
  border-color: var(--tq-primary-border-soft) !important;
}

.tq-record-hero,
.tq-status-grid,
.tq-record-section,
.tq-record-detail-grid,
.tq-record-attachments {
  --bs-gutter-x: .75rem;
  --bs-gutter-y: .75rem;
  margin-right: 0;
  margin-left: 0;
}

.tq-record-hero {
  margin-top: 8px;
  margin-bottom: 12px;
  padding: 14px 16px;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: 8px;
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-record-hero h1,
.tq-record-hero h2,
.tq-record-hero h3 {
  margin-bottom: 6px;
  font-size: 1.9rem;
  line-height: 1.12;
}

.tq-record-hero__main {
  min-width: 0;
}

/* Metadati del record e riga di creazione e modifica (WFData): sottotitolo, piu piccolo del numero del
   record, peso normale, corsivo e colore attenuato. */
.tq-record-meta {
  display: inline-flex;
  align-items: center;
  margin-right: 10px;
  color: var(--tq-muted);
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}

.tq-record-meta-line {
  display: block;
  min-width: 0;
  margin-top: 3px;
  color: var(--tq-muted);
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}

/* Testata scura del record: l'occhio cade prima sul numero (tq-record-title), poi sulla riga di creazione
   e modifica (text-small, generata per WFData), attenuata come sottotitolo. */
.tq-record-header .tq-record-header-main .tq-record-title {
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.2;
}

.tq-record-header .tq-record-meta,
.tq-record-header .tq-record-meta-line,
.tq-record-header .tq-record-header-main .text-small,
.tq-record-header .tq-record-header-main .text-small.text-white {
  color: var(--tq-sidebar-muted) !important;
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 400;
}

/* Stato o decisione detti a parole con il colore di stato (tq-status-*), per esempio l'accettazione del
   reso nella testata; fuori dalla testata il colore sta nel bordo e nel testo. */
.tq-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 1px 10px;
  border: 1px solid var(--tq-status-color, var(--tq-muted));
  border-radius: 999px;
  color: var(--tq-status-color, var(--tq-muted));
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.tq-record-header .tq-status-badge,
.tq-record-header .tq-status-badge .fieldItem {
  border-color: transparent;
  background: var(--tq-status-color, var(--tq-muted));
  color: #fff !important;
}

/* Riga dei fatti del record: solo i fatti presenti, sulla stessa riga, separati da un punto medio. Ogni fatto porta
   il punto nello spazio alla propria sinistra; la riga, spostata a sinistra di quello spazio, lo ritaglia quando il
   fatto apre una linea: andando a capo il punto non resta mai all'inizio della linea nuova. */
.tq-record-facts {
  --tq-facts-gap: 17px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 4px;
  min-width: 0;
  margin-left: calc(-1 * var(--tq-facts-gap));
  clip-path: inset(0 0 0 var(--tq-facts-gap));
  font-size: 0.875rem;
  line-height: 1.4;
}

.tq-record-facts > * {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin-left: var(--tq-facts-gap);
}

.tq-record-facts > *::before {
  content: "·";
  position: absolute;
  top: 50%;
  left: calc(-1 * var(--tq-facts-gap));
  width: var(--tq-facts-gap);
  text-align: center;
  opacity: 0.7;
  transform: translateY(-50%);
}

.tq-record-actions__group {
  justify-content: flex-end;
}

.tq-status-grid {
  margin-top: 0;
  margin-bottom: 12px;
  padding: 10px;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: 8px;
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-status-item {
  min-width: 0;
  padding: 4px 8px;
  color: var(--tq-text-body);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.25;
}

.tq-status-item .fieldItem,
.tq-status-item span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tq-status-item i {
  margin-right: 5px;
}

/* Stato del record a colori, standard comune alle app Fondital (23/09/2026).
   Il model espone nel toJson() il campo StatusClass con una delle sei classi per significato; il template la applica
   con il token standard del tema field:<Model>:StatusClass nell'htmlClass della riga di lista o della testata del
   record. Il colore di ogni classe sta solo qui ed e uguale in tutte le app; i componenti usano --tq-status-color. */
.tq-status-open {
  --tq-status-color: #2563eb;
}

.tq-status-progress {
  --tq-status-color: #7c3aed;
}

.tq-status-waiting {
  --tq-status-color: #d97706;
}

.tq-status-done {
  --tq-status-color: #16a34a;
}

.tq-status-closed {
  --tq-status-color: #64748b;
}

.tq-status-cancelled {
  --tq-status-color: #dc2626;
}

/* Filetto di 4 px a sinistra della riga di lista e della testata del record. */
:is(.tq-list-row, .tq-record-header):is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) {
  position: relative;
}

:is(.tq-list-row, .tq-record-header):is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  border-top-left-radius: inherit;
  border-bottom-left-radius: inherit;
  background: var(--tq-status-color);
  pointer-events: none;
}

/* Tabelle DataTable2 (righe virtuali, senza nodo di riga): il filetto sta sulla prima cella della riga, che porta
   tq-status-cell e il token field:<Model>:StatusClass nell'htmlClass. */
.tq-status-cell:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) {
  box-shadow: inset 4px 0 0 var(--tq-status-color);
}

/* Cella collegata con lo stato dentro una riga di lista a card (prime accensioni, rapportini e contratti della scheda
   matricola): il pulsante di apertura copriva il filetto della cella, che va sul bordo sinistro della riga come nelle
   altre liste. Fra la cella e la riga nessun contenitore e' posizionato. */
.tq-list-card-row:has(.tq-status-cell:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled)) {
  position: relative;
}

.tq-list-card-row .tq-status-cell:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) {
  box-shadow: none;
}

.tq-list-card-row .tq-status-cell:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  border-top-left-radius: var(--tq-radius-sm);
  border-bottom-left-radius: var(--tq-radius-sm);
  background: var(--tq-status-color);
  pointer-events: none;
}

/* Collegamento a un record con lo stato, fuori dalle righe di lista (tq-inline-detail-link con la classe tq-status-*,
   senza tq-status-cell): lo stato come colore del nome, per esempio il rivenditore cessato nella scheda matricola. */
.tq-inline-detail-link:not(.tq-status-cell):is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) .tq-inline-detail-link__name,
.tq-inline-detail-link:not(.tq-status-cell):is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) .tq-inline-detail-link__name .fieldItem {
  color: var(--tq-status-color);
}

/* Titolo di una scheda laterale con lo stato (tq-side-card__title con la classe tq-status-*): lo stato come colore del
   titolo, per esempio il C.A.T. cessato nella scheda laterale di rapportini, prime accensioni e C.A.T. Il titolo è un
   h1 o un h3: #appcontainer come la regola dei titoli in 01-base.body.css; sotto i 768 px la scheda sta nel pannello
   offcanvas, fuori da #appcontainer, dove vale .tq-detail .section-title. */
#appcontainer .tq-detail .tq-side-card__title:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled),
.tq-sidebar__offcanvas .tq-detail .tq-side-card__title:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) {
  color: var(--tq-status-color);
}

/* Titolo di una riga di lista con lo stato (tq-list-card-title con la classe tq-status-*): lo stato come colore del
   nome, per esempio il C.A.T., l'azienda o l'installatore cessati nelle liste. */
.tq-list-card-title:is(.tq-status-open, .tq-status-progress, .tq-status-waiting, .tq-status-done, .tq-status-closed, .tq-status-cancelled) {
  color: var(--tq-status-color);
}

/* Legenda dei colori nella testata della lista: una voce per categoria usata. */
.tq-status-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
  color: var(--tq-muted);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.3;
  text-transform: none;
}

.tq-status-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.tq-status-legend__item::before {
  content: "";
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--tq-status-color);
}

/* Stato come icona compatta nella riga (SC29-08, decisione dell'utente del 30/09: icona colorata con popover, nessun
   testo). Il glifo è il valore del campo StateIcon del toJson (✓ ✗ ! … ‖), che il tooltipfield del tema scrive nello
   span .field-tooltip; il popover porta il nome dello stato. Cerchio col colore di stato, alto quanto una riga di
   testo, glifo bianco al centro, accanto al filetto di tq-status-cell. Nei template: htmlClass
   «tq-status-icon field:<Model>:StatusClass» sulla cella del tooltipfield. */
.tq-status-icon .field-tooltip {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 50%;
  background: var(--tq-status-color, var(--tq-muted));
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}

.tq-record-content {
  min-width: 0;
}

.tq-record-main {
  display: flex;
  gap: 14px;
  margin-bottom: 12px;
}

.tq-record-info {
  min-width: 0;
}

.tq-section-header {
  gap: 10px;
  min-width: 0;
  margin-bottom: 10px;
}

.tq-section-title,
.tq-section-subtitle {
  min-width: 0;
  margin: 0;
  color: var(--tq-text-strong);
  font-weight: 750;
  line-height: 1.18;
}

.tq-section-title {
  font-size: 1.14rem;
}

.tq-section-subtitle {
  padding: 0 0 8px;
  font-size: 1rem;
}

.tq-section-actions {
  gap: var(--tq-btn-gap) !important;
}

.tq-record-section,
.tq-related-section,
.tq-record-attachments__body {
  min-width: 0;
  margin-top: 0 !important;
  padding: 12px;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: 8px;
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-related-section {
  margin-top: 0 !important;
}

.tq-record-detail-grid {
  margin-top: 12px;
  margin-bottom: 12px;
}

.tq-record-detail-grid__table {
  min-width: 0;
}

.tq-record-detail-grid__table > .datatable-container,
.tq-record-detail-grid__table .datatable-container {
  border-radius: 8px;
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-record-attachments {
  margin-top: 12px;
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .tq-record-main {
    flex-direction: column;
  }
  .tq-record-actions,
  .tq-record-actions__group,
  .tq-section-actions {
    justify-content: flex-start !important;
  }
}
.tq-inline-detail-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  gap: 7px;
  min-width: 0;
}

.tq-inline-detail-link__view {
  flex: 0 0 auto;
}

.tq-inline-detail-link__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
}

.tq-inline-detail-link__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  min-width: 0;
  margin-top: 3px;
}

.tq-inline-detail-link__related,
.tq-inline-detail-link__related .fieldItem {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.tq-inline-detail-link__related .tq-inline-detail-link {
  gap: 5px;
}

.tq-inline-detail-link__related .tq-inline-detail-link__name,
.tq-inline-detail-link__related .tq-inline-detail-link__name .fieldItem {
  max-width: 160px;
  font-size: 1rem;
  font-weight: 650;
}

.tq-inline-detail-link__code,
.tq-inline-detail-link__code .fieldItem {
  color: var(--tq-muted);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
}

.tq-inline-detail-link__name,
.tq-inline-detail-link__name .fieldItem {
  display: block;
  min-width: 0;
  overflow: visible;
  overflow-wrap: anywhere;
  color: var(--tq-text-body);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.2;
  white-space: normal;
}

input.form-control:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=image]):not(.input-group-sm *):not(.form-control-sm),
select.form-control:not(.input-group-sm *):not(.form-control-sm),
select.form-select:not(.input-group-sm *):not(.form-select-sm),
.tqselect__control {
  min-height: var(--tq-form-control-height);
  border-color: var(--tq-form-control-border);
  --bs-border-radius: 8px;
  line-height: var(--tq-form-control-line-height);
  padding-right: var(--tq-form-control-padding-x);
  padding-left: var(--tq-form-control-padding-x);
}

/*
 * Raggio dei controlli dalla variabile Bootstrap: dentro .input-group le regole
 * native squadrano gli angoli interni, cosi input e pulsante di data e ora
 * restano un solo controllo. Bordo dei campi di edit con contrasto >= 3:1.
 */
.tqselect__control {
  border-radius: 8px;
}

.input-group:not(.input-group-sm):not(.input-group-lg) {
  --bs-border-radius: 8px;
}

textarea.form-control,
.form-check-input {
  border-color: var(--tq-form-control-border);
}

/* L'input group di data/ora deve lasciare input e pulsante aderenti ai bordi. */
.element_date .input-group:not(.input-group-sm),
.element_time .input-group:not(.input-group-sm) {
  min-height: var(--tq-form-control-height);
}

input.form-control:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=image]):not(.input-group-sm *):not(.form-control-sm),
select.form-control:not(.input-group-sm *):not(.form-control-sm),
select.form-select:not(.input-group-sm *):not(.form-select-sm) {
  height: var(--tq-form-control-height);
}

.tqselect__control,
.element_date .input-group:not(.input-group-sm),
.element_time .input-group:not(.input-group-sm) {
  min-height: var(--tq-form-control-height);
  height: var(--tq-form-control-height);
}

/* I 8px laterali sono quelli del tema: lasciano libera l'icona di validazione. */
.form-floating .basic-single .tqselect__control .tqselect__value-container {
  padding: 0 8px !important;
}

/* L'input valido dentro .input-group sale a z-index 3 (5 in focus): l'etichetta
   flottante di date e campi compositi deve stargli sopra. */
.form-floating > .tq-composite-floating-label {
  z-index: 6;
}

.form-floating .basic-single .tqselect__menu {
  margin: 0 !important;
}

.tq-edit-form,
.tq-edit-form-section {
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius);
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-edit-form {
  padding: 10px;
}

.tq-edit-form-section {
  margin-top: 12px;
  padding: 12px;
}

.tq-edit-form-section:first-child {
  margin-top: 0;
}

.tq-edit-form-section > [class*=col-],
.tq-edit-form-address > [class*=col-] {
  align-self: flex-start;
  padding-top: 2px;
  padding-bottom: 2px;
}

.tq-edit-form-field {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  min-width: 0;
  min-height: var(--tq-form-control-height);
  margin-bottom: 0;
}

.tq-edit-form-field:not(.col) {
  width: 100%;
}

.tq-edit-form-field .form-floating,
.tq-edit-form-field .form-group,
.tq-edit-form-field .basic-single,
.tq-edit-form-field .element_date,
.tq-edit-form-field .element_time {
  width: 100%;
  margin-bottom: 0;
}

.tq-edit-form-field input.form-control:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=image]):not(.input-group-sm *),
.tq-edit-form-field select.form-control:not(.input-group-sm *),
.tq-edit-form-field select.form-select:not(.input-group-sm *),
.tq-edit-form-field .tqselect__control,
.tq-edit-form-field .element_date .input-group:not(.input-group-sm),
.tq-edit-form-field .element_time .input-group:not(.input-group-sm) {
  min-height: var(--tq-edit-control-height);
  height: var(--tq-edit-control-height);
  line-height: var(--tq-edit-control-line-height);
}

/* I controlli multipli devono crescere con i token selezionati. */
.tq-edit-form-field .element_tokenfield .tqselect__control,
.tq-edit-form-field .element_multiselect .tqselect__control {
  min-height: var(--tq-edit-control-height);
  height: auto;
}

.tq-edit-form-field .element_date .form-control,
.tq-edit-form-field .element_time .form-control,
.tq-edit-form-field .element_date .dateButton,
.tq-edit-form-field .element_time .dateButton,
.tq-edit-form-field .input-group:not(.input-group-sm) > input.form-control:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=image]),
.tq-edit-form-field .input-group:not(.input-group-sm) > .btn {
  min-height: var(--tq-edit-control-height);
  height: var(--tq-edit-control-height);
}

.tq-edit-form-field .element_date .dateButton,
.tq-edit-form-field .element_time .dateButton,
.tq-edit-form-field .input-group:not(.input-group-sm) > .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
}

/*
 * Contratto form Fondital: il label emesso dal renderer tQuadra e' il label
 * flottante del controllo. Deve restare visibile a campo vuoto, in focus e
 * compilato. I template usano placeholder senza duplicare label esterne;
 * questo theme non occulta, sostituisce o simula label con CSS.
 */
.tq-edit-form-field .form-floating > label,
.tq-edit-form-field label.bmd-label-floating {
  color: var(--tq-muted);
  padding: 9px var(--tq-edit-control-padding-x);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.15;
}

.tq-edit-form-field .form-floating > .form-control,
.tq-edit-form-field .form-floating > .form-select {
  min-height: var(--tq-edit-control-height);
  height: var(--tq-edit-control-height);
  padding: var(--tq-edit-control-padding-y) var(--tq-edit-control-padding-x) 4px;
  line-height: var(--tq-edit-control-line-height);
}

.tq-edit-form-field textarea.form-control,
.tq-edit-form-field .form-floating > textarea.form-control {
  min-height: 100px;
  height: auto;
  padding: 12px;
  line-height: 1.35;
  resize: vertical;
}

.tq-edit-form-field--textarea-compact textarea.form-control,
.tq-edit-form-field--textarea-compact .form-floating > textarea.form-control {
  min-height: 92px;
  padding: 10px 12px;
}

.tq-edit-form-field--textarea-compact .form-floating.element_textarea,
.tq-edit-form-field--textarea-compact .form-floating:has(> textarea.form-control) {
  min-height: 92px;
}

/* Label flottante nativa sopra il testo (contratto dei form Fondital). L'etichetta della textarea usa la regola
   della label degli input (padding 9px, scale(.85) translateY(-7px)) e sta alla stessa distanza dal bordo; il testo
   parte a 23 px come negli input. Prima l'etichetta toccava il bordo e il testo partiva a 12 px nei Ticket (sopra
   l'etichetta), 26 px nel CAT, 34 px in Ordini e SSO (29/09). */
.tq-edit-form-field .form-floating > textarea.form-control {
  padding-top: 23px;
  padding-bottom: 8px;
}

.tq-edit-form-field .form-floating.element_textarea,
.tq-edit-form-field .form-floating:has(> textarea.form-control) {
  min-height: 100px;
  height: auto;
}

.tq-edit-form-field .form-floating.element_textarea > label,
.tq-edit-form-field .form-floating:has(> textarea.form-control) > label {
  height: auto;
  min-height: 0;
  background: transparent;
}

.tq-edit-form-field .form-floating > .form-control:focus,
.tq-edit-form-field .form-floating > .form-select:focus {
  border-color: var(--tq-accent);
  box-shadow: 0 0 0 3px var(--tq-accent-soft);
}

.tq-edit-form-field .form-floating > .form-control:focus ~ label,
.tq-edit-form-field .form-floating > .form-control:not(:placeholder-shown) ~ label,
.tq-edit-form-field .form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-7px) translateX(2px);
}

.tq-edit-form-field .form-check,
.tq-edit-form-field .checkbox,
.tq-edit-form-field [type=checkbox] {
  min-height: auto;
}

.tq-edit-form-section .templateLabel,
.tq-edit-form-address .templateLabel {
  margin-bottom: 3px;
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  line-height: 1.2;
}

.modal-body .tq-edit-form {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.tq-edit-form-section .form-floating,
.tq-edit-form-address .form-floating {
  margin-bottom: 8px;
}

.tq-edit-form-section .nav-tabs,
.tq-edit-form-address .nav-tabs {
  margin-bottom: 10px;
}

.tq-edit-form-address {
  background: var(--tq-surface-soft);
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]),
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .formfield,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .formfield {
  min-width: 0;
  margin: 0;
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .formfield[data-checkfield$=address],
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .formfield[data-checkfield$=address] {
  grid-column: 1/-1;
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .extlabel,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .extlabel {
  display: block;
  margin: 0 0 4px;
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) select.form-control,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) select.form-control,
.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) input.form-control,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) input.form-control {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--tq-border);
  border-radius: 6px;
  background-color: var(--tq-surface);
  color: var(--tq-text-body);
  font-size: 1rem;
  box-shadow: none;
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) select.form-control:focus,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) select.form-control:focus,
.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) input.form-control:focus,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) input.form-control:focus {
  border-color: var(--tq-accent);
  box-shadow: 0 0 0 3px var(--tq-accent-soft);
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .input-group,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .input-group-addon,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .input-group-addon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  border: 1px solid var(--tq-border);
  border-right: 0;
  border-radius: 6px 0 0 6px;
  background: var(--tq-surface-muted);
  color: var(--tq-text-muted-strong);
}

.tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .input-group-addon + .form-control,
.tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) .input-group-addon + .form-control {
  border-radius: 0 6px 6px 0;
}

.tq-edit-form-field > .nav-tabs:has(+ .geonames-search-mode) {
  gap: 4px;
  margin: 0;
  padding: 8px 8px 0;
  border: 1px solid var(--tq-border);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--tq-surface-soft);
}

.tq-edit-form-field > .nav-tabs:has(+ .geonames-search-mode) .nav-link {
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid transparent;
  border-radius: 6px 6px 0 0;
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 700;
}

.tq-edit-form-field > .nav-tabs:has(+ .geonames-search-mode) .nav-link:hover {
  border-color: var(--tq-border);
  background: var(--tq-surface);
  color: var(--tq-text-body);
}

.tq-edit-form-field > .nav-tabs:has(+ .geonames-search-mode) .nav-link.active {
  border-color: var(--tq-border);
  border-bottom-color: var(--tq-surface);
  background: var(--tq-surface);
  color: var(--tq-accent-strong);
}

.geonames-search-mode {
  min-height: 300px;
  padding: 10px;
  border: 1px solid var(--tq-border);
  border-radius: 0 0 8px 8px;
  background: var(--tq-surface);
}

.geonames-search-mode .leaflet-container,
.geonames-search-mode [class*=leaflet-container] {
  min-height: 260px;
  border: 1px solid var(--tq-border);
  border-radius: 7px;
  background: var(--tq-surface-muted);
}

.geonames-search-mode .form-group,
.geonames-search-mode .formfield {
  margin-bottom: 10px;
}

.geonames-search-mode .form-control,
.geonames-search-mode select {
  min-height: 42px;
  border: 1px solid var(--tq-border);
  border-radius: 6px;
  background-color: var(--tq-surface);
  color: var(--tq-text-body);
  font-size: 1rem;
}

.geonames-search-mode .form-control:focus,
.geonames-search-mode select:focus {
  border-color: var(--tq-accent);
  box-shadow: 0 0 0 3px var(--tq-accent-soft);
}

.tq-edit-form-field:has(> .nav-tabs) > .CountryName,
.tq-edit-form-field:has(> .nav-tabs) > [class^=Admlv] {
  min-width: 0;
  margin-bottom: 10px;
  padding: 0;
}

.tq-edit-form-field:has(> .nav-tabs) > .CountryName .form-control,
.tq-edit-form-field:has(> .nav-tabs) > [class^=Admlv] .form-control {
  min-height: 46px;
  border: 1px solid var(--tq-border);
  border-radius: 6px;
  background-color: var(--tq-surface);
  color: var(--tq-text-body);
  font-size: 1rem;
  box-shadow: none;
}

.tq-edit-form-field:has(> .nav-tabs) > .CountryName .form-control:focus,
.tq-edit-form-field:has(> .nav-tabs) > [class^=Admlv] .form-control:focus {
  border-color: var(--tq-accent);
  box-shadow: 0 0 0 3px var(--tq-accent-soft);
}

.tq-edit-form-field:has(> .nav-tabs) > .CountryName .form-label,
.tq-edit-form-field:has(> .nav-tabs) > [class^=Admlv] .form-label {
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 700;
}

.tq-edit-form-field:has(> .nav-tabs) .rbt-aux {
  align-items: center;
  justify-content: center;
}

.modal-body .tq-edit-form-field:last-child,
.tq-edit-form-section .tq-edit-form-field:last-child,
.tq-edit-form-address .tq-edit-form-field:last-child {
  margin-bottom: 0;
}

.is-filled .bmd-label-floating,
.is-focused .bmd-label-floating {
  top: 0 !important;
}

.tq-edit-form-field.is-filled .bmd-label-floating,
.tq-edit-form-field.is-focused .bmd-label-floating,
.tq-edit-form-field .is-filled .bmd-label-floating,
.tq-edit-form-field .is-focused .bmd-label-floating {
  font-weight: 400;
}

@media (max-width: 575.98px) {
  .tq-edit-form {
    padding: 12px;
  }
  .tq-edit-form-section {
    margin-top: 10px;
    padding: 10px;
  }
  .tq-edit-form-field {
    margin-bottom: 8px;
  }
  .tq-edit-form-address fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]),
  .tq-edit-form-section fieldset[id^=af_component_]:has(.formfield[data-checkfield$=country]) {
    grid-template-columns: 1fr;
  }
}
.card-deck {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.liveEditButtonParent,
.openedInputLiveEditor {
  position: relative;
  display: flex;
  flex-grow: 1;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  gap: var(--tq-btn-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 4px;
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm);
  background: var(--tq-surface);
}

.openedInputLiveEditor {
  flex-grow: 1;
  width: 100%;
  flex-basis: 100%;
  min-width: 0;
  padding: 5px;
  border-color: var(--tq-primary-border-soft);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.08);
}

.liveEditButtonParent .form-floating {
  flex: 1 1 100%;
  margin-bottom: 0 !important;
}
.liveEditButtonParent .form-control {
  border: 0;
}

.openedInputLiveEditor .form-floating {
  flex: 1 1 100%;
  margin-bottom: 0 !important;
}
.openedInputLiveEditor .form-control {
  border: 0;
}

.liveEditButtonParent .form-check,
.openedInputLiveEditor .form-check {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  gap: var(--tq-btn-gap);
  min-width: 52px;
  min-height: var(--tq-btn-action-size);
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
}

.liveEditButtonParent .form-check-input,
.openedInputLiveEditor .form-check-input {
  flex: 0 0 auto;
  margin: 0 !important;
}

.liveEditButtonParent .form-check-label,
.openedInputLiveEditor .form-check-label {
  position: static;
  display: inline-flex;
  align-items: center;
  min-height: var(--tq-btn-action-size);
  color: var(--tq-text-strong);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  clip-path: none;
}

.liveEditButtonParent .form-check-sign,
.openedInputLiveEditor .form-check-sign {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0;
  color: var(--tq-primary);
}

.liveEditButton,
.liveEditSaveButton,
.liveEditCloseButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto;
  min-width: var(--tq-btn-action-size) !important;
  height: var(--tq-btn-action-size) !important;
  min-height: var(--tq-btn-action-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: var(--tq-btn-radius) !important;
  line-height: 1 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.openedInputLiveEditor .liveEditSaveButton,
.openedInputLiveEditor .liveEditCloseButton {
  position: absolute;
  top: 0;
  z-index: 2;
  flex-basis: 24px;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  border: 1px solid var(--tq-primary-border-soft) !important;
  background: var(--tq-surface) !important;
  background-clip: padding-box !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.08) !important;
  transform: translateY(-55%);
}

.openedInputLiveEditor .liveEditSaveButton {
  right: 28px;
}

.openedInputLiveEditor .liveEditCloseButton {
  right: 0;
}

.liveEditButton svg,
.liveEditSaveButton svg,
.liveEditCloseButton svg,
.liveEditButton i,
.liveEditSaveButton i,
.liveEditCloseButton i {
  display: block;
  flex: 0 0 auto;
  width: var(--tq-btn-action-icon-size);
  height: var(--tq-btn-action-icon-size);
  margin: 0;
  line-height: 1;
}

.openedInputLiveEditor .liveEditSaveButton svg,
.openedInputLiveEditor .liveEditCloseButton svg,
.openedInputLiveEditor .liveEditSaveButton i,
.openedInputLiveEditor .liveEditCloseButton i {
  width: 0.78rem;
  height: 0.78rem;
  font-size: 1rem;
}

.liveEditButton {
  color: var(--tq-info) !important;
  background: var(--tq-surface) !important;
  border-color: var(--tq-primary-border-soft) !important;
}

.liveEditSaveButton {
  color: var(--tq-success) !important;
  background: var(--tq-surface-muted) !important;
  border-color: var(--tq-border) !important;
}

.liveEditCloseButton {
  color: var(--tq-danger) !important;
  background: var(--tq-danger-bg-soft) !important;
  border-color: transparent !important;
}

/* Table and datatable foundations. */
.public_fixedDataTable_header,
.public_fixedDataTable_header .public_fixedDataTableCell_main,
.public_fixedDataTableCell_main {
  background-color: var(--tq-surface);
  background-image: none;
}

.fixedDataTableLayout_main {
  overflow: hidden;
  border-color: var(--tq-border) !important;
  border-radius: var(--tq-radius-sm);
  background: var(--tq-surface);
}

.public_fixedDataTable_header,
.public_fixedDataTable_header .public_fixedDataTableCell_main {
  background: var(--tq-surface-muted) !important;
}

.public_fixedDataTableCell_cellContent > div {
  min-width: 0;
}

.public_fixedDataTableCell_main {
  border-color: var(--tq-border-subtle) !important;
}

.public_fixedDataTableCell_cellContent .fieldItem,
.public_fixedDataTableCell_cellContent span,
.public_fixedDataTableCell_cellContent div {
  max-width: 100%;
}

.datatable-container {
  background: var(--tq-card);
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius);
  box-shadow: var(--tq-shadow);
}
.datatable-container .pagination {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.results_list {
  --tq-list-cell-x: 10px;
  --tq-list-cell-y: 6px;
  --tq-list-action-col-width: clamp(96px, 9vw, 180px);
  min-width: 0;
  margin-right: 0;
  margin-left: 0;
}

.results_list .row {
  margin-right: 0;
  margin-left: 0;
}

.results_list .bg-secondary.tq-list-row {
  margin-bottom: 0;
  color: var(--tq-text-muted-strong) !important;
  background: var(--tq-surface-muted) !important;
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm) var(--tq-radius-sm) 0 0;
  box-shadow: none;
}

.results_list .bg-secondary.tq-list-row .datatable-header {
  min-height: 34px;
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 800;
  text-transform: none;
}

.tq-list-card-header-row .datatable-header > .input-group {
  width: fit-content;
  max-width: 100%;
  flex-wrap: nowrap;
  overflow: hidden;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-xs, 8px);
}

.tq-list-card-header-row .datatable-header > .input-group:has(> .searchHtml.form-floating) {
  width: 100%;
}

.tq-list-card-header-row .datatable-header .textHeaderDataTable,
.tq-list-card-header-row .datatable-header .orderCaretDataTable {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  color: var(--tq-text-muted-strong);
  background: transparent !important;
  border: 0;
  border-radius: 0;
}

.tq-list-card-header-row .datatable-header .textHeaderDataTable {
  padding: 0 0.7rem;
  font-weight: 800;
}

.tq-list-card-header-row .datatable-header .orderCaretDataTable {
  width: 32px;
  flex: 0 0 32px;
  margin-left: 0 !important;
  padding: 0;
  justify-content: center;
  border-left: 1px solid var(--tq-border);
  box-shadow: none;
}

.tq-list-card-header-row .datatable-header > .input-group > .searchHtml.form-floating {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
}

.results_list .datatable-header .searchHtml.form-floating,
.results_list .tq-list-card-header-cell .searchHtml.form-floating {
  width: 100%;
  min-height: var(--tq-list-filter-control-height);
  margin: 0;
}

.results_list .datatable-header .searchHtml.form-floating > .form-control,
.results_list .datatable-header .searchHtml.form-floating > .form-select,
.results_list .tq-list-card-header-cell .searchHtml.form-floating > .form-control,
.results_list .tq-list-card-header-cell .searchHtml.form-floating > .form-select {
  min-height: var(--tq-list-filter-control-height) !important;
  height: var(--tq-list-filter-control-height) !important;
  padding: var(--tq-list-filter-control-padding-y) var(--tq-list-filter-control-padding-x) 3px !important;
  font-size: var(--tq-list-filter-control-font-size);
  line-height: var(--tq-list-filter-control-line-height) !important;
}

.results_list .datatable-header .searchHtml.form-floating > label,
.results_list .tq-list-card-header-cell .searchHtml.form-floating > label {
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  max-width: calc(100% - 12px);
  margin-left: 6px;
  padding: 0 4px;
  color: var(--tq-text-muted-strong);
  background: var(--tq-surface-muted);
  font-size: var(--tq-list-filter-label-font-size);
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
  opacity: 1;
}

.results_list .datatable-header .searchHtml.form-floating > .form-control:focus ~ label,
.results_list .datatable-header .searchHtml.form-floating > .form-control:not(:placeholder-shown) ~ label,
.results_list .datatable-header .searchHtml.form-floating > .form-select ~ label,
.results_list .tq-list-card-header-cell .searchHtml.form-floating > .form-control:focus ~ label,
.results_list .tq-list-card-header-cell .searchHtml.form-floating > .form-control:not(:placeholder-shown) ~ label,
.results_list .tq-list-card-header-cell .searchHtml.form-floating > .form-select ~ label {
  transform: translateY(-50%);
}

.results_list .datatable-header.tq-list-card-header-cell,
.results_list .tq-list-card-header-cell.form-inline {
  min-height: calc(var(--tq-list-filter-control-height) + 8px);
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.results_list .tq-list-card-actions > .btn,
.results_list .tq-list-card-actions > .actionItemContainer,
.results_list .tq-list-card-actions .btn {
  flex: 0 0 auto;
}

.results_list .bordered-row,
.results_list .zebra.bordered-row {
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 0 !important;
  color: var(--tq-text-body);
  background: var(--tq-surface);
  border: 1px solid var(--tq-border-subtle);
  border-top: 0;
  border-radius: 0;
  box-shadow: none;
}

.results_list .zebra.bordered-row:nth-child(odd) {
  background: var(--tq-surface-soft);
}

.results_list .bordered-row:last-child,
.results_list .zebra.bordered-row:last-child {
  border-radius: 0 0 var(--tq-radius-sm) var(--tq-radius-sm);
}

/* Il tema mette word-break: break-word su ogni .col: intestazioni e valori si
   spezzavano lettera per lettera e la cella si stringeva sotto la parola piu
   corta possibile. Qui le parole restano intere e vanno a capo solo se non
   stanno nella riga. */
.results_list .bordered-row > .col,
.results_list .zebra.bordered-row > .col,
.results_list .tq-list-row > .col {
  min-width: 0;
  min-height: 36px;
  padding: var(--tq-list-cell-y) var(--tq-list-cell-x);
  word-break: normal;
  overflow-wrap: break-word;
}

/* Senza una variante .zebra.bordered-row: la sua specificita' in piu' batteva la colonna delle azioni della tabella
   compatta (96px) nelle sole righe dati, e righe e intestazione non erano piu' allineate. */
.results_list .bordered-row > .tq-list-card-actions:last-child,
.results_list .tq-list-row > .tq-list-card-actions:last-child {
  flex: 0 0 var(--tq-list-action-col-width) !important;
  width: var(--tq-list-action-col-width) !important;
  /* almeno la larghezza dei pulsanti: sotto i 96px coprivano la cella accanto */
  min-width: max-content;
  padding-right: var(--tq-list-cell-x) !important;
  padding-left: var(--tq-list-cell-x) !important;
}

.results_list .tq-list-row > .tq-list-cell:first-child:has(button),
.results_list .tq-list-row > .tq-list-cell:first-child:has(a),
.results_list .tq-list-card-row > .tq-list-cell:first-child:has(button),
.results_list .tq-list-card-row > .tq-list-cell:first-child:has(a) {
  justify-content: flex-start !important;
  text-align: left !important;
}

.results_list .tq-list-row > .tq-list-cell:last-child:has(button),
.results_list .tq-list-row > .tq-list-cell:last-child:has(a),
.results_list .tq-list-card-row > .tq-list-cell:last-child:has(button),
.results_list .tq-list-card-row > .tq-list-cell:last-child:has(a) {
  margin-left: auto !important;
  padding-right: var(--tq-list-cell-x) !important;
  padding-left: var(--tq-list-cell-x) !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

.results_list .tq-list-detail-row,
.tq-list-detail-row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  align-items: stretch;
  width: 100%;
  margin: 4px 0 7px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.results_list .tq-list-detail-row > .col,
.results_list .tq-list-detail-row > [class*=col-],
.tq-list-detail-row > .col,
.tq-list-detail-row > [class*=col-] {
  padding: 0 !important;
}

.tq-list-detail-row .tq-list-card-header-row {
  margin: 0 0 6px;
  padding: 6px 10px !important;
  color: var(--tq-text-muted-strong) !important;
  background: var(--tq-surface-muted) !important;
  border: 1px solid var(--tq-border) !important;
  border-radius: var(--tq-radius-sm) !important;
  box-shadow: none !important;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tq-list-detail-row .tq-list-card-row:last-child {
  margin-bottom: 0;
}

.results_list .bordered-row .actionItemContainer.btn,
.results_list .zebra.bordered-row .actionItemContainer.btn {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
}

.results_list .tq-list-detail-row .datatable-container,
.tq-list-detail-row .datatable-container {
  padding: 0.5rem !important;
  background: var(--tq-surface-muted) !important;
  border: 1px solid var(--tq-border) !important;
  border-radius: var(--tq-radius-sm) !important;
  box-shadow: none !important;
}

.results_list .tq-list-detail-row .tq-return-list-lines-data,
.tq-list-detail-row .tq-return-list-lines-data {
  border-color: var(--tq-border-strong) !important;
  box-shadow: none !important;
}

.results_list .tq-list-detail-row .tq-return-list-lines-data:nth-child(even),
.tq-list-detail-row .tq-return-list-lines-data:nth-child(even) {
  background: var(--tq-surface-accent) !important;
}

.results_list .tq-list-detail-row .tq-return-list-lines-data:nth-child(odd),
.tq-list-detail-row .tq-return-list-lines-data:nth-child(odd) {
  background: var(--tq-surface-soft) !important;
}

/*
 * Tabella lista compatta a scorrimento orizzontale: righe di dettaglio modificabili
 * compilate in sequenza da tastiera (per esempio le righe di un reso al bancone) e liste
 * con molte colonne (transcodifiche, tracciabilita).
 * Contratto template (TemplateManager):
 * - la col che ospita il detail o la lista, oppure il contenitore generico intorno alla lista: .tq-list-table-scroll;
 * - riga di intestazione (rowClassName del datatable tr) e riga dati: .tq-list-row .tq-list-table-compact;
 * - ogni cella, td e col nello stesso ordine: .tq-list-cell con una larghezza minima di pattern
 *   .tq-list-col--xs|sm|md|lg|xl; la prima colonna puo restare ferma a sinistra con .tq-list-col--sticky.
 * Intestazione e righe hanno le stesse larghezze minime: finche c'e spazio le colonne crescono insieme
 * (xs e sm restano fisse), poi la tabella scorre in orizzontale.
 */
.tq-list-table-scroll {
  /* rientro orizzontale del contenitore che scorre, per la colonna ferma a destra: nessuno per un contenitore semplice,
     il gutter della riga quando il contenitore e una sua colonna (Bootstrap .row > *) */
  --tq-list-scroll-inset: 0px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.row > .tq-list-table-scroll {
  --tq-list-scroll-inset: calc(var(--bs-gutter-x) * .5);
}

/* Barra di scorrimento sempre visibile: la tabella continua a destra. */
.tq-list-table-scroll::-webkit-scrollbar {
  height: 10px;
}

.tq-list-table-scroll::-webkit-scrollbar-track {
  background: var(--tq-surface-muted);
  border-radius: 999px;
}

.tq-list-table-scroll::-webkit-scrollbar-thumb {
  background: var(--tq-border-strong);
  border-radius: 999px;
}

/* Le righe dati del detail arrivano dentro row > col del form: senza gutter restano
   allineate all'intestazione e non allargano il contenitore. */
.tq-list-table-scroll > .row {
  --bs-gutter-x: 0;
}

/* Select e calendario si aprono dentro il contenitore che scorre: mentre sono aperti
   il contenitore riserva sotto le righe lo spazio della tendina. */
.tq-list-table-scroll:has(.tqselect__menu, .rdtOpen) {
  padding-bottom: 320px;
}

.tq-list-row.tq-list-table-compact {
  --tq-form-control-height: 34px;
  --tq-form-control-line-height: 20px;
  --tq-form-control-padding-x: 8px;
  --tq-form-control-padding-y: 6px;
  --tq-edit-control-height: var(--tq-form-control-height);
  --tq-edit-control-line-height: var(--tq-form-control-line-height);
  --tq-edit-control-padding-x: var(--tq-form-control-padding-x);
  --tq-edit-control-padding-y: var(--tq-form-control-padding-y);
  flex-wrap: nowrap;
  align-items: center;
  row-gap: 0;
  width: max-content;
  min-width: 100%;
  margin: 0 0 4px;
  padding: 4px !important;
  box-shadow: none;
}

.tq-list-row.tq-list-table-compact > .tq-list-cell {
  flex: 1 0 auto;
  width: var(--tq-list-col-width, 152px);
  max-width: none;
  min-height: 0;
  margin-top: 0;
  padding: 0 4px;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--xs {
  --tq-list-col-width: 48px;
  flex-grow: 0;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--sm {
  --tq-list-col-width: 104px;
  flex-grow: 0;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--md {
  --tq-list-col-width: 152px;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--lg {
  --tq-list-col-width: 216px;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--xl {
  --tq-list-col-width: 336px;
}

/* Tabella compatta con la colonna delle azioni: le colonne dei dati tengono la loro larghezza e la
   colonna delle azioni, senza etichetta, prende lo spazio che resta ed e larga almeno quanto i suoi
   pulsanti. Intestazione e righe hanno cosi la stessa griglia anche con l'intestazione delle azioni
   vuota: fuori da .results_list la larghezza delle azioni non e definita e le due righe divergevano. */
.tq-list-row.tq-list-table-compact:has(> .tq-list-card-actions) > .tq-list-cell:not(.tq-list-card-actions) {
  flex-grow: 0;
}

.tq-list-row.tq-list-table-compact > .tq-list-card-actions {
  flex: 1 0 auto !important;
  width: auto !important;
  min-width: max-content;
}

/* Ultima colonna dei dati che si allarga (tq-list-col--grow): prende lo spazio libero della riga, cosi
   il suo contenuto sta su una riga invece di andare a capo accanto a una fascia vuota; la colonna delle
   azioni resta larga quanto i pulsanti. Sul telefono la tabella scorre e la colonna parte da 336 px.
   Si allarga al massimo fino al doppio della sua larghezza di pattern: sugli schermi larghi le colonne dei
   dati restano vicine invece di aprire una fascia vuota dentro la colonna. */
.tq-list-row.tq-list-table-compact > .tq-list-col--grow {
  flex-grow: 1 !important;
  max-width: calc(2 * var(--tq-list-col-width, 152px));
}

/* Con una colonna che si allarga la colonna delle azioni ha la stessa larghezza in intestazione e righe (96px, due
   pulsanti; nelle liste quanto i pulsanti, vedi sotto): con la sola intestazione «+» le due righe avrebbero azioni di
   larghezza diversa e le colonne dopo quella che si allarga non sarebbero piu allineate. */
.tq-list-row.tq-list-table-compact:has(> .tq-list-col--grow) > .tq-list-card-actions {
  flex: 0 0 var(--tq-list-compact-actions-width, 96px) !important;
  width: var(--tq-list-compact-actions-width, 96px) !important;
  /* oltre il limite della colonna che si allarga lo spazio libero resta prima delle azioni, sul bordo destro */
  margin-left: auto;
}

/* In una lista la colonna delle azioni e' larga quanto i pulsanti della riga che ne ha di piu' (pulsante 44 px, spazio
   4, rientro 8: uno 52 px, due 100, tre 148), uguale nell'intestazione e nelle righe: con un solo pulsante non resta
   una fascia vuota prima dell'azione. Fuori da .results_list resta 96 px. */
.results_list {
  --tq-list-compact-actions-width: 52px;
}

.results_list:has(.tq-list-table-compact > .tq-list-card-actions > :nth-child(2)) {
  --tq-list-compact-actions-width: 100px;
}

.results_list:has(.tq-list-table-compact > .tq-list-card-actions > :nth-child(3)) {
  --tq-list-compact-actions-width: 148px;
}

/* Con piu' colonne che si allargano lo spazio libero si divide fra loro senza il limite al doppio: con il limite restava
   una fascia vuota prima delle azioni mentre una cella andava a capo. La colonna con i testi piu' lunghi puo' prendere
   una parte doppia (tq-list-col--grow-2). */
.tq-list-row.tq-list-table-compact:has(> .tq-list-col--grow ~ .tq-list-col--grow) > .tq-list-col--grow {
  max-width: none;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--grow.tq-list-col--grow-2 {
  flex-grow: 2 !important;
}

/* Nelle liste le righe della tabella compatta tengono il rientro del pattern (4 px) come nelle card: le regole delle
   righe di lista (10 px, 10-compact-cards) allargavano intestazione e righe oltre le colonne. */
.results_list .bg-secondary.tq-list-row.tq-list-card-header-row.tq-list-table-compact,
.results_list .zebra.bordered-row.tq-list-card-row.tq-list-table-compact {
  padding: 4px !important;
}

/* In una lista (.results_list) le righe dati non hanno larghezza minima: con una colonna che si allarga ogni riga e larga
   almeno quanto la lista, come l'intestazione, e le colonne restano allineate anche quando la tabella non scorre. */
.results_list .tq-list-row.tq-list-table-compact:has(> .tq-list-col--grow) {
  min-width: 100%;
}

/* Nelle card di configurazione l'intestazione delle liste ha un rientro suo (06): la tabella compatta tiene quello del
   pattern, uguale alle righe, e le celle restano sotto le intestazioni. */
.tq-config-card .datatable-header-container .tq-list-row.tq-list-table-compact {
  padding: 4px !important;
}

@media (max-width: 575.98px) {
  .tq-list-row.tq-list-table-compact > .tq-list-col--grow {
    --tq-list-col-width: 336px;
  }
}
/* Intestazione di tabella piccola e muted, piu leggera dei valori (tq-list-header--muted sulla riga di
   intestazione): le colonne si leggono senza pesare piu del contenuto. */
.tq-list-header--muted,
.tq-list-header--muted .datatable-header,
.tq-list-header--muted .textHeaderDataTable,
.tq-list-header--muted .tq-list-card-header-cell {
  color: var(--tq-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  text-transform: none !important;
}

.tq-list-row.tq-list-table-compact > .tq-list-col--sticky {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: inherit;
}

/* Colonna delle azioni ferma a destra mentre la tabella scorre (tq-list-col--sticky-end su intestazione e righe): le
   azioni di riga, per esempio «Nuovo support incident», restano a portata anche sul telefono. La colonna si ferma sul
   bordo del contenitore che scorre e ne copre il rientro: accanto alle azioni non resta una fascia in cui passano le
   colonne che scorrono. */
.tq-list-row.tq-list-table-compact > .tq-list-col--sticky-end {
  position: sticky;
  right: calc(-1 * var(--tq-list-scroll-inset, 0px));
  z-index: 2;
  background-color: inherit;
}

/* Ombra sul lato sinistro della colonna ferma solo quando sotto di lei passano colonne nascoste: la tabella scorre e non
   e' arrivata in fondo. La misura la scroll-timeline del contenitore che scorre: se il contenuto sta nel contenitore la
   timeline e' inattiva e l'ombra non c'e' (senza supporto delle scroll-timeline: nessuna ombra). */
.tq-list-table-scroll {
  scroll-timeline: --tq-list-scroll inline;
}

@supports (animation-timeline: scroll()) {
  .tq-list-row.tq-list-table-compact > .tq-list-col--sticky-end {
    animation: tq-list-sticky-end-edge linear both;
    animation-timeline: --tq-list-scroll;
  }
}
@keyframes tq-list-sticky-end-edge {
  0%, 98% {
    box-shadow: -10px 0 8px -8px rgba(15, 23, 42, 0.18);
  }
  100% {
    box-shadow: none;
  }
}
/* Liste di ricerca con la tabella compatta (pagine con il template DefaultView, Transcodifiche): scorre tutta la col del
   risultato, contatore e paginazione compresi. La col delle righe e' larga quanto la tabella e la riga di contatore e
   paginazione resta ferma mentre la tabella scorre (TQ13-62, dalla proposta del tema). Solo con la tabella compatta: le
   altre liste non cambiano. */
.tq-list-table-scroll .results_list:has(.tq-list-table-compact) > .col-12 {
  width: max-content;
  min-width: 100%;
  /* il tema mette max-width: 100% su .row > *: la col resterebbe larga quanto la parte visibile */
  max-width: none;
}

/* Contatore e paginazione restano allineati a destra come nelle altre liste e fermi sul bordo destro della parte
   visibile mentre la tabella scorre; sul telefono vanno a capo entro la larghezza della finestra. */
.tq-list-table-scroll .results_list:has(.tq-list-table-compact) .datatable-header-container > .row:first-child,
.tq-list-table-scroll .results_list:has(.tq-list-table-compact) .fixed-header > .row:first-child {
  position: sticky;
  right: 0;
  width: fit-content;
  max-width: calc(100vw - 48px);
  margin-left: auto;
}

/* Tendine sopra la colonna ferma delle righe successive. */
.tq-list-row.tq-list-table-compact .tqselect__menu {
  z-index: 3;
}

.tq-list-row.tq-list-table-compact .tqselect__value-container {
  padding: 0 6px;
}

.tq-list-row.tq-list-table-compact .tqselect__indicator {
  padding: 4px 6px;
}

.tq-list-row.tq-list-table-compact .tqselect__indicator-separator {
  margin-top: 6px;
  margin-bottom: 6px;
}

/* Select nativa: il testo non passa sotto la freccia. */
.tq-list-row.tq-list-table-compact select.form-select {
  padding-right: 28px;
  background-position: right 8px center;
}

.tq-list-row.tq-list-table-compact .dateButton {
  padding-right: 8px;
  padding-left: 8px;
}

/* Casella al centro della colonna, senza il rientro del form-check. */
.tq-list-row.tq-list-table-compact .form-check {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--tq-form-control-height);
  margin: 0;
  padding: 0;
}

.tq-list-row.tq-list-table-compact .form-check .form-check-input {
  float: none;
  margin: 0;
}

/* tQuadra configuration tab cards. */
.tq-config-tabs {
  margin-top: 2px;
}

.tq-config-tabs > .tab-content,
.tab-content:has(.tq-config-tab-area) {
  padding-top: 12px;
}

.tq-config-tab-area {
  --bs-gutter-x: .75rem;
  --bs-gutter-y: .75rem;
  margin-right: 0;
  margin-left: 0;
  margin-top: 0 !important;
}

.tq-config-section {
  min-width: 0;
}

.tq-config-card {
  overflow: visible;
  border-radius: 8px;
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-config-card__header {
  padding: 10px 12px 0 !important;
  background: var(--tq-surface);
  border-bottom: 0;
}

.tq-config-card__title {
  display: flex;
  align-items: center;
  margin: 0;
  min-height: 30px;
  padding: 0 0 8px;
  color: var(--tq-text-strong);
  border-bottom: 1px solid var(--tq-border);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.tq-config-card__title::before {
  content: "";
  flex: 0 0 auto;
  width: 3px;
  height: 16px;
  margin-right: 8px;
  background: var(--tq-primary);
  border-radius: 999px;
}

.tq-config-card__body {
  min-height: 0;
  padding: 10px 12px 12px;
}

.tq-config-card__note {
  margin: 0;
  padding: 10px 12px;
  color: var(--tq-muted);
  background: var(--tq-surface-soft);
  border-bottom: 1px solid var(--tq-border);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
}

.tq-config-card__body > .datatable-container {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.tq-config-card .datatable-header-container {
  margin: 0 0 8px;
  padding: 0;
  background: transparent;
  border-bottom: 0;
}

.tq-config-card .datatable-header-container .row {
  --bs-gutter-x: .5rem;
  --bs-gutter-y: .25rem;
  margin-right: 0;
  margin-left: 0;
  margin-top: 0 !important;
}

.tq-config-card .datatable-header-container .utility-header {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 0;
  margin: 0 0 6px;
  color: var(--tq-muted);
  font-size: 1rem;
}

.tq-config-card .datatable-header-container .bg-secondary {
  --bs-bg-opacity: 1;
  align-items: center;
  row-gap: 6px;
  margin: 0 !important;
  padding: 8px 10px !important;
  color: var(--tq-text-body) !important;
  background-color: var(--tq-surface-soft) !important;
  border: 1px solid var(--tq-compact-border);
  border-radius: 8px;
  box-shadow: none;
}

.tq-config-card .datatable-header-container .datatable-header {
  min-height: 32px;
  margin-top: 0 !important;
  padding: 2px 4px !important;
  color: inherit;
  font-size: 1rem;
  line-height: 1.25;
}

.tq-config-card .datatable-header-container .form-floating {
  width: 100%;
  height: 42px;
  min-height: 42px;
}

.tq-config-card .datatable-header-container .form-control {
  min-height: 42px !important;
  height: 42px !important;
  padding: 1rem 0.75rem 0.34rem !important;
  background: var(--tq-surface);
  border-color: var(--tq-border-strong);
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.25;
  box-shadow: none;
}

.tq-config-card .datatable-header-container .form-floating > label {
  height: 42px;
  padding: 0.74rem 0.75rem 0.34rem !important;
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.25;
  transform-origin: 0 0;
}

.tq-config-card .datatable-header-container .form-floating > .form-control:focus ~ label,
.tq-config-card .datatable-header-container .form-floating > .form-control:not(:placeholder-shown) ~ label {
  transform: scale(0.82) translateY(-0.35rem) translateX(0.1rem);
}

.tq-config-card .datatable-header-container .pulsanti {
  gap: 6px;
  padding-right: 4px;
}

.tq-config-card .public_fixedDataTable_header,
.tq-config-card .public_fixedDataTable_header .public_fixedDataTableCell_main,
.tq-config-card .public_fixedDataTableCell_main {
  min-height: 32px;
}

.tq-config-card .public_fixedDataTableCell_cellContent {
  padding: 6px 8px;
  line-height: 1.2;
}

.tq-config-card .zebra.row,
.tq-config-card .bordered-row.row {
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.tq-config-card .zebra > .col,
.tq-config-card .bordered-row > .col,
.tq-config-card .zebra > [class*=col-],
.tq-config-card .bordered-row > [class*=col-] {
  display: flex;
  align-items: center;
  min-height: 32px;
  padding: 2px 4px;
  color: var(--tq-text-body);
  font-size: 1rem;
  line-height: 1.25;
}

.tq-config-card .pagination {
  justify-content: flex-end;
  padding: 6px 10px 9px;
  margin-bottom: 0;
}

/* tQuadra detail sidebar cards and client summaries. */
.tq-detail {
  margin-bottom: 12px;
  padding: 0;
  background: var(--tq-surface);
  color: var(--tq-text-body);
  border: 1px solid var(--tq-border);
  border-radius: 8px;
  box-shadow: 0 6px 18px var(--tq-chip-bg);
  overflow: hidden;
}

.tq-side-card__header {
  padding: 12px 12px 10px !important;
  background: var(--tq-surface-muted);
  border-bottom: 1px solid var(--tq-border);
}

.tq-side-card__title-block {
  min-width: 0;
}

.tq-side-card__header .section-title {
  margin: 0;
  font-size: 1rem;
}

.tq-side-card__header small {
  display: block;
  margin-top: 3px;
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.25;
}

.tq-side-card__actions {
  padding: 8px 12px !important;
  background: var(--tq-surface);
  border-bottom: 1px solid var(--tq-border);
}

.tq-side-card__actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.tq-side-card__actions .btn,
.tq-side-card__actions .actionItemContainer.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--tq-btn-action-size);
  height: var(--tq-btn-action-size);
  min-height: var(--tq-btn-action-size);
  padding: 0;
  border-radius: var(--tq-btn-radius);
}

.tq-side-card__actions .actionItemContainer {
  margin: 0;
}

.tq-side-card__body {
  padding: 12px !important;
}

.tq-detail .section-title {
  margin: 0 0 8px;
  color: var(--tq-text-strong);
  font-size: 1.1rem;
  line-height: 1.2;
}

.tq-detail .templateLabel {
  margin-bottom: 2px;
  color: var(--tq-muted);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.tq-side-card__data-row + .tq-side-card__data-row {
  margin-top: 10px;
}

.tq-side-card__body .templateLabel {
  margin-bottom: 3px;
}

.tq-side-card__body .detailObject,
.tq-side-card__body .fieldItem,
.tq-side-card__body .htmlField {
  color: var(--tq-text-body);
  font-size: 1rem;
  line-height: 1.35;
}

.tq-side-card__body .tq-compact-view-address-text {
  color: var(--tq-text-body);
}

.client-map-summary {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 1rem;
  line-height: 1.28;
}

.client-map-summary__title {
  color: var(--tq-text-strong);
  font-size: 1rem;
  font-weight: 700;
}

.client-map-summary__address {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 18px;
  color: var(--tq-text-muted);
}

.client-map-summary__address .fieldItem,
.client-map-summary__address .detailObject,
.client-map-summary__address-text,
.client-map-summary__address-text * {
  color: var(--tq-text-muted);
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

.client-map-summary__address .fieldItem {
  min-width: 0;
}

.client-map-summary__maps-link {
  flex: 0 0 auto;
  font-size: 0 !important;
  line-height: 0;
}

.client-map-summary__maps-link a,
.client-map-summary__maps-link .btn,
.client-map-summary__maps-link .actionItemContainer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--tq-link);
  cursor: pointer;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none;
  vertical-align: middle;
}

.client-map-summary__maps-link i,
.client-map-summary__maps-link svg,
.client-map-summary__maps-link [class*=zmdi],
.client-map-summary__maps-link [class*=bi-] {
  font-size: 1rem !important;
  line-height: 1 !important;
}

.client-map-summary__maps-link svg {
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
}

.client-map-summary__maps-link a:hover {
  text-decoration: none;
}

.client-map-summary__contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin-top: 2px;
}

.client-map-summary__contact {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  font-size: 1rem;
  line-height: 1.2;
}

.client-map-summary__contact a,
.client-map-summary__contact .btn,
.client-map-summary__contact .actionItemContainer {
  display: inline-flex;
  align-items: center;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--tq-link);
  line-height: 1.2 !important;
  text-decoration: none !important;
  vertical-align: middle;
}

.client-map-summary__contact a:hover,
.client-map-summary__contact a:focus,
.client-map-summary__contact .btn:hover,
.client-map-summary__contact .btn:focus,
.client-map-summary__contact .actionItemContainer:hover,
.client-map-summary__contact .actionItemContainer:focus {
  color: var(--tq-link-hover);
  text-decoration: none !important;
}

.client-map-summary__contact a i,
.client-map-summary__contact .btn i,
.client-map-summary__contact .actionItemContainer i,
.client-map-summary__contact a [class*=zmdi],
.client-map-summary__contact .btn [class*=zmdi],
.client-map-summary__contact .actionItemContainer [class*=zmdi],
.client-map-summary__contact a [class*=bi-],
.client-map-summary__contact .btn [class*=bi-],
.client-map-summary__contact .actionItemContainer [class*=bi-] {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
  margin-right: 0.28rem !important;
}

/* tQuadra detail view tab cards. */
.tq-record-main {
  margin-right: 0;
  margin-left: 0;
}

.tq-record-tabs {
  margin-top: 2px;
}

/* Linguette della scheda del record su una riga a 1280 px con la colonna sinistra aperta: le sette della scheda C.A.T.
   (Amministrazione andava a capo da sola). */
.tq-record-main .nav-tabs > .nav-item > .nav-link {
  padding-right: 12px;
  padding-left: 12px;
  font-size: 0.9375rem;
}

.tq-record-tabs > .tab-content,
.tab-content:has(.tq-record-tab-area) {
  padding-top: 12px;
}

.tq-record-tab-area {
  --bs-gutter-x: .75rem;
  --bs-gutter-y: .75rem;
  margin-right: 0;
  margin-left: 0;
  margin-top: 0 !important;
}

.tq-record-section-group {
  min-width: 0;
}

.tq-record-section {
  overflow: visible;
  height: 100%;
  border-radius: 8px;
  box-shadow: var(--tq-shadow-soft);
}

.tq-record-section__header {
  flex-wrap: wrap;
  padding: 10px 12px 0 !important;
  background: var(--tq-surface);
  border-bottom: 0;
}

.tq-record-section__title {
  display: flex;
  align-items: center;
  min-height: 30px;
  margin: 0;
  padding: 0 0 8px;
  word-break: normal;
  overflow-wrap: break-word;
  color: var(--tq-text-strong);
  border-bottom: 1px solid var(--tq-border);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.tq-record-section__title::before {
  content: "";
  flex: 0 0 auto;
  width: 3px;
  height: 16px;
  margin-right: 8px;
  background: var(--tq-primary);
  border-radius: 999px;
}

.tq-record-section__body {
  min-height: 0;
  padding: 10px 12px 12px;
  font-size: 0;
}

.tq-record-section__body > * {
  font-size: 1rem;
}

.tq-record-section__body > .datatable-container {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.tq-record-section__body > .datatable-container > div[style*="display: flex"] {
  font-size: 0;
}

.tq-record-section__body > .datatable-container > div[style*="display: flex"] > * {
  font-size: 1rem;
}

.tq-record-section .datatable-header-container {
  margin: 0 0 8px;
  padding: 0;
  background: transparent;
  border-bottom: 0;
}

.tq-record-section .datatable-header-container .row {
  --bs-gutter-x: .5rem;
  --bs-gutter-y: .25rem;
  margin-right: 0;
  margin-left: 0;
  margin-top: 0 !important;
}

.tq-record-section .datatable-header-container .utility-header {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 0;
  margin: 0 0 6px;
  color: var(--tq-muted);
  font-size: 1rem;
}

.tq-record-section .datatable-header-container .bg-secondary {
  --bs-bg-opacity: 1;
  align-items: center;
  row-gap: 6px;
  margin: 0 !important;
  padding: 8px 10px !important;
  color: var(--tq-text-body) !important;
  background-color: var(--tq-surface-soft) !important;
  border: 1px solid var(--tq-compact-border);
  border-radius: 8px;
  box-shadow: none;
}

/* Intestazione di una tabella compatta dentro una sezione: stesso padding orizzontale delle righe,
   cosi le colonne dell'intestazione cadono sopra quelle delle celle. */
.tq-record-section .datatable-header-container .bg-secondary.tq-list-table-compact {
  padding-right: 4px !important;
  padding-left: 4px !important;
}

.tq-record-section .datatable-header-container .datatable-header {
  min-height: 32px;
  margin-top: 0 !important;
  padding: 2px 4px !important;
  color: inherit;
  font-size: 1rem;
  line-height: 1.25;
}

.tq-record-section .datatable-header-container .form-floating {
  width: 100%;
  height: 42px;
  min-height: 42px;
}

.tq-record-section .datatable-header-container .form-control {
  height: 42px !important;
  min-height: 42px !important;
  padding: 1rem 0.75rem 0.34rem !important;
  background: var(--tq-surface);
  border-color: var(--tq-border-strong);
  border-radius: 8px;
  box-shadow: none;
  font-size: 1rem;
  line-height: 1.25;
}

.tq-record-section .datatable-header-container .form-floating > label {
  height: 42px;
  padding: 0.74rem 0.75rem 0.34rem !important;
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.25;
  transform-origin: 0 0;
}

.tq-record-section .datatable-header-container .form-floating > .form-control:focus ~ label,
.tq-record-section .datatable-header-container .form-floating > .form-control:not(:placeholder-shown) ~ label {
  transform: scale(0.82) translateY(-0.35rem) translateX(0.1rem);
}

.tq-record-section .datatable-header-container .pulsanti {
  gap: 6px;
  padding-right: 4px;
}

.tq-record-section .public_fixedDataTable_header,
.tq-record-section .public_fixedDataTable_header .public_fixedDataTableCell_main,
.tq-record-section .public_fixedDataTableCell_main {
  min-height: 32px;
}

.tq-record-section .public_fixedDataTableCell_cellContent {
  padding: 6px 8px;
  line-height: 1.2;
}

.tq-record-section .zebra.row,
.tq-record-section .bordered-row.row {
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.tq-record-section .zebra > .col,
.tq-record-section .bordered-row > .col,
.tq-record-section .zebra > [class*=col-],
.tq-record-section .bordered-row > [class*=col-] {
  display: flex;
  align-items: center;
  min-height: 32px;
  padding: 2px 4px;
  color: var(--tq-text-body);
  font-size: 1rem;
  line-height: 1.25;
}

.tq-record-section .pagination {
  justify-content: flex-end;
  padding: 6px 10px 9px;
  margin-bottom: 0;
}

.tq-record-section .geodata-tq,
.tq-record-section [data-fieldname=GeoJson] {
  min-height: 260px;
}

/* Coppie etichetta/valore di una sezione della scheda: tante colonne quante ne entrano nella card,
   larghe almeno 220 px, una sola sotto quella larghezza; nessun riquadro attorno alle coppie. */
.tq-record-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 12px 16px;
}

.tq-record-field-grid > .tq-record-field {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

.tq-record-field-grid > .tq-record-field > .templateLabel {
  margin-top: 0;
}

/* Compact key/value summaries used by administrative record sections. */
.tq-key-value-section-title {
  margin: 4px 0 8px;
  color: var(--tq-text-strong);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
}

.tq-key-value-section-title:not(:first-child) {
  margin-top: 16px;
}

.tq-key-value-list {
  display: flex;
  flex-direction: column;
  overflow: visible;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm);
}

/* Dentro una sezione gia incorniciata restano solo righe e separatori. */
.tq-key-value-list--flush {
  background: transparent;
  border: 0;
  border-radius: 0;
}

.tq-key-value-row {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 42px;
  padding: 8px 12px;
}

.tq-key-value-list > [class*=col-] {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  padding: 8px 12px;
}

.tq-key-value-row + .tq-key-value-row,
.tq-key-value-list > [class*=col-] + [class*=col-],
.tq-key-value-actions {
  border-top: 1px solid var(--tq-border);
}

.tq-key-value-key {
  margin: 0;
  color: var(--tq-muted);
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1.3;
}

.tq-key-value-list > [class*=col-] > .templateLabel {
  margin: 0;
  color: var(--tq-muted);
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1.3;
}

.tq-key-value-list > [class*=col-] > :not(.templateLabel) {
  min-width: 0;
  margin: 0;
  color: var(--tq-text-body);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.tq-key-value-value {
  min-width: 0;
  margin: 0;
  color: var(--tq-text-body);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  overflow-wrap: anywhere;
}

.tq-key-value-value > :last-child,
.tq-key-value-value p:last-child {
  margin-bottom: 0;
}

.tq-key-value-actions {
  display: flex;
  justify-content: flex-end;
  padding: 6px 10px;
}

.tq-key-value-actions--start {
  justify-content: flex-start;
}

.tq-edit-readonly-field {
  display: flex;
  min-height: var(--tq-edit-control-height);
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 6px 12px;
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm);
  background: var(--tq-surface-muted, var(--tq-surface));
}

.tq-edit-readonly-field > .templateLabel {
  margin: 0;
  color: var(--tq-muted);
  font-size: 0.75rem;
  line-height: 1.2;
}

.tq-key-value-edit-link {
  padding: 4px 6px;
  font-weight: 650;
  text-decoration: none;
}

.tq-key-value-edit-link:hover,
.tq-key-value-edit-link:focus-visible {
  text-decoration: underline;
}

@media (max-width: 575.98px) {
  .tq-config-tabs > .tab-content,
  .tq-record-tabs > .tab-content,
  .tab-content:has(.tq-record-tab-area),
  .tab-content:has(.tq-config-tab-area) {
    padding-top: 10px;
  }
  .tq-config-card__title,
  .tq-record-section__title {
    min-height: 40px;
    padding: 9px 12px 7px;
    font-size: 1rem;
  }
  .tq-config-card .datatable-header-container .pulsanti,
  .tq-record-section .datatable-header-container .pulsanti {
    justify-content: flex-start;
    padding: 5px 8px 8px;
  }
  .tq-key-value-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    padding: 9px 10px;
  }
  .tq-key-value-list > [class*=col-] {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    padding: 9px 10px;
  }
}
/* Testata di sezione: un solo stile per tutti i titoli di sezione. La linea attraversa tutta la sezione e il
   testo del titolo parte dallo stesso bordo del contenuto: la barra blu sta nel margine a sinistra. */
.tq-record-section__header {
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--tq-border) !important;
}

/* Il «+» e le azioni della testata di sezione cadono sulla verticale del «+» e dei pulsanti nell'intestazione delle
   tabelle della stessa scheda: bordo della riga di intestazione (1 px), suo padding orizzontale (10 px) e padding della
   cella (4 px). */
.tq-record-section > .tq-record-section__header {
  padding-right: 15px !important;
}

.tq-record-section .tq-record-section__header .tq-record-section__title {
  min-height: 0;
  margin: 0;
  padding: 0;
  border-bottom: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}

.tq-record-section .tq-record-section__header .tq-record-section__title::before {
  margin-left: -11px;
}

/* Generic list rows, calendar and legacy utility overrides. */
.datatable-header-container .col,
.fixed-header .col {
  display: flex;
  align-items: center;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.datatable-header-container .form-floating > .form-control,
.datatable-header-container .form-floating > .form-control-plaintext,
.fixed-header .form-floating > .form-control,
.fixed-header .form-floating > .form-control-plaintext {
  height: calc(2.5rem + var(--bs-border-width) * 2);
  min-height: calc(2.5rem + var(--bs-border-width) * 2);
  padding: 0.25rem 0.75rem;
  line-height: 1.25;
}
.datatable-header-container .form-floating > label,
.fixed-header .form-floating > label {
  padding: 8px 0.75rem 0.25rem;
  margin-bottom: 0;
}
.datatable-header-container .pulsanti,
.fixed-header .pulsanti {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 0.25rem;
}

.selectedRow .fixedDataTableCellLayout_wrap1 {
  background-color: var(--tq-primary-selected) !important;
}

.zebra:nth-child(even) {
  background-color: var(--tq-surface-muted);
}
.zebra .col {
  display: flex;
  align-items: center;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.zebra .pulsanti {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 0.25rem;
}

.zebracol > div:nth-child(odd) {
  background-color: var(--tq-surface-muted);
}

.zebracol > div:nth-child(even) {
  background-color: var(--tq-surface);
}

.zebracol > div {
  padding: 5px 10px;
}

.subrighezebra > .row:nth-child(even) {
  background-color: var(--tq-surface-muted);
}

.single-col {
  margin-bottom: 10px;
  border-bottom: 1px solid var(--tq-border);
}

.lista-inline {
  display: inline !important;
  padding: 0 !important;
  background: transparent;
  border: 0 !important;
  border-radius: 0 !important;
}
.lista-inline ul.lista-inline.list-group {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  padding: 0;
  margin: 0;
  list-style: none;
  border: 0;
  border-radius: 0;
}
.lista-inline > ul.lista-inline.list-group > li.list-group-item,
.lista-inline ul.lista-inline.list-group > li.list-group-item {
  display: inline-flex;
  align-items: center;
  width: auto;
  padding: 0.15rem 0.5rem;
  margin: 0;
  font-size: 0.85em;
  line-height: 1.4;
  white-space: nowrap;
  background: var(--tq-chip-bg);
  border: 1px solid var(--tq-chip-border);
  border-radius: 999px;
  box-shadow: none;
}

.inlineradio {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.container:has(.gestionecorsi-page) {
  background-color: var(--tq-surface);
}

.Toastify__toast--danger {
  background: var(--tq-danger);
}

#previewBar .actasuserselect {
  font-size: 1rem;
}
#previewBar .collapse.show {
  padding: 1rem 0.25rem 0 !important;
}
#previewBar .navbar-collapse.show,
#previewBar .brand.nav-link {
  height: fit-content !important;
}
#previewBar .navbar-toggler {
  z-index: unset !important;
}
#previewBar .collapsed {
  top: 0 !important;
}
#previewBar .nav-item {
  margin-top: 0 !important;
}
#previewBar .nav-item .form-floating.actasuserselect {
  min-width: 20rem !important;
  font-size: 1rem;
}
#previewBar .form-floating .basic-single .tqselect__control .tqselect__value-container {
  padding: 0 8px;
}
#previewBar .nav-item:has(.form-floating):hover {
  background-color: unset;
}
#previewBar .tqselect__menu {
  z-index: 1090 !important;
  color: var(--tq-black) !important;
}

.rbc-overlay {
  max-height: 200px;
  overflow: auto;
}

.rbc-header:last-child {
  color: var(--tq-danger);
  background-color: var(--tq-danger-bg);
  border-left: none;
  border-bottom: 0.666667px solid var(--tq-danger-border);
}

.rbc-row-bg .rbc-day-bg:last-child,
.rbc-time-content .rbc-day-slot:last-child {
  background-color: var(--tq-danger-bg-soft);
}

.rbc-day-slot.rbc-time-column:last-of-type {
  border-left: none;
}

.rbc-day-slot.rbc-time-column:last-of-type .rbc-time-slot {
  border-top: 0.666667px solid var(--tq-danger-border);
}

.rbc-day-slot.rbc-time-column:last-of-type .rbc-timeslot-group {
  border-left: none;
  border-bottom: 0.666667px solid var(--tq-danger-border);
}

.reactCalendarContainer {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.reactCalendarBigCalendar {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.containerEventoInterno {
  font-size: 1rem;
}

.rbc-time-view .containerEventoInterno {
  font-size: 1rem;
}
.rbc-time-view .rbc-event-label {
  display: inline-flex;
  visibility: visible;
  align-items: center;
  margin-right: 4px;
  color: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.rbc-time-view .rounded-circle {
  position: static;
  min-height: 1000%;
  margin-right: 1px;
  border-radius: 0 !important;
}

.titlecalcolorate {
  margin-bottom: 0;
  font-weight: 700;
}

.calcolorate {
  padding: 0 15px;
}

.calcolorate li {
  padding: 5px 0;
  font-size: 1rem;
}

.corsi-table label.bmd-label-floating {
  color: var(--tq-text-inverse) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}
.corsi-table .form-group.is-filled label.bmd-label-floating {
  color: var(--tq-text-inverse) !important;
}
.corsi-table .form-group input,
.corsi-table .zmdi-sort-asc {
  color: var(--tq-text-inverse) !important;
}

.public_fixedDataTable_bodyRow:has(.corsitable),
.corsitable {
  height: 85px !important;
}

.quota-view {
  font-size: 1rem;
}

.datatable-container .quota-view {
  font-size: 1rem !important;
}

.profilecol {
  max-width: 100% !important;
}

div:has(div.card div.card-body #resetPasswdForm) {
  max-width: 100% !important;
}

button:has(small.text-chiudi-conferma):hover {
  color: var(--tq-text-inverse) !important;
}

.modal-dialog .modal-body .containerGeneratoreQuery .queryLeftColGeneratoreQuery,
.modal-dialog .modal-body .containerGeneratoreQuery .queryRightColGeneratoreQuery {
  max-height: unset !important;
}

/* Query Builder results: keep the native pagination controls on one compact row. */
.scrollableQueryInModal .resultQuerySearch,
.scrollableQueryInModal .paginationQuerySearch {
  flex: 0 0 auto;
  width: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.scrollableQueryInModal .resultQuerySearch > span,
.scrollableQueryInModal .paginationQuerySearch > span {
  white-space: nowrap;
}

.scrollableQueryInModal .resultQuerySearch select.sizePerPage.form-select {
  width: 88px;
  min-width: 88px;
  height: 36px;
  min-height: 36px;
}

.scrollableQueryInModal .paginationQuerySearch {
  margin-left: auto;
  justify-content: flex-end;
}

.scrollableQueryInModal .paginationQuerySearch nav,
.scrollableQueryInModal .paginationQuerySearch .pagination {
  width: auto;
  margin-bottom: 0;
}

.elencopazienti > span {
  padding: 2px 5px;
  border: 1px solid var(--tq-border);
  border-radius: 5px;
}
.elencopazienti .btn {
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: .2rem;
  --bs-btn-font-size: 1rem;
  font-size: 1rem;
}

.date-label {
  color: var(--tq-muted);
}

.date-value {
  font-weight: 500;
}

.invoice-amount {
  font-size: 1.5rem;
  font-weight: 650;
}

.line-item-title {
  color: var(--tq-text);
  font-size: 1rem;
  font-weight: 650;
}

/* Checklist: righe leggere, senza card o contenitori annidati. */
.tq-checklist-list > li {
  min-height: 2.5rem;
  border-bottom: 1px solid var(--tq-border);
  background-clip: content-box;
}

.tq-checklist-list > li:nth-child(odd) {
  background-color: var(--tq-surface-muted);
}

@media (min-width: 768px) and (max-width: 1199px) {
  .tq-checklist-list > li:nth-child(odd) {
    background-color: transparent;
  }
  .tq-checklist-list > li:nth-child(4n+1),
  .tq-checklist-list > li:nth-child(4n+2) {
    background-color: var(--tq-surface-muted);
  }
}
@media (min-width: 1200px) {
  .tq-checklist-list > li:nth-child(odd) {
    background-color: transparent;
  }
  .tq-checklist-list > li:nth-child(6n+1),
  .tq-checklist-list > li:nth-child(6n+2),
  .tq-checklist-list > li:nth-child(6n+3) {
    background-color: var(--tq-surface-muted);
  }
}
/* Compact list/detail cards. */
.tq-compact-view-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 14px;
  color: var(--tq-text-body);
  background: var(--tq-surface);
  border: 1px solid var(--tq-compact-border);
  border-radius: 8px;
  box-shadow: var(--tq-shadow-compact);
}

.tq-compact-view-title {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  margin: 0;
  font-size: 1rem;
  line-height: 1.22;
  font-weight: 700;
}

.tq-compact-view-name,
.tq-compact-view-code {
  min-width: 0;
}

.tq-compact-view-meta,
.tq-compact-view-fiscal,
.tq-compact-view-contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

.tq-compact-view-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 3px 8px;
  color: var(--tq-text-soft);
  background: var(--tq-badge-bg);
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.2;
}

.tq-compact-muted {
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.25;
}

.tq-compact-view-address {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  color: var(--tq-text-muted-strong);
}

.tq-compact-view-address .zmdi {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--tq-compact-icon-info);
  font-size: 1rem;
}

.tq-compact-view-address-text {
  min-width: 0;
  font-size: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.tq-compact-link,
.tq-compact-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  color: var(--tq-compact-link);
  font-size: 1rem;
  line-height: 1.25;
  text-decoration: none;
}

.tq-compact-link:hover,
.tq-compact-link a:hover {
  color: var(--tq-compact-link-hover);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.tq-compact-link:focus-visible,
.tq-compact-link a:focus-visible {
  outline: 2px solid var(--tq-link);
  outline-offset: 2px;
  border-radius: 2px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.tq-compact-link i,
.tq-compact-link a i {
  flex: 0 0 auto;
}

.tq-compact-view-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}

.tq-list-card-header-row,
.tq-list-card-header-row {
  align-items: center;
  margin: 0 0 6px;
  padding: 6px 10px;
  color: var(--tq-text-muted-strong);
  background: var(--tq-surface-muted);
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tq-list-card-row,
.tq-list-card-row {
  align-items: center;
  row-gap: 6px;
  margin: 0 0 7px;
  padding: 8px 10px;
  color: var(--tq-text-body);
  background: var(--tq-surface);
  border: 1px solid var(--tq-compact-border);
  border-radius: var(--tq-radius-sm);
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-list-table {
  width: 100%;
}

.tq-list-table-row {
  min-width: 0;
}

.tq-list-row {
  align-items: center;
  row-gap: 6px;
  min-width: 0;
  margin: 0 0 7px;
  padding: 8px 10px !important;
  color: var(--tq-text-body) !important;
  background: var(--tq-surface) !important;
  border: 1px solid var(--tq-compact-border);
  border-radius: var(--tq-radius-sm);
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-list-row.text-white {
  color: var(--tq-text-body) !important;
}

.results_list .tq-list-card-header-row,
.results_list .bg-secondary.tq-list-row.tq-list-card-header-row {
  align-items: center;
  row-gap: 6px;
  margin: 0 0 6px;
  padding: var(--tq-list-cell-y, 6px) var(--tq-list-cell-x, 10px) !important;
  color: var(--tq-text-muted-strong) !important;
  background: var(--tq-surface-muted) !important;
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm);
  box-shadow: none;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.results_list .tq-list-card-row,
.results_list .zebra.bordered-row.tq-list-card-row,
.results_list .bordered-row.tq-list-card-row {
  align-items: center;
  row-gap: 6px;
  margin: 0 0 7px;
  padding: var(--tq-list-cell-y, 6px) var(--tq-list-cell-x, 10px) !important;
  color: var(--tq-text-body);
  background: var(--tq-surface) !important;
  border: 1px solid var(--tq-compact-border);
  border-radius: var(--tq-radius-sm);
  box-shadow: var(--tq-shadow-card-soft);
}

.results_list .tq-list-card-row:nth-child(odd),
.results_list .zebra.bordered-row.tq-list-card-row:nth-child(odd) {
  background: var(--tq-surface-soft) !important;
}

.tq-record-section--child-record .tq-child-list-header-row {
  margin: 0 0 6px;
  padding: 5px 8px;
  color: var(--tq-text-muted-strong);
  background: rgba(248, 250, 252, 0.74);
  border: 1px solid var(--tq-border);
  border-radius: 7px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tq-record-section--child-record .tq-child-list__row {
  margin: 0 0 6px;
  padding: 6px 8px !important;
  background: var(--tq-surface) !important;
}

.tq-record-section--child-record .tq-child-list__row.zebra:nth-child(even) {
  background: var(--tq-surface-soft) !important;
}

.tq-record-section--child-record .tq-child-list__row:last-child {
  margin-bottom: 0;
}

.tq-record-section--child-record .tq-child-list__row .tq-list-cell {
  min-height: 28px;
  font-size: 1rem;
}

.tq-record-section--child-record .tq-child-list__preview:empty {
  display: none;
}

.tq-list-cell {
  min-width: 0;
  min-height: 32px;
  color: inherit;
  font-size: 1rem;
  line-height: 1.25;
  word-break: normal;
  overflow-wrap: break-word;
}

.tq-list-cell > * {
  min-width: 0;
}

.tq-list-cell.text-end,
.tq-list-cell.justify-content-end {
  text-align: right;
}

/* Solo nelle celle in riga: in una cella flex-column justify-content-end e
   allineamento verticale e margin-left spingerebbe il controllo sul bordo. */
.tq-list-cell:not(.flex-column).text-end > *,
.tq-list-cell:not(.flex-column).justify-content-end > * {
  margin-left: auto;
}

.tq-list-cell .templateLabel,
.tq-list-cell .single-col > span:first-child {
  margin-bottom: 2px;
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.2;
}

.tq-list-cell .btn,
.tq-list-cell button,
.tq-list-cell a {
  flex-shrink: 0;
}

.tq-related-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.tq-related-card__head,
.tq-related-card__title {
  min-width: 0;
}

.tq-related-card__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 0.65rem;
}

.tq-related-card__name {
  color: var(--tq-text);
  font-weight: 700;
}

.tq-related-card__code {
  color: var(--tq-muted);
  font-size: 1rem;
}

.tq-related-card__nested {
  border-top: 1px solid var(--tq-border);
  padding-top: 0.65rem;
}

.tq-info-field {
  min-width: 0;
}

.tq-info-field .templateLabel {
  display: block;
  margin-bottom: 0.18rem;
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.2;
}

.tq-info-field span,
.tq-info-field .single-col {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tq-list-card-main,
.tq-list-card-secondary,
.tq-list-card-contacts,
.tq-list-card-actions,
.tq-list-card-main,
.tq-list-card-location,
.tq-list-card-contacts,
.tq-list-card-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.tq-list-card-main,
.tq-list-card-secondary,
.tq-list-card-contacts,
.tq-list-card-main,
.tq-list-card-location,
.tq-list-card-contacts {
  gap: 4px;
}

.tq-list-card-titleline,
.tq-list-card-meta,
.tq-list-card-titleline,
.tq-list-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  min-width: 0;
}

.tq-list-card-title,
.tq-list-card-title {
  min-width: 0;
  color: var(--tq-text-strong);
  font-size: 1rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.tq-list-card-badge,
.tq-list-card-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px 7px;
  color: var(--tq-text-soft);
  background: var(--tq-primary-soft);
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.2;
}

.tq-list-card-muted,
.tq-list-card-client,
.tq-list-card-description,
.tq-list-card-muted,
.tq-list-card-client,
.tq-list-card-description {
  color: var(--tq-muted);
  font-size: 1rem;
  line-height: 1.3;
}

.tq-list-card-client,
.tq-list-card-client {
  display: block;
  overflow-wrap: anywhere;
}

.tq-list-card-address-inline,
.tq-list-card-address-inline {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  min-width: 0;
  color: var(--tq-text-muted-strong);
}

.tq-list-card-address-inline .zmdi,
.tq-list-card-address-inline .zmdi {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--tq-compact-icon-info);
  font-size: 1rem;
}

.tq-list-card-address,
.tq-list-card-address {
  min-width: 0;
  font-size: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.tq-list-card-description,
.tq-list-card-description {
  display: block;
  overflow-wrap: anywhere;
}

.tq-list-card-contacts,
.tq-list-card-contacts {
  align-items: flex-start;
}

.tq-list-card-actions,
.tq-list-card-actions {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  align-self: center;
  gap: 6px;
}

#right_column.tq-list-target-sidebar:empty,
#right_column.tq-list-target-sidebar:empty {
  display: none;
}

#right_column.tq-list-target-sidebar:not(:empty),
#right_column.tq-list-target-sidebar:not(:empty) {
  position: fixed;
  top: calc(var(--fd-topbar-height) + 18px);
  right: 20px;
  z-index: 1035;
  width: min(360px, 100vw - 40px);
  max-height: calc(100dvh - var(--fd-topbar-height) - 36px);
  overflow: auto;
  padding: 0;
}

body:has(#right_column.tq-list-target-sidebar:not(:empty)) .tq-list-card-header-row,
body:has(#right_column.tq-list-target-sidebar:not(:empty)) .tq-list-card-row,
body:has(#right_column.tq-list-target-sidebar:not(:empty)) .tq-list-card-header-row,
body:has(#right_column.tq-list-target-sidebar:not(:empty)) .tq-list-card-row {
  width: calc(100% - 380px);
}

@media (max-width: 991.98px) {
  .tq-list-card-header-row,
  .tq-list-card-header-row {
    display: flex;
    /* solo gap verticale: un column-gap sommato alle col della griglia
       mandava a capo le colonne dell'intestazione (col-6 + col-6) */
    row-gap: 6px;
    padding: 8px 10px;
  }
  #right_column.tq-list-target-sidebar:not(:empty),
  #right_column.tq-list-target-sidebar:not(:empty) {
    top: calc(var(--fd-topbar-height) + 12px);
    right: 16px;
    left: 16px;
    width: auto;
    max-height: calc(100dvh - var(--fd-topbar-height) - 24px);
  }
  body:has(#right_column.tq-list-target-sidebar:not(:empty)) .tq-list-card-row,
  body:has(#right_column.tq-list-target-sidebar:not(:empty)) .tq-list-card-row {
    width: 100%;
  }
  .tq-list-card-row,
  .tq-list-row {
    padding: 9px 10px;
  }
  .tq-list-card-actions,
  .tq-list-card-actions {
    justify-content: flex-start;
  }
}
.tq-record-view {
  align-items: stretch;
  --tq-detail-gap: 14px;
  position: relative;
  padding: 0;
  --bs-gutter-x: var(--tq-detail-gap);
  --bs-gutter-y: var(--tq-detail-gap);
  gap: var(--tq-detail-gap);
  margin-right: 0;
  margin-left: 0;
}

.tq-record-view + .tq-record-view {
  margin-top: var(--tq-detail-gap);
}

.tq-record-header-main,
.tq-record-header-actions {
  display: flex;
  align-items: center;
  min-height: 42px;
}

.tq-record-header-main {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
}

.tq-record-header {
  min-width: 0;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin-right: 0;
  margin-left: 0;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--tq-sidebar), var(--tq-sidebar-2));
  color: var(--tq-text-inverse);
  box-shadow: var(--tq-shadow);
}

.tq-record-header > .tq-record-header-main,
.tq-record-header > .tq-record-header-actions {
  min-height: 42px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.tq-record-header > .tq-record-header-main {
  flex-direction: row;
  justify-content: flex-start;
}

.tq-record-header > .tq-record-header-actions {
  justify-content: flex-end;
  gap: var(--tq-btn-gap);
}

.tq-record-header > .tq-record-header-main .tq-record-header-title,
.tq-record-header > .tq-record-header-main h1,
.tq-record-header > .tq-record-header-main h2,
.tq-record-header > .tq-record-header-main h3,
.tq-record-header > .tq-record-header-main h4,
.tq-record-header > .tq-record-header-main h5 {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: var(--tq-text-inverse);
  font-size: 1.18rem;
  line-height: 1.2;
}

.tq-record-header > .tq-record-header-main .fieldItem,
.tq-record-header > .tq-record-header-main .fieldItem > span,
.tq-record-header > .tq-record-header-main .fieldItem > div,
.tq-record-header > .tq-record-header-main strong,
.tq-record-header > .tq-record-header-main small {
  color: var(--tq-text-inverse) !important;
}

.tq-record-boolean-icon,
.tq-record-boolean-icon .fieldItem,
.tq-record-boolean-icon .fieldItem > span {
  display: inline-flex;
  width: 22px;
  min-width: 22px;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.tq-record-boolean-icon i,
.tq-record-boolean-icon svg {
  margin: 0;
  font-size: 1.12rem;
  line-height: 1;
}

.tq-record-header .tq-record-boolean-icon .text-success {
  color: var(--tq-success) !important;
}

.tq-record-header .tq-record-boolean-icon .text-danger {
  color: var(--tq-danger) !important;
}

.tq-record-header-main h1,
.tq-record-header-main h2,
.tq-record-header-main h3,
.tq-record-header-main h4,
.tq-record-section .section-title {
  margin: 0 0 10px;
  color: var(--tq-text-strong);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0;
}

.tq-record-section {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--tq-border);
  border-radius: 8px;
  background: var(--tq-surface);
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-record-section-group--stacked {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--tq-detail-gap);
}

.tq-record-section-group--stacked > .tq-record-section {
  width: 100%;
  max-width: none;
  height: auto;
  flex: 0 0 auto;
}

.tq-card-field-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tq-card-field-row {
  min-width: 0;
}

.tq-card-field-row .templateLabel {
  margin-top: 0;
}

.tq-card-field-row .tq-edit-form-field {
  margin-bottom: 0;
}

.tq-record-section > .templateLabel,
.tq-record-section strong.templateLabel,
.tq-record-section > strong,
.tq-record-section .templateLabel {
  display: block;
  margin: 10px 0 3px;
  padding: 0;
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.tq-record-section > .templateLabel:first-child,
.tq-record-section > strong:first-child,
.tq-record-section .section-title + .templateLabel {
  margin-top: 0;
}

.tq-record-section .fieldItem,
.tq-record-section .fieldItem > span,
.tq-record-section .fieldItem > div {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* FixedDataTable gestisce internamente la propria larghezza orizzontale. */
.tq-record-section .fieldItem .fixedDataTableCellGroupLayout_cellGroup {
  max-width: none;
  overflow-wrap: normal;
}

.tq-record-section .fieldItem {
  color: var(--tq-text-body);
  line-height: 1.35;
}

.tq-record-section .tq-compact-link,
.tq-record-section .tq-compact-link a {
  text-decoration: none;
}

.tq-record-section .tq-compact-link i,
.tq-record-section .tq-compact-link .zmdi,
.tq-record-section .tq-compact-link .bi {
  margin-right: 0;
}

.tq-record-section--document img,
.tq-record-section--document picture {
  max-width: 100%;
}

/* Activity documents reuse the compact Documentale card contract while keeping
 * the native CAT Documenti detail and its WorkflowFKEY relation unchanged. */
.tq-document-card-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.75rem;
}

.tq-document-card-grid > div {
  flex: 0 0 auto;
}

#appcontainer .tq-document-card {
  position: relative;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  width: 13.125rem;
  min-width: 13.125rem;
  max-width: 100%;
  height: 12.25rem;
  min-height: 12.25rem;
  padding: 0;
  background: var(--tq-surface);
  border: 1px solid var(--tq-border);
  border-radius: 0.5rem;
  box-shadow: var(--tq-shadow-compact);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

#appcontainer .tq-document-card:hover {
  border-color: var(--tq-primary);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
}

#appcontainer .tq-document-card__title.card-title {
  z-index: 2;
  min-height: 2.625rem;
  margin: 0;
  padding: 0.5rem 0.625rem;
  overflow: hidden;
  color: var(--tq-text-inverse);
  background: linear-gradient(135deg, var(--tq-sidebar) 0%, var(--tq-primary-2) 100%);
}

#appcontainer .tq-document-card__title-text {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.15;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#appcontainer .tq-document-card__body.card-body {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  flex: 1;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: linear-gradient(180deg, var(--tq-surface-muted) 0%, var(--tq-surface) 100%);
}

#appcontainer .tq-document-card__body > div,
#appcontainer .tq-document-card__body picture,
#appcontainer .tq-document-card__body img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0;
  object-fit: cover;
}

#appcontainer .tq-document-card__footer.card-footer {
  z-index: 2;
  min-height: 2.875rem;
  margin-top: auto;
  padding: 0.5rem 0.75rem;
  background: rgba(255, 255, 255, 0.88);
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(5px);
}

#appcontainer .tq-document-card__footer .btn,
#appcontainer .tq-document-card__footer .tq-document-card-action,
#appcontainer .tq-document-card__footer .tq-document-card-action a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  min-height: 1.75rem;
  padding: 0.25rem 0.4rem;
}

#appcontainer .tq-document-card__footer .tq-document-card-action {
  text-decoration: none;
}

@media (max-width: 575.98px) {
  .tq-document-card-grid {
    gap: 0.5rem;
  }
  #appcontainer .tq-document-card {
    width: calc(50vw - 1.5rem);
    min-width: 0;
  }
}
.tq-record-section--checks .bordered-row,
.tq-record-section--checklist .bordered-row,
.tq-record-section--extra .bordered-row {
  margin-bottom: 4px;
  padding: 6px 0;
}

.tq-record-section--checklist > .section-title,
.tq-record-section--checklist > .templateLabel {
  margin-bottom: 12px;
}

.tq-record-section--checklist > .bordered-row {
  display: flex;
  width: 100%;
  margin: 0 0 6px;
  padding: 5px 6px;
  break-inside: avoid;
  border-radius: 7px;
  background: var(--tq-surface-muted);
  box-shadow: none;
}

.tq-record-section--checklist > .bordered-row.row {
  margin-right: 0;
  margin-left: 0;
}

.tq-record-section--checklist > .bordered-row > [class*=col] {
  padding-right: 0;
  padding-left: 0;
}

.tq-record-section--checklist .liveEditButtonParent,
.tq-record-section--checklist .openedInputLiveEditor {
  border-radius: var(--tq-radius-sm) !important;
}

.tq-record-section--checks .tq-check-inline,
.tq-record-section--checklist .tq-check-inline {
  width: auto !important;
  min-width: 42px;
}

/* JsonField espone strutture distinte per View ed Edit: i gruppi della View
 * compongono una griglia responsiva, mentre l'editor resta un flusso singolo.
 * Tante colonne quanti gruppi ci stanno (almeno 300 px ciascuna): con tre colonne fisse il quarto gruppo della
 * checklist andava a capo da solo sotto la prima colonna, con il resto della riga vuoto (scheda PA, 24/09). */
.tq-json-field-view-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.tq-json-field-view-groups > .tq-jsonfield-group {
  min-width: 0;
  margin-bottom: 0 !important;
}

.tq-json-field,
.tq-json-field > .tq-jsonfield-group {
  width: 100%;
  min-width: 0;
}

/* Full-width related-record rows rendered by JsonField view components. */
.tq-inline-detail-list .tq-json-field-view-groups {
  display: block;
}

.tq-inline-detail-list .tq-jsonfield-group {
  display: block;
  width: 100%;
}

.tq-inline-detail-list .tq-jsonfield-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 12px;
  min-height: 36px;
  margin: 0 0 6px !important;
  padding: 7px 10px;
  color: var(--tq-text-body);
  background: var(--tq-surface);
  border: 1px solid var(--tq-compact-border);
  border-radius: var(--tq-radius-sm);
  box-shadow: var(--tq-shadow-card-soft);
}

.tq-inline-detail-list .tq-jsonfield-row:nth-child(odd) {
  background: var(--tq-surface-soft);
}

.tq-inline-detail-list .tq-jsonfield-row > [class*=tq-jsonfield-] {
  width: auto;
  min-width: 0;
  max-width: none;
  padding: 0;
  font-size: 1rem;
  line-height: 1.25;
}

/* Righe delle abilitazioni del mandato (nome e stato): il nome prende lo spazio libero e va a capo invece di essere
   tagliato; lo stato e' l'icona del tema a destra. */
.tq-inline-detail-list .tq-jsonfield-nome {
  font-weight: 600;
  overflow-wrap: anywhere;
}

.tq-inline-detail-list .tq-jsonfield-attivo {
  justify-self: end;
  line-height: 1;
}

.modal-fullscreen .modal-body {
  background: var(--tq-bg);
  padding: 16px;
}

.modal-fullscreen .modal-content {
  background: var(--tq-bg);
}

.modal-fullscreen .modal-footer {
  border-top: 1px solid var(--tq-border);
  background: var(--tq-surface);
}

.modal-fullscreen .modal-body > .tq-record-view:first-child,
.modal-fullscreen .modal-body > form > .tq-record-view:first-child,
.modal-fullscreen .modal-body .form-container > .tq-record-view:first-child {
  margin-top: 0;
}

.tq-record-view > .tq-record-section,
.tq-record-view > .tq-record-header-main,
.tq-record-view > .tq-record-header-actions {
  margin: 0;
}

.tq-record-view > [class*=col-] {
  width: auto;
  max-width: none;
  flex: 1 1 100%;
}

@media (min-width: 576px) {
  .tq-record-view > .col-sm-6 {
    flex: 1 1 360px;
  }
}
@media (min-width: 768px) {
  .tq-record-view > .col-md-6 {
    flex: 1 1 420px;
  }
  .tq-record-view > .col-md-4 {
    flex: 1 1 280px;
  }
  .tq-record-view > .col-md-3 {
    flex: 1 1 220px;
  }
}
@media (min-width: 992px) {
  .tq-record-view > .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
    max-width: 66.66666667%;
  }
  .tq-record-view > .col-lg-10 {
    flex: 2 1 720px;
  }
  .tq-record-view > .col-lg-6 {
    flex: 1 1 420px;
  }
  .tq-record-view > .col-lg-4 {
    flex: 1 1 280px;
  }
  .tq-record-view > .col-lg-3 {
    flex: 1 1 220px;
  }
  .tq-record-view > .col-lg-2 {
    flex: 1 1 180px;
  }
}
@media (min-width: 1400px) {
  .tq-record-view > .col-xxl-6 {
    flex: 1 1 calc(50% - var(--tq-detail-gap));
  }
}
.tq-record-view > .tq-record-header-main,
.tq-record-view > .tq-record-header-actions {
  min-height: 52px;
  padding: 10px 16px;
  border: 0;
  background: linear-gradient(135deg, var(--tq-sidebar), var(--tq-sidebar-2));
  color: var(--tq-text-inverse);
  box-shadow: var(--tq-shadow);
}

.tq-record-view > .tq-record-header-main {
  flex: 1 1 100%;
  width: 100%;
  padding-right: 176px;
  border-radius: 8px;
}

.tq-record-view > .tq-record-header-actions {
  position: absolute;
  top: 10px;
  right: 16px;
  z-index: 2;
  width: auto;
  max-width: none;
  min-height: 0;
  padding: 0;
  justify-content: flex-end;
  gap: 8px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.tq-record-view > .tq-record-header-actions .btn,
.tq-record-view > .tq-record-header-actions button,
.tq-record-view > .tq-record-header-actions a.btn {
  min-width: var(--tq-btn-action-size) !important;
  height: var(--tq-btn-action-size) !important;
  min-height: var(--tq-btn-action-size) !important;
  padding: 0 !important;
  color: var(--tq-text-inverse) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: var(--tq-btn-radius) !important;
  box-shadow: none !important;
}

.tq-record-view > .tq-record-header-actions .btn:hover,
.tq-record-view > .tq-record-header-actions .btn:focus,
.tq-record-view > .tq-record-header-actions button:hover,
.tq-record-view > .tq-record-header-actions button:focus,
.tq-record-view > .tq-record-header-actions a.btn:hover,
.tq-record-view > .tq-record-header-actions a.btn:focus {
  background: rgba(255, 255, 255, 0.2) !important;
  border-color: rgba(255, 255, 255, 0.36) !important;
}

.tq-record-view > .tq-record-header-actions .btn i,
.tq-record-view > .tq-record-header-actions .btn svg,
.tq-record-view > .tq-record-header-actions button i,
.tq-record-view > .tq-record-header-actions button svg,
.tq-record-view > .tq-record-header-actions a.btn i,
.tq-record-view > .tq-record-header-actions a.btn svg {
  color: currentColor !important;
}

.tq-record-view > .tq-record-header-main h1,
.tq-record-view > .tq-record-header-main h2,
.tq-record-view > .tq-record-header-main h3,
.tq-record-view > .tq-record-header-main h4,
.tq-record-view > .tq-record-header-main h5 {
  color: var(--tq-text-inverse);
}

.tq-record-view > .tq-record-header-main span,
.tq-record-view > .tq-record-header-main div,
.tq-record-view > .tq-record-header-main .fieldItem,
.tq-record-view > .tq-record-header-main .fieldItem span {
  color: inherit;
}

.tq-record-view > .tq-record-header-main strong,
.tq-record-view > .tq-record-header-main .fieldItem,
.tq-record-view > .tq-record-header-main small,
.tq-record-view > .tq-record-header-main h5,
.tq-record-view > .tq-record-header-main h5 span,
.tq-record-view > .tq-record-header-main h5 .fieldItem {
  color: var(--tq-sidebar-muted);
}

.tq-record-view .tq-record-header-main h3,
.tq-record-view .tq-record-header-main h4 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.2;
}

.tq-record-view .tq-record-header-main h5,
.tq-record-view .tq-record-header-main small,
.tq-record-view .tq-record-header-main .fieldItem {
  color: var(--tq-sidebar-muted);
}

.tq-record-section--section-heading {
  padding-top: 10px;
  padding-bottom: 9px;
  background: var(--tq-surface-muted);
  box-shadow: none;
}

.tq-record-section--section-heading .section-title {
  margin-bottom: 0;
}

.tq-record-section--cost {
  min-height: 74px;
}

.tq-record-section--cost .fieldItem:first-of-type,
.tq-record-section--cost > span:first-of-type {
  font-size: 1rem;
  font-weight: 800;
  color: var(--tq-text-strong);
}

.tq-date-field-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 12px;
  margin-right: 0;
  margin-left: 0;
}

.tq-date-field-grid > .tq-date-field {
  width: auto;
  max-width: 100%;
  flex: 0 1 160px;
  padding-right: 0;
  padding-left: 0;
}

.tq-date-field .tq-edit-form-field {
  margin-bottom: 0;
}

.tq-date-field .element_date,
.tq-date-field .input-group {
  width: 100%;
}

.tq-record-section--stats .fieldItem,
.tq-record-section--stats .fieldItem div,
.tq-record-section--stats .fieldItem span {
  color: var(--tq-text-soft);
  font-size: 1rem;
}

.tq-record-section--complaint,
.tq-record-section--intervention,
.tq-record-section--notes,
.tq-record-section--outcome {
  line-height: 1.45;
}

.tq-record-section--description textarea,
.tq-record-section--description .form-control,
.tq-record-section--description .tq-edit-form-field textarea {
  min-height: 150px;
}

.tq-record-section--document .templateLabel,
.tq-record-section--document > strong {
  min-height: 32px;
}

.tq-record-section--document .templateLabel {
  min-height: 0;
  margin-bottom: 8px;
}

.tq-record-section .datatable-container,
.tq-record-section .public_fixedDataTable_main {
  max-width: 100%;
}

.tq-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  margin: 0;
}

.tq-detail-grid > [class*=col],
.tq-detail-item {
  width: auto;
  max-width: none;
  flex: initial;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--tq-border);
  border-radius: 6px;
  background: var(--tq-surface-muted);
}

.tq-detail-grid.row {
  margin-right: 0;
  margin-left: 0;
}

.tq-detail-item .templateLabel:first-child {
  display: block;
  margin: 0 0 7px;
  padding: 0;
}

.tq-record-section:has(.datatable-container),
.tq-record-section:has(.dataTables_wrapper),
.tq-record-section:has(.table-responsive),
.tq-record-section:has(.table-container) {
  padding: 14px 16px 16px;
}

.tq-record-section:has(.datatable-container) .section-title,
.tq-record-section:has(.dataTables_wrapper) .section-title,
.tq-record-section:has(.table-responsive) .section-title,
.tq-record-section:has(.table-container) .section-title {
  margin-bottom: 12px;
}

.tq-record-section .datatable-container,
.tq-record-section .dataTables_wrapper,
.tq-record-section .table-container,
.tq-record-section .datatable-header-container {
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--tq-surface);
  box-shadow: none;
}

.tq-record-section .datatable-container:has(.public_fixedDataTable_main) {
  display: grid;
  grid-template-rows: auto auto;
  border: 1px solid var(--tq-border) !important;
  border-radius: var(--tq-radius-sm) !important;
  background: var(--tq-surface);
}

.tq-record-section .datatable-container:has(.public_fixedDataTable_main) > :first-child {
  min-width: 0;
}

/* Paginazione della DataTable2: dentro il contenitore (> nav) o, con TQ13-62, subito dopo il contenitore che scorre
   (+ nav); stessa cornice nei due casi. */
.tq-record-section .datatable-container:has(.public_fixedDataTable_main) > nav[aria-label=pagination],
.tq-record-section .datatable-container:has(.public_fixedDataTable_main) + nav[aria-label=pagination] {
  padding: 6px 10px 9px;
  border-top: 1px solid var(--tq-border);
}

.tq-record-section .table-responsive {
  overflow-x: auto;
  overflow-y: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--tq-surface);
  box-shadow: none;
}

.tq-json-field,
.tq-json-field .table-responsive {
  overflow: visible;
}

/* JsonField is a reusable compact list: dense rows, shared table geometry and
 * no model-specific overrides. */
.tq-json-field {
  min-width: 0;
}

.tq-json-field .table-responsive {
  border: 1px solid var(--tq-border);
  border-radius: var(--tq-radius-sm);
  background: var(--tq-surface);
}

.tq-json-field table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.tq-json-field thead th,
.tq-json-field tbody td {
  padding: 8px 12px;
  vertical-align: middle;
}

.tq-json-field thead th {
  border: 0;
  border-bottom: 1px solid var(--tq-border);
  color: var(--tq-text-muted-strong);
  background: var(--tq-surface-muted);
  font-size: 0.8125rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.tq-json-field tbody td {
  border-top: 0;
  border-bottom: 1px solid var(--tq-border-subtle);
  border-right: 0;
  border-left: 0;
  color: var(--tq-text-body);
}

.tq-json-field tbody tr:last-child td {
  border-bottom: 0;
}

.tq-json-field tbody tr:nth-child(even) {
  background: var(--tq-surface-muted);
}

.tq-json-field td .form-control,
.tq-json-field td .form-select,
.tq-json-field td .tqselect__control {
  min-height: 34px;
}

.tq-json-field td:has(input[type=checkbox]) {
  text-align: center;
}

.tq-json-field td:last-child,
.tq-json-field th:last-child {
  width: 1%;
  white-space: nowrap;
  text-align: right;
}

.tq-json-field td:last-child .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tq-record-section .datatable-header-container {
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

.tq-record-section .datatable-header {
  min-height: 44px;
  padding: 8px 0;
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.tq-list-card-header-row > .tq-list-card-actions,
.tq-list-card-row > .tq-list-card-actions {
  flex: 0 0 var(--tq-list-action-col-width) !important;
  width: var(--tq-list-action-col-width) !important;
  /* almeno la larghezza dei pulsanti: sotto i 96px coprivano la cella accanto */
  min-width: max-content;
}

.tq-record-section table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
}

.tq-record-section thead {
  background: #f8fafc;
}

.tq-record-section th,
.tq-record-section td {
  padding: 9px 0;
  border-right: 0;
  border-left: 0;
  vertical-align: middle;
}

.tq-record-section th {
  border-bottom: 1px solid var(--tq-border);
  color: var(--tq-text-muted-strong);
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
}

.tq-record-section td {
  border-top: 1px solid var(--tq-border-subtle);
  color: var(--tq-text-body);
  font-size: 1rem;
}

.tq-record-section tbody tr:nth-child(even) {
  background: #fbfdff;
}

.tq-record-view .tq-record-section:has(.datatable-container),
.tq-record-view .tq-record-section:has(.dataTables_wrapper),
.tq-record-view .tq-record-section:has(.table-responsive),
.tq-record-view .tq-record-section:has(.table-container) {
  overflow: visible;
}

@media (max-width: 767.98px) {
  .tq-record-section,
  .tq-record-section:has(.datatable-container),
  .tq-record-section:has(.dataTables_wrapper),
  .tq-record-section:has(.table-responsive),
  .tq-record-section:has(.table-container) {
    /* sotto i 768 px tutte le sezioni hanno lo stesso padding, anche quelle con una tabella (prima 16 px contro
       12): i bordi e le azioni delle sezioni vicine restano sulla stessa verticale */
    padding: 12px;
  }
  .tq-record-view {
    padding-right: 10px;
    padding-left: 10px;
  }
  .tq-json-field-view-groups {
    gap: 10px;
  }
  .tq-record-header-actions {
    justify-content: flex-start !important;
  }
}
@media (max-width: 575.98px) {
  .tq-list-card-row,
  .tq-list-card-row,
  .tq-list-row {
    margin-bottom: 7px;
    padding: 9px 10px;
  }
  .tq-list-cell {
    min-height: 30px;
    font-size: 1rem;
  }
  .tq-list-card-title {
    font-size: 1rem;
  }
  .tq-list-action,
  .tq-list-action.btn,
  .tq-list-action > .btn,
  .tq-list-action a,
  .tq-list-action button {
    width: var(--tq-btn-action-size-mobile);
    min-width: var(--tq-btn-action-size-mobile);
    height: var(--tq-btn-action-size-mobile);
    min-height: var(--tq-btn-action-size-mobile);
  }
}
/* -------------------------------------------------------------------------
 * Righe di lista a griglia con colonne di pattern (tq-list-row--compact), le regole di larghezza del pattern delle
 * liste di Ordini (ordini/docs/ux/righe-lista.md, 23/09/2026), nel CAT dal 25/09/2026 per le righe costo di
 * rapportini e prime accensioni. Intestazione (rowClassName del datatable tr) e righe portano tq-list-row--compact,
 * lo stesso gutter (gx-2) e, per ogni colonna, la stessa bootstrapGrid e la stessa larghezza di pattern: le colonne
 * cadono sotto la propria intestazione. Sotto i 1200 px contano le classi di griglia del template (righe su due
 * linee, come le righe del reso); da 1200 px i dati brevi hanno la larghezza di tq-list-col--sm|md|lg|xl (la scala
 * della tabella compatta) e la colonna di testo prende lo spazio che resta, niente scorrimento orizzontale.
 * La colonna delle azioni e larga quanto i pulsanti della riga che ne ha di piu (tq-list-actions--N), uguale
 * nell'intestazione senza pulsanti: la colonna di testo ha la stessa larghezza in intestazione e righe.
 * ------------------------------------------------------------------------- */
.tq-list-row--compact > .tq-list-cell--actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
}

.tq-list-actions--2 {
  --tq-list-actions: 2;
}

.tq-list-actions--3 {
  --tq-list-actions: 3;
}

.tq-list-actions--4 {
  --tq-list-actions: 4;
}

.tq-list-actions--5 {
  --tq-list-actions: 5;
}

/* Pulsanti, spazi fra i pulsanti e padding reale della cella (--tq-list-cell-x delle liste, altrimenti il gutter). */
.results_list .tq-list-row.tq-list-row--compact > .tq-list-cell.tq-list-cell--actions,
.tq-list-row.tq-list-row--compact > .tq-list-cell--actions {
  --tq-list-actions-width: calc(var(--tq-list-actions, 1) * var(--tq-btn-action-size) + (var(--tq-list-actions, 1) - 1) * var(--tq-btn-gap) + 2 * var(--tq-list-cell-x, calc(var(--bs-gutter-x) * .5)));
  flex: 0 0 var(--tq-list-actions-width) !important;
  width: var(--tq-list-actions-width) !important;
  min-width: var(--tq-list-actions-width) !important;
  max-width: none !important;
}

@media (min-width: 1200px) {
  .tq-list-row--compact > .tq-list-col--sm {
    --tq-list-col-width: 104px;
  }
  .tq-list-row--compact > .tq-list-col--md {
    --tq-list-col-width: 152px;
  }
  .tq-list-row--compact > .tq-list-col--lg {
    --tq-list-col-width: 216px;
  }
  .tq-list-row--compact > .tq-list-col--xl {
    --tq-list-col-width: 336px;
  }
  .tq-list-row--compact > .tq-list-col--sm,
  .tq-list-row--compact > .tq-list-col--md,
  .tq-list-row--compact > .tq-list-col--lg,
  .tq-list-row--compact > .tq-list-col--xl {
    flex: 0 0 var(--tq-list-col-width);
    width: var(--tq-list-col-width);
    max-width: var(--tq-list-col-width);
  }
}
/* CAT Home operational dashboard. */
.tq-home-dashboard {
  display: grid;
  gap: 20px;
  width: 100%;
  padding-bottom: 20px;
}

.tq-home-dashboard__hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 180px;
  padding: clamp(24px, 4vw, 44px);
  overflow: hidden;
  color: var(--tq-text-inverse);
  background: radial-gradient(circle at 88% 18%, var(--tq-white-highlight-border), transparent 30%), linear-gradient(125deg, var(--tq-sidebar), var(--tq-sidebar-2));
  border: 1px solid var(--tq-sidebar-border-strong);
  border-radius: calc(var(--tq-radius) * 2);
  box-shadow: var(--tq-shadow);
}

.tq-home-dashboard__hero-copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.tq-home-dashboard__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--tq-white-highlight-soft);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#appcontainer .tq-home-dashboard__hero .tq-home-dashboard__title {
  margin: 0;
  color: var(--tq-text-inverse);
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  line-height: 1.08;
  font-weight: 800;
}

.tq-home-dashboard__subtitle {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--tq-white-highlight-soft);
  font-size: 1rem;
  line-height: 1.55;
}

.tq-home-dashboard__hero-mark {
  display: grid;
  flex: 0 0 auto;
  width: 108px;
  height: 108px;
  place-items: center;
  color: var(--tq-text-inverse);
  background: var(--tq-sidebar-control-bg);
  border: 1px solid var(--tq-sidebar-border-strong);
  border-radius: 28px;
  box-shadow: var(--tq-shadow-popover);
}

.tq-home-dashboard__hero-mark .zmdi {
  font-size: 3.15rem;
}

.tq-home-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--tq-home-dashboard-panel-min-inline-size)), 1fr));
  gap: 20px;
}

.tq-home-dashboard__panel,
.tq-home-dashboard__map-heading {
  padding: clamp(20px, 3vw, 30px);
  background: var(--tq-card);
  border: 1px solid var(--tq-border);
  border-radius: calc(var(--tq-radius) * 2);
  box-shadow: var(--tq-shadow);
}

.tq-home-dashboard__section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.tq-home-dashboard__section-title {
  margin: 0;
  color: var(--tq-text);
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 800;
}

.tq-home-dashboard__section-description {
  max-width: 620px;
  margin: 6px 0 0;
  color: var(--tq-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.tq-home-dashboard__apps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--tq-home-app-card-min-inline-size)), 1fr));
  gap: 14px;
}

.tq-home-app {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 238px;
  padding: 18px;
  background: var(--tq-surface-muted);
  border: 1px solid var(--tq-border);
  border-radius: calc(var(--tq-radius) * 1.5);
}

.tq-home-app__icon {
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  place-items: center;
  color: var(--tq-primary);
  background: var(--tq-primary-soft);
  border-radius: 14px;
}

.tq-home-app--ios .tq-home-app__icon {
  color: var(--tq-text-soft);
  background: var(--tq-surface-accent);
}

.tq-home-app--windows .tq-home-app__icon {
  color: var(--tq-info);
}

.tq-home-app__icon .zmdi {
  font-size: 1.6rem;
}

.tq-home-app__title {
  margin: 0;
  color: var(--tq-text);
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 800;
}

.tq-home-app__description {
  flex: 1 1 auto;
  margin: 8px 0 16px;
  color: var(--tq-muted);
  font-size: 0.86rem;
  line-height: 1.42;
}

.tq-home-app__meta {
  min-height: 20px;
  margin-bottom: 10px;
  color: var(--tq-text-muted-strong);
  font-size: 0.76rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.tq-home-app__action,
.tq-home-app__unavailable {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: var(--tq-btn-radius);
  font-size: 0.84rem;
  font-weight: 800;
}

.tq-home-app__action {
  color: var(--tq-text-inverse) !important;
  background: var(--tq-primary);
  border: 1px solid var(--tq-primary);
  text-decoration: none;
}

.tq-home-app__action:hover,
.tq-home-app__action:focus-visible {
  color: var(--tq-text-inverse) !important;
  background: var(--tq-primary-2);
  border-color: var(--tq-primary-2);
}

.tq-home-app__unavailable {
  color: var(--tq-muted);
  background: var(--tq-surface-accent);
  border: 1px solid var(--tq-border);
}

.tq-home-dashboard__total {
  flex: 0 0 auto;
  text-align: right;
}

.tq-home-dashboard__total-value {
  display: block;
  color: var(--tq-text);
  font-size: 1.75rem;
  line-height: 1;
  font-weight: 850;
}

.tq-home-dashboard__total-label {
  display: block;
  margin-top: 5px;
  color: var(--tq-muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tq-home-status {
  display: grid;
  gap: 16px;
}

.tq-home-status__topline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 7px;
}

.tq-home-status__label {
  min-width: 0;
  color: var(--tq-text-soft);
  font-size: 0.86rem;
  font-weight: 700;
}

.tq-home-status__count {
  flex: 0 0 auto;
  color: var(--tq-text);
  font-size: 0.92rem;
  font-weight: 850;
}

.tq-home-status__track {
  display: block;
  width: 100%;
  height: 9px;
  overflow: hidden;
  background: var(--tq-surface-accent);
  border-radius: 999px;
}

.tq-home-status__bar {
  display: block;
  width: var(--tq-dashboard-progress);
  min-width: 4px;
  height: 100%;
  background: var(--tq-primary);
  border-radius: inherit;
}

.tq-home-status--warning .tq-home-status__bar {
  background: var(--tq-warning);
}

.tq-home-status--danger .tq-home-status__bar {
  background: var(--tq-danger);
}

.tq-home-status--info .tq-home-status__bar {
  background: var(--tq-info);
}

.tq-home-dashboard__map-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: -10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.tq-home-dashboard__map-icon {
  display: grid;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--tq-primary);
  background: var(--tq-primary-soft);
  border-radius: 13px;
}

.tq-home-dashboard__map-icon .zmdi {
  font-size: 1.45rem;
}

@media screen and (max-width: 1199px) {
  .tq-home-dashboard__grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .tq-home-dashboard {
    gap: 14px;
    padding-bottom: 14px;
  }
  .tq-home-dashboard__hero {
    min-height: 0;
    padding: 24px 20px;
  }
  .tq-home-dashboard__hero-mark {
    width: 58px;
    height: 58px;
    border-radius: 16px;
  }
  .tq-home-dashboard__hero-mark .zmdi {
    font-size: 1.85rem;
  }
  .tq-home-dashboard__panel,
  .tq-home-dashboard__map-heading {
    padding: 20px;
  }
  .tq-home-dashboard__apps {
    grid-template-columns: 1fr;
  }
  .tq-home-app {
    min-height: 0;
  }
  .tq-home-dashboard__section-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .tq-home-dashboard__total {
    text-align: left;
  }
}
/* Result count and pagination controls. */
.pagination-with-numresults {
  margin: 8px 0 14px !important;
}

.pagination-with-numresults > .row {
  align-items: center;
  justify-content: flex-end;
  gap: 8px 12px;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.pagination-with-numresults .result-action-btn {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pagination-with-numresults .result-number-select,
.pagination-with-numresults .result-pagination {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pagination-with-numresults .result-number-select .input-group {
  min-height: 36px;
  height: 36px;
  width: max-content;
  max-width: 100%;
  flex-wrap: nowrap;
  align-items: stretch;
  border-radius: var(--tq-radius-sm);
  box-shadow: var(--tq-shadow-soft);
}

.pagination-with-numresults .result-number-select .input-group-text {
  min-height: 36px;
  height: 36px;
  padding: 4px 10px;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  color: var(--tq-text-muted-strong);
  background: var(--tq-surface-muted);
  border-color: var(--tq-border);
  font-weight: 650;
}

.pagination-with-numresults .result-number-select .form-select,
.pagination-with-numresults .result-number-select select {
  width: 88px !important;
  max-width: 88px;
  min-height: 36px;
  height: 36px;
  flex: 0 0 88px;
  padding-top: 4px;
  padding-bottom: 4px;
  color: var(--tq-text);
  border-color: var(--tq-border);
}

.pagination-with-numresults .result-pagination {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.pagination-with-numresults .top-pagination,
.pagination-with-numresults .pagination {
  width: max-content;
  max-width: 100%;
  margin: 0 !important;
}

.pagination-with-numresults .pagination {
  align-items: center;
}

.pagination-with-numresults .page-link {
  min-width: 36px;
  height: 36px;
  padding-top: 4px;
  padding-bottom: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tq-link);
  border-color: var(--tq-border);
  font-weight: 650;
}

.pagination-with-numresults .page-item.active .page-link,
.pagination-with-numresults .page-link.active {
  color: var(--tq-text-inverse);
  background: var(--tq-primary);
  border-color: var(--tq-primary);
}

.pagination-with-numresults .page-link:hover,
.pagination-with-numresults .page-link:focus {
  color: var(--tq-link-hover);
  background: var(--tq-primary-soft);
  border-color: var(--tq-primary-border-soft);
}

/* Responsive shell, sidebar and pagination overrides. */
@media screen and (max-width: 1199px) {
  #appcontainer > .container,
  #appcontainer > .container-fluid,
  .content {
    padding: 20px;
  }
}
@media screen and (min-width: 992px) {
  body.tq-sidebar--mounted.tq-sidebar--overlay-open.tq-sidebar--overlay .tq-sidebar__backdrop {
    display: block;
  }
}
@media screen and (max-width: 991.98px) {
  .app-shell {
    display: block;
  }
  /* Linguetta nell'header: libera il flusso e lascia spazio al menu a destra. */
  .tq-sidebar__toggle {
    position: fixed !important;
    top: calc((var(--fd-topbar-height) - 48px) / 2) !important;
    right: 76px;
    left: auto !important;
    z-index: 1050 !important;
    padding: 0 !important;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
  .tq-sidebar__toggle .tq-sidebar__btn {
    border: 1px solid var(--tq-sidebar-control-bg-hover) !important;
  }
  aside.sidebar,
  header .sidebar,
  .topbar .sidebar {
    transform: translateX(-100%);
    transition: transform 0.22s ease;
  }
  .sidebar.show,
  .sidebar.open,
  body.sidebar-open .sidebar {
    transform: translateX(0);
  }
  body:has(aside.sidebar) #appcontainer > .container,
  body:has(aside.sidebar) #appcontainer > .container-fluid,
  body:has(header .sidebar) #appcontainer > .container,
  body:has(header .sidebar) #appcontainer > .container-fluid,
  body:has(.topbar .sidebar) #appcontainer > .container,
  body:has(.topbar .sidebar) #appcontainer > .container-fluid,
  body.tq-sidebar--mounted #appcontainer > .container,
  body.tq-sidebar--mounted #appcontainer > .container-fluid,
  body.tq-sidebar--mounted:not(.tq-sidebar--overlay) #appcontainer > .container,
  body.tq-sidebar--mounted:not(.tq-sidebar--overlay) #appcontainer > .container-fluid,
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline #appcontainer > .container,
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline #appcontainer > .container-fluid {
    width: 100% !important;
    margin-left: 0 !important;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline #appcontainer > .tq-sidebar__mobileInline.container {
    position: fixed !important;
    top: var(--fd-topbar-height) !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1045;
    width: min(var(--tq-sidebar-width), 86vw) !important;
    max-width: 86vw !important;
    height: calc(100dvh - var(--fd-topbar-height)) !important;
    max-height: calc(100dvh - var(--fd-topbar-height)) !important;
    margin: 0 !important;
    padding: 8px 12px 14px !important;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--tq-sidebar-text);
    background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2));
    border-right: 1px solid var(--tq-sidebar-border);
    box-shadow: 18px 0 42px var(--tq-sidebar-dropdown-bg);
    pointer-events: none;
    visibility: hidden;
    transform: translateX(-100%) !important;
    transition: transform 0.22s ease, visibility 0.22s ease;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline.tq-sidebar--mobile-expanded #appcontainer > .tq-sidebar__mobileInline.container {
    pointer-events: auto;
    visibility: visible;
    transform: translateX(0) !important;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline .tq-sidebar__mobileInline .sidebar_menu {
    min-height: 0;
    max-height: none;
    padding: 4px 0 12px;
    overflow: visible;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline .tq-sidebar__mobileBar {
    position: fixed;
    top: calc(var(--fd-topbar-height) + 8px);
    left: 8px;
    z-index: 1050;
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at top left, var(--tq-sidebar-accent), transparent 34%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2));
    border: 1px solid var(--tq-sidebar-control-bg-focus);
    border-radius: 10px;
    box-shadow: var(--tq-shadow-mobile-toggle);
    pointer-events: auto;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline.tq-sidebar--mobile-expanded .tq-sidebar__mobileBar {
    left: calc(min(var(--tq-sidebar-width), 86vw) - 54px);
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline .tq-sidebar__mobileBar .tq-sidebar__btn {
    width: 40px;
    height: 40px;
    padding: 0;
    color: var(--tq-text-inverse) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px;
    box-shadow: none !important;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline .tq-sidebar__mobileBar .tq-sidebar__btn i,
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline .tq-sidebar__mobileBar .tq-sidebar__btn svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    color: currentColor;
    fill: currentColor;
    font-size: 1.55rem;
    line-height: 1;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline .tq-sidebar__mobileBar .tq-sidebar__btn:empty::before {
    content: "‹";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    color: currentColor;
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1;
  }
  body.tq-sidebar--mounted.tq-sidebar--mobile-inline.tq-sidebar--mobile-expanded .tq-sidebar__backdrop {
    display: block !important;
    position: fixed;
    inset: var(--fd-topbar-height) 0 0 0;
    z-index: 1040;
    background: var(--tq-sidebar-backdrop);
  }
  .topbar,
  header.topbar,
  header .topbar,
  .app-topbar {
    padding: 0 16px;
  }
  .navbar.fixed-top:not(#previewBar),
  .navbar.navbar-fixed-top:not(#previewBar),
  #navbarnavbar-fixed-header {
    background: radial-gradient(circle at top left, var(--tq-sidebar-accent-soft), transparent 38%), linear-gradient(180deg, var(--tq-sidebar), var(--tq-sidebar-2)) !important;
    border-bottom-color: var(--tq-sidebar-border);
    backdrop-filter: none;
  }
  .navbar.fixed-top:not(#previewBar) > .container,
  .navbar.fixed-top:not(#previewBar) > .container-fluid {
    padding: 0 12px;
  }
  body.tq-sidebar--mounted .navbar.fixed-top:not(#previewBar) .navbar-brand,
  body.tq-sidebar--mounted #navbarnavbar-fixed-header .navbar-brand {
    width: min(var(--tq-sidebar-width), 52vw);
    min-width: min(var(--tq-sidebar-width), 52vw);
    background: transparent;
    border-right: 0;
  }
  .navbar.fixed-top:not(#previewBar) .mobile-toggle,
  .navbar.fixed-top:not(#previewBar) .navbar-toggler {
    color: var(--tq-text-inverse) !important;
    background: var(--tq-sidebar-control-bg) !important;
    border-color: var(--tq-sidebar-control-bg-hover) !important;
  }
  /* Il contenuto mantiene il padding mobile, senza una fascia riservata alla linguetta. */
  #appcontainer > .container,
  #appcontainer > .container-fluid,
  .content {
    padding: 16px;
  }
}
@media screen and (max-width: 640px) {
  body.tq-sidebar--mounted .navbar.fixed-top:not(#previewBar) .navbar-brand,
  body.tq-sidebar--mounted #navbarnavbar-fixed-header .navbar-brand {
    width: 190px;
    min-width: 190px;
    padding: 0 14px;
  }
  .pagination-with-numresults {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .pagination-with-numresults > .row {
    display: grid !important;
    grid-template-columns: minmax(0, max-content);
    gap: 8px 0;
    align-items: center;
    justify-content: flex-start;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .pagination-with-numresults .result-action-btn,
  .pagination-with-numresults .result-number-select,
  .pagination-with-numresults .result-pagination {
    width: auto !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .pagination-with-numresults .result-action-btn {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .pagination-with-numresults .result-number-select {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .pagination-with-numresults .result-number-select .input-group {
    min-height: 34px;
    height: 34px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: max-content;
    max-width: 100%;
  }
  .pagination-with-numresults .result-number-select .input-group-text {
    min-height: 34px;
    height: 34px;
    padding: 4px 10px;
    white-space: nowrap;
  }
  .pagination-with-numresults .result-number-select .form-select,
  .pagination-with-numresults .result-number-select select {
    width: 88px !important;
    max-width: 88px;
    min-width: 0;
    min-height: 34px;
    height: 34px;
    padding: 4px 34px 4px 10px;
  }
  .pagination-with-numresults .result-pagination {
    grid-column: 1/-1;
    grid-row: 2;
    width: max-content !important;
    max-width: 100% !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .pagination-with-numresults .top-pagination {
    width: max-content;
    max-width: 100%;
    margin: 0 !important;
  }
  .pagination-with-numresults .pagination {
    width: max-content;
    min-width: 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0 !important;
  }
  .pagination-with-numresults .page-link {
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }
  .pagination-with-numresults .pagination-prev .page-link,
  .pagination-with-numresults .pagination-next .page-link {
    min-width: 34px;
    font-size: 0;
  }
  .pagination-with-numresults .pagination-prev .page-link::before,
  .pagination-with-numresults .pagination-next .page-link::before {
    font-size: 1rem;
  }
  .pagination-with-numresults .pagination-prev .page-link::before {
    content: "‹";
  }
  .pagination-with-numresults .pagination-next .page-link::before {
    content: "›";
  }
  .searchbox {
    min-height: 42px;
  }
  #previewBar .navbar-collapse.show {
    height: 120px !important;
  }
  #previewBar .nav-item {
    width: 50%;
  }
  #previewBar .nav-item:has(.btn-link),
  #previewBar .nav-item:has(.form-floating.actasuserselect) {
    justify-content: end;
  }
  #previewBar .nav-item .form-floating.actasuserselect {
    margin-top: 4px !important;
    margin-right: 0 !important;
  }
}
@media only screen and (min-width: 1200px) {
  .eventPopover .popover {
    min-width: 500px;
  }
}

/* WebAir layout compatibility. The complete Fondital CAT stylesheet above is
   copied verbatim. Keep native list geometry, WebAir logo and header placement. */
#appcontainer { font-size: 1rem; line-height: 1.5; }
#appcontainer > header.container-fluid { padding: 0; flex-grow: 0; }
#appcontainer .tq-workspace { padding: 0; }
#appcontainer .tq-workspace > .row { --bs-gutter-x: 24px; }
#appcontainer .tq-workspace h1 { margin-bottom: 20px; }
#appcontainer .results_list > .tq-section-title { margin-bottom: 16px; }
/* Header separation requested by the user; Fondital's own shadow token. */
#appcontainer #navbarnavbar-fixed-header { box-shadow: var(--tq-shadow) !important; }
#appcontainer #navbarnavbar-fixed-header > .container-fluid { padding: 0 24px; gap: 16px; }
#navbarnavbar-fixed-header .navbar-brand { margin-right: 0; }
#navbarnavbar-fixed-header .navbar-nav { gap: 8px; }
#navbarnavbar-fixed-header .navbar-collapse { gap: 16px; padding: 0; }
#navbarnavbar-fixed-header > .container-fluid > form { width: min(420px, 32vw); min-width: 0; }
#navbarnavbar-fixed-header .searchGroup { flex-wrap: nowrap; }
#navbarnavbar-fixed-header .searchGroup > .form-control { min-width: 0; width: 1%; }
#navbarnavbar-fixed-header .searchGroup > .search-submit { border-radius: 999px 0 0 999px; }
#navbarnavbar-fixed-header .searchGroup > .dropdown-toggle { border-radius: 0 999px 999px 0; }
#navbarnavbar-fixed-header .searchGroup:focus-within { border-color: var(--tq-primary); box-shadow: 0 0 0 .2rem var(--tq-primary-soft); }
/* The native profile widget emits .dropdown instead of tq-user-menu-toggle. */
#navbarnavbar-fixed-header .navbar-collapse .dropdown > .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 6px 12px 6px 8px;
  color: var(--tq-text);
  background: var(--tq-surface);
  border: 1px solid var(--tq-border-translucent);
  border-radius: 16px;
  box-shadow: var(--tq-shadow-header-control);
}
#navbarnavbar-fixed-header .navbar-collapse .dropdown > .dropdown-toggle:hover,
#navbarnavbar-fixed-header .navbar-collapse .dropdown > .dropdown-toggle:focus {
  border-color: var(--tq-primary-border-soft);
}
#navbarnavbar-fixed-header .btn:focus-visible { outline: 2px solid var(--tq-primary); outline-offset: 2px; }
/* Original native list widths, shared by headers and rows. */
#appcontainer .datatable-container { overflow-x: auto; }
#appcontainer .datatable-header-container { background: var(--tq-surface-muted); border-bottom: 1px solid var(--tq-border); padding: 10px 0; border-radius: var(--tq-radius-sm) var(--tq-radius-sm) 0 0; }
#appcontainer .datatable-header-container > .row { margin-left: 0; margin-right: 0; }
#appcontainer .results_list .datatable-header-container > .tq-list-card-header-row { margin-bottom: 0; padding: 0 !important; text-transform: none; }
#appcontainer .tq-list-card-header-row .datatable-header > .input-group:has(> .searchHtml.form-floating) { overflow: visible; border-color: var(--tq-form-control-border); }
#appcontainer .tq-list-card-header-row .datatable-header > .input-group > .searchHtml.form-floating > .form-control { border: 0; background: transparent; }
#appcontainer .bordered-row > .col { padding: 12px 10px; }
#appcontainer .datatable-header-container .datatable-header { padding-left: 10px; padding-right: 10px; color: var(--tq-text); font-weight: 700; }
#appcontainer .bordered-row .row { --bs-gutter-x: 0; }
#appcontainer .bordered-row .liveEditButtonParent { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#appcontainer .bordered-row .liveEditLabel { flex: 1 1 auto; }
#appcontainer .tq-cell-name { font-weight: 600; }
#appcontainer .tq-cell-number, #appcontainer .tq-cell-date, #appcontainer .tq-cell-status { text-align: center; font-variant-numeric: tabular-nums; }
#appcontainer .tq-cell-code { font-variant-numeric: tabular-nums; color: var(--tq-muted); }
#appcontainer .tq-cell-actions { text-align: center; }
#appcontainer .tq-cell-actions .actionItemContainer { margin: 3px; }
#appcontainer .tq-cell-date { white-space: nowrap; }
#appcontainer .tq-cell-email { overflow-wrap: anywhere; }
#appcontainer .tq-clients-row { min-width: 1320px; flex-wrap: nowrap; }
#appcontainer .tq-clients-row > .tq-cell-code { flex: 0 0 160px; width: 160px; }
#appcontainer .tq-clients-row > .tq-cell-name { flex: 2 0 235px; width: 235px; }
#appcontainer .tq-clients-row > .tq-cell-tax { flex: 1 0 130px; width: 130px; }
#appcontainer .tq-clients-row > .tq-cell-company { flex: 1 0 150px; width: 150px; }
#appcontainer .tq-clients-row > .tq-cell-email { flex: 2 0 260px; width: 260px; }
#appcontainer .tq-clients-row > .tq-cell-phone { flex: 1 0 150px; width: 150px; }
#appcontainer .tq-clients-row > .tq-cell-status { flex: 0 0 135px; width: 135px; }
#appcontainer .tq-clients-row > .tq-cell-actions { flex: 0 0 100px; width: 100px; }
#appcontainer .tq-commesse-row { min-width: 1150px; }
#appcontainer .tq-recurring-row { min-width: 1510px; flex-wrap: nowrap; }
#appcontainer .tq-recurring-row > .col:nth-child(1) { flex: 0 0 140px; width: 140px; }
#appcontainer .tq-recurring-row > .col:nth-child(2) { flex: 1 0 220px; width: 220px; }
#appcontainer .tq-recurring-row > .col:nth-child(3) { flex: 1.5 0 260px; width: 260px; }
#appcontainer .tq-recurring-row > .col:nth-child(4) { flex: 1 0 200px; width: 200px; }
#appcontainer .tq-recurring-row > .col:nth-child(5) { flex: 0 0 160px; width: 160px; }
#appcontainer .tq-recurring-row > .col:nth-child(6), #appcontainer .tq-recurring-row > .col:nth-child(7) { flex: 0 0 180px; width: 180px; text-align: center; font-variant-numeric: tabular-nums; }
#appcontainer .tq-recurring-row > .col:nth-child(8) { flex: 0 0 90px; width: 90px; text-align: center; font-variant-numeric: tabular-nums; }
#appcontainer .tq-recurring-row > .col:nth-child(9) { flex: 0 0 80px; width: 80px; }
#appcontainer .tq-tasks-row { min-width: 1200px; flex-wrap: nowrap; }
#appcontainer .tq-tasks-row > .col:nth-child(4), #appcontainer .tq-tasks-row > .col:nth-child(5) { text-align: center; font-variant-numeric: tabular-nums; }
#appcontainer .public_fixedDataTableCell_cellContent { color: var(--tq-text); font-size: 1rem; line-height: 1.35; padding: 10px; }
#appcontainer .public_fixedDataTableRow_even .public_fixedDataTableCell_main { background: var(--tq-surface); }
#appcontainer .public_fixedDataTableRow_odd .public_fixedDataTableCell_main { background: var(--tq-surface-soft); }
#appcontainer .public_fixedDataTable_bodyRow:hover .public_fixedDataTableCell_main { background: var(--tq-primary-soft); }
#appcontainer .public_fixedDataTable_header .public_fixedDataTableCell_cellContent { font-weight: 700; }
#appcontainer .tq-action-group { display: flex; align-items: center; justify-content: center; gap: var(--tq-btn-gap); flex-wrap: nowrap; }
#appcontainer .tq-action-group .actionItemContainer { margin: 0; flex: 0 0 auto; }
@media (min-width: 992px) {
  #navbarnavbar-fixed-header > .container-fluid { flex-wrap: nowrap; }
  #navbarnavbar-fixed-header .navbar-collapse { min-width: 0; }
}
@media (max-width: 991px) {
  #appcontainer > .container-fluid:not(header) { padding: 18px 12px; }
  #appcontainer #navbarnavbar-fixed-header > .container-fluid { padding: 0 12px; gap: 8px; }
  #navbarnavbar-fixed-header .navbar-brand img { filter: var(--tq-filter-brand); }
  #navbarnavbar-fixed-header > .container-fluid > form { flex: 1 1 120px; width: auto; }
  #navbarnavbar-fixed-header .navbar-toggler { min-width: 44px; min-height: 44px; padding: 8px; }
  #navbarnavbar-fixed-header .navbar-collapse { padding-top: 12px; padding-bottom: 8px; }
  #navbarnavbar-fixed-header .navbar-nav { margin-bottom: 12px; }
  #navbarnavbar-fixed-header .navbar-collapse .dropdown-menu { max-width: calc(100vw - 24px); }
}
