/* AppForze — superfici premium condivise (allineate a R.F.T.)
 * Stesso linguaggio navy/blu, senza stravolgere i layout esistenti.
 */

:root {
  --af-premium-radius: 8px;
  --af-premium-shadow: 0 10px 28px rgba(8, 47, 88, .07), inset 0 1px 0 rgba(255, 255, 255, .92);
  --af-premium-shadow-raised: 0 16px 38px rgba(8, 47, 88, .11), inset 0 1px 0 rgba(255, 255, 255, .94);
  --af-premium-shadow-soft: 0 5px 16px rgba(8, 47, 88, .055);
  --af-premium-line: rgba(174, 202, 222, .9);
  --af-premium-line-strong: #91b5cf;
  --af-premium-ink: #082f58;
  --af-premium-muted: #5d7188;
  --af-premium-accent: #075fae;
  --af-premium-cyan: #30a3d8;
  --af-premium-surface: #fff;
  --af-premium-surface-soft: #f5f9fc;
  --af-premium-focus: 0 0 0 3px rgba(7, 95, 174, .13);
}

/* Atmosfera pagina (come RFT) */
.page-dashboard .content,
.page-pratiche .content,
.page-utenti .content,
.page-utente_dettaglio .content,
.page-comunicazioni .content,
.page-manutenzione .content,
.page-stato_sistema .content,
.page-activity_log .content,
.page-set .content,
.page-atti_modelli .content,
.page-template_word .content,
.page-cambio_password .content,
.page-logout .content,
.page-rft .content,
.page-planning .content,
.page-manutenzione_attiva .content,
.page-dpl .content {
  background:
    radial-gradient(900px 380px at 92% -8%, rgba(42, 155, 220, .06), transparent 58%),
    radial-gradient(760px 320px at 4% -6%, rgba(9, 104, 216, .08), transparent 55%),
    linear-gradient(180deg, #e8f0f7 0, #f4f8fb 160px, transparent 480px);
  border-radius: 0;
}

/* Header gestionali = linguaggio RFT home */
.management-page-head,
.page-comunicazioni .email-page-head,
.page-manutenzione .maintenance-page-head,
.page-dashboard .dashboard-page-head {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 118px !important;
  margin-bottom: 20px !important;
  padding: 24px 26px !important;
  overflow: hidden !important;
  border: 1px solid var(--af-premium-line) !important;
  border-left: 0 !important;
  border-radius: var(--af-premium-radius) !important;
  background:
    linear-gradient(112deg, #d8ebfa 0%, #f1f7fb 48%, #fff 86%) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.management-page-head::before,
.page-comunicazioni .email-page-head::before,
.page-manutenzione .maintenance-page-head::before,
.page-dashboard .dashboard-page-head::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  height: auto !important;
  background: linear-gradient(180deg, var(--af-premium-accent), var(--af-premium-cyan)) !important;
  pointer-events: none !important;
}

.management-page-head::after,
.page-comunicazioni .email-page-head::after,
.page-manutenzione .maintenance-page-head::after,
.page-dashboard .dashboard-page-head::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 0 0 auto !important;
  width: 28% !important;
  height: auto !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .78)) !important;
  pointer-events: none !important;
}

.management-page-head > *,
.page-comunicazioni .email-page-head > *,
.page-manutenzione .maintenance-page-head > *,
.page-dashboard .dashboard-page-head > * {
  position: relative;
  z-index: 1;
}

.management-page-head .eyebrow,
.page-comunicazioni .email-page-head .eyebrow,
.page-manutenzione .maintenance-page-head .eyebrow,
.page-dashboard .dashboard-page-head .eyebrow {
  display: block;
  color: var(--af-premium-accent) !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.management-page-head h1,
.page-comunicazioni .email-page-head h1,
.page-manutenzione .maintenance-page-head h1,
.page-dashboard .dashboard-page-head h1 {
  margin: 4px 0 6px !important;
  color: var(--af-premium-ink) !important;
  font-size: 2rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1.22 !important;
}

.management-page-head p,
.page-comunicazioni .email-page-head p,
.page-manutenzione .maintenance-page-head p,
.page-dashboard .dashboard-page-head p {
  max-width: 640px;
  margin: 0 !important;
  color: var(--af-premium-muted) !important;
  font-size: .92rem !important;
  line-height: 1.5 !important;
}

.management-page-head .quick-actions .btn,
.page-comunicazioni .email-page-head .btn,
.page-manutenzione .maintenance-page-head .btn {
  min-height: 44px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}

.management-page-head .quick-actions .btn.primary,
.page-comunicazioni .email-page-head .btn.primary,
.page-manutenzione .maintenance-page-head .btn.primary {
  box-shadow: 0 10px 22px rgba(9, 104, 216, .2);
}

/* Stat strip = chip/card RFT */
.management-stat-item,
.admin-user-stat.management-stat-item,
.monthly-grid .management-stat-item {
  border-radius: var(--af-premium-radius) !important;
  border-color: var(--af-premium-line) !important;
  background:
    linear-gradient(180deg, #fff, #f7fafc) !important;
  box-shadow: 0 6px 18px rgba(8, 47, 88, .05) !important;
}

.management-stat-item:hover {
  box-shadow: 0 10px 24px rgba(8, 47, 88, .09) !important;
}

.management-stat-item strong {
  color: var(--af-premium-ink) !important;
  font-weight: 900 !important;
  letter-spacing: 0;
}

/* Card / pannelli / filtri / tabelle */
.page-pratiche .card,
.page-utenti .card,
.page-utente_dettaglio .card,
.page-comunicazioni .card,
.page-manutenzione .card,
.page-stato_sistema .card,
.page-activity_log .card,
.page-set .card,
.page-atti_modelli .card,
.page-template_word .card,
.page-planning .card,
.page-pratiche .panel,
.page-utenti .panel,
.page-set .panel,
.page-comunicazioni .email-config-card,
.page-comunicazioni .email-queue-card,
.page-manutenzione .maintenance-section,
.page-manutenzione .maintenance-menu-card,
.page-stato_sistema .system-health-board,
.page-stato_sistema .status-card {
  border-radius: var(--af-premium-radius) !important;
  border-color: var(--af-premium-line) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-pratiche .filters,
.page-utenti .filters,
.page-activity_log .filters,
.page-pratiche .archive-toolbar,
.page-utenti .users-toolbar {
  border: 1px solid var(--af-premium-line);
  border-radius: var(--af-premium-radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, .95), #f7fafc);
  box-shadow: 0 4px 14px rgba(18, 48, 70, .04);
  padding: 14px 16px;
}

.page-pratiche table,
.page-utenti table,
.page-activity_log table,
.page-comunicazioni table,
.page-stato_sistema table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--af-premium-line);
  border-radius: var(--af-premium-radius);
  background: #fff;
  box-shadow: 0 6px 18px rgba(8, 47, 88, .04);
}

.page-pratiche thead th,
.page-utenti thead th,
.page-activity_log thead th,
.page-comunicazioni thead th {
  background: linear-gradient(180deg, #edf5fc, #e7f0f8);
  color: var(--af-premium-ink);
  font-weight: 800;
  border-bottom: 1px solid var(--af-premium-line);
}

.page-pratiche tbody tr:hover,
.page-utenti tbody tr:hover,
.page-activity_log tbody tr:hover {
  background: #f5faff;
}

/* Empty states */
.page-pratiche .empty,
.page-utenti .empty,
.page-activity_log .empty,
.page-comunicazioni .empty,
.page-pratiche .rft-empty,
.page-planning .management-empty-state {
  border: 1px dashed rgba(174, 202, 222, .95);
  border-radius: var(--af-premium-radius);
  background: linear-gradient(180deg, #f8fbfd, #fff);
  padding: 28px 20px;
  text-align: center;
  color: var(--af-premium-muted);
}

/* Alert più soft e coerenti */
.page-pratiche .alert,
.page-utenti .alert,
.page-manutenzione .alert,
.page-comunicazioni .alert,
.page-dashboard .alert,
.page-set .alert {
  border-radius: var(--af-premium-radius);
  box-shadow: 0 4px 14px rgba(18, 48, 70, .05);
}

/* Dashboard */
.page-dashboard .operator-summary-card,
.page-dashboard .dashboard-command-center,
.page-dashboard .user-workbench,
.page-dashboard .user-practices-panel {
  border-radius: var(--af-premium-radius) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-dashboard .content > :is(
  .operator-summary-card,
  .dashboard-command-center,
  .dashboard-metric-grid,
  .dashboard-priority-section,
  .dashboard-main-grid,
  .user-workbench,
  .user-practices-panel,
  .alert
) {
  width: min(100%, 1320px);
  margin-left: auto;
  margin-right: auto;
}

.page-dashboard .dashboard-command-center {
  border: 1px solid var(--af-premium-line) !important;
  background:
    linear-gradient(135deg, #ffffff 0%, #f3f8fd 55%, #eaf4fb 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  text-align: center !important;
  padding: 22px 24px 20px !important;
}

.page-dashboard .dashboard-command-copy {
  width: min(100%, 640px);
  margin: 0 auto;
  text-align: center;
}

.page-dashboard .dashboard-command-copy .eyebrow {
  display: block;
  color: var(--af-premium-accent);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page-dashboard .dashboard-command-copy h2 {
  margin: 4px 0 6px !important;
  color: var(--af-premium-ink) !important;
  font-size: 1.4rem !important;
  font-weight: 900 !important;
  letter-spacing: 0;
}

.page-dashboard .dashboard-command-copy p {
  margin: 0 auto !important;
  max-width: 52ch;
  color: var(--af-premium-muted) !important;
  line-height: 1.5;
}

.page-dashboard .dashboard-command-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  grid-template-columns: none !important;
}

.page-dashboard .dashboard-command-actions a {
  flex: 0 0 168px;
  width: 168px;
  max-width: 168px;
  box-sizing: border-box;
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 96px !important;
  padding: 12px 10px !important;
  border-radius: 9px !important;
  border: 1px solid var(--af-premium-line) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 4px 12px rgba(8, 47, 88, .04);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

@media (max-width: 780px) {
  .page-dashboard .dashboard-command-actions a {
    flex: 1 1 calc(50% - 10px);
    width: auto;
    max-width: none;
    min-width: 132px;
  }
}

@media (max-width: 420px) {
  .page-dashboard .dashboard-command-actions a {
    flex-basis: 100%;
  }
}

.page-dashboard .dashboard-command-actions a > span:last-child {
  display: grid;
  gap: 2px;
  justify-items: center;
  text-align: center;
  width: 100%;
}

.page-dashboard .dashboard-command-actions .dashboard-picture {
  display: inline-flex !important;
  margin: 0 auto;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
}

.page-dashboard .dashboard-command-actions strong {
  text-align: center;
}

.page-dashboard .dashboard-command-actions small {
  white-space: normal !important;
  text-overflow: unset !important;
  line-height: 1.25;
  text-align: center;
}

.page-dashboard .dashboard-command-actions a:hover {
  transform: translateY(-1px);
  border-color: #8eb6d1 !important;
  box-shadow: 0 10px 22px rgba(8, 47, 88, .08);
}

/* Metriche: stesso ritmo centrato dei tasti comando */
.page-dashboard .dashboard-metric-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
}

.page-dashboard .dashboard-metric {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 118px !important;
  padding: 16px 12px !important;
  text-align: center !important;
  border-radius: var(--af-premium-radius) !important;
  border: 1px solid var(--af-premium-line) !important;
  box-shadow: 0 8px 20px rgba(8, 47, 88, .06) !important;
  background: linear-gradient(180deg, #fff, #f7fafc) !important;
  grid-template-columns: none !important;
}

.page-dashboard .dashboard-metric > .dashboard-picture {
  margin: 0 auto !important;
  justify-self: center !important;
}

.page-dashboard .dashboard-metric > span {
  display: grid !important;
  gap: 2px;
  justify-items: center;
  text-align: center;
  width: 100%;
}

.page-dashboard .dashboard-metric strong {
  justify-content: center !important;
  text-align: center;
  width: 100%;
}

.page-dashboard .dashboard-metric small {
  text-align: center;
  white-space: normal;
  line-height: 1.25;
}

.page-dashboard .dashboard-metric:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(8, 47, 88, .1) !important;
}

@media (max-width: 900px) {
  .page-dashboard .dashboard-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* AppForze v2.16.53 - interazioni e gerarchia condivise */
.page-logout .content,
.page-cambio_password .content {
  background:
    linear-gradient(180deg, #e8f0f7 0, #f4f8fb 180px, #fff 620px);
}

.app-layout .content :is(.btn, .icon-btn, button, a) {
  -webkit-tap-highlight-color: transparent;
}

.app-layout .content :is(.btn, .icon-btn) {
  transition:
    border-color .16s ease,
    background-color .16s ease,
    color .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}

.app-layout .content :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease;
}

.app-layout .content :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):hover:not(:disabled) {
  border-color: #9ebbcf;
}

.app-layout .content :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):focus {
  border-color: var(--af-premium-accent) !important;
  background-color: #fff !important;
  box-shadow: var(--af-premium-focus) !important;
  outline: 0 !important;
}

.app-layout .content :is(.btn, .icon-btn, button, a):focus-visible {
  outline: 3px solid rgba(7, 95, 174, .2);
  outline-offset: 2px;
}

.page-utenti :is(.users-management-card, .users-directory, .user-card),
.page-utente_dettaglio :is(.user-detail-card, .detail-card, .card),
.page-activity_log :is(.activity-directory, .activity-overview-item, .activity-table-wrap),
.page-comunicazioni :is(.email-compose-card, .email-queue-panel, .email-log-panel, .email-section-block, .email-template-card),
.page-manutenzione :is(.maintenance-attention-panel, .maintenance-access-panel, .maintenance-section, .maintenance-backup-panel),
.page-stato_sistema :is(.system-health-card, .system-detail-card, .status-card),
.page-set :is(.settings-card, .settings-section, .field-block),
.page-pratiche :is(.card, .panel, .archive-toolbar),
.page-atti_modelli :is(.card, .panel),
.page-template_word :is(.card, .panel),
.page-cambio_password :is(.card, .panel),
.page-logout .logout-panel {
  border-color: var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-utenti :is(.users-management-card, .user-card),
.page-activity_log :is(.activity-overview-item, .activity-directory),
.page-comunicazioni :is(.email-compose-card, .email-queue-panel, .email-log-panel, .email-section-block, .email-template-card),
.page-manutenzione :is(.maintenance-attention-panel, .maintenance-access-panel, .maintenance-section, .maintenance-backup-panel),
.page-stato_sistema :is(.system-health-card, .system-detail-card, .status-card),
.page-set :is(.settings-card, .settings-section),
.page-pratiche :is(.card, .panel),
.page-atti_modelli :is(.card, .panel),
.page-template_word :is(.card, .panel) {
  background-color: #fff;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.page-activity_log .activity-row,
.page-comunicazioni .email-log-panel tbody tr,
.page-utenti tbody tr,
.page-pratiche tbody tr,
.page-stato_sistema :is(.status-row, .check-row),
.page-manutenzione :is(.maintenance-attention-item, .maintenance-action-row) {
  transition:
    background-color .15s ease,
    box-shadow .15s ease,
    transform .15s ease;
}

.page-activity_log .activity-row:hover,
.page-comunicazioni .email-log-panel tbody tr:hover,
.page-utenti tbody tr:hover,
.page-pratiche tbody tr:hover,
.page-stato_sistema :is(.status-row, .check-row):hover,
.page-manutenzione :is(.maintenance-attention-item, .maintenance-action-row):hover {
  background-color: #f4f9fd !important;
  box-shadow: inset 3px 0 0 var(--af-premium-accent);
}

.app-layout .content dialog {
  border: 1px solid var(--af-premium-line);
  border-radius: var(--af-premium-radius);
  background: #fff;
  box-shadow: 0 24px 60px rgba(8, 47, 88, .2);
}

.app-layout .content dialog::backdrop {
  background: rgba(7, 31, 55, .42);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.app-layout .content :is(.badge, .status, [class*="status-"]) {
  letter-spacing: 0;
}

@media (hover: hover) {
  .app-layout .content .btn:hover:not(:disabled) {
    transform: translateY(-1px);
  }

  .page-utenti :is(.user-card, .management-stat-item):hover,
  .page-activity_log .activity-overview-item:hover,
  .page-comunicazioni :is(.email-template-card, .email-section-block):hover,
  .page-stato_sistema :is(.system-health-card, .status-card):hover,
  .page-set .settings-card:hover {
    border-color: #9dbcd1 !important;
    box-shadow: 0 14px 30px rgba(8, 47, 88, .1) !important;
    transform: translateY(-1px);
  }
}

@media (max-width: 700px) {
  .management-page-head h1,
  .page-comunicazioni .email-page-head h1,
  .page-manutenzione .maintenance-page-head h1,
  .page-dashboard .dashboard-page-head h1 {
    font-size: 1.65rem !important;
  }

  .app-layout .content :is(.btn, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
    min-height: 44px;
  }

  .app-layout .content :is(.card, .panel, .settings-card, .maintenance-section, .email-section-block) {
    scroll-margin-top: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-layout .content *,
  .app-layout .content *::before,
  .app-layout .content *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 480px) {
  .page-dashboard .dashboard-metric-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Riepilogo operatore: colonne bilanciate e azioni centrate */
.page-dashboard .user-summary.operator-summary-card {
  align-items: center !important;
  justify-items: stretch !important;
}

.page-dashboard .operator-summary-card .user-summary-main {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.page-dashboard .operator-summary-card .user-summary-actions {
  justify-items: stretch !important;
  align-content: center !important;
}

.page-dashboard .operator-summary-card .user-summary-actions .btn {
  width: 100%;
}

/* Sezioni sotto: testata allineata e pannelli coerenti */
.page-dashboard .dashboard-section-head {
  align-items: center !important;
}

.page-dashboard .dashboard-priority-section,
.page-dashboard .dashboard-practices-panel,
.page-dashboard .dashboard-system-panel,
.page-dashboard .user-practices-panel {
  border-radius: var(--af-premium-radius) !important;
}

.page-dashboard .dashboard-priority-list {
  border-radius: var(--af-premium-radius) !important;
  border-color: var(--af-premium-line) !important;
  box-shadow: 0 8px 20px rgba(8, 47, 88, .05);
}

/* Workbench operatore */
.page-dashboard .user-workbench {
  display: grid !important;
  gap: 12px !important;
}

.page-dashboard .user-primary-task {
  align-items: center !important;
}

.page-dashboard .user-workbench-metrics {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.page-dashboard .user-workbench-metrics.is-single {
  grid-template-columns: minmax(0, 1fr) !important;
}

.page-dashboard .user-workbench-metrics a {
  justify-content: center !important;
  text-align: center;
}

.page-dashboard .practice-row {
  border-radius: 8px;
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.page-dashboard .practice-row:hover {
  background: #f5faff !important;
  border-color: var(--af-premium-line);
  box-shadow: inset 3px 0 0 var(--af-premium-accent);
}

/* E-Mail overview cards */
.page-comunicazioni .email-overview-item {
  border-radius: var(--af-premium-radius) !important;
  border: 1px solid var(--af-premium-line) !important;
  background: linear-gradient(180deg, #fff, #f7fafc) !important;
  box-shadow: 0 8px 20px rgba(8, 47, 88, .05) !important;
}

.page-comunicazioni .email-overview-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(8, 47, 88, .09) !important;
}

.page-comunicazioni .email-page-head {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Manutenzione menu */
.page-manutenzione .maintenance-menu-card {
  border-radius: var(--af-premium-radius) !important;
  background:
    linear-gradient(135deg, #fff 0%, #fff 58%, rgba(15, 98, 217, .05) 100%) !important;
  box-shadow: 0 10px 24px rgba(8, 47, 88, .06) !important;
}

.page-manutenzione .maintenance-menu-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(8, 47, 88, .1) !important;
}

.page-manutenzione .maintenance-attention-panel,
.page-manutenzione .maintenance-section {
  border-radius: var(--af-premium-radius);
  border: 1px solid var(--af-premium-line);
  background: linear-gradient(180deg, #fff, #f8fbfd);
  box-shadow: var(--af-premium-shadow);
}

/* Stato sistema */
.page-stato_sistema .status-row,
.page-stato_sistema .check-row {
  border-radius: 8px;
  transition: background .15s ease;
}

.page-stato_sistema .status-row:hover,
.page-stato_sistema .check-row:hover {
  background: #f5faff;
}

/* Set / impostazioni */
.page-set .settings-card,
.page-set .field-block,
.page-set .card {
  border-radius: var(--af-premium-radius) !important;
  border-color: var(--af-premium-line) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

/* DPL: avvicina intro stage a RFT senza toccare la compilazione densa */
.page-dpl .dpl-page-head,
.page-dpl .dpl-start-hero {
  border-radius: var(--af-premium-radius) !important;
  border: 1px solid var(--af-premium-line) !important;
  background:
    linear-gradient(112deg, #d8ebfa 0%, #f1f7fb 48%, #fff 86%) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

/* Inputs più coerenti sulle pagine gestionali */
.page-pratiche input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.page-pratiche select,
.page-pratiche textarea,
.page-utenti input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.page-utenti select,
.page-utenti textarea,
.page-comunicazioni input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.page-comunicazioni select,
.page-comunicazioni textarea,
.page-manutenzione input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.page-manutenzione select,
.page-manutenzione textarea,
.page-set input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.page-set select,
.page-set textarea,
.page-activity_log input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.page-activity_log select {
  min-height: 44px;
  border-radius: 8px;
  border-color: #c0d0dc;
}

.page-pratiche textarea,
.page-utenti textarea,
.page-comunicazioni textarea,
.page-set textarea {
  min-height: 96px;
}

@media (max-width: 900px) {
  .management-page-head,
  .page-comunicazioni .email-page-head,
  .page-manutenzione .maintenance-page-head,
  .page-dashboard .dashboard-page-head {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 18px !important;
  }

  .management-page-head .quick-actions,
  .page-comunicazioni .email-page-head .btn,
  .page-manutenzione .maintenance-page-head .quick-actions {
    justify-content: flex-start;
    max-width: none;
  }
}

/* Gerarchia interna condivisa */
.management-page-head .quick-actions,
.page-dashboard .dashboard-section-actions,
.page-utenti .users-filter-actions,
.page-pratiche .filter-actions,
.page-activity_log .activity-filter-actions,
.page-comunicazioni :is(.email-form-actions, .email-log-selection-actions, .email-queue-actions),
.page-manutenzione :is(.maintenance-head-actions, .maintenance-form-actions, .maintenance-translation-actions),
.page-set .settings-actions,
.page-template_word .quick-actions,
.page-atti_modelli .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

:is(
  .page-pratiche,
  .page-utenti,
  .page-utente_dettaglio,
  .page-activity_log,
  .page-comunicazioni,
  .page-manutenzione,
  .page-stato_sistema,
  .page-set,
  .page-atti_modelli,
  .page-template_word
) :is(
  .table-meta,
  .users-directory-head,
  .activity-directory-head,
  .email-panel-head,
  .maintenance-section-head,
  .settings-section-head,
  .template-card-head,
  .user-detail-head
) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

:is(
  .page-pratiche,
  .page-utenti,
  .page-utente_dettaglio,
  .page-activity_log,
  .page-comunicazioni,
  .page-manutenzione,
  .page-stato_sistema,
  .page-set,
  .page-atti_modelli,
  .page-template_word
) :is(
  .table-meta,
  .users-directory-head,
  .activity-directory-head,
  .email-panel-head,
  .maintenance-section-head,
  .settings-section-head,
  .template-card-head,
  .user-detail-head
) > :is(div, span) {
  min-width: 0;
}

:is(
  .page-pratiche,
  .page-utenti,
  .page-utente_dettaglio,
  .page-activity_log,
  .page-comunicazioni,
  .page-manutenzione,
  .page-stato_sistema,
  .page-set,
  .page-atti_modelli,
  .page-template_word
) :is(
  .table-meta,
  .users-directory-head,
  .activity-directory-head,
  .email-panel-head,
  .maintenance-section-head,
  .settings-section-head,
  .template-card-head,
  .user-detail-head
) :is(h2, h3) {
  margin-top: 0;
  color: var(--af-premium-ink);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
}

:is(
  .page-pratiche,
  .page-utenti,
  .page-utente_dettaglio,
  .page-activity_log,
  .page-comunicazioni,
  .page-manutenzione,
  .page-stato_sistema,
  .page-set,
  .page-atti_modelli,
  .page-template_word
) :is(
  .table-meta,
  .users-directory-head,
  .activity-directory-head,
  .email-panel-head,
  .maintenance-section-head,
  .settings-section-head,
  .template-card-head,
  .user-detail-head
) p {
  color: var(--af-premium-muted);
  line-height: 1.45;
}

/* Moduli: etichette più leggibili e azioni sempre riconoscibili */
:is(
  .page-pratiche,
  .page-utenti,
  .page-utente_dettaglio,
  .page-activity_log,
  .page-comunicazioni,
  .page-manutenzione,
  .page-set,
  .page-cambio_password
) .form-grid > label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  color: #173b5d;
  font-weight: 800;
  line-height: 1.3;
}

:is(
  .page-pratiche,
  .page-utenti,
  .page-utente_dettaglio,
  .page-activity_log,
  .page-comunicazioni,
  .page-manutenzione,
  .page-set,
  .page-cambio_password
) .form-grid > label :is(small, .hint) {
  color: var(--af-premium-muted);
  font-weight: 650;
  line-height: 1.4;
}

.app-layout .content .btn.primary:not(:disabled) {
  border-color: var(--af-premium-accent);
  background: linear-gradient(135deg, var(--af-premium-accent), var(--blue-bright, #0878cf));
  box-shadow: 0 8px 18px rgba(7, 95, 174, .18);
}

.app-layout .content .btn:not(.primary):not(.warn):not(.danger) {
  border-color: var(--af-premium-line-strong);
  background-color: rgba(255, 255, 255, .92);
}

.app-layout .content .btn:disabled,
.app-layout .content button:disabled {
  cursor: not-allowed;
  opacity: .58;
  box-shadow: none !important;
  transform: none !important;
}

.app-layout .content :is(.status-pill, .badge, .management-chip, .email-log-count) {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 4px 9px;
  border: 1px solid rgba(145, 181, 207, .72);
  border-radius: 999px;
  line-height: 1.25;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

/* Dashboard: pannelli più leggibili senza alterare i contatori */
.page-dashboard :is(
  .dashboard-priority-section,
  .dashboard-practices-panel,
  .dashboard-system-panel,
  .user-practices-panel
) {
  border: 1px solid var(--af-premium-line) !important;
  background: linear-gradient(180deg, #fff 0%, #f8fbfd 100%) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-dashboard .dashboard-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

.page-dashboard .dashboard-section-head h2 {
  color: var(--af-premium-ink) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.page-dashboard :is(.dashboard-priority-item, .dashboard-system-link, .dashboard-housekeeping-status) {
  border-radius: 8px !important;
  border: 1px solid transparent;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

@media (hover: hover) {
  .page-dashboard :is(.dashboard-priority-item, .dashboard-system-link, .dashboard-housekeeping-status):hover {
    border-color: var(--af-premium-line);
    background-color: #f3f9fd !important;
    box-shadow: var(--af-premium-shadow-soft);
    transform: translateY(-1px);
  }
}

/* Utenti e dettaglio utenza */
.page-utenti .users-overview-item,
.page-utente_dettaglio .user-detail-kpi-grid > * {
  border-color: var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background: linear-gradient(180deg, #fff, #f7fafc) !important;
  box-shadow: var(--af-premium-shadow-soft) !important;
}

.page-utenti .user-directory-row {
  border: 1px solid rgba(174, 202, 222, .76) !important;
  border-radius: var(--af-premium-radius) !important;
  background: #fff;
  box-shadow: 0 4px 14px rgba(8, 47, 88, .04);
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

@media (hover: hover) {
  .page-utenti .user-directory-row:hover {
    border-color: var(--af-premium-line-strong) !important;
    background: #f8fbfe;
    box-shadow: 0 10px 24px rgba(8, 47, 88, .08);
    transform: translateY(-1px);
  }
}

.page-utenti .user-directory-avatar,
.page-utente_dettaglio .user-detail-profile-avatar {
  box-shadow: 0 8px 18px rgba(7, 95, 174, .16), inset 0 1px 0 rgba(255, 255, 255, .48);
}

.page-utente_dettaglio .user-detail-profile-hero {
  border: 1px solid var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background: linear-gradient(112deg, #d9ecfa 0%, #f3f8fc 58%, #fff 100%) !important;
  box-shadow: var(--af-premium-shadow-raised) !important;
}

.page-utente_dettaglio .user-detail-info-panel {
  border: 1px solid var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background: linear-gradient(180deg, #fff, #f9fbfd) !important;
  box-shadow: var(--af-premium-shadow-soft) !important;
}

/* Registro, pratiche e stato sistema */
.page-activity_log .activity-overview-item,
.page-pratiche .management-stat-item,
.page-stato_sistema .system-health-card {
  min-height: 104px;
}

.page-activity_log .activity-directory,
.page-pratiche .practices-management-panel,
.page-stato_sistema .system-health-board {
  overflow: clip;
  border: 1px solid var(--af-premium-line) !important;
  background: linear-gradient(180deg, #fff, #f9fbfd) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-stato_sistema .system-detail-card {
  overflow: clip;
}

.page-stato_sistema .system-detail-summary {
  min-height: 68px;
  padding: 16px 18px;
  transition: background-color .16s ease;
}

.page-stato_sistema .system-detail-card[open] .system-detail-summary {
  background: linear-gradient(180deg, #edf6fc, #f7fbfe);
  border-bottom: 1px solid var(--af-premium-line);
}

/* E-mail: priorità visiva e azioni meno disperse */
.page-comunicazioni .communications-card,
.page-comunicazioni :is(.email-compose-card, .email-queue-panel, .email-log-panel) {
  border: 1px solid var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background: linear-gradient(180deg, #fff, #f9fbfd) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-comunicazioni .email-panel-icon {
  border: 1px solid rgba(145, 181, 207, .7);
  box-shadow: 0 6px 14px rgba(7, 95, 174, .11);
}

.page-comunicazioni .email-log-filters {
  border: 1px solid var(--af-premium-line);
  border-radius: var(--af-premium-radius);
  background: var(--af-premium-surface-soft);
  box-shadow: var(--af-premium-shadow-soft);
}

/* Manutenzione: distinguere stato, controllo e azione */
.page-manutenzione .maintenance-section-head {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(174, 202, 222, .72);
}

.page-manutenzione .maintenance-action-row,
.page-manutenzione .maintenance-attention-item {
  border: 1px solid rgba(174, 202, 222, .74);
  border-radius: var(--af-premium-radius) !important;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 3px 12px rgba(8, 47, 88, .035);
}

.page-manutenzione .maintenance-action-row.is-ok {
  border-left: 4px solid #20845d;
}

.page-manutenzione .maintenance-action-row.is-warning {
  border-left: 4px solid #b7791f;
}

/* Impostazioni e modelli */
.page-set .settings-workspace {
  overflow: clip;
  border: 1px solid var(--af-premium-line) !important;
  background: #fff !important;
  box-shadow: var(--af-premium-shadow-raised) !important;
}

.page-set .settings-section {
  padding-block: 24px;
}

.page-set .settings-section + .settings-section {
  border-top: 1px solid rgba(174, 202, 222, .7);
}

.page-set .settings-section-head {
  margin-bottom: 18px;
}

.page-set .settings-actions {
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid var(--af-premium-line);
}

.page-template_word .template-card,
.page-atti_modelli .acts-library-card {
  border: 1px solid var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background: linear-gradient(180deg, #fff, #f8fbfd) !important;
  box-shadow: var(--af-premium-shadow-soft) !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

@media (hover: hover) {
  .page-template_word .template-card:hover,
  .page-atti_modelli .acts-library-card:hover {
    border-color: var(--af-premium-line-strong) !important;
    box-shadow: 0 12px 28px rgba(8, 47, 88, .09) !important;
    transform: translateY(-1px);
  }
}

/* Schermate concentrate */
.page-cambio_password .password-change-panel,
.page-logout .logout-panel {
  width: min(100%, 680px);
  margin-inline: auto;
  border: 1px solid var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background: linear-gradient(180deg, #fff, #f7fafc) !important;
  box-shadow: var(--af-premium-shadow-raised) !important;
}

@media (max-width: 760px) {
  :is(
    .page-pratiche,
    .page-utenti,
    .page-utente_dettaglio,
    .page-activity_log,
    .page-comunicazioni,
    .page-manutenzione,
    .page-stato_sistema,
    .page-set,
    .page-atti_modelli,
    .page-template_word
  ) :is(
    .table-meta,
    .users-directory-head,
    .activity-directory-head,
    .email-panel-head,
    .maintenance-section-head,
    .settings-section-head,
    .template-card-head,
    .user-detail-head
  ) {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .page-dashboard .dashboard-section-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .page-set .settings-actions,
  .page-comunicazioni .email-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-set .settings-actions .btn,
  .page-comunicazioni .email-form-actions .btn,
  .page-cambio_password .actions .btn,
  .page-logout .logout-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 1800px) {
  .app-layout .content > :is(
    .management-page-head,
    .management-panel,
    .dashboard-command-center,
    .dashboard-metric-grid,
    .dashboard-main-grid,
    .operator-summary-card,
    .users-overview,
    .users-directory,
    .email-overview-grid,
    .communications-card,
    .maintenance-menu-grid,
    .maintenance-section,
    .system-health-board,
    .settings-workspace
  ) {
    width: min(100%, 1480px);
    margin-left: auto;
    margin-right: auto;
  }
}

/* Protezioni di layout comuni a tutte le schermate applicative */
.app-layout,
.app-layout .main-area,
.app-layout .content,
.app-layout .content > *,
.app-layout .content :is(
  .form-grid,
  .management-panel,
  .card,
  .panel,
  .table-wrap,
  .actions,
  .quick-actions,
  details,
  summary
) {
  min-width: 0;
}

.app-layout .content :is(img, video, canvas, svg) {
  max-width: 100%;
}

.app-layout .content :is(.table-wrap, .activity-table-wrap, .email-log-table-wrap) {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.app-layout .content :is(p, small, dd, td, th, label, .status-pill, .badge) {
  overflow-wrap: break-word;
  word-break: normal;
}

.app-layout .content :is(details > summary, button, .btn, [role="button"]) {
  touch-action: manipulation;
}

.app-layout .content details > summary {
  cursor: pointer;
}

.app-layout .content [aria-current="page"],
.app-layout .content [aria-selected="true"] {
  text-decoration: none;
}

/* Atti Operativi e R.F.T. restano distinti, ma condividono profondità e focus */
.page-dpl :is(.dpl-workspace-shell, .dpl-start-hero, .dpl-page-head),
.page-rft :is(.rft-stage, .rft-list-manager, .rft-recent, .rft-finalized-banner) {
  border-color: var(--af-premium-line) !important;
  box-shadow: var(--af-premium-shadow) !important;
}

.page-dpl :is(.adaptive-section, .adempimento-card, .atto-card),
.page-rft :is(.rft-record-row, .rft-intervention-card, .rft-schema-group) {
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}

@media (hover: hover) {
  .page-dpl :is(.adaptive-section, .adempimento-card, .atto-card):hover,
  .page-rft :is(.rft-record-row, .rft-intervention-card):hover {
    border-color: var(--af-premium-line-strong) !important;
    box-shadow: var(--af-premium-shadow-soft) !important;
  }
}

/* Manutenzione straordinaria */
.page-manutenzione_attiva .content {
  display: grid;
  min-height: calc(100dvh - 84px);
  place-items: center;
  padding: 24px;
}

.page-manutenzione_attiva .maintenance-lock-page {
  width: min(100%, 820px);
}

.page-manutenzione_attiva .maintenance-lock-card {
  overflow: hidden;
  border: 1px solid var(--af-premium-line) !important;
  border-radius: var(--af-premium-radius) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(247, 251, 254, .98)) !important;
  box-shadow: var(--af-premium-shadow-raised) !important;
}

.page-manutenzione_attiva .maintenance-lock-brand {
  border-bottom: 1px solid rgba(174, 202, 222, .62);
  background: linear-gradient(112deg, #d9ecfa, #f4f9fc 64%, #fff);
}

.page-manutenzione_attiva .maintenance-lock-brand img {
  width: min(190px, 60vw);
}

.page-manutenzione_attiva .maintenance-lock-message {
  color: var(--af-premium-muted);
  line-height: 1.55;
}

.page-manutenzione_attiva .maintenance-game {
  border: 1px solid var(--af-premium-line);
  border-radius: var(--af-premium-radius);
  background: #fff;
  box-shadow: var(--af-premium-shadow-soft);
}

.page-manutenzione_attiva .maintenance-game-head h1 {
  color: var(--af-premium-ink);
  letter-spacing: 0;
}

.page-manutenzione_attiva .maintenance-game-pad {
  border-radius: var(--af-premium-radius) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 7px 16px rgba(8, 47, 88, .1);
}

.page-manutenzione_attiva .maintenance-lock-exit {
  display: flex;
  justify-content: center;
}

@media (max-width: 700px) {
  .app-layout .content {
    overflow-x: clip;
  }

  .app-layout .content :is(.actions, .quick-actions) {
    max-width: 100%;
  }

  .app-layout .content :is(.actions, .quick-actions) > * {
    min-width: 0;
  }

  .page-manutenzione_attiva .content {
    min-height: calc(100dvh - 68px);
    padding: 72px 14px 18px;
  }

  .page-manutenzione_attiva .maintenance-lock-card {
    width: 100%;
  }

  .page-manutenzione_attiva .maintenance-game-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ============================================================
 * Passo grafico 2.16.57 — densità uniforme, topbar quieta, liste
 * ============================================================ */

/* 1) Header gestionali: stessa altezza e ritmo ovunque */
.management-page-head,
.page-comunicazioni .email-page-head,
.page-manutenzione .maintenance-page-head,
.page-utenti .users-page-head,
.page-pratiche .management-page-head,
.page-activity_log .management-page-head,
.page-stato_sistema .management-page-head,
.page-atti_modelli .management-page-head,
.page-template_word .management-page-head,
.page-set .management-page-head {
  min-height: 96px !important;
  margin-bottom: 16px !important;
  padding: 18px 22px !important;
  gap: 14px !important;
}

.management-page-head h1,
.page-comunicazioni .email-page-head h1,
.page-manutenzione .maintenance-page-head h1,
.page-utenti .users-page-head h1,
.page-pratiche .management-page-head h1 {
  margin: 2px 0 4px !important;
  font-size: clamp(1.28rem, 2vw, 1.55rem) !important;
  line-height: 1.22 !important;
}

.management-page-head p,
.page-comunicazioni .email-page-head p,
.page-manutenzione .maintenance-page-head p,
.page-utenti .users-page-head p,
.page-pratiche .management-page-head p {
  margin: 0 !important;
  max-width: 54ch;
  color: var(--af-premium-muted) !important;
  font-size: .86rem !important;
  line-height: 1.45 !important;
}

/* 2) Topbar: meno competizione col contenuto della pagina */
.app-layout .topbar-action:not(.primary) {
  min-height: 36px;
  padding: 6px 10px;
  border-color: rgba(174, 202, 222, .85);
  background: rgba(255, 255, 255, .88);
  color: var(--af-premium-muted);
  font-size: .74rem;
  font-weight: 700;
  box-shadow: none;
}

.app-layout .topbar-action:not(.primary):hover {
  border-color: var(--af-premium-line-strong);
  background: #f5faff;
  color: var(--af-premium-ink);
}

.app-layout .topbar-action.primary {
  min-height: 36px;
  padding: 6px 12px;
  font-size: .76rem;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(7, 95, 174, .16);
}

/* Su pagine gestionali/admin la CTA topbar resta secondaria: il contenuto ha già le azioni */
.page-pratiche .topbar-action.primary,
.page-utenti .topbar-action.primary,
.page-comunicazioni .topbar-action.primary,
.page-manutenzione .topbar-action.primary,
.page-activity_log .topbar-action.primary,
.page-stato_sistema .topbar-action.primary,
.page-set .topbar-action.primary,
.page-dashboard .topbar-action.primary {
  border-color: var(--af-premium-line) !important;
  background: #fff !important;
  color: var(--af-premium-ink) !important;
  box-shadow: none !important;
}

.page-pratiche .topbar-action.primary:hover,
.page-utenti .topbar-action.primary:hover,
.page-comunicazioni .topbar-action.primary:hover,
.page-manutenzione .topbar-action.primary:hover,
.page-activity_log .topbar-action.primary:hover,
.page-stato_sistema .topbar-action.primary:hover,
.page-set .topbar-action.primary:hover,
.page-dashboard .topbar-action.primary:hover {
  border-color: var(--af-premium-line-strong) !important;
  background: #f5faff !important;
  color: var(--af-premium-accent) !important;
}

/* Su Atti Operativi / RFT la CTA resta primaria (lavoro operativo) */
.page-dpl .topbar-action.primary,
.page-rft .topbar-action.primary {
  border-color: var(--af-premium-accent) !important;
  background: var(--af-premium-accent) !important;
  color: #fff !important;
}

/* 3) Densità KPI / liste: stesso ritmo Dashboard ↔ Pratiche ↔ Utenti */
.page-pratiche .management-stat-item,
.page-utenti .users-overview-item,
.page-activity_log .activity-overview-item,
.page-stato_sistema .system-health-card {
  min-height: 92px !important;
  padding: 14px 14px !important;
}

.page-pratiche .practices-management-panel,
.page-utenti .users-directory,
.page-utenti .users-management-card {
  padding: 16px 18px !important;
}

.page-pratiche .archive-toolbar,
.page-utenti .users-toolbar,
.page-utenti .users-filter-bar,
.page-pratiche .filters {
  margin-bottom: 12px !important;
  padding: 12px 14px !important;
  border-radius: var(--af-premium-radius) !important;
}

.page-pratiche tbody td,
.page-utenti tbody td,
.page-activity_log tbody td {
  padding-top: 11px !important;
  padding-bottom: 11px !important;
}

.page-utenti .user-directory-row {
  padding: 12px 14px !important;
  gap: 12px !important;
}

/* 4) Alert / banner: meno “strillo”, più coerenti */
.app-layout .content .alert,
.page-pratiche .retention-notice,
.page-manutenzione .maintenance-attention-panel {
  border-radius: var(--af-premium-radius) !important;
  box-shadow: var(--af-premium-shadow-soft) !important;
}

.page-pratiche .retention-notice {
  margin-bottom: 14px !important;
  padding: 11px 14px !important;
}

/* 5) Titolo topbar centrato più leggero, meno “barra densa” */
.app-layout .topbar-title {
  font-size: .95rem !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  color: var(--af-premium-ink) !important;
}

.app-layout .user-chip {
  border-color: rgba(174, 202, 222, .75);
  background: rgba(255, 255, 255, .92);
}

@media (max-width: 900px) {
  .management-page-head,
  .page-comunicazioni .email-page-head,
  .page-manutenzione .maintenance-page-head,
  .page-utenti .users-page-head {
    min-height: 0 !important;
    padding: 16px 16px !important;
  }
}

/* ============================================================
 * Rifinitura "bento card" (showcase) — solo bordo/ombra/hover.
 * Radius resta 8px (token invariato): niente riscrittura, solo
 * l'affordance di hover sulle card davvero cliccabili e la
 * barra di accento dove manca rispetto a pannelli gemelli.
 * Non tocca spaziature/densita del passo "5 priorita" 2.16.57.
 * ============================================================ */

:root {
  --af-premium-glow: radial-gradient(circle at 100% 0%, rgba(7, 95, 174, .07), transparent 72%);
}

/* Bagliore d'angolo, alla "bento", sulle sole card-tile cliccabili:
   KPI pratiche, KPI/card pratiche mobile, menu manutenzione, toggle atti */
.management-stat-item,
.page-pratiche .management-practice-row,
.page-manutenzione .maintenance-menu-card,
.page-atti_modelli .acts-library-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.management-stat-item::after,
.page-pratiche .management-practice-row::after,
.page-manutenzione .maintenance-menu-card::after,
.page-atti_modelli .acts-library-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 130px;
  height: 130px;
  background: var(--af-premium-glow);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

@media (hover: hover) {
  .management-stat-item:hover::after,
  .page-pratiche .management-practice-row:hover::after,
  .page-manutenzione .maintenance-menu-card:hover::after,
  .page-atti_modelli .acts-library-card:hover::after {
    opacity: 1;
  }

  /* Bordo che vira verso il blu piu saturo, come da showcase */
  .management-stat-item:hover,
  .page-manutenzione .maintenance-menu-card:hover,
  .page-atti_modelli .acts-library-card:hover {
    border-color: var(--af-premium-line-strong) !important;
  }
}

/* Gerarchia ombre: le tile riusano i token invece di valori dedicati */
.management-stat-item {
  box-shadow: var(--af-premium-shadow) !important;
}

.management-stat-item:hover {
  box-shadow: var(--af-premium-shadow-raised) !important;
}

.page-atti_modelli .acts-library-card:hover {
  box-shadow: var(--af-premium-shadow-raised) !important;
}

/* Barra di accento a sinistra: la vista tabellare di Pratiche gia la
   applica in hover (riga 568/707); la card mobile equivalente ne era priva */
.page-pratiche .management-practice-row {
  border-color: var(--af-premium-line) !important;
  box-shadow: var(--af-premium-shadow-soft) !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

@media (hover: hover) {
  .page-pratiche .management-practice-row:hover {
    border-color: var(--af-premium-line-strong) !important;
    box-shadow: var(--af-premium-shadow-raised), inset 3px 0 0 var(--af-premium-accent) !important;
    transform: translateY(-1px);
  }

  /* Riga utente: stessa barra di accento gia usata da activity-row/tbody */
  .page-utenti .user-directory-row:hover {
    box-shadow: 0 10px 24px rgba(8, 47, 88, .08), inset 3px 0 0 var(--af-premium-accent);
  }

  /* KPI dashboard: bordo coerente con le altre tile al passaggio del mouse */
  .page-dashboard .dashboard-metric:hover {
    border-color: var(--af-premium-line-strong) !important;
  }
}
