/*
================================================================================
  SOMMARIO
================================================================================

  1. VARIABILI CSS
     - Variabili tema principale
     - Variabili light mode
     - Variabili dark mode (media query)
     - Variabili dark mode (data-attribute)

  2. CARD STYLES
     - Stili base card
     - Card variants
     - List group in cards
     - Card image overlay

  3. TIPOGRAFIA
     - Font-face declarations
     - Dimensioni font responsive
     - Stili base html/body
     - Headings

  4. COMPONENTI UI
     - Buttons
     - Form signin
     - Navbar
     - Tables (responsive)

  5. UTILITIES
     - Altezze custom
     - Toast container
     - Spinner/Loading
     - Hoverable rows
     - Classi background

  6. ICONE
     - Icon Getrix Plus
     - Icon Getrix Business
     - Varianti dark mode

  7. RESPONSIVE
     - Desktop (min-width: 769px)
     - Mobile (max-width: 768px)

================================================================================
*/


/* ============================================================================
   1. VARIABILI CSS
   ========================================================================= */

/* --- Variabili tema principale e light mode --- */
:root {
  /* Colori brand */
  --brand: #dc3545;
  --white: #fff;
  
  /* Colori secondari */
  --secondary-light: #f9f9f9;
  --secondary: #efefef;
  --secondary-dark: #e6e6e6;
  --secondary-darker: #d3d3d3;
  --secondary-darkest: #b0b0b0;
  
  /* Colori primari */
  --primary: #007a91;
  --primary-dark: #0a9ad7;
  --primary-darker: #0e82b3;
  --primary-darkest: #125a79;
  
  /* Dimensioni layout */
  --width-sidebar: 16rem;
  --width-sidebar-closed: 3.2rem;
  
  /* Light mode colors */
  --bg-body: #f9f9f9;
  --bg-surface: #fff;
  --bg-card: #ffffff;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --border-color: #dee2e6;
  --shadow-color: rgba(0, 0, 0, 0.3);
  --hover-bg: #f8f9fa;
  
  /* Card specific */
  --card-bg: #ffffff;
  --card-border: #dee2e6;
  --card-header-bg: #f8f9fa;
  --card-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  --card-shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* --- Dark mode automatico (system preference) --- */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-body: #1a1a1a;
    --bg-surface: #2d2d2d;
    --bg-card: #2d2d2d;
    --text-primary: #e9ecef;
    --text-secondary: #adb5bd;
    --border-color: #495057;
    --shadow-color: rgba(0, 0, 0, 0.6);
    --hover-bg: #3a3a3a;
    
    /* Card specific dark mode */
    --card-bg: #2d2d2d;
    --card-border: #495057;
    --card-header-bg: #3a3a3a;
    --card-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    --card-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.5);
    
    /* Adjust colors */
    --primary: #0a9ad7;
    --primary-dark: #4db8e8;
    --secondary-light: #2d2d2d;
    --secondary: #3a3a3a;
    --secondary-dark: #495057;
  }
}

/* --- Dark mode manuale (data-bs-theme attribute) --- */
[data-bs-theme="dark"] {
  --bg-body: #1a1a1a;
  --bg-surface: #2d2d2d;
  --bg-card: #2d2d2d;
  --text-primary: #e9ecef;
  --text-secondary: #adb5bd;
  --border-color: #495057;
  --shadow-color: rgba(0, 0, 0, 0.6);
  --hover-bg: #3a3a3a;
  
  --card-bg: #2d2d2d;
  --card-border: #495057;
  --card-header-bg: #3a3a3a;
  --card-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  --card-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.5);
  
  --primary: #0a9ad7;
  --primary-dark: #4db8e8;
  --secondary-light: #2d2d2d;
  --secondary: #3a3a3a;
  --secondary-dark: #495057;
}


/* ============================================================================
   2. CARD STYLES
   ========================================================================= */


/* --- Alternare colori per div diretti --- */
.bg-odd > div:nth-child(odd) {
  background-color: var(--card-header-bg);
}


/* ============================================================================
   3. TIPOGRAFIA
   ========================================================================= */

/* --- Font-face declarations --- */
@font-face {
  font-family: UniCredit;
  src: url(/fonts/UniCredit-Regular.eot);
  src: url(/fonts/UniCredit-Regular.eot?#iefix) format("embedded-opentype"),
       url(/fonts/UniCredit-Regular.woff) format("woff"),
       url(/fonts/UniCredit-Regular.otf) format("opentype"),
       url(/fonts/UniCredit-Regular.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: UniCredit-Bold;
  src: url(/fonts/UniCredit-Bold.eot);
  src: url(/fonts/UniCredit-Bold.eot?#iefix) format("embedded-opentype"),
       url(/fonts/UniCredit-Bold.woff) format("woff"),
       url(/fonts/UniCredit-Bold.otf) format("opentype"),
       url(/fonts/UniCredit-Bold.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
}

/* --- Dimensioni font responsive --- */
html.font-size-small {
  font-size: 14px;
}

html.font-size-normal {
  font-size: 16px;
}

html.font-size-large {
  font-size: 18px;
}

/* Responsive - mantieni le proporzioni su schermi piccoli */
@media (max-width: 768px) {
  html.font-size-small {
    font-size: 13px;
  }
  
  html.font-size-normal {
    font-size: 15px;
  }
  
  html.font-size-large {
    font-size: 17px;
  }
}

/* --- Stili base html/body --- */
html,
body {
  height: 100%;
  background-color: var(--bg-body);
  color: var(--text-primary);
}

/* --- Headings --- */
h1, h2, h3, h4, h5, h6 {
  font-family: 'UniCredit-Bold';
  color: var(--text-primary);
}


/* ============================================================================
   4. COMPONENTI UI
   ========================================================================= */

/* --- Buttons --- */
.btn {
  font-family: 'UniCredit-Bold', 'Arial Narrow', Arial, sans-serif;
  min-width: 33.75px;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary-darker);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--primary-dark);
  border-color: var(--primary-darker);
}

/* --- Form signin --- */
.form-signin {
  width: 100%;
  max-width: 32rem;
  margin: auto;
}

/* --- Brand utility --- */
.brand {
  color: var(--brand);
}

/* --- Navbar --- */
.nav-link.active {
  border-bottom: 1px solid var(--primary);
}

/* --- Tables (hover effect desktop) --- */
@media (min-width: 769px) {
  tbody tr:hover {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    box-shadow: 0px 0px 5px var(--shadow-color);
    -webkit-box-shadow: 0px 0px 5px var(--shadow-color);
    -moz-box-shadow: 0px 0px 5px var(--shadow-color);
  }
}


/* ============================================================================
   5. UTILITIES
   ========================================================================= */

/* --- Altezze custom --- */
.boH-5 {
  height: 5rem;
}

.boH-20 {
  height: 20rem;
}

.boVH-100 {
  height: calc(100vh - 220px);
}

/* --- Toast container --- */
.toast-container-bottom-end {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 1rem;
  z-index: 9999;
}

/* --- Spinner/Loading overlay --- */
#spinner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(26, 26, 26, 0.75);
  z-index: 3040;
}

@media (prefers-color-scheme: dark) {
  #spinner {
    background: rgba(0, 0, 0, 0.85);
  }
}

[data-bs-theme="dark"] #spinner {
  background: rgba(0, 0, 0, 0.85);
}

/* --- Hoverable rows --- */
.hoverable-row:hover {
  background-color: var(--hover-bg);
  transition: background-color 0.2s ease-in-out;
  cursor: pointer;
}


/* ============================================================================
   6. ICONE
   ========================================================================= */

/* --- Icon Getrix Plus (light mode) --- */
.icon-getrix-plus {
  width: 36px;
  height: 36px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml,<svg width="24" height="30" viewBox="0 0 24 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2535_518)"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 0L4.39 7.87V5.03H0V14.16L23.17 4.4" fill="%234A91C9"/><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 10.0699L9.71 15.7299V20.1399L18.79 16.3699V24.2299C18.79 24.7799 18.41 25.1799 17.86 25.1799H5.33C4.84 25.1799 4.39 24.7299 4.39 24.1799V17.9399L0 19.8199C0 19.8199 0 24.0199 0 25.1999V25.2399V25.4899H0.01C0.16 27.6899 1.87 29.5699 4.38 29.5799H18.85C21.14 29.5799 23.17 27.6899 23.17 25.4899V10.0699Z" fill="%23333333"/></g><defs><clipPath id="clip0_2535_518"><rect width="23.17" height="29.58" fill="white"/></clipPath></defs></svg>');
}

/* Icon Getrix Plus (dark mode - system preference) */
@media (prefers-color-scheme: dark) {
  .icon-getrix-plus {
    background-image: url('data:image/svg+xml,<svg width="24" height="30" viewBox="0 0 24 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2535_518)"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 0L4.39 7.87V5.03H0V14.16L23.17 4.4" fill="%234A91C9"/><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 10.0699L9.71 15.7299V20.1399L18.79 16.3699V24.2299C18.79 24.7799 18.41 25.1799 17.86 25.1799H5.33C4.84 25.1799 4.39 24.7299 4.39 24.1799V17.9399L0 19.8199C0 19.8199 0 24.0199 0 25.1999V25.2399V25.4899H0.01C0.16 27.6899 1.87 29.5699 4.38 29.5799H18.85C21.14 29.5799 23.17 27.6899 23.17 25.4899V10.0699Z" fill="%23e9ecef"/></g><defs><clipPath id="clip0_2535_518"><rect width="23.17" height="29.58" fill="white"/></clipPath></defs></svg>');
  }
}

/* Icon Getrix Plus (dark mode - data attribute) */
[data-bs-theme="dark"] .icon-getrix-plus {
  background-image: url('data:image/svg+xml,<svg width="24" height="30" viewBox="0 0 24 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2535_518)"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 0L4.39 7.87V5.03H0V14.16L23.17 4.4" fill="%234A91C9"/><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 10.0699L9.71 15.7299V20.1399L18.79 16.3699V24.2299C18.79 24.7799 18.41 25.1799 17.86 25.1799H5.33C4.84 25.1799 4.39 24.7299 4.39 24.1799V17.9399L0 19.8199C0 19.8199 0 24.0199 0 25.1999V25.2399V25.4899H0.01C0.16 27.6899 1.87 29.5699 4.38 29.5799H18.85C21.14 29.5799 23.17 27.6899 23.17 25.4899V10.0699Z" fill="%23e9ecef"/></g><defs><clipPath id="clip0_2535_518"><rect width="23.17" height="29.58" fill="white"/></clipPath></defs></svg>');
}

/* --- Icon Getrix Business (light mode) --- */
.icon-getrix-business {
  width: 36px;
  height: 36px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml,<svg width="24" height="34" viewBox="0 0 24 34" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2535_518)"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 0L4.39 7.87V5.03H0V14.16L23.17 4.4" fill="%2300803E"/><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 10.0699L9.71 15.7299V20.1399L18.79 16.3699V24.2299C18.79 24.7799 18.41 25.1799 17.86 25.1799H5.33C4.84 25.1799 4.39 24.7299 4.39 24.1799V17.9399L0 19.8199C0 19.8199 0 24.0199 0 25.1999V25.2399V25.4899H0.01C0.16 27.6899 1.87 29.5699 4.38 29.5799H18.85C21.14 29.5799 23.17 27.6899 23.17 25.4899V10.0699Z" fill="%23333333"/></g><g clip-path="url(%23clip1_2535_518)"><path d="M0 32.0293H0.723214C1.00446 32.0293 1.21429 32.067 1.34821 32.1467C1.48214 32.2264 1.55357 32.348 1.55357 32.5157C1.55357 32.6247 1.52232 32.7169 1.46429 32.7966C1.40625 32.8763 1.32589 32.9224 1.22768 32.9475V32.9601C1.35714 32.9937 1.45089 33.044 1.50893 33.1194C1.56696 33.1949 1.59375 33.2914 1.59375 33.4088C1.59375 33.5849 1.52232 33.7232 1.38393 33.828C1.24554 33.9329 1.04911 33.979 0.808036 33.979H0V32.0293ZM0.558036 32.7756H0.727679C0.808036 32.7756 0.870536 32.7589 0.915179 32.7295C0.959821 32.7002 0.982143 32.654 0.982143 32.5911C0.982143 32.4821 0.892857 32.4276 0.71875 32.4276H0.5625V32.7756H0.558036ZM0.558036 33.1572V33.5639H0.754464C0.928571 33.5639 1.01786 33.4926 1.01786 33.3542C1.01786 33.2914 0.995536 33.241 0.946429 33.2033C0.901786 33.1698 0.830357 33.153 0.741071 33.153H0.553571L0.558036 33.1572Z" fill="%23333333"/><path d="M5.01787 32.0293V33.1991C5.01787 33.4549 4.94198 33.6519 4.78573 33.7903C4.62948 33.9287 4.41073 33.9999 4.12055 33.9999C3.83037 33.9999 3.62055 33.9329 3.46877 33.7945C3.31698 33.6603 3.24109 33.4633 3.24109 33.2075V32.0293H3.80359V33.1698C3.80359 33.3081 3.83037 33.4088 3.88395 33.4675C3.93752 33.5303 4.01787 33.5597 4.12502 33.5597C4.24109 33.5597 4.32145 33.5303 4.37502 33.4675C4.42859 33.4046 4.45091 33.3039 4.45091 33.1656V32.0293H5.00895H5.01787Z" fill="%23333333"/><path d="M8.1116 33.3836C8.1116 33.5052 8.08035 33.6101 8.01338 33.7065C7.94642 33.7987 7.85267 33.8742 7.73213 33.9245C7.60713 33.9748 7.46428 34.0042 7.2991 34.0042C7.16071 34.0042 7.04463 33.9958 6.95088 33.9748C6.85713 33.9581 6.75892 33.9245 6.66071 33.8784V33.4088C6.76785 33.4591 6.87946 33.501 6.99553 33.5304C7.1116 33.5597 7.21874 33.5723 7.31249 33.5723C7.39731 33.5723 7.45535 33.5597 7.49553 33.5304C7.53571 33.5052 7.55356 33.4675 7.55356 33.4256C7.55356 33.4004 7.54463 33.3753 7.53124 33.3543C7.51785 33.3333 7.49106 33.3124 7.45535 33.2956C7.41963 33.2788 7.33035 33.2327 7.17856 33.1698C7.04463 33.1111 6.94196 33.0566 6.87499 33.0021C6.80803 32.9476 6.75892 32.8847 6.72321 32.8176C6.68749 32.7505 6.6741 32.6625 6.6741 32.5702C6.6741 32.3899 6.74553 32.2516 6.88392 32.1509C7.02231 32.0503 7.21428 32 7.45535 32C7.66963 32 7.88838 32.0461 8.1116 32.1384L7.94196 32.5451C7.74999 32.4612 7.58035 32.4193 7.44196 32.4193C7.37053 32.4193 7.31696 32.4319 7.28124 32.457C7.24553 32.4822 7.23213 32.5115 7.23213 32.5451C7.23213 32.5828 7.25446 32.6164 7.29463 32.6457C7.33481 32.6751 7.45088 32.7296 7.63838 32.8092C7.81696 32.8847 7.94196 32.9644 8.00892 33.0524C8.08035 33.1405 8.1116 33.2495 8.1116 33.3795V33.3836Z" fill="%23333333"/><path d="M9.73663 33.9748V32.0293H10.2991V33.9748H9.73663Z" fill="%23333333"/><path d="M14.0223 33.9748H13.2902L12.5313 32.6037H12.5179C12.5357 32.8176 12.5447 32.9853 12.5447 33.0985V33.9748H12.0491V32.0293H12.7813L13.5357 33.3794H13.5447C13.5313 33.1823 13.5268 33.0272 13.5268 32.9056V32.0293H14.0268V33.9748H14.0223Z" fill="%23333333"/><path d="M17 33.9748H15.7723V32.0293H17V32.4528H16.3304V32.7589H16.9509V33.1823H16.3304V33.5513H17V33.979V33.9748Z" fill="%23333333"/><path d="M20.0223 33.3836C20.0223 33.5052 19.9911 33.6101 19.9241 33.7065C19.8571 33.7987 19.7634 33.8742 19.6428 33.9245C19.5178 33.9748 19.375 34.0042 19.2098 34.0042C19.0714 34.0042 18.9553 33.9958 18.8616 33.9748C18.7678 33.9581 18.6696 33.9245 18.5714 33.8784V33.4088C18.6786 33.4591 18.7902 33.501 18.9062 33.5304C19.0223 33.5597 19.1294 33.5723 19.2232 33.5723C19.308 33.5723 19.3661 33.5597 19.4062 33.5304C19.4464 33.5052 19.4643 33.4675 19.4643 33.4256C19.4643 33.4004 19.4553 33.3753 19.4419 33.3543C19.4286 33.3333 19.4018 33.3124 19.3661 33.2956C19.3303 33.2788 19.2411 33.2327 19.0893 33.1698C18.9553 33.1111 18.8527 33.0566 18.7857 33.0021C18.7187 32.9476 18.6696 32.8847 18.6339 32.8176C18.5982 32.7505 18.5848 32.6625 18.5848 32.5702C18.5848 32.3899 18.6562 32.2516 18.7946 32.1509C18.933 32.0503 19.125 32 19.3661 32C19.5803 32 19.7991 32.0461 20.0223 32.1384L19.8527 32.5451C19.6607 32.4612 19.4911 32.4193 19.3527 32.4193C19.2812 32.4193 19.2277 32.4319 19.1919 32.457C19.1562 32.4822 19.1428 32.5115 19.1428 32.5451C19.1428 32.5828 19.1652 32.6164 19.2053 32.6457C19.2455 32.6751 19.3616 32.7296 19.5491 32.8092C19.7277 32.8847 19.8527 32.9644 19.9196 33.0524C19.9911 33.1405 20.0223 33.2495 20.0223 33.3795V33.3836Z" fill="%23333333"/><path d="M23 33.3836C23 33.5052 22.9688 33.6101 22.9018 33.7065C22.8348 33.7987 22.7411 33.8742 22.6206 33.9245C22.4956 33.9748 22.3527 34.0042 22.1875 34.0042C22.0491 34.0042 21.9331 33.9958 21.8393 33.9748C21.7456 33.9581 21.6473 33.9245 21.5491 33.8784V33.4088C21.6563 33.4591 21.7679 33.501 21.884 33.5304C22 33.5597 22.1072 33.5723 22.2009 33.5723C22.2857 33.5723 22.3438 33.5597 22.384 33.5304C22.4241 33.5052 22.442 33.4675 22.442 33.4256C22.442 33.4004 22.4331 33.3753 22.4197 33.3543C22.4063 33.3333 22.3795 33.3124 22.3438 33.2956C22.3081 33.2788 22.2188 33.2327 22.067 33.1698C21.9331 33.1111 21.8304 33.0566 21.7634 33.0021C21.6965 32.9476 21.6473 32.8847 21.6116 32.8176C21.5759 32.7505 21.5625 32.6625 21.5625 32.5702C21.5625 32.3899 21.634 32.2516 21.7723 32.1509C21.9107 32.0503 22.1027 32 22.3438 32C22.5581 32 22.7768 32.0461 23 32.1384L22.8304 32.5451C22.6384 32.4612 22.4688 32.4193 22.3304 32.4193C22.259 32.4193 22.2054 32.4319 22.1697 32.457C22.134 32.4822 22.1206 32.5115 22.1206 32.5451C22.1206 32.5828 22.1429 32.6164 22.1831 32.6457C22.2232 32.6751 22.3393 32.7296 22.5268 32.8092C22.7054 32.8847 22.8304 32.9644 22.8973 33.0524C22.9688 33.1405 23 33.2495 23 33.3795V33.3836Z" fill="%23333333"/></g><defs><clipPath id="clip0_2535_518"><rect width="23.17" height="29.58" fill="white"/></clipPath><clipPath id="clip1_2535_518"><rect width="23" height="2" fill="white" transform="translate(0 32)"/></clipPath></defs></svg>');
}

/* Icon Getrix Business (dark mode - system preference) */
@media (prefers-color-scheme: dark) {
  .icon-getrix-business {
    background-image: url('data:image/svg+xml,<svg width="24" height="34" viewBox="0 0 24 34" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2535_518)"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 0L4.39 7.87V5.03H0V14.16L23.17 4.4" fill="%2300803E"/><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 10.0699L9.71 15.7299V20.1399L18.79 16.3699V24.2299C18.79 24.7799 18.41 25.1799 17.86 25.1799H5.33C4.84 25.1799 4.39 24.7299 4.39 24.1799V17.9399L0 19.8199C0 19.8199 0 24.0199 0 25.1999V25.2399V25.4899H0.01C0.16 27.6899 1.87 29.5699 4.38 29.5799H18.85C21.14 29.5799 23.17 27.6899 23.17 25.4899V10.0699Z" fill="%23e9ecef"/></g><g clip-path="url(%23clip1_2535_518)"><path d="M0 32.0293H0.723214C1.00446 32.0293 1.21429 32.067 1.34821 32.1467C1.48214 32.2264 1.55357 32.348 1.55357 32.5157C1.55357 32.6247 1.52232 32.7169 1.46429 32.7966C1.40625 32.8763 1.32589 32.9224 1.22768 32.9475V32.9601C1.35714 32.9937 1.45089 33.044 1.50893 33.1194C1.56696 33.1949 1.59375 33.2914 1.59375 33.4088C1.59375 33.5849 1.52232 33.7232 1.38393 33.828C1.24554 33.9329 1.04911 33.979 0.808036 33.979H0V32.0293ZM0.558036 32.7756H0.727679C0.808036 32.7756 0.870536 32.7589 0.915179 32.7295C0.959821 32.7002 0.982143 32.654 0.982143 32.5911C0.982143 32.4821 0.892857 32.4276 0.71875 32.4276H0.5625V32.7756H0.558036ZM0.558036 33.1572V33.5639H0.754464C0.928571 33.5639 1.01786 33.4926 1.01786 33.3542C1.01786 33.2914 0.995536 33.241 0.946429 33.2033C0.901786 33.1698 0.830357 33.153 0.741071 33.153H0.553571L0.558036 33.1572Z" fill="%23e9ecef"/><path d="M5.01787 32.0293V33.1991C5.01787 33.4549 4.94198 33.6519 4.78573 33.7903C4.62948 33.9287 4.41073 33.9999 4.12055 33.9999C3.83037 33.9999 3.62055 33.9329 3.46877 33.7945C3.31698 33.6603 3.24109 33.4633 3.24109 33.2075V32.0293H3.80359V33.1698C3.80359 33.3081 3.83037 33.4088 3.88395 33.4675C3.93752 33.5303 4.01787 33.5597 4.12502 33.5597C4.24109 33.5597 4.32145 33.5303 4.37502 33.4675C4.42859 33.4046 4.45091 33.3039 4.45091 33.1656V32.0293H5.00895H5.01787Z" fill="%23e9ecef"/><path d="M8.1116 33.3836C8.1116 33.5052 8.08035 33.6101 8.01338 33.7065C7.94642 33.7987 7.85267 33.8742 7.73213 33.9245C7.60713 33.9748 7.46428 34.0042 7.2991 34.0042C7.16071 34.0042 7.04463 33.9958 6.95088 33.9748C6.85713 33.9581 6.75892 33.9245 6.66071 33.8784V33.4088C6.76785 33.4591 6.87946 33.501 6.99553 33.5304C7.1116 33.5597 7.21874 33.5723 7.31249 33.5723C7.39731 33.5723 7.45535 33.5597 7.49553 33.5304C7.53571 33.5052 7.55356 33.4675 7.55356 33.4256C7.55356 33.4004 7.54463 33.3753 7.53124 33.3543C7.51785 33.3333 7.49106 33.3124 7.45535 33.2956C7.41963 33.2788 7.33035 33.2327 7.17856 33.1698C7.04463 33.1111 6.94196 33.0566 6.87499 33.0021C6.80803 32.9476 6.75892 32.8847 6.72321 32.8176C6.68749 32.7505 6.6741 32.6625 6.6741 32.5702C6.6741 32.3899 6.74553 32.2516 6.88392 32.1509C7.02231 32.0503 7.21428 32 7.45535 32C7.66963 32 7.88838 32.0461 8.1116 32.1384L7.94196 32.5451C7.74999 32.4612 7.58035 32.4193 7.44196 32.4193C7.37053 32.4193 7.31696 32.4319 7.28124 32.457C7.24553 32.4822 7.23213 32.5115 7.23213 32.5451C7.23213 32.5828 7.25446 32.6164 7.29463 32.6457C7.33481 32.6751 7.45088 32.7296 7.63838 32.8092C7.81696 32.8847 7.94196 32.9644 8.00892 33.0524C8.08035 33.1405 8.1116 33.2495 8.1116 33.3795V33.3836Z" fill="%23e9ecef"/><path d="M9.73663 33.9748V32.0293H10.2991V33.9748H9.73663Z" fill="%23e9ecef"/><path d="M14.0223 33.9748H13.2902L12.5313 32.6037H12.5179C12.5357 32.8176 12.5447 32.9853 12.5447 33.0985V33.9748H12.0491V32.0293H12.7813L13.5357 33.3794H13.5447C13.5313 33.1823 13.5268 33.0272 13.5268 32.9056V32.0293H14.0268V33.9748H14.0223Z" fill="%23e9ecef"/><path d="M17 33.9748H15.7723V32.0293H17V32.4528H16.3304V32.7589H16.9509V33.1823H16.3304V33.5513H17V33.979V33.9748Z" fill="%23e9ecef"/><path d="M20.0223 33.3836C20.0223 33.5052 19.9911 33.6101 19.9241 33.7065C19.8571 33.7987 19.7634 33.8742 19.6428 33.9245C19.5178 33.9748 19.375 34.0042 19.2098 34.0042C19.0714 34.0042 18.9553 33.9958 18.8616 33.9748C18.7678 33.9581 18.6696 33.9245 18.5714 33.8784V33.4088C18.6786 33.4591 18.7902 33.501 18.9062 33.5304C19.0223 33.5597 19.1294 33.5723 19.2232 33.5723C19.308 33.5723 19.3661 33.5597 19.4062 33.5304C19.4464 33.5052 19.4643 33.4675 19.4643 33.4256C19.4643 33.4004 19.4553 33.3753 19.4419 33.3543C19.4286 33.3333 19.4018 33.3124 19.3661 33.2956C19.3303 33.2788 19.2411 33.2327 19.0893 33.1698C18.9553 33.1111 18.8527 33.0566 18.7857 33.0021C18.7187 32.9476 18.6696 32.8847 18.6339 32.8176C18.5982 32.7505 18.5848 32.6625 18.5848 32.5702C18.5848 32.3899 18.6562 32.2516 18.7946 32.1509C18.933 32.0503 19.125 32 19.3661 32C19.5803 32 19.7991 32.0461 20.0223 32.1384L19.8527 32.5451C19.6607 32.4612 19.4911 32.4193 19.3527 32.4193C19.2812 32.4193 19.2277 32.4319 19.1919 32.457C19.1562 32.4822 19.1428 32.5115 19.1428 32.5451C19.1428 32.5828 19.1652 32.6164 19.2053 32.6457C19.2455 32.6751 19.3616 32.7296 19.5491 32.8092C19.7277 32.8847 19.8527 32.9644 19.9196 33.0524C19.9911 33.1405 20.0223 33.2495 20.0223 33.3795V33.3836Z" fill="%23e9ecef"/><path d="M23 33.3836C23 33.5052 22.9688 33.6101 22.9018 33.7065C22.8348 33.7987 22.7411 33.8742 22.6206 33.9245C22.4956 33.9748 22.3527 34.0042 22.1875 34.0042C22.0491 34.0042 21.9331 33.9958 21.8393 33.9748C21.7456 33.9581 21.6473 33.9245 21.5491 33.8784V33.4088C21.6563 33.4591 21.7679 33.501 21.884 33.5304C22 33.5597 22.1072 33.5723 22.2009 33.5723C22.2857 33.5723 22.3438 33.5597 22.384 33.5304C22.4241 33.5052 22.442 33.4675 22.442 33.4256C22.442 33.4004 22.4331 33.3753 22.4197 33.3543C22.4063 33.3333 22.3795 33.3124 22.3438 33.2956C22.3081 33.2788 22.2188 33.2327 22.067 33.1698C21.9331 33.1111 21.8304 33.0566 21.7634 33.0021C21.6965 32.9476 21.6473 32.8847 21.6116 32.8176C21.5759 32.7505 21.5625 32.6625 21.5625 32.5702C21.5625 32.3899 21.634 32.2516 21.7723 32.1509C21.9107 32.0503 22.1027 32 22.3438 32C22.5581 32 22.7768 32.0461 23 32.1384L22.8304 32.5451C22.6384 32.4612 22.4688 32.4193 22.3304 32.4193C22.259 32.4193 22.2054 32.4319 22.1697 32.457C22.134 32.4822 22.1206 32.5115 22.1206 32.5451C22.1206 32.5828 22.1429 32.6164 22.1831 32.6457C22.2232 32.6751 22.3393 32.7296 22.5268 32.8092C22.7054 32.8847 22.8304 32.9644 22.8973 33.0524C22.9688 33.1405 23 33.2495 23 33.3795V33.3836Z" fill="%23e9ecef"/></g><defs><clipPath id="clip0_2535_518"><rect width="23.17" height="29.58" fill="white"/></clipPath><clipPath id="clip1_2535_518"><rect width="23" height="2" fill="white" transform="translate(0 32)"/></clipPath></defs></svg>');
  }
}

/* Icon Getrix Business (dark mode - data attribute) */
[data-bs-theme="dark"] .icon-getrix-business {
  background-image: url('data:image/svg+xml,<svg width="24" height="34" viewBox="0 0 24 34" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2535_518)"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 0L4.39 7.87V5.03H0V14.16L23.17 4.4" fill="%2300803E"/><path fill-rule="evenodd" clip-rule="evenodd" d="M23.17 10.0699L9.71 15.7299V20.1399L18.79 16.3699V24.2299C18.79 24.7799 18.41 25.1799 17.86 25.1799H5.33C4.84 25.1799 4.39 24.7299 4.39 24.1799V17.9399L0 19.8199C0 19.8199 0 24.0199 0 25.1999V25.2399V25.4899H0.01C0.16 27.6899 1.87 29.5699 4.38 29.5799H18.85C21.14 29.5799 23.17 27.6899 23.17 25.4899V10.0699Z" fill="%23e9ecef"/></g><g clip-path="url(%23clip1_2535_518)"><path d="M0 32.0293H0.723214C1.00446 32.0293 1.21429 32.067 1.34821 32.1467C1.48214 32.2264 1.55357 32.348 1.55357 32.5157C1.55357 32.6247 1.52232 32.7169 1.46429 32.7966C1.40625 32.8763 1.32589 32.9224 1.22768 32.9475V32.9601C1.35714 32.9937 1.45089 33.044 1.50893 33.1194C1.56696 33.1949 1.59375 33.2914 1.59375 33.4088C1.59375 33.5849 1.52232 33.7232 1.38393 33.828C1.24554 33.9329 1.04911 33.979 0.808036 33.979H0V32.0293ZM0.558036 32.7756H0.727679C0.808036 32.7756 0.870536 32.7589 0.915179 32.7295C0.959821 32.7002 0.982143 32.654 0.982143 32.5911C0.982143 32.4821 0.892857 32.4276 0.71875 32.4276H0.5625V32.7756H0.558036ZM0.558036 33.1572V33.5639H0.754464C0.928571 33.5639 1.01786 33.4926 1.01786 33.3542C1.01786 33.2914 0.995536 33.241 0.946429 33.2033C0.901786 33.1698 0.830357 33.153 0.741071 33.153H0.553571L0.558036 33.1572Z" fill="%23e9ecef"/><path d="M5.01787 32.0293V33.1991C5.01787 33.4549 4.94198 33.6519 4.78573 33.7903C4.62948 33.9287 4.41073 33.9999 4.12055 33.9999C3.83037 33.9999 3.62055 33.9329 3.46877 33.7945C3.31698 33.6603 3.24109 33.4633 3.24109 33.2075V32.0293H3.80359V33.1698C3.80359 33.3081 3.83037 33.4088 3.88395 33.4675C3.93752 33.5303 4.01787 33.5597 4.12502 33.5597C4.24109 33.5597 4.32145 33.5303 4.37502 33.4675C4.42859 33.4046 4.45091 33.3039 4.45091 33.1656V32.0293H5.00895H5.01787Z" fill="%23e9ecef"/><path d="M8.1116 33.3836C8.1116 33.5052 8.08035 33.6101 8.01338 33.7065C7.94642 33.7987 7.85267 33.8742 7.73213 33.9245C7.60713 33.9748 7.46428 34.0042 7.2991 34.0042C7.16071 34.0042 7.04463 33.9958 6.95088 33.9748C6.85713 33.9581 6.75892 33.9245 6.66071 33.8784V33.4088C6.76785 33.4591 6.87946 33.501 6.99553 33.5304C7.1116 33.5597 7.21874 33.5723 7.31249 33.5723C7.39731 33.5723 7.45535 33.5597 7.49553 33.5304C7.53571 33.5052 7.55356 33.4675 7.55356 33.4256C7.55356 33.4004 7.54463 33.3753 7.53124 33.3543C7.51785 33.3333 7.49106 33.3124 7.45535 33.2956C7.41963 33.2788 7.33035 33.2327 7.17856 33.1698C7.04463 33.1111 6.94196 33.0566 6.87499 33.0021C6.80803 32.9476 6.75892 32.8847 6.72321 32.8176C6.68749 32.7505 6.6741 32.6625 6.6741 32.5702C6.6741 32.3899 6.74553 32.2516 6.88392 32.1509C7.02231 32.0503 7.21428 32 7.45535 32C7.66963 32 7.88838 32.0461 8.1116 32.1384L7.94196 32.5451C7.74999 32.4612 7.58035 32.4193 7.44196 32.4193C7.37053 32.4193 7.31696 32.4319 7.28124 32.457C7.24553 32.4822 7.23213 32.5115 7.23213 32.5451C7.23213 32.5828 7.25446 32.6164 7.29463 32.6457C7.33481 32.6751 7.45088 32.7296 7.63838 32.8092C7.81696 32.8847 7.94196 32.9644 8.00892 33.0524C8.08035 33.1405 8.1116 33.2495 8.1116 33.3795V33.3836Z" fill="%23e9ecef"/><path d="M9.73663 33.9748V32.0293H10.2991V33.9748H9.73663Z" fill="%23e9ecef"/><path d="M14.0223 33.9748H13.2902L12.5313 32.6037H12.5179C12.5357 32.8176 12.5447 32.9853 12.5447 33.0985V33.9748H12.0491V32.0293H12.7813L13.5357 33.3794H13.5447C13.5313 33.1823 13.5268 33.0272 13.5268 32.9056V32.0293H14.0268V33.9748H14.0223Z" fill="%23e9ecef"/><path d="M17 33.9748H15.7723V32.0293H17V32.4528H16.3304V32.7589H16.9509V33.1823H16.3304V33.5513H17V33.979V33.9748Z" fill="%23e9ecef"/><path d="M20.0223 33.3836C20.0223 33.5052 19.9911 33.6101 19.9241 33.7065C19.8571 33.7987 19.7634 33.8742 19.6428 33.9245C19.5178 33.9748 19.375 34.0042 19.2098 34.0042C19.0714 34.0042 18.9553 33.9958 18.8616 33.9748C18.7678 33.9581 18.6696 33.9245 18.5714 33.8784V33.4088C18.6786 33.4591 18.7902 33.501 18.9062 33.5304C19.0223 33.5597 19.1294 33.5723 19.2232 33.5723C19.308 33.5723 19.3661 33.5597 19.4062 33.5304C19.4464 33.5052 19.4643 33.4675 19.4643 33.4256C19.4643 33.4004 19.4553 33.3753 19.4419 33.3543C19.4286 33.3333 19.4018 33.3124 19.3661 33.2956C19.3303 33.2788 19.2411 33.2327 19.0893 33.1698C18.9553 33.1111 18.8527 33.0566 18.7857 33.0021C18.7187 32.9476 18.6696 32.8847 18.6339 32.8176C18.5982 32.7505 18.5848 32.6625 18.5848 32.5702C18.5848 32.3899 18.6562 32.2516 18.7946 32.1509C18.933 32.0503 19.125 32 19.3661 32C19.5803 32 19.7991 32.0461 20.0223 32.1384L19.8527 32.5451C19.6607 32.4612 19.4911 32.4193 19.3527 32.4193C19.2812 32.4193 19.2277 32.4319 19.1919 32.457C19.1562 32.4822 19.1428 32.5115 19.1428 32.5451C19.1428 32.5828 19.1652 32.6164 19.2053 32.6457C19.2455 32.6751 19.3616 32.7296 19.5491 32.8092C19.7277 32.8847 19.8527 32.9644 19.9196 33.0524C19.9911 33.1405 20.0223 33.2495 20.0223 33.3795V33.3836Z" fill="%23e9ecef"/><path d="M23 33.3836C23 33.5052 22.9688 33.6101 22.9018 33.7065C22.8348 33.7987 22.7411 33.8742 22.6206 33.9245C22.4956 33.9748 22.3527 34.0042 22.1875 34.0042C22.0491 34.0042 21.9331 33.9958 21.8393 33.9748C21.7456 33.9581 21.6473 33.9245 21.5491 33.8784V33.4088C21.6563 33.4591 21.7679 33.501 21.884 33.5304C22 33.5597 22.1072 33.5723 22.2009 33.5723C22.2857 33.5723 22.3438 33.5597 22.384 33.5304C22.4241 33.5052 22.442 33.4675 22.442 33.4256C22.442 33.4004 22.4331 33.3753 22.4197 33.3543C22.4063 33.3333 22.3795 33.3124 22.3438 33.2956C22.3081 33.2788 22.2188 33.2327 22.067 33.1698C21.9331 33.1111 21.8304 33.0566 21.7634 33.0021C21.6965 32.9476 21.6473 32.8847 21.6116 32.8176C21.5759 32.7505 21.5625 32.6625 21.5625 32.5702C21.5625 32.3899 21.634 32.2516 21.7723 32.1509C21.9107 32.0503 22.1027 32 22.3438 32C22.5581 32 22.7768 32.0461 23 32.1384L22.8304 32.5451C22.6384 32.4612 22.4688 32.4193 22.3304 32.4193C22.259 32.4193 22.2054 32.4319 22.1697 32.457C22.134 32.4822 22.1206 32.5115 22.1206 32.5451C22.1206 32.5828 22.1429 32.6164 22.1831 32.6457C22.2232 32.6751 22.3393 32.7296 22.5268 32.8092C22.7054 32.8847 22.8304 32.9644 22.8973 33.0524C22.9688 33.1405 23 33.2495 23 33.3795V33.3836Z" fill="%23e9ecef"/></g><defs><clipPath id="clip0_2535_518"><rect width="23.17" height="29.58" fill="white"/></clipPath><clipPath id="clip1_2535_518"><rect width="23" height="2" fill="white" transform="translate(0 32)"/></clipPath></defs></svg>');
}


/* ============================================================================
   7. RESPONSIVE
   ========================================================================= */

/* --- Desktop: Tables responsive behavior --- */
@media (min-width: 769px) {
  tbody tr:hover {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    box-shadow: 0px 0px 5px var(--shadow-color);
    -webkit-box-shadow: 0px 0px 5px var(--shadow-color);
    -moz-box-shadow: 0px 0px 5px var(--shadow-color);
  }
}

/* --- Mobile: Tables card-style layout --- */
@media (max-width: 768px) {
  .table-responsive table,
  .table-responsive thead,
  .table-responsive tbody,
  .table-responsive th,
  .table-responsive td,
  .table-responsive tr {
    display: block;
    width: 100%;
  }

  .table-responsive thead {
    display: none;
  }

  .table-responsive tr {
    margin-bottom: 1rem;
    border-bottom: 2px solid var(--border-color);
  }

  .table-responsive td {
    position: relative;
    padding-left: 50%;
    text-align: left;
    border: none;
    border-bottom: 1px solid var(--border-color);
  }

  .table-responsive td::before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    width: 45%;
    padding-left: 1rem;
    font-weight: bold;
    white-space: nowrap;
  }

  .table-responsive td:last-child {
    padding-bottom: 1.5rem;
    padding-top: 20px;
    padding-left: 20px;
  }
}

/* --- Breakpoint SM: ≥576px (Small devices - landscape phones) --- */
@media (min-width: 576px) {
  .w-sm-0 { width: 0 !important; }
  .w-sm-25 { width: 25% !important; }
  .w-sm-50 { width: 50% !important; }
  .w-sm-75 { width: 75% !important; }
  .w-sm-100 { width: 100% !important; }
  .w-sm-auto { width: auto !important; }
  
  .w-sm-10 { width: 10% !important; }
  .w-sm-20 { width: 20% !important; }
  .w-sm-30 { width: 30% !important; }
  .w-sm-33 { width: 33.333333% !important; }
  .w-sm-40 { width: 40% !important; }
  .w-sm-60 { width: 60% !important; }
  .w-sm-66 { width: 66.666667% !important; }
  .w-sm-70 { width: 70% !important; }
  .w-sm-80 { width: 80% !important; }
  .w-sm-90 { width: 90% !important; }
}

/* --- Breakpoint MD: ≥768px (Medium devices - tablets) --- */
@media (min-width: 768px) {
  .w-md-0 { width: 0 !important; }
  .w-md-25 { width: 25% !important; }
  .w-md-50 { width: 50% !important; }
  .w-md-75 { width: 75% !important; }
  .w-md-100 { width: 100% !important; }
  .w-md-auto { width: auto !important; }
  
  .w-md-10 { width: 10% !important; }
  .w-md-20 { width: 20% !important; }
  .w-md-30 { width: 30% !important; }
  .w-md-33 { width: 33.333333% !important; }
  .w-md-40 { width: 40% !important; }
  .w-md-60 { width: 60% !important; }
  .w-md-66 { width: 66.666667% !important; }
  .w-md-70 { width: 70% !important; }
  .w-md-80 { width: 80% !important; }
  .w-md-90 { width: 90% !important; }
}

/* --- Breakpoint LG: ≥992px (Large devices - desktops) --- */
@media (min-width: 992px) {
  .w-lg-0 { width: 0 !important; }
  .w-lg-25 { width: 25% !important; }
  .w-lg-50 { width: 50% !important; }
  .w-lg-75 { width: 75% !important; }
  .w-lg-100 { width: 100% !important; }
  .w-lg-auto { width: auto !important; }
  
  .w-lg-10 { width: 10% !important; }
  .w-lg-20 { width: 20% !important; }
  .w-lg-30 { width: 30% !important; }
  .w-lg-33 { width: 33.333333% !important; }
  .w-lg-40 { width: 40% !important; }
  .w-lg-60 { width: 60% !important; }
  .w-lg-66 { width: 66.666667% !important; }
  .w-lg-70 { width: 70% !important; }
  .w-lg-80 { width: 80% !important; }
  .w-lg-90 { width: 90% !important; }
}

/* --- Breakpoint XL: ≥1200px (Extra large devices - large desktops) --- */
@media (min-width: 1200px) {
  .w-xl-0 { width: 0 !important; }
  .w-xl-25 { width: 25% !important; }
  .w-xl-50 { width: 50% !important; }
  .w-xl-75 { width: 75% !important; }
  .w-xl-100 { width: 100% !important; }
  .w-xl-auto { width: auto !important; }
  
  .w-xl-10 { width: 10% !important; }
  .w-xl-20 { width: 20% !important; }
  .w-xl-30 { width: 30% !important; }
  .w-xl-33 { width: 33.333333% !important; }
  .w-xl-40 { width: 40% !important; }
  .w-xl-60 { width: 60% !important; }
  .w-xl-66 { width: 66.666667% !important; }
  .w-xl-70 { width: 70% !important; }
  .w-xl-80 { width: 80% !important; }
  .w-xl-90 { width: 90% !important; }
}

/* --- Breakpoint XXL: ≥1400px (Extra extra large devices) --- */
@media (min-width: 1400px) {
  .w-xxl-0 { width: 0 !important; }
  .w-xxl-25 { width: 25% !important; }
  .w-xxl-50 { width: 50% !important; }
  .w-xxl-75 { width: 75% !important; }
  .w-xxl-100 { width: 100% !important; }
  .w-xxl-auto { width: auto !important; }
  
  .w-xxl-10 { width: 10% !important; }
  .w-xxl-20 { width: 20% !important; }
  .w-xxl-30 { width: 30% !important; }
  .w-xxl-33 { width: 33.333333% !important; }
  .w-xxl-40 { width: 40% !important; }
  .w-xxl-60 { width: 60% !important; }
  .w-xxl-66 { width: 66.666667% !important; }
  .w-xxl-70 { width: 70% !important; }
  .w-xxl-80 { width: 80% !important; }
  .w-xxl-90 { width: 90% !important; }
}

/* --- Larghezze minime responsive --- */
.min-w-0 { min-width: 0 !important; }
.min-w-100 { min-width: 100% !important; }

@media (min-width: 576px) {
  .min-w-sm-0 { min-width: 0 !important; }
  .min-w-sm-100 { min-width: 100% !important; }
}

@media (min-width: 768px) {
  .min-w-md-0 { min-width: 0 !important; }
  .min-w-md-100 { min-width: 100% !important; }
}

@media (min-width: 992px) {
  .min-w-lg-0 { min-width: 0 !important; }
  .min-w-lg-100 { min-width: 100% !important; }
}

@media (min-width: 1200px) {
  .min-w-xl-0 { min-width: 0 !important; }
  .min-w-xl-100 { min-width: 100% !important; }
}

@media (min-width: 1400px) {
  .min-w-xxl-0 { min-width: 0 !important; }
  .min-w-xxl-100 { min-width: 100% !important; }
}

/* --- Larghezze massime responsive --- */
.max-w-100 { max-width: 100% !important; }

@media (min-width: 576px) {
  .max-w-sm-100 { max-width: 100% !important; }
}

@media (min-width: 768px) {
  .max-w-md-100 { max-width: 100% !important; }
}

@media (min-width: 992px) {
  .max-w-lg-100 { max-width: 100% !important; }
}

@media (min-width: 1200px) {
  .max-w-xl-100 { max-width: 100% !important; }
}

@media (min-width: 1400px) {
  .max-w-xxl-100 { max-width: 100% !important; }
}

/* --- Larghezze viewport (vw) --- */
.vw-25 { width: 25vw !important; }
.vw-50 { width: 50vw !important; }
.vw-75 { width: 75vw !important; }
.vw-100 { width: 100vw !important; }

/* --- Larghezze fisse comuni --- */
.w-px-100 { width: 100px !important; }
.w-px-150 { width: 150px !important; }
.w-px-200 { width: 200px !important; }
.w-px-250 { width: 250px !important; }
.w-px-300 { width: 300px !important; }
.w-px-400 { width: 400px !important; }
.w-px-500 { width: 500px !important; }

/* Larghezze fisse responsive */
@media (min-width: 768px) {
  .w-md-px-100 { width: 100px !important; }
  .w-md-px-150 { width: 150px !important; }
  .w-md-px-200 { width: 200px !important; }
  .w-md-px-250 { width: 250px !important; }
  .w-md-px-300 { width: 300px !important; }
  .w-md-px-400 { width: 400px !important; }
  .w-md-px-500 { width: 500px !important; }
}


/* ── Contenitori scrollabili ──────────────────── */
.scroll-container-sm {
    max-height: 220px;
    overflow-y: auto;
}

.scroll-container-md {
    max-height: 340px;
    overflow-y: auto;
}

.scroll-container-lg {
    max-height: 360px;
    overflow-y: auto;
}

/* ── Intestazioni tabella sticky ─────────────── */
.th-sticky {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

/* ── Layout tabella ───────────────────────────── */
.table-separate {
    border-collapse: separate;
    border-spacing: 0;
}

/* ── Badge testo piccolo ──────────────────────── */
.badge-xs {
    font-size: .6rem;
}

.icon-xs {
    font-size: .55rem;
    line-height: 1;
}

/* ── Varie ────────────────────────────────────── */
.text-nowrap-cell {
    white-space: nowrap;
}


/* Autorizzazioni partial */
.scroll-container-md {
    max-height: 340px;
    overflow-y: auto;
}

.th-sticky {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.table-separate {
    border-collapse: separate;
    border-spacing: 0;
}

.badge-xs {
    font-size: .6rem;
}

.icon-xs {
    font-size: .55rem;
    line-height: 1;
}

.text-nowrap-cell {
    white-space: nowrap;
}