/* ==========================================================================\n   SAFETYGEST360 VISUAL ADAPTER - GIUMS\n   Pure styling layer. No structural/JS behaviour changes.\n   Preserves SB Admin 2 sidebar collapsed/expanded/mobile mechanics.\n   ========================================================================== */

:root {
    --sg-dark: #050608;
    --sg-panel: #111722;
    --sg-panel-2: #182232;
    --sg-panel-3: #202b3a;
    --sg-blue: #009ee3;
    --sg-blue-dark: #004b93;
    --sg-orange: #ff8a00;
    --sg-yellow: #ffcc00;
    --sg-white: #ffffff;
    --sg-text: #e8f0f8;
    --sg-muted: #9aa7b8;
    --sg-border: rgba(255,255,255,.12);
    --sg-border-strong: rgba(255,255,255,.20);
    --sg-shadow: 0 20px 55px rgba(0,0,0,.38);
    --sg-shadow-soft: 0 12px 34px rgba(0,0,0,.24);
}

/* ------------------------------ Base ------------------------------------- */
html { font-size: 16px; }

body,
body.vertical-layout,
body.blank-page {
    min-height: 100vh;
    color: var(--sg-text) !important;
    background:
        radial-gradient(circle at top left, rgba(0,158,227,.20), transparent 30rem),
        radial-gradient(circle at top right, rgba(255,138,0,.14), transparent 26rem),
        var(--sg-dark) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body,
button,
input,
select,
textarea,
.btn,
.form-control,
.custom-select,
.table,
.dropdown-menu,
.modal-content,
.dataTables_wrapper,
.fc {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

a { color: var(--sg-blue); }
a:hover { color: #3fc1f3; text-decoration: none; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--sg-white) !important;
    font-weight: 850;
}

.text-muted,
.text-gray-400,
.text-gray-500,
.text-gray-600,
.text-gray-700,
.text-gray-800,
.text-gray-900 {
    color: var(--sg-muted) !important;
}

hr { border-top-color: var(--sg-border) !important; }

#wrapper,
#content-wrapper,
#content,
.app-content,
.content-wrapper,
.content-body {
    background: transparent !important;
    color: var(--sg-text) !important;
}

#content-wrapper {
    min-width: 0;
    min-height: 100vh;
}

.container-fluid { color: var(--sg-text); }

/* ------------------------------ Sidebar ---------------------------------- */
/* IMPORTANT: width/toggled/position rules are intentionally not changed. */
#accordionSidebar,
.sidebar,
.sidebar.sidebar-dark,
.sidebar.bg-gradient-primary,
.bg-gradient-primary.sidebar {
    background: rgba(5,6,8,.96) !important;
    background-image: none !important;
    border-right: 1px solid var(--sg-border) !important;
    box-shadow: 10px 0 38px rgba(0,0,0,.22);
    color: var(--sg-white) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.sidebar .sidebar-brand {
    color: var(--sg-white) !important;
    border-bottom: 1px solid var(--sg-border);
}

.sidebar .sidebar-brand .sidebar-brand-text {
    color: var(--sg-white) !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.sidebar hr.sidebar-divider {
    border-top: 1px solid var(--sg-border) !important;
}

.sidebar .sidebar-heading {
    color: var(--sg-muted) !important;
    font-weight: 900 !important;
    letter-spacing: .11em;
}

.sidebar .nav-item .nav-link {
    color: #d8e7f5 !important;
    border-radius: 14px;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
    font-weight: 720;
}

.sidebar .nav-item .nav-link i {
    color: var(--sg-yellow) !important;
    opacity: .94;
}

.sidebar .nav-item .nav-link:hover,
.sidebar .nav-item .nav-link:focus,
.sidebar .nav-item.active .nav-link {
    color: var(--sg-white) !important;
    background: linear-gradient(135deg, rgba(0,158,227,.23), rgba(255,138,0,.17)) !important;
}

@media (min-width: 768px) {
    .sidebar:not(.toggled) .nav-item .nav-link:hover { transform: translateX(2px); }
}

.sidebar .nav-item .nav-link[data-toggle="collapse"]::after {
    color: var(--sg-muted) !important;
}

.sidebar .nav-item .collapse .collapse-inner,
.sidebar .nav-item .collapsing .collapse-inner,
.sidebar-submenu-mobile-popover .collapse-inner {
    background: rgba(17,23,34,.985) !important;
    color: var(--sg-text) !important;
    border: 1px solid var(--sg-border) !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

.sidebar .nav-item .collapse .collapse-inner .collapse-header,
.sidebar .nav-item .collapsing .collapse-inner .collapse-header {
    color: var(--sg-muted) !important;
}

.sidebar .nav-item .collapse .collapse-inner .collapse-item,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item,
.sidebar-submenu-mobile-popover .collapse-item {
    color: #d8e7f5 !important;
    background: transparent !important;
    border-radius: 10px !important;
}

.sidebar .nav-item .collapse .collapse-inner .collapse-item i,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item i,
.sidebar-submenu-mobile-popover .collapse-item i {
    color: var(--sg-yellow) !important;
}

.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover,
.sidebar .nav-item .collapse .collapse-inner .collapse-item.active,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item.active,
.sidebar-submenu-mobile-popover .collapse-item:hover,
.sidebar-submenu-mobile-popover .collapse-item:focus {
    color: var(--sg-white) !important;
    background: rgba(0,158,227,.17) !important;
}

.sidebar #sidebarToggle {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid var(--sg-border);
}

.sidebar #sidebarToggle:hover { background: rgba(0,158,227,.22) !important; }

/* Collapsed sidebar remains collapsed: only visual treatment. */
.sidebar.toggled .nav-item .nav-link {
    color: #d8e7f5 !important;
}
.sidebar.toggled .nav-item .nav-link:hover {
    background: linear-gradient(135deg, rgba(0,158,227,.23), rgba(255,138,0,.17)) !important;
}

/* ------------------------------ Topbar ----------------------------------- */
.topbar,
.navbar.topbar,
.topbar.bg-white {
    min-height: 5.5rem;
    height: auto;
    color: var(--sg-text) !important;
    background: rgba(5,6,8,.72) !important;
    border-bottom: 1px solid var(--sg-border) !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.topbar #sidebarToggleTop {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.075) !important;
    border: 1px solid var(--sg-border) !important;
    box-shadow: none !important;
}

.topbar #sidebarToggleTop:hover,
.topbar #sidebarToggleTop:active {
    color: var(--sg-white) !important;
    background: rgba(0,158,227,.20) !important;
}

.topbar .topbar-divider { border-right-color: var(--sg-border) !important; }

.topbar .nav-item .nav-link,
.topbar.navbar-light .navbar-nav .nav-item .nav-link {
    color: #d8e7f5 !important;
}

.topbar .nav-item .nav-link:hover { color: var(--sg-white) !important; }

.topbar .img-profile {
    border: 2px solid rgba(255,204,0,.72);
    background: #fff;
}

/* ------------------------------ Dropdowns ------------------------------- */
.dropdown-menu,
.topbar .dropdown .dropdown-menu {
    color: var(--sg-text) !important;
    background: rgba(17,23,34,.99) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 14px !important;
    box-shadow: var(--sg-shadow) !important;
}

.dropdown-item { color: #d8e7f5 !important; }
.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--sg-white) !important;
    background: rgba(0,158,227,.16) !important;
}
.dropdown-divider { border-top-color: var(--sg-border) !important; }
.dropdown-header { color: var(--sg-muted) !important; }

/* ------------------------------ Content --------------------------------- */
#content .container-fluid > .d-sm-flex h1,
#content .container-fluid > .d-flex h1,
#content h1.h3,
.content-body h1,
.content-body h2,
.content-body h3 {
    color: var(--sg-white) !important;
}

.card,
.stats-card,
.bento-box,
.slate-box {
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.02)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

.card-header,
.card-footer {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.025) !important;
    border-color: var(--sg-border) !important;
}

.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6,
.card-header strong,
.card-title {
    color: var(--sg-white) !important;
    font-weight: 850 !important;
}

.card-body { color: var(--sg-text) !important; }

.shadow,
.shadow-sm,
.shadow-lg { box-shadow: var(--sg-shadow-soft) !important; }

/* ------------------------------ Forms ----------------------------------- */
.form-control,
.custom-select,
select.form-control,
textarea.form-control,
input.form-control,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    color: var(--sg-white) !important;
    background-color: rgba(255,255,255,.065) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 11px !important;
}

.form-control:focus,
.custom-select:focus,
select.form-control:focus,
textarea.form-control:focus,
input.form-control:focus {
    color: var(--sg-white) !important;
    background-color: rgba(255,255,255,.095) !important;
    border-color: var(--sg-yellow) !important;
    box-shadow: 0 0 0 .2rem rgba(255,204,0,.14) !important;
}

.form-control::placeholder { color: #7f8da2 !important; }

.form-control:disabled,
.form-control[readonly],
.custom-select:disabled {
    color: #8d99aa !important;
    background: rgba(255,255,255,.035) !important;
}

label,
.col-form-label,
.form-label {
    color: #dce8f5 !important;
    font-weight: 700;
}

.form-text { color: var(--sg-muted) !important; }

.input-group-text {
    color: var(--sg-text) !important;
    background: var(--sg-panel-2) !important;
    border-color: var(--sg-border) !important;
}

select option {
    color: var(--sg-text);
    background: var(--sg-panel-2);
}

/* ------------------------------ Buttons --------------------------------- */
.btn {
    border-radius: 10px !important;
    font-weight: 700 !important;
    box-shadow: none;
}

.btn-primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--sg-blue), var(--sg-blue-dark)) !important;
    border-color: var(--sg-blue) !important;
}
.btn-primary:hover,
.btn-primary:focus { background: linear-gradient(135deg, #17adeb, #005cae) !important; }

.btn-warning {
    color: #121212 !important;
    background: var(--sg-yellow) !important;
    border-color: var(--sg-yellow) !important;
}
.btn-warning:hover { background: var(--sg-orange) !important; border-color: var(--sg-orange) !important; }

.btn-success { color:#fff !important; background:#1e9c6b !important; border-color:#1e9c6b !important; }
.btn-danger { color:#fff !important; background:#c83f50 !important; border-color:#c83f50 !important; }
.btn-info { color:#fff !important; background:#158fc8 !important; border-color:#158fc8 !important; }
.btn-secondary { color:#fff !important; background:#39475a !important; border-color:#4d5b6f !important; }

.btn-outline-primary { color:#45c2f1 !important; border-color:rgba(0,158,227,.72) !important; }
.btn-outline-primary:hover { color:#fff !important; background:var(--sg-blue-dark) !important; }
.btn-outline-danger { color:#ff7e8e !important; border-color:rgba(255,92,112,.62) !important; }
.btn-outline-secondary { color:#cad5e3 !important; border-color:#66758b !important; }

/* ------------------------------ Tables ---------------------------------- */
.table,
table.dataTable {
    color: #e7f0f9 !important;
    background: transparent !important;
}

.table th,
.table td,
table.dataTable th,
table.dataTable td {
    color: inherit !important;
    background-color: transparent !important;
    border-color: rgba(255,255,255,.10) !important;
    vertical-align: middle !important;
}

.table thead tr,
table.dataTable thead tr {
    background: rgba(255,255,255,.07) !important;
}

.table thead th,
table.dataTable thead th {
    color: var(--sg-white) !important;
    border-bottom-color: rgba(255,255,255,.19) !important;
    font-weight: 800 !important;
}

.table-striped tbody tr:nth-of-type(odd),
table.dataTable tbody tr:nth-child(odd) {
    color: #e7f0f9 !important;
    background: rgba(255,255,255,.030) !important;
}

.table-striped tbody tr:nth-of-type(even),
table.dataTable tbody tr:nth-child(even) {
    color: #dce8f5 !important;
    background: rgba(255,255,255,.060) !important;
}

.table-striped tbody tr:nth-of-type(odd) > *,
.table-striped tbody tr:nth-of-type(even) > *,
table.dataTable tbody tr.odd > *,
table.dataTable tbody tr.even > * {
    color: inherit !important;
    background: transparent !important;
}

.table-hover tbody tr:hover,
.table tbody tr:hover,
table.dataTable tbody tr:hover {
    color: #fff !important;
    background: rgba(0,158,227,.12) !important;
}

.table tbody a:not(.btn),
table.dataTable tbody a:not(.btn) {
    color: #39bce9 !important;
}
.table tbody a:not(.btn):hover,
table.dataTable tbody a:not(.btn):hover { color: var(--sg-yellow) !important; }

.dataTables_wrapper { color: var(--sg-text) !important; }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate { color: var(--sg-muted) !important; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.065) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 9px !important;
}

.page-link {
    color: #b8e5f7 !important;
    background: var(--sg-panel) !important;
    border-color: var(--sg-border) !important;
}
.page-item.active .page-link { color:#fff !important; background:var(--sg-blue-dark) !important; border-color:var(--sg-blue) !important; }
.page-item.disabled .page-link { color:#657287 !important; background:#101620 !important; }

/* ------------------------------ Modal ----------------------------------- */
.modal-content {
    color: var(--sg-text) !important;
    background: var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow) !important;
}
.modal-header { background: rgba(255,255,255,.025) !important; border-bottom-color:var(--sg-border) !important; }
.modal-footer { background: rgba(255,255,255,.025) !important; border-top-color:var(--sg-border) !important; }
.modal-title { color:var(--sg-white) !important; }
.modal-body { color:var(--sg-text) !important; }
.close { color:#fff !important; text-shadow:none !important; opacity:.78 !important; }
.close:hover { opacity:1 !important; }

/* ------------------------------ Alerts / badges ------------------------- */
.alert { border-radius: 12px !important; }
.alert-success { background:rgba(32,149,108,.18) !important; border-color:rgba(54,201,143,.38) !important; color:#bff4df !important; }
.alert-danger { background:rgba(200,63,80,.18) !important; border-color:rgba(255,92,112,.38) !important; color:#ffd0d6 !important; }
.alert-warning { background:rgba(255,204,0,.13) !important; border-color:rgba(255,204,0,.35) !important; color:#ffe88e !important; }
.alert-info { background:rgba(0,158,227,.14) !important; border-color:rgba(0,158,227,.36) !important; color:#bfeaff !important; }

.badge { border-radius:999px !important; font-weight:750 !important; }

/* ------------------------------ Tabs / lists ----------------------------- */
.list-group-item {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.025) !important;
    border-color: var(--sg-border) !important;
}
.nav-tabs { border-bottom-color:var(--sg-border) !important; }
.nav-tabs .nav-link { color:var(--sg-muted) !important; }
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color:var(--sg-white) !important;
    background:var(--sg-panel) !important;
    border-color:var(--sg-border) var(--sg-border) var(--sg-panel) !important;
}

/* ------------------------------ FullCalendar ----------------------------- */
.fc,
.fc * { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.fc .fc-toolbar-title,
.fc-toolbar h2 {
    color: var(--sg-white) !important;
    font-weight: 900 !important;
}

.fc-theme-standard td,
.fc-theme-standard th,
.fc-unthemed td,
.fc-unthemed th,
.fc-unthemed .fc-row {
    border-color: rgba(255,255,255,.13) !important;
}

.fc-theme-standard .fc-scrollgrid,
.fc .fc-scrollgrid {
    border-color: rgba(255,255,255,.13) !important;
}

.fc .fc-col-header-cell,
.fc-day-header {
    background: rgba(255,255,255,.94) !important;
}

.fc .fc-col-header-cell-cushion,
.fc-day-header {
    color:#10151d !important;
    font-weight:850 !important;
}

.fc .fc-daygrid-day-number,
.fc-day-number { color:#fff !important; }

.fc .fc-day-today,
.fc-unthemed td.fc-today { background:rgba(255,204,0,.075) !important; }

.fc .fc-button,
.fc button {
    color:#fff !important;
    background:rgba(255,255,255,.07) !important;
    border-color:var(--sg-border) !important;
    box-shadow:none !important;
}
.fc .fc-button:hover,
.fc button:hover { background:rgba(0,158,227,.18) !important; }
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active,
.fc-state-active {
    color:#111 !important;
    background:var(--sg-yellow) !important;
    border-color:var(--sg-yellow) !important;
}

/* ------------------------------ Site-specific views ---------------------- */
/* Model detail pages */
.stats-page {
    color: var(--sg-text) !important;
    background: transparent !important;
}
.stats-page .stats-header { border-bottom-color:var(--sg-border) !important; }
.stats-page .stats-eyebrow { color:var(--sg-yellow) !important; }
.stats-page .stats-title { color:var(--sg-white) !important; font-weight:850 !important; }
.stats-page .stats-card,
.stats-page .card {
    color:var(--sg-text) !important;
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02)),var(--sg-panel) !important;
    border-color:var(--sg-border) !important;
    border-radius:18px !important;
    box-shadow:var(--sg-shadow-soft) !important;
}
.stats-page .card-header,
.stats-page .stats-card-head { background:rgba(255,255,255,.025) !important; border-bottom-color:var(--sg-border) !important; }
.stats-page .card-header h6,
.stats-page .stats-card-head h2 { color:var(--sg-white) !important; }
.stats-page .table thead th { color:var(--sg-white) !important; background:rgba(255,255,255,.07) !important; border-color:var(--sg-border) !important; }
.stats-page .table td { color:var(--sg-text) !important; border-color:var(--sg-border) !important; }
.stats-page .meta-block,
.stats-page .vetture-toolbar {
    color:var(--sg-text) !important;
    background:rgba(255,255,255,.035) !important;
    border-color:var(--sg-border) !important;
    border-left-color:var(--sg-blue) !important;
}
.stats-page .meta-label,
.stats-page .vetture-toolbar label { color:var(--sg-muted) !important; }
.stats-page .meta-value { color:var(--sg-white) !important; }

/* Prenotazione detail */
.slate-viewport {
    color:var(--sg-text) !important;
    background:transparent !important;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.slate-header { border-bottom-color:var(--sg-border) !important; }
.slate-badge-top { color:var(--sg-yellow) !important; }
.slate-title { color:var(--sg-white) !important; font-weight:850 !important; }
.slate-box { background:var(--sg-panel) !important; border-color:var(--sg-border) !important; border-radius:18px !important; box-shadow:var(--sg-shadow-soft) !important; }
.slate-section-title { color:var(--sg-muted) !important; }
.slate-box.dark-panel,
.slate-hero-strip,
.panel-header-strip { background:var(--sg-panel-2) !important; border-color:var(--sg-border) !important; }
.panel-title-text,
.strip-label { color:var(--sg-muted) !important; }
.slate-action-btn,
.slate-action-btn-link {
    color:var(--sg-text) !important;
    background:rgba(255,255,255,.045) !important;
    border-color:var(--sg-border) !important;
    border-radius:10px !important;
}
.slate-action-btn i,
.slate-action-btn-link i { color:var(--sg-yellow) !important; }
.slate-action-btn:hover,
.slate-action-btn-link:hover { color:#fff !important; background:rgba(0,158,227,.18) !important; border-color:rgba(0,158,227,.42) !important; }

/* Dashboard */
.slate-dashboard { color:var(--sg-text) !important; background:transparent !important; }
.slate-dashboard .bento-box {
    color:var(--sg-text) !important;
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02)),var(--sg-panel) !important;
    border:1px solid var(--sg-border) !important;
    border-radius:18px !important;
    box-shadow:var(--sg-shadow-soft) !important;
}
.slate-dashboard .bento-hero-strip { background:var(--sg-panel-2) !important; border-color:var(--sg-border) !important; }
.slate-dashboard .bento-hero-strip h6 { color:#fff !important; }
.slate-dashboard .bento-hero-strip i { color:var(--sg-yellow) !important; }
.slate-dashboard .table thead tr { background:rgba(255,255,255,.07) !important; border-color:var(--sg-border) !important; }
.slate-dashboard .table thead th { color:#fff !important; }
.slate-dashboard .table tbody tr { background:rgba(255,255,255,.025) !important; border-color:var(--sg-border) !important; }
.slate-dashboard .table tbody td { color:var(--sg-text) !important; }
.slate-dashboard .table span.text-serial { color:#fff !important; background:var(--sg-panel-2) !important; border-color:var(--sg-border) !important; }
.slate-dashboard #modalScadenzaAmministrativa .modal-content,
.slate-dashboard #modalScadenzaMeccanica .modal-content { background:var(--sg-panel) !important; border-color:var(--sg-border) !important; border-radius:18px !important; box-shadow:var(--sg-shadow) !important; }
.slate-dashboard #modalScadenzaAmministrativa .modal-header,
.slate-dashboard #modalScadenzaMeccanica .modal-header { background:var(--sg-panel-2) !important; border-color:var(--sg-border) !important; }
.slate-dashboard #modalScadenzaAmministrativa label,
.slate-dashboard #modalScadenzaMeccanica label { color:var(--sg-muted) !important; }
.slate-dashboard #modalScadenzaAmministrativa .form-control,
.slate-dashboard #modalScadenzaMeccanica .form-control { color:#fff !important; background:rgba(255,255,255,.065) !important; border-color:var(--sg-border) !important; border-radius:10px !important; }
.slate-dashboard #modalScadenzaAmministrativa .modal-footer,
.slate-dashboard #modalScadenzaMeccanica .modal-footer { background:rgba(255,255,255,.025) !important; border-color:var(--sg-border) !important; }

/* Documentale */
#dropzone {
    color:var(--sg-text) !important;
    background:rgba(255,255,255,.025) !important;
    border-color:rgba(255,255,255,.20) !important;
}

/* ------------------------------ Login ------------------------------------ */
body.bg-gradient-primary {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    padding:22px;
    background:
        radial-gradient(circle at top left,rgba(0,158,227,.22),transparent 30rem),
        radial-gradient(circle at top right,rgba(255,138,0,.14),transparent 26rem),
        var(--sg-dark) !important;
}

body.bg-gradient-primary > .container { width:100%; }
body.bg-gradient-primary > .container > .row { margin:0; }
body.bg-gradient-primary > .container > .row > .col-xl-10 {
    flex:0 0 min(100%,465px) !important;
    max-width:465px !important;
    width:100%;
    padding:0;
}

body.bg-gradient-primary .card {
    margin:0 !important;
    border-radius:28px !important;
    overflow:hidden;
}

body.bg-gradient-primary .bg-login-image { display:none !important; }
body.bg-gradient-primary .card-body > .row > .col-lg-6:last-child {
    flex:0 0 100% !important;
    max-width:100% !important;
}

body.bg-gradient-primary .p-5 { padding:2.15rem !important; }
body.bg-gradient-primary h1 { color:#fff !important; font-weight:900 !important; }
body.bg-gradient-primary form.user .form-control-user {
    min-height:48px;
    padding:.75rem 1rem !important;
    border-radius:11px !important;
    font-size:1rem !important;
}

body.bg-gradient-primary form.user input[type="submit"][name="login"] {
    color:#111 !important;
    background:var(--sg-yellow) !important;
    border:1px solid var(--sg-yellow) !important;
    border-radius:11px !important;
    padding:.8rem 1rem !important;
    font-weight:850 !important;
}
body.bg-gradient-primary form.user input[type="submit"][name="login"]:hover {
    background:var(--sg-orange) !important;
    border-color:var(--sg-orange) !important;
}

/* Logged-out / registration pages */
body.blank-page .app-content .card {
    background:var(--sg-panel) !important;
    border-color:var(--sg-border) !important;
    color:var(--sg-text) !important;
}
body.blank-page .app-content .card-subtitle { color:var(--sg-muted) !important; }
body.blank-page .app-content .form-control { color:#fff !important; background:rgba(255,255,255,.065) !important; }

/* ------------------------------ Footer ----------------------------------- */
footer.sticky-footer,
footer.sticky-footer.bg-white {
    color:var(--sg-muted) !important;
    background:rgba(5,6,8,.62) !important;
    border-top:1px solid var(--sg-border) !important;
}
footer.sticky-footer a { color:#8fd7f4 !important; }

.scroll-to-top {
    color:#fff !important;
    background:rgba(0,75,147,.85) !important;
    border:1px solid var(--sg-border);
}

/* ------------------------------ Mobile ----------------------------------- */
@media (max-width: 767.98px) {
    .topbar { min-height:4.75rem; }
    .card { border-radius:16px !important; }

    /* Behaviour comes from layout_mobile_fix.css + sidebar_mobile_fix.js.
       These declarations only recolor the detached mobile submenu. */
    .sidebar-submenu-mobile-popover { background:transparent !important; }
    .sidebar-submenu-mobile-popover .collapse-inner {
        background:rgba(17,23,34,.99) !important;
        border-color:var(--sg-border) !important;
    }
}

/* ========================================================================== 
   GIUMS - PATCH DASHBOARD TABLES + SIDEBAR COLLAPSED LAYER
   Pure visual adaptation only. No layout logic, HTML, IDs or JS changes.
   ========================================================================== */

/* --------------------------------------------------------------------------
   COLLAPSED SIDEBAR - DESKTOP STACKING
   Keep the original SB Admin collapsed/expanded widths and behaviour.
   Only raise the collapsed sidebar and its flyout submenu above page content.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
    #accordionSidebar.sidebar.toggled {
        position: relative !important;
        z-index: 1060 !important;
        overflow: visible !important;
        isolation: isolate;
    }

    #accordionSidebar.sidebar.toggled .nav-item {
        position: relative;
        z-index: auto;
    }

    #accordionSidebar.sidebar.toggled .nav-item .collapse,
    #accordionSidebar.sidebar.toggled .nav-item .collapsing {
        z-index: 1070 !important;
    }

    #accordionSidebar.sidebar.toggled .nav-item .collapse.show {
        z-index: 1080 !important;
    }

    #content-wrapper {
        position: relative;
        z-index: 1;
    }
}

/* --------------------------------------------------------------------------
   DASHBOARD - stronger selectors intentionally used because dashboard.php
   contains its own later <style> block with !important declarations.
   This keeps the HTML and page logic untouched while restoring SafetyGest UI.
   -------------------------------------------------------------------------- */
body #content .slate-dashboard {
    color: var(--sg-text) !important;
    background: transparent !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body #content .slate-dashboard > .d-sm-flex h1,
body #content .slate-dashboard h1.h3 {
    color: var(--sg-white) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(2rem, 2.6vw, 2.55rem) !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
}

body #content .slate-dashboard .bento-box {
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow-soft) !important;
    overflow: hidden !important;
}

body #content .slate-dashboard .bento-hero-strip {
    background: var(--sg-panel-2) !important;
    border-bottom: 1px solid var(--sg-border) !important;
    padding: 14px 18px !important;
}

body #content .slate-dashboard .bento-hero-strip h6 {
    color: var(--sg-white) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: .92rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    letter-spacing: .04em !important;
}

body #content .slate-dashboard .bento-hero-strip i {
    color: var(--sg-yellow) !important;
}

/* Dashboard table base */
body #content .slate-dashboard .table,
body #content .slate-dashboard table.table {
    color: var(--sg-text) !important;
    background: transparent !important;
    margin-bottom: 0 !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Table header */
body #content .slate-dashboard .table thead tr {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.065) !important;
    border-bottom: 1px solid var(--sg-border-strong) !important;
}

body #content .slate-dashboard .table thead th,
body #content .slate-dashboard .table thead th[style] {
    color: #dce8f5 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--sg-border-strong) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: .76rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Dark zebra rows: explicitly neutralise the legacy white table styles. */
body #content .slate-dashboard .table tbody tr,
body #content .slate-dashboard .table.table-striped tbody tr {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.018) !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
}

body #content .slate-dashboard .table tbody tr:nth-of-type(odd),
body #content .slate-dashboard .table.table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255,255,255,.028) !important;
}

body #content .slate-dashboard .table tbody tr:nth-of-type(even),
body #content .slate-dashboard .table.table-striped tbody tr:nth-of-type(even) {
    background: rgba(255,255,255,.052) !important;
}

body #content .slate-dashboard .table tbody tr:hover {
    color: var(--sg-white) !important;
    background: rgba(0,158,227,.115) !important;
}

/* Cells. Strong selector beats the page-local !important rules. */
body #content .slate-dashboard .table tbody td,
body #content .slate-dashboard .table tbody td[style],
body #content .slate-dashboard .table tbody td.text-serial,
body #content .slate-dashboard .table tbody td.text-serial[style] {
    color: #dce8f5 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: .9rem !important;
    line-height: 1.4 !important;
}

/* First/value column may be more prominent without becoming washed out. */
body #content .slate-dashboard .table tbody td:first-child,
body #content .slate-dashboard .table tbody td:first-child[style] {
    color: #eaf2fb !important;
    font-weight: 700 !important;
}

/* Red overdue values remain red instead of being neutralised by generic cells. */
body #content .slate-dashboard .table tbody td[style*="#e63946"] {
    color: #ff6678 !important;
}

/* Plate / serial chip */
body #content .slate-dashboard .table span.text-serial,
body #content .slate-dashboard .table span.text-serial[style] {
    display: inline-block;
    color: var(--sg-white) !important;
    background: var(--sg-panel-3) !important;
    border: 1px solid var(--sg-border-strong) !important;
    border-radius: 7px !important;
    padding: 5px 9px !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
}

/* Dashboard action button: yellow as in the reference visual language. */
body #content .slate-dashboard .js-apri-scadenza,
body #content .slate-dashboard .js-apri-scadenza-meccanica,
body #content .slate-dashboard .js-apri-scadenza[style],
body #content .slate-dashboard .js-apri-scadenza-meccanica[style] {
    color: #101010 !important;
    background: var(--sg-yellow) !important;
    border: 1px solid var(--sg-yellow) !important;
    border-radius: 9px !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: .82rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

body #content .slate-dashboard .js-apri-scadenza:hover,
body #content .slate-dashboard .js-apri-scadenza-meccanica:hover {
    color: #101010 !important;
    background: var(--sg-orange) !important;
    border-color: var(--sg-orange) !important;
}

/* Responsive table remains horizontally scrollable; no structural width changes. */
body #content .slate-dashboard .table-responsive {
    background: transparent !important;
    border-radius: 0 0 18px 18px;
}


/* ==========================================================================
   GIUMS - PATCH TOPBAR USER DROPDOWN LAYER
   Solo stacking grafico: nessuna modifica a HTML, dropdown Bootstrap o JS.
   ========================================================================== */

.topbar,
.navbar.topbar,
.topbar.bg-white {
    position: relative !important;
    z-index: 1090 !important;
    overflow: visible !important;
}

.topbar .navbar-nav,
.topbar .nav-item.dropdown,
.topbar .nav-item.dropdown.no-arrow {
    position: relative !important;
    z-index: 1100 !important;
    overflow: visible !important;
}

.topbar .dropdown-menu,
.topbar .dropdown-menu.show,
.topbar .nav-item.dropdown .dropdown-menu,
.topbar .nav-item.dropdown .dropdown-menu.show {
    z-index: 1200 !important;
}

/* Il contenuto pagina rimane sotto navbar e relativo dropdown. */
#content,
#content .container-fluid,
.app-content,
.content-wrapper {
    position: relative;
    z-index: 1;
}


/* ==========================================================================
   GIUMS - PATCH LOGIN + CATEGORIE/MODELLI AUTO
   Solo adattamento grafico.
   Nessuna modifica a markup, form action, data-attribute o comportamento JS.
   ========================================================================== */

/* ==========================================================================
   LOGIN — resa vicina al login SafetyGest, mantenendo l'HTML esistente.
   ========================================================================== */

body.bg-gradient-primary {
    min-height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    padding: 22px !important;
    margin: 0 !important;
    background:
        radial-gradient(circle at top left, rgba(0,158,227,.20), transparent 30rem),
        radial-gradient(circle at top right, rgba(255,138,0,.14), transparent 26rem),
        var(--sg-dark) !important;
}

body.bg-gradient-primary > .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.bg-gradient-primary > .container > .row {
    width: 100% !important;
    margin: 0 !important;
}

body.bg-gradient-primary > .container > .row > .col-xl-10,
body.bg-gradient-primary > .container > .row > .col-lg-12,
body.bg-gradient-primary > .container > .row > .col-md-9 {
    flex: 0 0 min(100%, 465px) !important;
    width: min(100%, 465px) !important;
    max-width: 465px !important;
    padding: 0 !important;
}

body.bg-gradient-primary .card.o-hidden {
    width: 100% !important;
    margin: 0 !important;
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 32px !important;
    box-shadow: var(--sg-shadow) !important;
    overflow: hidden !important;
}

body.bg-gradient-primary .card.o-hidden .card-body {
    padding: 0 !important;
    background: transparent !important;
}

body.bg-gradient-primary .card.o-hidden .card-body > .row {
    margin: 0 !important;
}

body.bg-gradient-primary .bg-login-image {
    display: none !important;
}

body.bg-gradient-primary .card.o-hidden .col-lg-6:not(.bg-login-image) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

body.bg-gradient-primary .card.o-hidden .p-5 {
    padding: 34px !important;
}

body.bg-gradient-primary .card.o-hidden .text-center h1,
body.bg-gradient-primary .card.o-hidden h1.h4 {
    margin: 0 0 26px !important;
    color: transparent !important;
    background: linear-gradient(90deg, var(--sg-blue), var(--sg-orange), var(--sg-yellow)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 2.15rem !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
}

body.bg-gradient-primary form.user .form-group {
    margin-bottom: 16px !important;
}

body.bg-gradient-primary form.user label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #dce8f5 !important;
    font-size: .95rem !important;
    font-weight: 750 !important;
}

body.bg-gradient-primary form.user .form-control,
body.bg-gradient-primary form.user .form-control-user {
    min-height: 50px !important;
    padding: 12px 16px !important;
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 12px !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
}

body.bg-gradient-primary form.user .form-control::placeholder,
body.bg-gradient-primary form.user .form-control-user::placeholder {
    color: #7f8da2 !important;
    opacity: 1 !important;
}

body.bg-gradient-primary form.user .form-control:focus,
body.bg-gradient-primary form.user .form-control-user:focus {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.095) !important;
    border-color: rgba(0,158,227,.85) !important;
    box-shadow: 0 0 0 .2rem rgba(0,158,227,.17) !important;
}

body.bg-gradient-primary form.user input[type="submit"][name="login"] {
    display: block !important;
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 6px !important;
    padding: 12px 18px !important;
    color: #101010 !important;
    background: var(--sg-yellow) !important;
    border: 1px solid var(--sg-yellow) !important;
    border-radius: 12px !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease !important;
}

body.bg-gradient-primary form.user input[type="submit"][name="login"]:hover,
body.bg-gradient-primary form.user input[type="submit"][name="login"]:focus {
    color: #101010 !important;
    background: var(--sg-orange) !important;
    border-color: var(--sg-orange) !important;
    transform: translateY(-1px) !important;
}

body.bg-gradient-primary .card.o-hidden hr {
    margin: 24px 0 0 !important;
    border-top-color: var(--sg-border) !important;
}

body.bg-gradient-primary .card.o-hidden span[style*="color:red"] {
    display: block !important;
    margin-bottom: 16px !important;
    padding: 11px 13px !important;
    color: #ffd0d6 !important;
    background: rgba(200,63,80,.18) !important;
    border: 1px solid rgba(255,92,112,.38) !important;
    border-radius: 12px !important;
    font-size: .92rem !important;
    text-align: left !important;
}

@media (max-width: 575.98px) {
    body.bg-gradient-primary {
        padding: 16px !important;
    }

    body.bg-gradient-primary .card.o-hidden {
        border-radius: 24px !important;
    }

    body.bg-gradient-primary .card.o-hidden .p-5 {
        padding: 26px 20px !important;
    }

    body.bg-gradient-primary .card.o-hidden .text-center h1,
    body.bg-gradient-primary .card.o-hidden h1.h4 {
        font-size: 1.85rem !important;
    }
}

/* ==========================================================================
   CATEGORIE AUTO — card più compatte, controlli comodi da pollice.
   ========================================================================== */

.categorie-auto-page .categorie-auto-header h1 {
    color: var(--sg-white) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-weight: 950 !important;
}

.categorie-auto-page .categoria-auto-card {
    min-height: 108px !important;
    padding: 1rem 1.1rem !important;
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

.categorie-auto-page .categoria-auto-name {
    color: #67c7ed !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 1.12rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.categorie-auto-page .categoria-auto-name:hover {
    color: var(--sg-yellow) !important;
    text-decoration: none !important;
}

.categorie-auto-page .categoria-auto-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .75rem !important;
    margin-top: .85rem !important;
}

.categorie-auto-page .categoria-auto-actions > .btn,
.categorie-auto-page .categoria-auto-actions > a.btn,
.categorie-auto-page .categoria-auto-actions > button.btn {
    min-height: 48px !important;
    min-width: 112px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .4rem !important;
    padding: .65rem 1rem !important;
    border-radius: 11px !important;
    font-size: .95rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

/* ==========================================================================
   MODELLI AUTO — titolo centrale + pulsanti separati e thumb-friendly.
   ========================================================================== */

.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) > div:first-child {
    text-align: center !important;
}

.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) .categoria-auto-name {
    text-align: center !important;
    color: var(--sg-white) !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
}

.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) > div:first-child .text-muted {
    text-align: center !important;
    color: var(--sg-muted) !important;
    font-size: .92rem !important;
}

.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) .categoria-auto-actions .btn-group {
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    gap: .85rem !important;
}

.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) .categoria-auto-actions .btn-group > .btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    margin: 0 !important;
    padding: .7rem 1rem !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) .btn-group > .btn:not(:first-child),
.categorie-auto-page .categoria-auto-card:has(.model-inline-panel) .btn-group > .btn:not(:last-child) {
    border-radius: 12px !important;
}

.categorie-auto-page .model-inline-panel {
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid var(--sg-border) !important;
}

.categorie-auto-page .model-inline-panel .table {
    color: var(--sg-text) !important;
    background: transparent !important;
}

.categorie-auto-page .model-inline-panel .table th,
.categorie-auto-page .model-inline-panel .table td {
    color: var(--sg-text) !important;
    background: transparent !important;
    border-color: var(--sg-border) !important;
}

@media (min-width: 1200px) {
    .categorie-auto-page .row > .col-xl-4 {
        margin-bottom: 1.15rem !important;
    }
}

@media (max-width: 575.98px) {
    .categorie-auto-page {
        padding: 1rem !important;
    }

    .categorie-auto-page .categorie-auto-header {
        align-items: stretch !important;
        gap: 1rem !important;
    }

    .categorie-auto-page .categorie-auto-header .btn {
        min-height: 48px !important;
    }

    .categorie-auto-page .categoria-auto-actions > .btn,
    .categorie-auto-page .categoria-auto-actions > a.btn,
    .categorie-auto-page .categoria-auto-actions > button.btn {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    .categorie-auto-page .categoria-auto-card:has(.model-inline-panel) .categoria-auto-actions .btn-group {
        gap: .65rem !important;
    }
}


/* ==========================================================================
   LOGIN - FIX LOGO SOPRA IL BENVENUTO
   ========================================================================== */

body.bg-gradient-primary .login-logo-wrap {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 18px !important;
    text-align: center !important;
}

body.bg-gradient-primary .login-logo-top {
    display: block !important;
    width: auto !important;
    max-width: 220px !important;
    max-height: 110px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
}

@media (max-width: 575.98px) {
    body.bg-gradient-primary .login-logo-top {
        max-width: 190px !important;
        max-height: 95px !important;
    }
}


/* ==========================================================================
   GIUMS - CATEGORIE AUTO: CARD COMPATTE E RESPONSIVE
   Riduce la larghezza delle schede su desktop senza toccare il markup.
   I pulsanti mantengono un tap-target comodo per mobile.
   ========================================================================== */

.categorie-auto-page .categoria-auto-card {
    min-height: 96px !important;
    padding: .9rem 1rem !important;
}

/* Desktop ampio: le card non si allungano più fino a 1/3 dello schermo. */
@media (min-width: 1200px) {
    .categorie-auto-page .row {
        justify-content: flex-start !important;
    }

    .categorie-auto-page .row > .col-xl-4 {
        flex: 0 0 360px !important;
        width: 360px !important;
        max-width: 360px !important;
        margin-bottom: 1rem !important;
    }
}

/* Desktop/laptop medio: due card per riga senza eccessivo allungamento. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .categorie-auto-page .row > [class*="col-"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

/* Mobile: una card per riga, piena larghezza. */
@media (max-width: 767.98px) {
    .categorie-auto-page .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .categorie-auto-page .categoria-auto-card {
        min-height: 0 !important;
        padding: .85rem !important;
    }
}


/* ==========================================================================
   GIUMS - CATEGORIE CENTRATE + PULSANTI PIENI + DETTAGLIO MODELLO
   Solo grafica: nessuna modifica a HTML, JS, route o comportamento.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) LISTA CATEGORIE AUTO / FURGONI / PULMINI / SCOOTER
   Titolo centrato e pulsanti pieni, con tap-target comodo.
   -------------------------------------------------------------------------- */

.categorie-auto-page .categoria-auto-card {
    align-items: center !important;
    text-align: center !important;
}

.categorie-auto-page .categoria-auto-name {
    width: 100% !important;
    text-align: center !important;
    color: #67c7ed !important;
    font-weight: 900 !important;
}

.categorie-auto-page .categoria-auto-actions {
    width: 100% !important;
    justify-content: center !important;
    gap: .8rem !important;
}

/* Modifica: pieno blu */
.categorie-auto-page .categoria-auto-actions .btn-outline-primary {
    color: #ffffff !important;
    background: var(--sg-blue-dark) !important;
    border-color: var(--sg-blue) !important;
}

.categorie-auto-page .categoria-auto-actions .btn-outline-primary:hover,
.categorie-auto-page .categoria-auto-actions .btn-outline-primary:focus {
    color: #ffffff !important;
    background: var(--sg-blue) !important;
    border-color: var(--sg-blue) !important;
}

/* Elimina: pieno rosso */
.categorie-auto-page .categoria-auto-actions .btn-outline-danger {
    color: #ffffff !important;
    background: #b83245 !important;
    border-color: #d84a5e !important;
}

.categorie-auto-page .categoria-auto-actions .btn-outline-danger:hover,
.categorie-auto-page .categoria-auto-actions .btn-outline-danger:focus {
    color: #ffffff !important;
    background: #d84a5e !important;
    border-color: #e25f70 !important;
}

/* Manteniamo il target comodo per il pollice. */
.categorie-auto-page .categoria-auto-actions .btn {
    min-height: 48px !important;
    min-width: 118px !important;
    padding: .7rem 1rem !important;
}

/* --------------------------------------------------------------------------
   2) DETTAGLIO MODELLO - LEGGIBILITÀ BLOCCO "DETTAGLI MODELLO"
   Neutralizza il grande riquadro bianco legacy e rende visibili valori/label.
   -------------------------------------------------------------------------- */

.stats-page {
    background: transparent !important;
    color: var(--sg-text) !important;
}

/* Card e pannelli del dettaglio */
.stats-page .stats-card,
.stats-page .card {
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        var(--sg-panel) !important;
    border-color: var(--sg-border) !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

/* Questo è il riquadro bianco visibile nel primo screenshot. */
.stats-page .card-body > .border.rounded.p-3.bg-white,
.stats-page .bg-white {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.025) !important;
    border-color: var(--sg-border) !important;
}

/* Titolo "Dettagli modello" che nella view ha style inline. */
.stats-page .card-body > .border.rounded.p-3.bg-white > h6 {
    color: var(--sg-yellow) !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
}

/* Blocchi meta */
.stats-page .meta-block {
    min-height: 78px !important;
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid var(--sg-border) !important;
    border-left: 3px solid var(--sg-blue) !important;
    border-radius: 10px !important;
    padding: .85rem 1rem !important;
}

.stats-page .meta-label {
    color: #aab8c9 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
}

.stats-page .meta-value {
    color: #ffffff !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    font-weight: 750 !important;
}

/* Badge disponibilità leggibile anche nello stato "non disponibile". */
.stats-page .badge {
    color: #ffffff !important;
    background: rgba(0,158,227,.18) !important;
    border-color: rgba(0,158,227,.40) !important;
}

.stats-page .badge-secondary {
    color: #dce8f5 !important;
    background: rgba(255,255,255,.08) !important;
    border-color: var(--sg-border-strong) !important;
}

.stats-page .badge-success {
    color: #ffffff !important;
    background: #20956c !important;
    border-color: #36c98f !important;
}

/* --------------------------------------------------------------------------
   3) DETTAGLIO MODELLO - SPAZIO TRA I PULSANTI
   Mantiene intatto il btn-group Bootstrap ma lo rende visivamente separato.
   -------------------------------------------------------------------------- */

/* Azioni in tabella: Modifica / Foto sagoma / Elimina */
.stats-page .table .btn-group,
.stats-page .table .btn-group-sm {
    display: inline-flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
}

/* Neutralizza l'effetto "bottoni saldati" di Bootstrap btn-group */
.stats-page .table .btn-group > .btn,
.stats-page .table .btn-group-sm > .btn {
    margin: 0 !important;
    border-radius: 10px !important;
    min-height: 38px !important;
    padding: .45rem .75rem !important;
}

.stats-page .table .btn-group > .btn:not(:first-child),
.stats-page .table .btn-group > .btn:not(:last-child),
.stats-page .table .btn-group-sm > .btn:not(:first-child),
.stats-page .table .btn-group-sm > .btn:not(:last-child) {
    border-radius: 10px !important;
}

/* Riempimento pulsanti tabella */
.stats-page .table .btn-outline-primary {
    color: #ffffff !important;
    background: var(--sg-blue-dark) !important;
    border-color: var(--sg-blue) !important;
}

.stats-page .table .btn-outline-secondary {
    color: #ffffff !important;
    background: #344054 !important;
    border-color: #566279 !important;
}

.stats-page .table .btn-outline-danger {
    color: #ffffff !important;
    background: #b83245 !important;
    border-color: #d84a5e !important;
}

/* Prezzi / Sconti: separati, non più visivamente incollati */
.stats-page .card-body > .btn-group.w-100.mb-3 {
    display: flex !important;
    gap: .85rem !important;
}

.stats-page .card-body > .btn-group.w-100.mb-3 > .btn {
    flex: 1 1 0 !important;
    margin: 0 !important;
    min-height: 50px !important;
    border-radius: 12px !important;
}

.stats-page .card-body > .btn-group.w-100.mb-3 > .btn:not(:first-child),
.stats-page .card-body > .btn-group.w-100.mb-3 > .btn:not(:last-child) {
    border-radius: 12px !important;
}

/* Pulsanti alto pagina: spazio già presente, ma aumentiamo leggermente il target. */
.stats-page .detail-top-actions {
    gap: .75rem !important;
}

.stats-page .detail-action-btn {
    min-height: 44px !important;
    padding: .55rem .9rem !important;
}

/* Pulsanti aggiungi/rimuovi nelle righe prezzo e sconto */
.stats-page [data-prezzo-add],
.stats-page [data-sconto-add],
.stats-page [data-prezzo-remove],
.stats-page [data-sconto-remove] {
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 10px !important;
}

/* --------------------------------------------------------------------------
   4) MOBILE
   Mantiene i pulsanti facilmente premibili e impedisce affollamento.
   -------------------------------------------------------------------------- */

@media (max-width: 767.98px) {
    .categorie-auto-page .categoria-auto-actions {
        gap: .65rem !important;
    }

    .categorie-auto-page .categoria-auto-actions .btn {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    .stats-page .table .btn-group,
    .stats-page .table .btn-group-sm {
        gap: .45rem !important;
    }

    .stats-page .table .btn-group > .btn,
    .stats-page .table .btn-group-sm > .btn {
        min-height: 44px !important;
    }

    .stats-page .card-body > .btn-group.w-100.mb-3 {
        gap: .6rem !important;
    }

    .stats-page .detail-top-actions {
        flex-wrap: wrap !important;
    }
}


/* ==========================================================================
   GIUMS - STATISTICHE: DARK THEME + CONTRASTO
   Corregge il pannello filtri bianco e i testi KPI poco leggibili.
   Solo CSS: nessuna modifica a view, form, Chart.js o logica.
   ========================================================================== */

.stats-page {
    color: var(--sg-text) !important;
    background: transparent !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Header pagina */
.stats-page .stats-header {
    margin-bottom: 1.25rem !important;
}

.stats-page .stats-title {
    color: var(--sg-white) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(1.8rem, 2.4vw, 2.25rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
}

.stats-page .stats-header .text-muted,
.stats-page .stats-header small {
    color: #9fb0c4 !important;
}

/* --------------------------------------------------------------------------
   FILTRI
   -------------------------------------------------------------------------- */

.stats-page .stats-filter {
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow-soft) !important;
    padding: 1rem !important;
}

.stats-page .stats-filter label {
    color: #aebdce !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
}

.stats-page .stats-filter .form-control,
.stats-page .stats-filter select.form-control,
.stats-page .stats-filter input.form-control {
    height: 44px !important;
    color: #ffffff !important;
    background: rgba(255,255,255,.065) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.stats-page .stats-filter .form-control:focus,
.stats-page .stats-filter select.form-control:focus,
.stats-page .stats-filter input.form-control:focus {
    color: #ffffff !important;
    background: rgba(255,255,255,.09) !important;
    border-color: rgba(0,158,227,.80) !important;
    box-shadow: 0 0 0 .2rem rgba(0,158,227,.15) !important;
}

/* Select option: evita testo bianco su popup bianco nativo. */
.stats-page .stats-filter select.form-control option {
    color: #eef5fb !important;
    background: #182232 !important;
}

.stats-page .stats-filter input[type="date"] {
    color-scheme: dark !important;
}

.stats-page .stats-filter input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) opacity(.82) !important;
    cursor: pointer !important;
}

/* Pulsante filtro */
.stats-page .stats-filter .btn-primary {
    height: 44px !important;
    min-width: 48px !important;
    color: #101010 !important;
    background: var(--sg-yellow) !important;
    border-color: var(--sg-yellow) !important;
    border-radius: 10px !important;
}

.stats-page .stats-filter .btn-primary:hover,
.stats-page .stats-filter .btn-primary:focus {
    color: #101010 !important;
    background: var(--sg-orange) !important;
    border-color: var(--sg-orange) !important;
}

.stats-page .stats-filter .text-muted,
.stats-page .stats-filter small.text-muted {
    color: #91a2b6 !important;
}

.stats-page .stats-filter a {
    color: #43bfee !important;
    font-weight: 700 !important;
}

.stats-page .stats-filter a:hover {
    color: var(--sg-yellow) !important;
}

/* --------------------------------------------------------------------------
   KPI
   -------------------------------------------------------------------------- */

.stats-page .stats-card {
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

.stats-page .stats-kpi {
    border-top-width: 3px !important;
    border-top-style: solid !important;
    border-top-color: #36c98f !important;
    padding: 1rem !important;
}

.stats-page .stats-kpi.kpi-blue {
    border-top-color: var(--sg-blue) !important;
}

.stats-page .stats-kpi.kpi-orange {
    border-top-color: var(--sg-orange) !important;
}

.stats-page .stats-kpi.kpi-pink {
    border-top-color: #c56cf0 !important;
}

.stats-page .stats-kpi-label {
    color: #9fb0c4 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
}

.stats-page .stats-kpi-value {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
}

.stats-page .stats-kpi-note {
    color: #8fa0b5 !important;
    font-size: .78rem !important;
}

/* --------------------------------------------------------------------------
   PANNELLI / TABELLE
   -------------------------------------------------------------------------- */

.stats-page .stats-card-head {
    background: rgba(255,255,255,.025) !important;
    border-bottom: 1px solid var(--sg-border) !important;
}

.stats-page .stats-card-head h2 {
    color: #ffffff !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
}

.stats-page .stats-card-body {
    color: var(--sg-text) !important;
    background: transparent !important;
}

.stats-page .stats-table {
    color: #dce8f5 !important;
    background: transparent !important;
}

.stats-page .stats-table th {
    color: #ffffff !important;
    background: rgba(255,255,255,.07) !important;
    border-color: var(--sg-border) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}

.stats-page .stats-table td {
    color: #dce8f5 !important;
    background: transparent !important;
    border-color: var(--sg-border) !important;
    font-size: .86rem !important;
}

.stats-page .stats-table tbody tr:nth-child(odd) {
    background: rgba(255,255,255,.025) !important;
}

.stats-page .stats-table tbody tr:nth-child(even) {
    background: rgba(255,255,255,.05) !important;
}

.stats-page .stats-table tbody tr:hover {
    background: rgba(0,158,227,.11) !important;
}

.stats-page .money-cell {
    color: #5bd3a0 !important;
    font-weight: 900 !important;
}

.stats-page .stats-empty {
    color: #91a2b6 !important;
}

/* Chart.js usa canvas, quindi qui sistemiamo solo il contenitore. */
.stats-page .chart-wrap {
    background: transparent !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .stats-page {
        padding: .85rem !important;
    }

    .stats-page .stats-title {
        font-size: 1.65rem !important;
    }

    .stats-page .stats-filter {
        padding: .85rem !important;
        border-radius: 15px !important;
    }

    .stats-page .stats-filter .btn-primary {
        min-height: 46px !important;
    }
}


/* ==========================================================================
   GIUMS - REGISTRO ENTRATE / USCITE
   Adatta la view legacy "Slate Green" al tema SafetyGest.
   Solo CSS: nessuna modifica a PHP, HTML, form o navigazione.
   ========================================================================== */

/* Pagina e testata */
.slate-viewport {
    background: transparent !important;
    color: var(--sg-text) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.slate-header {
    border-bottom-color: var(--sg-border) !important;
}

.slate-badge-top {
    color: var(--sg-yellow) !important;
    font-weight: 900 !important;
}

.slate-title {
    color: var(--sg-white) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(1.8rem, 2.3vw, 2.2rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
}

.reg-title-icon {
    color: #48bde9 !important;
}

/* Box */
.slate-box {
    background:
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
        var(--sg-panel) !important;
    border-color: var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

/* Toolbar / filtri */
.contatore-date-input,
.reg-select {
    color: var(--sg-white) !important;
    background: rgba(255,255,255,.065) !important;
    border-color: rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
}

.reg-select:focus {
    border-color: rgba(0,158,227,.8) !important;
    box-shadow: 0 0 0 .2rem rgba(0,158,227,.14) !important;
}

.reg-select option {
    color: var(--sg-white) !important;
    background: var(--sg-panel-2) !important;
}

.reg-nav {
    background: rgba(255,255,255,.045) !important;
    border-color: rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
}

.reg-nav .btn-nav {
    color: #b8c7d7 !important;
}

.reg-nav .btn-nav:hover {
    color: var(--sg-white) !important;
    background: rgba(0,158,227,.16) !important;
}

.reg-nav .nav-label {
    color: var(--sg-white) !important;
    font-weight: 800 !important;
}

.reg-nav .btn-today {
    color: #101010 !important;
    background: var(--sg-yellow) !important;
    border-color: var(--sg-yellow) !important;
    border-radius: 8px !important;
}

.reg-nav .btn-today:hover {
    color: #101010 !important;
    background: var(--sg-orange) !important;
    border-color: var(--sg-orange) !important;
}

/* Tabella */
.reg-table {
    color: #dce8f5 !important;
    background: transparent !important;
}

/* Primo header: giorni */
.reg-table thead tr.head-giorni th {
    color: #ffffff !important;
    background: var(--sg-panel-2) !important;
    border-right-color: var(--sg-border) !important;
    border-bottom-color: var(--sg-border-strong) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Giorno corrente */
.reg-table thead tr.head-giorni th.th-oggi {
    color: #101010 !important;
    background: var(--sg-yellow) !important;
}

/* Seconda riga header: Uscita / Entrata */
.reg-table thead tr.head-sub th {
    color: #aebdce !important;
    background: rgba(255,255,255,.06) !important;
    border-right-color: var(--sg-border) !important;
    border-bottom-color: var(--sg-border) !important;
}

.reg-table thead tr.head-sub th.th-oggi-sub {
    color: #ffe88a !important;
    background: rgba(255,204,0,.11) !important;
}

/* Categorie: elimina la fascia quasi bianca */
.reg-table .tr-categoria td {
    color: var(--sg-white) !important;
    background: rgba(0,158,227,.09) !important;
    border-bottom-color: rgba(0,158,227,.22) !important;
    font-weight: 900 !important;
}

/* Righe */
.reg-table tbody tr td {
    color: #dce8f5 !important;
    background: transparent !important;
    border-bottom-color: rgba(255,255,255,.09) !important;
}

.reg-table tbody .tr-am,
.reg-table tbody .tr-pm {
    background: rgba(255,255,255,.018) !important;
}

.reg-table tbody .tr-pm {
    background: rgba(255,255,255,.038) !important;
}

/* Nomi e targhe prima risultavano quasi invisibili */
.reg-table td.td-veicolo {
    color: #ffffff !important;
    font-weight: 750 !important;
}

.reg-table td.td-targa {
    color: #9edcf4 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    font-weight: 650 !important;
}

/* Fasce AM / PM */
.badge-fascia {
    color: #eaf2fb !important;
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.18) !important;
    border-radius: 7px !important;
}

/* Orari */
.ora-uscita {
    color: #48bde9 !important;
    font-weight: 850 !important;
}

.ora-entrata {
    color: #ef78f5 !important;
    font-weight: 850 !important;
}

.ora-vuota {
    color: #68778b !important;
}

/* Colonna di oggi: niente più blocco bianco */
.reg-table .td-oggi {
    color: #ffffff !important;
    background: rgba(255,204,0,.075) !important;
}

/* Hover riga */
.reg-table tbody tr:not(.tr-categoria):hover td {
    background: rgba(0,158,227,.075) !important;
}

/* Mantieni l'evidenziazione di oggi anche in hover */
.reg-table tbody tr:hover td.td-oggi {
    background: rgba(255,204,0,.12) !important;
}

.reg-empty-state {
    color: var(--sg-muted) !important;
}

.reg-empty-state i {
    color: #657287 !important;
}

/* Scrollbar tabella */
.reg-table-wrap {
    scrollbar-color: #526276 #111722;
}

.reg-table-wrap::-webkit-scrollbar {
    height: 10px;
}

.reg-table-wrap::-webkit-scrollbar-track {
    background: #111722;
}

.reg-table-wrap::-webkit-scrollbar-thumb {
    background: #526276;
    border-radius: 999px;
}

/* Mobile: controlli touch-friendly */
@media (max-width: 576px) {
    .reg-nav .btn-nav,
    .reg-nav .btn-today {
        min-height: 44px !important;
    }

    .contatore-date-input,
    .reg-select {
        min-height: 44px !important;
    }
}


/* ==========================================================================
   GIUMS - DETTAGLIO VERBALE
   Adatta la view legacy "Slate" al tema SafetyGest.
   Solo CSS: nessuna modifica a PHP, HTML, AJAX, modali o logica.
   ========================================================================== */

/* Pagina */
.slate-viewport {
    color: var(--sg-text) !important;
    background: transparent !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Header pagina */
.slate-viewport .slate-header {
    margin-bottom: 20px !important;
}

.slate-viewport .slate-title {
    color: var(--sg-white) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(1.85rem, 2.4vw, 2.35rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
}

.slate-viewport .btn-slate-accent {
    color: #ffffff !important;
    background: #20956c !important;
    border: 1px solid #36c98f !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
}

.slate-viewport .btn-slate-accent:hover,
.slate-viewport .btn-slate-accent:focus {
    color: #ffffff !important;
    background: #27aa7b !important;
    border-color: #48d09c !important;
}

.slate-viewport .btn-slate-outline {
    color: #dce8f5 !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid var(--sg-border-strong) !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
}

.slate-viewport .btn-slate-outline:hover,
.slate-viewport .btn-slate-outline:focus {
    color: #ffffff !important;
    background: rgba(0,158,227,.14) !important;
    border-color: rgba(0,158,227,.42) !important;
}

/* Pannelli principali */
.slate-viewport .slate-box {
    color: var(--sg-text) !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
        var(--sg-panel) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--sg-shadow-soft) !important;
}

/* Hero */
.slate-viewport .slate-hero-strip {
    color: #ffffff !important;
    background:
        linear-gradient(135deg, rgba(0,158,227,.14), rgba(255,138,0,.07)),
        var(--sg-panel-2) !important;
    border-bottom: 1px solid var(--sg-border) !important;
}

.slate-viewport .strip-label {
    color: #aab8c9 !important;
    font-weight: 850 !important;
}

.slate-viewport .strip-value-targa {
    color: #ffffff !important;
}

.slate-viewport .strip-value-badge {
    color: #ffffff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 9px !important;
}

/* Titoli sezione e divisori */
.slate-viewport .slate-section-title {
    color: #9fb0c4 !important;
    font-weight: 900 !important;
}

.slate-viewport .slate-divider-r {
    border-right-color: var(--sg-border) !important;
}

.slate-viewport .slate-divider-t {
    border-top-color: var(--sg-border) !important;
}

/* Timeline */
.slate-viewport .step-content span {
    color: #91a2b6 !important;
}

.slate-viewport .step-content strong {
    color: #ffffff !important;
}

.slate-viewport .step-indicator {
    background: #68778b !important;
}

.slate-viewport .step-indicator.accent-dot {
    background: #36c98f !important;
}

.slate-viewport .step-indicator.alert-ind {
    background: #d946ef !important;
}

/* Dati amministrativi / anagrafici */
.slate-viewport .slate-info-lines .info-line {
    border-bottom-color: rgba(255,255,255,.09) !important;
}

.slate-viewport .slate-info-lines .info-line span {
    color: #91a2b6 !important;
}

.slate-viewport .slate-info-lines .info-line strong {
    color: #eaf2fb !important;
}

/* Allegato verbale: elimina il riquadro bianco */
.slate-viewport .slate-doc-container {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 12px !important;
}

.slate-viewport .slate-doc-meta {
    color: #dce8f5 !important;
}

.slate-viewport .slate-doc-link-btn {
    color: #101010 !important;
    background: var(--sg-yellow) !important;
    border: 1px solid var(--sg-yellow) !important;
    border-radius: 9px !important;
}

.slate-viewport .slate-doc-link-btn:hover {
    color: #101010 !important;
    background: var(--sg-orange) !important;
    border-color: var(--sg-orange) !important;
}

.slate-viewport .slate-doc-void {
    color: #91a2b6 !important;
}

/* Note verbale */
.slate-viewport .slate-note-wrapper {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.035) !important;
    border-left: 4px solid var(--sg-blue) !important;
    border-radius: 0 10px 10px 0 !important;
}

.slate-viewport .note-tag {
    color: #67c7ed !important;
}

.slate-viewport .slate-note-wrapper p {
    color: #dce8f5 !important;
}

/* Stato avanzamento: niente più pulsanti bianchi */
.slate-viewport .slate-status-btn {
    color: #dce8f5 !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 10px !important;
}

.slate-viewport .slate-status-btn:hover {
    color: #ffffff !important;
    background: rgba(0,158,227,.12) !important;
    border-color: rgba(0,158,227,.35) !important;
}

.slate-viewport .slate-status-btn.active {
    color: #ffffff !important;
    background: #20956c !important;
    border-color: #36c98f !important;
}

.slate-viewport .status-num {
    color: #cbd8e7 !important;
    background: rgba(255,255,255,.08) !important;
}

.slate-viewport .slate-status-btn.active .status-num {
    color: #ffffff !important;
    background: rgba(255,255,255,.20) !important;
}

/* Profilo locatario */
.slate-viewport .slate-profile-row {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.035) !important;
    border: 1px solid var(--sg-border) !important;
    border-radius: 12px !important;
}

.slate-viewport .profile-avatar {
    color: #ffffff !important;
    background: var(--sg-blue-dark) !important;
    border: 1px solid var(--sg-blue) !important;
}

.slate-viewport .profile-meta h4 {
    color: #ffffff !important;
}

.slate-viewport .profile-meta span {
    color: #91a2b6 !important;
}

/* --------------------------------------------------------------------------
   Ricerca locatario: neutralizza bg-light / bg-white Bootstrap nella view
   -------------------------------------------------------------------------- */

.slate-viewport .slate-search-panel,
.slate-viewport .slate-search-panel.bg-light {
    color: var(--sg-text) !important;
    background: rgba(255,255,255,.025) !important;
    border-color: var(--sg-border) !important;
    border-radius: 14px !important;
}

.slate-viewport .slate-search-panel .text-dark {
    color: #ffffff !important;
}

.slate-viewport .slate-search-panel .text-muted {
    color: #91a2b6 !important;
}

.slate-viewport .slate-search-panel label {
    color: #aab8c9 !important;
}

.slate-viewport .slate-search-panel .form-control {
    color: #ffffff !important;
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.14) !important;
    border-radius: 10px !important;
}

.slate-viewport .slate-search-panel .form-control:focus {
    color: #ffffff !important;
    background: rgba(255,255,255,.09) !important;
    border-color: rgba(0,158,227,.78) !important;
    box-shadow: 0 0 0 .2rem rgba(0,158,227,.14) !important;
}

.slate-viewport .slate-search-panel input[type="date"] {
    color-scheme: dark !important;
}

.slate-viewport .slate-search-panel .table-responsive.bg-white {
    background: rgba(255,255,255,.02) !important;
    border-color: var(--sg-border) !important;
}

/* --------------------------------------------------------------------------
   Faldoni
   -------------------------------------------------------------------------- */

.slate-viewport .slate-void-state {
    color: #dce8f5 !important;
}

.slate-viewport .slate-void-state .text-muted {
    color: #7f8da2 !important;
}

.slate-viewport .slate-table {
    color: #dce8f5 !important;
    background: transparent !important;
}

.slate-viewport .slate-table thead th {
    color: #ffffff !important;
    background: rgba(255,255,255,.065) !important;
    border-color: var(--sg-border) !important;
}

.slate-viewport .slate-table tbody td {
    color: #dce8f5 !important;
    background: transparent !important;
    border-color: rgba(255,255,255,.09) !important;
}

.slate-viewport .slate-table tbody tr:nth-child(odd) {
    background: rgba(255,255,255,.02) !important;
}

.slate-viewport .slate-table tbody tr:nth-child(even) {
    background: rgba(255,255,255,.045) !important;
}

.slate-viewport .slate-table tbody tr:hover {
    background: rgba(0,158,227,.10) !important;
}

/* --------------------------------------------------------------------------
   PEC: form, input-group e allegati
   -------------------------------------------------------------------------- */

.slate-viewport .form-group label {
    color: #aab8c9 !important;
}

.slate-viewport .input-group-text,
.slate-viewport .input-group-text.bg-light {
    color: #dce8f5 !important;
    background: var(--sg-panel-2) !important;
    border-color: var(--sg-border) !important;
}

.slate-viewport .form-control,
.slate-viewport select.form-control,
.slate-viewport textarea.form-control {
    color: #ffffff !important;
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(255,255,255,.13) !important;
}

.slate-viewport .form-control:focus,
.slate-viewport select.form-control:focus,
.slate-viewport textarea.form-control:focus {
    color: #ffffff !important;
    background: rgba(255,255,255,.085) !important;
    border-color: rgba(0,158,227,.78) !important;
    box-shadow: 0 0 0 .2rem rgba(0,158,227,.13) !important;
}

.slate-viewport select.form-control option {
    color: #ffffff !important;
    background: var(--sg-panel-2) !important;
}

.slate-viewport .form-text,
.slate-viewport .form-text.text-muted {
    color: #91a2b6 !important;
}

/* Riquadro documenti PEC che nello screenshot rimane bianco */
.slate-viewport .form-group .bg-white.border.rounded,
.slate-viewport .form-group div.bg-white {
    color: #dce8f5 !important;
    background: rgba(255,255,255,.03) !important;
    border-color: var(--sg-border) !important;
}

.slate-viewport .custom-control-label {
    color: #dce8f5 !important;
}

.slate-viewport .custom-control-label::before {
    background: rgba(255,255,255,.07) !important;
    border-color: var(--sg-border-strong) !important;
}

.slate-viewport .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--sg-blue) !important;
    border-color: var(--sg-blue) !important;
}

/* Textarea PEC */
.slate-viewport #pec_testo {
    min-height: 145px !important;
}

/* Badge sezione PEC */
.slate-viewport .badge-info {
    color: #ffffff !important;
    background: #168ec9 !important;
}

/* --------------------------------------------------------------------------
   Modali della pagina
   -------------------------------------------------------------------------- */

.slate-viewport ~ .modal .modal-content,
.modal .modal-content {
    color: var(--sg-text) !important;
    background: var(--sg-panel) !important;
    border-color: var(--sg-border) !important;
}

.slate-viewport ~ .modal .modal-header,
.modal .modal-header {
    border-bottom-color: var(--sg-border) !important;
}

.slate-viewport ~ .modal .modal-footer,
.slate-viewport ~ .modal .modal-footer.bg-light,
.modal .modal-footer.bg-light {
    background: rgba(255,255,255,.025) !important;
    border-top-color: var(--sg-border) !important;
}

/* Mobile */
@media (max-width: 767.98px) {
    .slate-viewport {
        padding: .85rem !important;
    }

    .slate-viewport .slate-title {
        font-size: 1.7rem !important;
    }

    .slate-viewport .slate-header {
        align-items: stretch !important;
        gap: .9rem !important;
    }

    .slate-viewport .slate-header .bottoni {
        flex-wrap: wrap !important;
    }

    .slate-viewport .slate-header .bottoni .btn {
        min-height: 44px !important;
    }

    .slate-viewport .slate-divider-r {
        border-right: 0 !important;
    }
}


/* ==========================================================================
   GIUMS - VERBALE: SPAZIATURA PULSANTI + INPUT GROUP UNIFORMI
   Solo CSS: nessuna modifica a HTML, PHP o JavaScript.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) SPAZIO TRA I PULSANTI
   -------------------------------------------------------------------------- */

/* Header pagina: Modifica Verbale / Indietro */
.slate-viewport .slate-header .bottoni,
.slate-viewport .slate-header .d-flex {
    gap: .75rem !important;
}

/* Gruppi di pulsanti generici nella pagina */
.slate-viewport .btn-group,
.slate-viewport .btn-toolbar,
.slate-viewport .d-flex > .btn + .btn,
.slate-viewport .bottoni {
    column-gap: .7rem !important;
    row-gap: .55rem !important;
}

/* Evita l'effetto "incollato" dei btn-group Bootstrap */
.slate-viewport .btn-group > .btn {
    margin: 0 !important;
    border-radius: 10px !important;
}

.slate-viewport .btn-group > .btn:not(:first-child),
.slate-viewport .btn-group > .btn:not(:last-child) {
    border-radius: 10px !important;
}

/* Azioni nei pannelli / sezioni */
.slate-viewport .slate-box .btn + .btn,
.slate-viewport .slate-section .btn + .btn,
.slate-viewport form .btn + .btn {
    margin-left: .65rem !important;
}

/* Su mobile meglio andare a capo senza comprimere i pulsanti */
@media (max-width: 767.98px) {
    .slate-viewport .slate-header .bottoni,
    .slate-viewport .btn-group,
    .slate-viewport .btn-toolbar {
        flex-wrap: wrap !important;
        gap: .6rem !important;
    }

    .slate-viewport .slate-header .bottoni .btn,
    .slate-viewport .btn-group > .btn {
        min-height: 44px !important;
    }
}

/* --------------------------------------------------------------------------
   2) INPUT GROUP: ICONE CON STESSA ROTONDITÀ DEL CAMPO
   -------------------------------------------------------------------------- */

/* Input e select */
.slate-viewport .input-group .form-control,
.slate-viewport .input-group .custom-select,
.slate-viewport .input-group select.form-control {
    min-height: 44px !important;
    border-radius: 10px !important;
}

/* Box icona */
.slate-viewport .input-group .input-group-prepend .input-group-text,
.slate-viewport .input-group .input-group-append .input-group-text,
.slate-viewport .input-group > .input-group-text {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 .75rem !important;

    color: #dce8f5 !important;
    background: var(--sg-panel-2) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 10px !important;
}

/* Bootstrap 4 tende a "tagliare" il radius tra icona e input.
   Qui uniformiamo esplicitamente i bordi visivi. */
.slate-viewport .input-group-prepend {
    margin-right: .45rem !important;
}

.slate-viewport .input-group-append {
    margin-left: .45rem !important;
}

.slate-viewport .input-group-prepend .input-group-text {
    border-radius: 10px !important;
}

.slate-viewport .input-group-append .input-group-text {
    border-radius: 10px !important;
}

/* Anche i pulsanti dentro input-group devono sembrare elementi autonomi */
.slate-viewport .input-group .btn {
    min-height: 44px !important;
    border-radius: 10px !important;
}

/* Evita che Bootstrap azzeri i radius interni */
.slate-viewport .input-group > .form-control:not(:first-child),
.slate-viewport .input-group > .custom-select:not(:first-child),
.slate-viewport .input-group > .form-control:not(:last-child),
.slate-viewport .input-group > .custom-select:not(:last-child) {
    border-radius: 10px !important;
}

/* --------------------------------------------------------------------------
   3) ICONE AZIONE PICCOLE / QUADRATE
   Portiamo tutte le action-icon allo stesso linguaggio degli input.
   -------------------------------------------------------------------------- */

.slate-viewport .btn-icon,
.slate-viewport .icon-btn,
.slate-viewport button[class*="icon"],
.slate-viewport a[class*="icon"] {
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Icone FontAwesome dentro i box */
.slate-viewport .input-group-text i,
.slate-viewport .btn-icon i,
.slate-viewport .icon-btn i {
    line-height: 1 !important;
}


/* ==========================================================================
   GIUMS - MINI LOGO SIDEBAR COLLASSATA
   Mostra il logo del login solo quando la sidebar desktop è collassata.
   CSS-only: nessuna modifica a HTML o JavaScript.
   ========================================================================== */

@media (min-width: 768px) {
    #accordionSidebar.sidebar.toggled::before {
        content: "" !important;
        display: block !important;
        flex: 0 0 auto !important;

        width: 58px !important;
        height: 58px !important;

        margin: 12px auto 10px !important;

        background-image: url('/custom/img/logo_smart.png') !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;

        opacity: 1 !important;
        pointer-events: none !important;
    }

    /* Quando la sidebar è aperta il mini logo non viene mostrato. */
    #accordionSidebar.sidebar:not(.toggled)::before {
        content: none !important;
        display: none !important;
    }
}


/* ==========================================================================
   GIUMS - MINI LOGO SIDEBAR COLLASSATA: ALLINEAMENTO SU BRAND REALE
   Usa il blocco .sidebar-brand già esistente invece di un pseudo-elemento
   separato. Nessuna modifica a HTML o JavaScript.
   ========================================================================== */

@media (min-width: 768px) {

    /* Disattiva il vecchio pseudo-logo aggiunto alla <ul>. */
    #accordionSidebar.sidebar.toggled::before {
        content: none !important;
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        background-image: none !important;
    }

    /* La brand esistente diventa il contenitore del mini-logo. */
    #accordionSidebar.sidebar.toggled .sidebar-brand {
        position: relative !important;

        width: 100% !important;
        height: 92px !important;
        min-height: 92px !important;

        margin: 0 !important;
        padding: 12px 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background-image: url('/custom/img/logo_smart.png') !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-size: 62px auto !important;

        overflow: hidden !important;
    }

    /* In modalità collassata il testo della brand non occupa spazio. */
    #accordionSidebar.sidebar.toggled .sidebar-brand .sidebar-brand-text {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Il divider resta allineato subito sotto il logo. */
    #accordionSidebar.sidebar.toggled .sidebar-brand + .sidebar-divider {
        margin-top: 0 !important;
    }

    /* In modalità aperta viene ripristinato il comportamento normale. */
    #accordionSidebar.sidebar:not(.toggled) .sidebar-brand {
        background-image: none !important;
    }

    #accordionSidebar.sidebar:not(.toggled) .sidebar-brand .sidebar-brand-text {
        display: block !important;
    }
}

