/*Modifiche grafiche all'impaginato per ZeroPortal*/
@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 90% !important;
    }
}

.page-header {
    --page-header-padding-y: 0.5rem !important;
    --page-header-padding-x: 0rem !important;
}

.content {
    padding: var(--spacer) 0.50rem;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

body {
    background-color: #e6e7e8;
}

[data-color-theme=dark] body,
html[data-color-theme=dark] [data-color-theme] body {
    background-color: #121212;
}


/*Modifica per la grid di syncfusion*/
.e-grid .e-emptyrow td {
    text-wrap-mode: nowrap !important;
}


/*Riduce i padding interni delle tabelle di limitless*/
.table-xs {
    --table-cell-padding-y: 0.2rem !important;
    --table-cell-padding-x: 0.4rem !important;
}

.table-xs .colonna300 {
    max-width: 300px !important;
    overflow-wrap: break-word;
}

.table-xs td {
    font-size: 13px
}


/*Classe in stile targa dell'auto*/
.targa {
    font-size: 0.8rem;
    font-weight: bold;
    text-transform: uppercase;
    color: black;
    background-color: white;
    border-radius: 6px;
    padding: 4px 8px;
    margin: 4px 0;
    border: 1px solid black;
}

[data-color-theme=dark] .targa,
html[data-color-theme=dark] [data-color-theme] .targa
{
    color: white;
    background-color: black;
    border: 1px solid white;
}



/* VERSIONE CUSTOMIZZATA DEL CSS DEL PORTALE SOLO PER SAPIR CON KIT KRONOTECH */

/* ============================================================
   === SAPIR Kit overrides ===
   Override del tema Limitless 4 / Bootstrap 5 con la palette
   del mini kit grafico SAPIR (vedi _Claude/demo kit.html).
   Mappatura: primary=teal, secondary=primary-dark,
              success=green, warning=amber, danger=red kit.
   ============================================================ */

/* --- Variabili kit: light (default) --- */
:root {
    --sapir-primary:        #0097A7;
    --sapir-primary-dark:   #006978;
    --sapir-primary-bg:     #E0F7FA;
    --sapir-primary-border: #B2EBF2;

    --sapir-green:          #2E7D32;
    --sapir-green-bg:       #E8F5E9;
    --sapir-green-border:   #A5D6A7;

    --sapir-amber:          #E65100;
    --sapir-amber-bg:       #FFF3E0;
    --sapir-amber-border:   #F5E6D0;

    --sapir-danger:         #D32F2F;
    --sapir-danger-bg:      #FFEBEE;
    --sapir-danger-border:  #EF9A9A;

    --sapir-bg:             #F4F5F7;
    --sapir-surface:        #FFFFFF;
    --sapir-border:         #B2EBF2;
    --sapir-border-light:   #E0F7FA;

    --sapir-text:           #1A1A2E;
    --sapir-text-secondary: #555555;
    --sapir-text-muted:     #9099AB;
}

/* --- Variabili kit: dark --- */
[data-color-theme=dark],
html[data-color-theme=dark] [data-color-theme] {
    --sapir-primary:        #00ACC1;
    --sapir-primary-dark:   #00838F;
    --sapir-primary-bg:     #1A2A2E;
    --sapir-primary-border: #2A3E42;

    --sapir-green:          #66BB6A;
    --sapir-green-bg:       #1B3325;
    --sapir-green-border:   #2E5A3A;

    --sapir-amber:          #FFA726;
    --sapir-amber-bg:       #2A1F0A;
    --sapir-amber-border:   #4A3510;

    --sapir-danger:         #EF5350;
    --sapir-danger-bg:      #2A0F0E;
    --sapir-danger-border:  #4A1A18;

    --sapir-bg:             #121212;
    --sapir-surface:        #263238;
    --sapir-border:         #37474F;
    --sapir-border-light:   #263238;

    --sapir-text:           #E0E0E0;
    --sapir-text-secondary: #9E9E9E;
    --sapir-text-muted:     #5A6275;
}

/* --- Remap variabili base Limitless (prefisso senza `--bs-`) --- */
:root {
    --primary:       var(--sapir-primary);
    --primary-rgb:   0, 151, 167;
    --secondary:     var(--sapir-primary-dark);
    --secondary-rgb: 0, 105, 120;
    --success:       var(--sapir-green);
    --success-rgb:   46, 125, 50;
    --warning:       var(--sapir-amber);
    --warning-rgb:   230, 81, 0;
    --danger:        var(--sapir-danger);
    --danger-rgb:    211, 47, 47;
    --info:          var(--sapir-primary);
    --info-rgb:      0, 151, 167;

    --body-bg:       var(--sapir-bg);
    --body-color:    var(--sapir-text);
    --border-color:  var(--sapir-border);
}

[data-color-theme=dark],
html[data-color-theme=dark] [data-color-theme] {
    --primary:       var(--sapir-primary);
    --primary-rgb:   0, 172, 193;
    --secondary:     var(--sapir-primary-dark);
    --secondary-rgb: 0, 131, 143;
    --success:       var(--sapir-green);
    --success-rgb:   102, 187, 106;
    --warning:       var(--sapir-amber);
    --warning-rgb:   255, 167, 38;
    --danger:        var(--sapir-danger);
    --danger-rgb:    239, 83, 80;
    --info:          var(--sapir-primary);
    --info-rgb:      0, 172, 193;

    --body-bg:       var(--sapir-bg);
    --body-color:    var(--sapir-text);
    --border-color:  var(--sapir-border);
}

/* --- Body / sfondo pagina --- */
body {
    background-color: var(--sapir-bg) !important;
    color: var(--sapir-text);
}

[data-color-theme=dark] body,
html[data-color-theme=dark] [data-color-theme] body {
    background-color: var(--sapir-bg) !important;
    color: var(--sapir-text);
}

/* --- Header / Navbar principale --- */
.navbar.navbar-static {
    background-color: var(--sapir-primary) !important;
    color: #fff;
    border-color: var(--sapir-primary-dark);
}

.navbar.navbar-static .navbar-brand,
.navbar.navbar-static .nav-link,
.navbar.navbar-static .navbar-text {
    color: #fff !important;
}

.navbar.navbar-static .nav-link:hover,
.navbar.navbar-static .nav-link:focus {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* --- Card --- */
.card {
    background-color: var(--sapir-surface);
    border: 1px solid var(--sapir-border);
    border-radius: 12px;
}

.card-header {
    border-bottom-color: var(--sapir-border);
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.card-footer {
    border-top-color: var(--sapir-border);
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

[data-color-theme=dark] .card,
html[data-color-theme=dark] [data-color-theme] .card {
    background-color: var(--sapir-surface);
    border-color: var(--sapir-border);
}

/* --- Pulsanti: radius comune --- */
/* NB: Limitless usa le variabili `--btn-*` (non `--bs-btn-*`). */
.btn {
    --btn-border-radius: 10px;
}

/* Outline: bordo 2px come da kit */
.btn[class*="btn-outline-"] {
    --btn-border-width: 2px;
}

/* Primary */
.btn-primary {
    --btn-color: #fff;
    --btn-bg: var(--sapir-primary);
    --btn-border-color: var(--sapir-primary);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-primary-dark);
    --btn-hover-border-color: var(--sapir-primary-dark);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-primary-dark);
    --btn-active-border-color: var(--sapir-primary-dark);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: var(--sapir-primary);
    --btn-disabled-border-color: var(--sapir-primary);
    --btn-focus-shadow-rgb: 0, 151, 167;
}
.btn-outline-primary {
    --btn-color: var(--sapir-primary);
    --btn-bg: transparent;
    --btn-border-color: var(--sapir-primary);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-primary);
    --btn-hover-border-color: var(--sapir-primary);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-primary);
    --btn-active-border-color: var(--sapir-primary);
    --btn-disabled-color: var(--sapir-primary);
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: var(--sapir-primary);
    --btn-focus-shadow-rgb: 0, 151, 167;
}

/* Secondary (= primary dark) */
.btn-secondary {
    --btn-color: #fff;
    --btn-bg: var(--sapir-primary-dark);
    --btn-border-color: var(--sapir-primary-dark);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-primary);
    --btn-hover-border-color: var(--sapir-primary);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-primary);
    --btn-active-border-color: var(--sapir-primary);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: var(--sapir-primary-dark);
    --btn-disabled-border-color: var(--sapir-primary-dark);
    --btn-focus-shadow-rgb: 0, 105, 120;
}
.btn-outline-secondary {
    --btn-color: var(--sapir-primary-dark);
    --btn-bg: transparent;
    --btn-border-color: var(--sapir-primary-dark);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-primary-dark);
    --btn-hover-border-color: var(--sapir-primary-dark);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-primary-dark);
    --btn-active-border-color: var(--sapir-primary-dark);
    --btn-focus-shadow-rgb: 0, 105, 120;
}

/* Success */
.btn-success {
    --btn-color: #fff;
    --btn-bg: var(--sapir-green);
    --btn-border-color: var(--sapir-green);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-green);
    --btn-hover-border-color: var(--sapir-green);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-green);
    --btn-active-border-color: var(--sapir-green);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: var(--sapir-green);
    --btn-disabled-border-color: var(--sapir-green);
    --btn-focus-shadow-rgb: 46, 125, 50;
}
.btn-outline-success {
    --btn-color: var(--sapir-green);
    --btn-bg: transparent;
    --btn-border-color: var(--sapir-green);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-green);
    --btn-hover-border-color: var(--sapir-green);
    --btn-focus-shadow-rgb: 46, 125, 50;
}

/* Warning */
.btn-warning {
    --btn-color: #fff;
    --btn-bg: var(--sapir-amber);
    --btn-border-color: var(--sapir-amber);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-amber);
    --btn-hover-border-color: var(--sapir-amber);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-amber);
    --btn-active-border-color: var(--sapir-amber);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: var(--sapir-amber);
    --btn-disabled-border-color: var(--sapir-amber);
    --btn-focus-shadow-rgb: 230, 81, 0;
}
.btn-outline-warning {
    --btn-color: var(--sapir-amber);
    --btn-bg: transparent;
    --btn-border-color: var(--sapir-amber);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-amber);
    --btn-hover-border-color: var(--sapir-amber);
    --btn-focus-shadow-rgb: 230, 81, 0;
}

/* Danger */
.btn-danger {
    --btn-color: #fff;
    --btn-bg: var(--sapir-danger);
    --btn-border-color: var(--sapir-danger);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-danger);
    --btn-hover-border-color: var(--sapir-danger);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-danger);
    --btn-active-border-color: var(--sapir-danger);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: var(--sapir-danger);
    --btn-disabled-border-color: var(--sapir-danger);
    --btn-focus-shadow-rgb: 211, 47, 47;
}
.btn-outline-danger {
    --btn-color: var(--sapir-danger);
    --btn-bg: transparent;
    --btn-border-color: var(--sapir-danger);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-danger);
    --btn-hover-border-color: var(--sapir-danger);
    --btn-focus-shadow-rgb: 211, 47, 47;
}

/* Info (= primary teal) */
.btn-info {
    --btn-color: #fff;
    --btn-bg: var(--sapir-primary);
    --btn-border-color: var(--sapir-primary);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-primary-dark);
    --btn-hover-border-color: var(--sapir-primary-dark);
    --btn-active-color: #fff;
    --btn-active-bg: var(--sapir-primary-dark);
    --btn-active-border-color: var(--sapir-primary-dark);
    --btn-focus-shadow-rgb: 0, 151, 167;
}
.btn-outline-info {
    --btn-color: var(--sapir-primary);
    --btn-bg: transparent;
    --btn-border-color: var(--sapir-primary);
    --btn-hover-color: #fff;
    --btn-hover-bg: var(--sapir-primary);
    --btn-hover-border-color: var(--sapir-primary);
    --btn-focus-shadow-rgb: 0, 151, 167;
}

/* --- Badge: colori solidi --- */
.badge {
    border-radius: 4px;
}
.badge.bg-primary,
.badge.bg-info { background-color: var(--sapir-primary) !important; color: #fff !important; }
.badge.bg-secondary { background-color: var(--sapir-primary-dark) !important; color: #fff !important; }
.badge.bg-success { background-color: var(--sapir-green) !important; color: #fff !important; }
.badge.bg-warning { background-color: var(--sapir-amber) !important; color: #fff !important; }
.badge.bg-danger  { background-color: var(--sapir-danger) !important; color: #fff !important; }

/* --- Badge / chip soft (bg-opacity + text-*) stile kit --- */
.badge.bg-primary.bg-opacity-10,
.badge.bg-primary.bg-opacity-20,
.badge.bg-info.bg-opacity-10,
.badge.bg-info.bg-opacity-20,
.bg-primary.bg-opacity-10,
.bg-primary.bg-opacity-20 {
    background-color: var(--sapir-primary-bg) !important;
    color: var(--sapir-primary) !important;
    border: 1px solid var(--sapir-primary-border);
}

.badge.bg-success.bg-opacity-10,
.badge.bg-success.bg-opacity-20,
.bg-success.bg-opacity-10,
.bg-success.bg-opacity-20 {
    background-color: var(--sapir-green-bg) !important;
    color: var(--sapir-green) !important;
    border: 1px solid var(--sapir-green-border);
}

.badge.bg-warning.bg-opacity-10,
.badge.bg-warning.bg-opacity-20,
.bg-warning.bg-opacity-10,
.bg-warning.bg-opacity-20 {
    background-color: var(--sapir-amber-bg) !important;
    color: var(--sapir-amber) !important;
    border: 1px solid var(--sapir-amber-border);
}

.badge.bg-danger.bg-opacity-10,
.badge.bg-danger.bg-opacity-20,
.bg-danger.bg-opacity-10,
.bg-danger.bg-opacity-20 {
    background-color: var(--sapir-danger-bg) !important;
    color: var(--sapir-danger) !important;
    border: 1px solid var(--sapir-danger-border);
}

.badge.bg-secondary.bg-opacity-10,
.badge.bg-secondary.bg-opacity-20,
.bg-secondary.bg-opacity-10,
.bg-secondary.bg-opacity-20 {
    background-color: var(--sapir-primary-bg) !important;
    color: var(--sapir-primary-dark) !important;
    border: 1px solid var(--sapir-primary-border);
}

/* Badge pill = chip stile kit */
.badge.rounded-pill {
    border-radius: 20px;
    padding: 5px 14px;
    font-weight: 600;
}

/* --- Text utilities --- */
.text-primary { color: var(--sapir-primary) !important; }
.text-secondary { color: var(--sapir-primary-dark) !important; }
.text-success { color: var(--sapir-green) !important; }
.text-warning { color: var(--sapir-amber) !important; }
.text-danger  { color: var(--sapir-danger) !important; }
.text-info    { color: var(--sapir-primary) !important; }
.text-muted   { color: var(--sapir-text-muted) !important; }

[data-color-theme=dark] .text-primary,
html[data-color-theme=dark] [data-color-theme] .text-primary { color: var(--sapir-primary) !important; }
[data-color-theme=dark] .text-secondary,
html[data-color-theme=dark] [data-color-theme] .text-secondary { color: var(--sapir-primary-dark) !important; }
[data-color-theme=dark] .text-success,
html[data-color-theme=dark] [data-color-theme] .text-success { color: var(--sapir-green) !important; }
[data-color-theme=dark] .text-warning,
html[data-color-theme=dark] [data-color-theme] .text-warning { color: var(--sapir-amber) !important; }
[data-color-theme=dark] .text-danger,
html[data-color-theme=dark] [data-color-theme] .text-danger { color: var(--sapir-danger) !important; }
[data-color-theme=dark] .text-info,
html[data-color-theme=dark] [data-color-theme] .text-info { color: var(--sapir-primary) !important; }
[data-color-theme=dark] .text-muted,
html[data-color-theme=dark] [data-color-theme] .text-muted { color: var(--sapir-text-muted) !important; }

/* --- Form input/select: radius + focus teal --- */
.form-control,
.form-select {
    border-radius: 8px;
    border-color: var(--sapir-border);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--sapir-primary);
    box-shadow: 0 0 0 3px var(--sapir-primary-bg);
}

/* --- Border utilities semantiche --- */
.border-primary   { border-color: var(--sapir-primary) !important; }
.border-secondary { border-color: var(--sapir-primary-dark) !important; }
.border-success   { border-color: var(--sapir-green) !important; }
.border-warning   { border-color: var(--sapir-amber) !important; }
.border-danger    { border-color: var(--sapir-danger) !important; }
.border-info      { border-color: var(--sapir-primary) !important; }

.border-bottom-primary   { border-bottom-color: var(--sapir-primary) !important; }
.border-bottom-secondary { border-bottom-color: var(--sapir-primary-dark) !important; }
.border-bottom-success   { border-bottom-color: var(--sapir-green) !important; }
.border-bottom-warning   { border-bottom-color: var(--sapir-amber) !important; }
.border-bottom-danger    { border-bottom-color: var(--sapir-danger) !important; }

