﻿
/* Blocco variabili body.light migrato al Design System (FASE 4).
   --bg, --bg-alt, --text, --text-light, --text-title, --text-title-small e
   --shadow sono ora pilotati da theme-light.css ([data-theme="light"]) tramite
   gli alias semantici di design-tokens.css.
   Resta solo l'override di --active-color: in light il gradiente hover dei tab
   usa la tinta del brand, ora resa palette-aware (red/purple/...). */
body.light {
    --active-color: var(--color-primary);
}

/*LOADER*/
    body.light .loader-text {
        color: var(--text-secondary);
        font-weight: 600;
    }

/* TITOLO */
body.light .dfend-section-title {
    color: var(--text-title) !important;
    font-weight: 750;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.24);
}

body.light .dfend-section-subtitle {
    color: var(--text-secondary) !important;
    font-weight: 560;
    text-shadow: none;
}

/* .main e ::-webkit-scrollbar-thumb (BODY/SCROLLBAR): RIMOSSI (FASE 5) — token. */

/* CARD */
body.light .card-dark,
body.light .card {
    border: 1px solid var(--border-strong);
    box-shadow: 0 5px 12px rgba(18, 22, 28, 0.052);
    font-weight: 650 !important;
}

/*CHART TITLE*/
body.light .chart-title {
    color: rgba(24, 28, 34, 0.92) !important;
    font-weight: 720;
    letter-spacing: -0.012em;
    text-shadow: none;
}

    body.light .legend-item {
        color: rgba(25, 30, 36, 0.90);
        font-weight: 640;
        letter-spacing: -0.004em;
        text-shadow: none;
    }

/* BUTTON */
body.light .btn-glow-red:hover {
    background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 9%, transparent), color-mix(in srgb, var(--color-primary) 4%, transparent));
    color: var(--color-primary);
    border-color: var(--color-primary-border);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18), 0 5px 12px rgba(22, 27, 34, 0.055);
    filter: none;
}
    
/* DROPDOWN TABULATOR */
body.light .tabulator .tabulator-cell.tabulator-editing,
body.light .tabulator .tabulator-cell.tabulator-editing input[type="search"],
body.light .tabulator .tabulator-cell.tabulator-editing input[type="text"] {
    border: 0.5px solid #2E5F8A !important;
}

/* DROPDOWN HOST (.dfend-group-*): override light RIMOSSI (FASE 5) — accento blu
   ora gestito da --color-info via theme-light; superfici/testi dai token. */

/* TOOLTIP */
body.light [data-bs-toggle="tooltip"].fa-info-circle {
    color: var(--text-muted) !important;
    transition: color 0.18s ease, opacity 0.18s ease;
}

/* FOOTER */
body.light .footer-right {
    font-weight: 550;
}

/* Bootstrap text-* utility in light → token semantici */
body.light .text-primary {
    color: var(--color-info) !important;
}

body.light .text-info {
    color: var(--color-info) !important;
}

body.light .text-danger {
    color: var(--color-danger) !important;
}

body.light .text-success {
    color: var(--color-success) !important;
}

body.light .text-warning {
    color: var(--color-warning) !important;
}

body.light .text-light {
    color: var(--text-secondary) !important;
}

body.light .control-label {
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.22), 0 0 3px color-mix(in srgb, var(--color-primary) 8%, transparent);
    color: var(--text-primary);
}

/* INPUT */
body.light .form-label {
    font-weight: 640;
    color: var(--text-primary);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.22), 0 0 3px color-mix(in srgb, var(--color-primary) 8%, transparent);
}

body.light .dfend-input {
    background: var(--bg-inset);
    border: 1px solid var(--border-default) !important;
}

    body.light .dfend-input:focus {
        border: 1px solid var(--color-primary);
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 25%, transparent);
        background: var(--bg-surface);
        color: var(--text-primary);
        font-weight: 500;
    }

    body.light .dfend-input:active {
        border: 1px solid var(--color-primary-active);
        box-shadow: 0 0 4px color-mix(in srgb, var(--color-primary) 30%, transparent);
        background: var(--bg-surface);
    }

body.light .dfend-input::placeholder {
    color: #454545;
}

body.light .dfend-input:focus::placeholder {
    color: var(--color-primary);
    opacity: 0.65;
}

body.light input.form-control.dfend-input {
    color: #454545 !important;
}

/* .dfend-readonly / .alert-danger / .alert-success / .cyber-textarea /
   .metric-neutral / .metric-label / .form-check-input:checked: override light
   RIMOSSI (FASE 5) — ora riprodotti dai token (stati + neutri) via theme-light. */

/* NEW CAMPAIGN */
body.light .dfend-form-section {
    background: linear-gradient(145deg, #e4e2e3 0%, #d3d1d2 100%);
    border: 2px solid var(--border-strong);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.5), inset 0 -1px 1px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.09), 0 2px 8px color-mix(in srgb, var(--color-primary) 8%, transparent);
    color: var(--text-primary) !important;
    font-weight: 650 !important;
}

    body.light .dfend-form-section label {
        color: var(--text-primary) !important;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.22), 0 0 3px color-mix(in srgb, var(--color-primary) 8%, transparent);
        font-weight: 640;
    }

    body.light .dfend-form-section .form-control {
        color: var(--text-secondary);
        font-weight: 640;
    }

        .dfend-form-section .form-control::placeholder {
            color: #8e8e8e;
            opacity: 0.7;
        }

body.light .dfend-form-section i {
    display: block;
    font-size: 0.85rem;
    margin-top: 1rem;
    color: var(--text-secondary);
    opacity: 0.8;
    text-align: center;
}

body.light .dfend-note{
    font-weight: 640 !important;
}

body.light .tabulator-tooltip {
    background: #e8e6e7 !important;
    border: 1px solid #1e1e1e !important;
    color: #1e1e1e !important;
}

/* PHISHING DETAIL */
body.light .dfend-tabs {
    border-bottom: 3px solid var(--border-strong) !important;
}

    body.light .dfend-tabs .nav-link {
        background: linear-gradient(145deg, #dcd9da 0%, #cfcccd 100%);
        color: var(--text-primary);
        border: 1px solid var(--border-default);
        border-bottom: 2px solid transparent;
        transition: all 0.25s ease-in-out;
    }

        body.light .dfend-tabs .nav-link:hover {
            background: linear-gradient(145deg, #e8e6e7 0%, #d9d7d8 100%);
            border: 1.9px solid var(--color-primary);
            border-bottom: transparent;
            color: var(--text-primary);
        }

        body.light .dfend-tabs .nav-link:hover .material-icons-outlined {
            color: var(--color-primary);
        }

    body.light .dfend-tabs .nav-link.active {
        color: var(--text-primary);
        background: linear-gradient(145deg, #e8e6e7 0%, #d9d7d8 100%);
        border: 1.9px solid var(--color-primary);
        border-bottom: 2px solid var(--color-primary);
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 20%, transparent), 0 0 8px rgba(0, 0, 0, 0.06);
    }

        body.light .dfend-tabs .nav-link.active .material-icons-outlined {
            color: var(--color-primary);
        }

        body.light .dfend-tabs .nav-link.active::after {
            background: linear-gradient(145deg, #e8e6e7 0%, #d9d7d8 100%);
        }


body.light .campaign-code {
    color: var(--color-primary);
    text-shadow: none;
}

body.light .range-container input[type=range] {
    background: var(--bg-active);
}

body.light .range-container input[type=range]::-webkit-slider-thumb {
    background: var(--color-primary);
    box-shadow: none;
}

/* MAP */
body.light .jvm-container {
    background: transparent !important;
}

/* Continenti e bordi */
body.light .jvm-region {
    fill: #625054 !important;
    stroke: #8a7578 !important;
    stroke-width: 1.2px !important;
}

/* Pulsanti zoom + / − */
body.light .jvm-zoom-btn {
    background: var(--color-primary) !important;
    transition: all 0.25s ease-in-out;
}

/* Legenda */
body.light .map-legend-cyber {
    color: var(--text-primary) !important;
    font-weight: 550;
}

    body.light .map-legend-cyber div div {
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 25%, transparent) !important;
    }

/* Marker */
body.light .jvm-marker {
    stroke: #ffffff !important;
    stroke-width: 1.5px !important;
}

body.light .cyber-tooltip {
    background: var(--bg-elevated) !important;
}

/* Lista utenti */
body.light .cyber-tooltip-list li {
    border-bottom: 1px solid var(--border-default) !important;
}

    /* Email */
    body.light .cyber-tooltip-list li span:first-child {
        color: var(--text-primary) !important;
        font-weight: 550;
    }

    /* Numero accessi */
    body.light .cyber-tooltip-list li span:last-child {
        color: var(--text-primary) !important;
    }

    body.light .btn-glow-red:hover {
        background: var(--color-primary-hover);
        box-shadow: none;
    }

/* SIEM STATUS BAR */
body.light .siem-status-bar {
    background: linear-gradient(145deg, #e4e2e3 0%, #d3d1d2 100%);
    border: 2px solid var(--border-strong);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15), inset 0 0 16px color-mix(in srgb, var(--color-primary) 6%, transparent);
}

body.light .siem-status-title {
    color: var(--text-primary);
    text-shadow: none;
}

body.light .siem-divider {
    background: linear-gradient(to bottom, transparent, var(--border-strong), transparent);
}

body.light .siem-dot {
    box-shadow: inset 0 0 6px rgba(0,0,0,0.35), 0 0 6px rgba(0,0,0,0.15);
}

/* .siem-ok/.siem-bad/.siem-warn: RIMOSSI (FASE 5) — token success/danger/warning. */

body.light .siem-label {
    color: var(--text-primary);
}

/* .dfend-btn-raw / -green / -cyan / -orange: override light RIMOSSI (FASE 5) —
   token danger/success/secondary/warning via theme-light. */

/* .json-tree-wrapper / .json-node / .json-toggle / .json-value-*: RIMOSSI (FASE 5)
   — token (text/border/info/warning/success/danger/muted) via theme-light. */

body.light .json-value-block {
    padding-left: 26px;
    margin-top: 2px;
    white-space: normal;
    word-break: break-word;
}

/* GRID SEARCH */
body.light .dfend-grid-search {
    background: var(--bg-inset);
    border: 1px solid var(--border-default);
    border-bottom: 2px solid var(--accent-main);
}

    body.light .dfend-grid-search:focus-within {
        border: 1px solid var(--color-primary);
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 25%, transparent);
        background: var(--bg-surface);
        color: var(--text-primary);
    }

body.light .dfend-grid-search-icon {
    color: var(--text-title) !important;
    font-weight: 550;
}

body.light .dfend-grid-search-input {
    color: var(--text-title);
}

    body.light .dfend-grid-search-input::placeholder {
        font-weight: 550;
    }

/*SWEET ALERT FINDINGS*/
body.light .violation-toggle {
    color: #1C1E20;
}

body.light .violation-arrow {
    color: #6b7279;
}

body.light .form-check-input {
    border-color: #7f868d;
}

/* CERCA VULNERABILITY SWEET ALERT */
body.light .dfend-search-swal {
    background: linear-gradient(145deg, #f9f8f9 60%, #e8e6e7 140%);
    border: 1.5px solid #2E5F8A;
    box-shadow: 0 4px 24px rgba(46,95,138,0.22), 0 0 0 1px rgba(46,95,138,0.05);
}

body.light .dfend-search-modal {
    color: #1C1E20;
}

body.light .dfend-search-hero-title {
    color: #1C1E20;
    text-shadow: none;
}

body.light .dfend-search-hero-subtitle {
    color: #3b3b3b;
    font-weight: 500;
}

body.light .dfend-search-panel {
    background: linear-gradient(145deg, #f9f8f9 60%, #e8e6e7 140%);
    border: 1.5px solid #2E5F8A;
    box-shadow: 0 4px 24px rgba(46,95,138,0.22), 0 0 0 1px rgba(46,95,138,0.05);
}

body.light .dfend-search-label {
    color: #1C1E20;
}

body.light .dfend-radio-card {
    border: 1px solid rgba(46,95,138,0.18);
    background: linear-gradient(145deg, #fcfbfc 60%, #ece9ea 140%);
    color: #1C1E20;
}

    body.light .dfend-radio-card .material-icons-outlined {
        color: #2E5F8A;
    }

    body.light .dfend-radio-card:hover {
        border-color: rgba(46,95,138,0.34);
        box-shadow: 0 4px 16px rgba(46,95,138,0.12);
    }

    body.light .dfend-radio-card.active {
        border-color: #2E5F8A;
        background: linear-gradient(145deg, #f4f6f8 60%, #e5e9ee 140%);
        box-shadow: 0 0 0 1px rgba(46,95,138,0.05), 0 4px 14px rgba(46,95,138,0.12);
    }

body.light .dfend-search-inline-group .form-control:focus {
    border: 1.5px solid #a19a9c !important;
}

body.light .dfend-results-wrapper {
    border-top: 1px solid rgba(46,95,138,0.14);
}

body.light .dfend-results-title {
    color: #1C1E20;
}

    body.light .dfend-results-title .material-icons-outlined {
        color: #2E5F8A;
    }

body.light .dfend-results-counter {
    color: #2E5F8A;
    background: rgba(46,95,138,0.08);
    border: 1px solid rgba(46,95,138,0.16);
}

body.light .dfend-result-item {
    border: 1px solid rgba(46,95,138,0.16);
    background: linear-gradient(145deg, #fcfbfc 60%, #ece9ea 140%);
}

    body.light .dfend-result-item:hover {
        border-color: rgba(46,95,138,0.30);
        box-shadow: 0 4px 16px rgba(46,95,138,0.10), 0 0 0 1px rgba(46,95,138,0.03);
    }

    body.light .dfend-result-item.selected {
        border-color: #2E5F8A;
        background: linear-gradient(145deg, #f3f6f9 60%, #e4e9ef 140%);
        box-shadow: 0 0 0 1px rgba(46,95,138,0.05), 0 4px 16px rgba(46,95,138,0.14);
    }

body.light .dfend-result-icon {
    background: rgba(46,95,138,0.08);
    border: 1px solid rgba(46,95,138,0.16);
}

    body.light .dfend-result-icon .material-icons-outlined {
        color: #2E5F8A;
    }

body.light .dfend-result-check .material-icons-outlined {
    color: #7b8790;
}

body.light .dfend-result-item.selected .dfend-result-check .material-icons-outlined {
    color: #2E5F8A;
}

body.light .dfend-result-title {
    color: #1C1E20;
}

body.light .dfend-result-subtitle {
    color: #1C1E20;
}

body.light .dfend-empty-results {
    border: 1px dashed rgba(46,95,138,0.22);
    background: linear-gradient(145deg, #fbfafb 60%, #ece9ea 140%);
}

    body.light .dfend-empty-results .material-icons-outlined {
        color: #72818d;
    }

body.light .dfend-empty-results-title {
    color: #1C1E20;
}

body.light .dfend-empty-results-text {
    color: #62707a;
}

body.light .form-search-vuln {
    background: #fff;
}

/* SIDEBAR */
body.light .sidebar {
    background: #dfe2e2;
    border-right: 1px solid rgba(28, 32, 38, 0.13);
    box-shadow: 2px 0 6px rgba(18, 22, 28, 0.026), inset -1px 0 0 rgba(255, 255, 255, 0.28);
}

    body.light .sidebar::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: none;
        opacity: 0;
    }

    body.light .sidebar::after {
        content: "";
        position: absolute;
        right: -1px;
        top: 0;
        width: 1px;
        height: 100%;
        pointer-events: none;
        background: rgba(28, 32, 38, 0.105);
        opacity: 1;
    }

/* LOGO */
body.light .logo img {
    opacity: 1;
    filter: drop-shadow(0 1px 2px rgba(15, 19, 25, 0.085)) drop-shadow(0 0 5px color-mix(in srgb, var(--color-primary) 8%, transparent));
}

    body.light .logo img:hover {
        opacity: 1;
        filter: drop-shadow(0 2px 4px rgba(15, 19, 25, 0.090)) drop-shadow(0 0 7px color-mix(in srgb, var(--color-primary) 9%, transparent));
    }


/* NAV ITEM */
body.light .nav-item {
    color: rgba(24, 28, 34, 0.86);
    font-weight: 620;
}

    body.light .nav-item .label {
        color: #20252b;
    }

    body.light .nav-item .icon,
    body.light .nav-item .material-icons-outlined,
    body.light .nav-item i {
        color: var(--color-primary);
        opacity: 0.86;
        box-shadow: none;
    }

    body.light .nav-item .chevron {
        color: rgba(24, 28, 34, 0.60);
    }

    body.light .nav-item:hover,
    body.light .nav-item.active:hover {
        color: rgba(8, 11, 16, 0.97);
        background: linear-gradient(135deg, rgba(224, 228, 232, 0.72), rgba(205, 211, 217, 0.58));
        border-color: rgba(24, 28, 34, 0.12);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 5px 12px rgba(22, 27, 34, 0.055);
    }

        body.light .nav-item:hover .icon,
        body.light .nav-item:hover .material-icons-outlined,
        body.light .nav-item:hover i {
            color: var(--color-primary);
            opacity: 0.96;
        }

        body.light .nav-item:hover .chevron {
            color: rgba(24, 28, 34, 0.68);
        }

    body.light .nav-item.active {
        color: rgba(8, 11, 16, 0.99);
        background: linear-gradient( 135deg, rgba(229, 231, 233, 0.98), rgba(211, 215, 219, 0.94) );
        border-color: rgba(24, 28, 34, 0.10);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44), inset 0 0 0 1px rgba(255, 255, 255, 0.13), 0 9px 20px rgba(22, 27, 34, 0.125);
        font-weight: 760;
    }

        body.light .nav-item.active::before {
            background: linear-gradient(180deg, var(--color-primary), var(--color-primary-active));
            opacity: 0.88;
            box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 8%, transparent);
        }

        body.light .nav-item.active .icon,
        body.light .nav-item.active .material-icons-outlined,
        body.light .nav-item.active i {
            color: var(--color-primary);
            opacity: 0.98;
        }

        body.light .nav-item.active .chevron,
        body.light .has-sub.open .chevron {
            color: var(--color-primary);
            opacity: 0.86;
        }

    body.light .nav-item:focus-visible {
        outline: 2px solid rgba(24, 28, 34, 0.24);
    }


/* SUBNAV */
body.light .subnav::before {
    background: linear-gradient(180deg, rgba(24, 28, 34, 0.070), rgba(24, 28, 34, 0.175), rgba(24, 28, 34, 0.070));
}

body.light .subnav-item {
    color: #3d444b;
    font-weight: 600;
}

    body.light .subnav-item .material-icons-outlined,
    body.light .subnav-item i {
        color: #4c555d;
    }

    body.light .subnav-item:hover {
        color: #242424;
        background: linear-gradient(135deg, rgba(222, 226, 230, 0.60), rgba(203, 209, 215, 0.46));
        border-color: rgba(24, 28, 34, 0.085);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 4px 10px rgba(22, 27, 34, 0.040);
    }

        body.light .subnav-item:hover .material-icons-outlined,
        body.light .subnav-item:hover i {
            color: var(--color-primary);
            opacity: 0.86;
        }

    body.light .subnav-item.active {
        color: var(--color-primary);
        opacity: 1;
        font-weight: 740;
    }

        body.light .subnav-item.active .material-icons-outlined,
        body.light .subnav-item.active i {
            color: var(--color-primary);
            opacity: 0.96;
        }

        body.light .subnav-item.active::before {
            background: var(--color-primary);
            opacity: 0.92;
            box-shadow: none;
        }


/* FOOTER */





/* SHRINK MODE */
body.light .sidebar.shrink {
    background: linear-gradient(180deg, #dcdee0 0%, #d7dadc 52%, #d2d6d9 100%);
    border-right: 1px solid rgba(30, 35, 42, 0.22);
    box-shadow: 10px 0 28px rgba(22, 27, 34, 0.105), inset -1px 0 0 rgba(255, 255, 255, 0.34);
}

    body.light .sidebar.shrink .nav-item:hover {
        background: linear-gradient(135deg, rgba(224, 228, 232, 0.72), rgba(205, 211, 217, 0.58)) !important;
        border-color: rgba(24, 28, 34, 0.12) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 5px 12px rgba(22, 27, 34, 0.055) !important;
    }

    body.light .sidebar.shrink .nav-item.active {
        border-color: rgba(24, 28, 34, 0.10) !important;
    }

        body.light .sidebar.shrink .nav-item.active .icon {
            color: var(--color-primary);
            opacity: 1;
        }


/* CLOSE SIDEBAR BUTTON */
body.light .btn-close-sidebar {
    color: rgba(24, 28, 34, 0.78);
    background: linear-gradient(135deg, rgba(224, 228, 232, 0.64), rgba(204, 210, 216, 0.46));
    border: 1px solid rgba(18, 22, 28, 0.13);
    box-shadow: 0 7px 16px rgba(15, 19, 25, 0.070), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

    body.light .btn-close-sidebar:hover {
        color: rgba(8, 11, 16, 0.96) !important;
        background: linear-gradient(135deg, rgba(232, 235, 238, 0.72), rgba(211, 217, 223, 0.56));
        border-color: rgba(24, 28, 34, 0.15);
        box-shadow: 0 9px 18px rgba(15, 19, 25, 0.088), inset 0 0 0 1px rgba(255, 255, 255, 0.22);
    }


@media (max-width: 991.98px) {
    body.light .sidebar {
        background: linear-gradient(180deg, #dcdee0 0%, #d7dadc 52%, #d2d6d9 100%);
        border-right: 1px solid rgba(30, 35, 42, 0.22);
        box-shadow: 14px 0 32px rgba(22, 27, 34, 0.13), inset -1px 0 0 rgba(255, 255, 255, 0.34);
    }

    body.light .sidebar-overlay {
        background: rgba(217, 220, 222, 0.76);
        backdrop-filter: blur(5px);
    }

    body.light .nav-item:hover,
    body.light .nav-item.active:hover {
        background: linear-gradient(135deg, rgba(224, 228, 232, 0.72), rgba(205, 211, 217, 0.58)) !important;
        border-color: rgba(24, 28, 34, 0.12) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24), 0 5px 12px rgba(22, 27, 34, 0.055) !important;
    }

    body.light .nav-item.active {
        border-color: rgba(24, 28, 34, 0.10) !important;
    }

    body.light .subnav-item:hover {
        background: linear-gradient(135deg, rgba(222, 226, 230, 0.60), rgba(203, 209, 215, 0.46)) !important;
        border-color: rgba(24, 28, 34, 0.085) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 4px 10px rgba(22, 27, 34, 0.040) !important;
    }
}

/* TOPBAR */
body.light .topbar {
    background: #dcdfdf;
    border-bottom: 1px solid rgba(35, 39, 45, 0.095);
    box-shadow: 0 2px 7px rgba(18, 22, 28, 0.035), inset 0 -1px 0 rgba(255, 255, 255, 0.24);
}

    body.light .topbar::before {
        background: none;
        opacity: 0;
    }



body.light .subtitle {
    color: rgba(24, 28, 34, 0.56);
    text-shadow: none;
}


/* ICON */
body.light .btn-hamburger,
body.light .notif,
body.light .search-icon,
body.light .topbar .material-icons-outlined {
    color: rgba(24, 28, 34, 0.78);
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

    body.light .btn-hamburger:hover,
    body.light .btn-hamburger:focus-visible,
    body.light .notif:hover,
    body.light .notif:focus-visible {
        color: rgba(8, 11, 16, 0.96) !important;
        background: linear-gradient(135deg, rgba(232, 235, 238, 0.72), rgba(211, 217, 223, 0.56));
        border-color: rgba(24, 28, 34, 0.15);
        box-shadow: 0 9px 18px rgba(15, 19, 25, 0.088), inset 0 0 0 1px rgba(255, 255, 255, 0.22);
    }

/* SEARCH */
body.light .search-icon {
    color: rgba(24, 28, 34, 0.78);
}

    body.light .search-icon:hover,
    body.light .search-icon:focus-visible {
        color: rgba(8, 11, 16, 0.96) !important;
        background: linear-gradient(135deg, rgba(232, 235, 238, 0.72), rgba(211, 217, 223, 0.56));
        border-color: rgba(24, 28, 34, 0.15);
        box-shadow: 0 9px 18px rgba(15, 19, 25, 0.088), inset 0 0 0 1px rgba(255, 255, 255, 0.22);
    }

body.light .search-wrapper.active .search-icon {
    color: var(--color-primary) !important;
    background: linear-gradient(135deg, rgba(232, 235, 238, 0.78), rgba(211, 217, 223, 0.62));
    box-shadow: none;
}

body.light .search-expanded {
    background: linear-gradient(180deg, #e0e2e4 0%, #d8dbde 54%, #d1d5d9 100%);
}

body.light .search-wrapper.active .search-expanded {
    background: linear-gradient(180deg, #e0e2e4 0%, #d8dbde 54%, #d1d5d9 100%);
    border-color: rgba(30, 35, 42, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.44), inset 0 0 0 1px rgba(255, 255, 255, 0.13), 0 4px 16px rgba(22, 27, 34, 0.125);
}

body.light .search-expanded input {
    color: #20252b;
    background: transparent;
}

    body.light .search-expanded input::placeholder {
        color: rgba(24, 28, 34, 0.46);
    }

    body.light .search-expanded input:focus {
        color: rgba(8, 11, 16, 0.98);
    }

body.light .search-expanded .material-icons-outlined {
    color: var(--color-primary);
    opacity: 0.86;
}

body.light .search-expanded:focus-within .material-icons-outlined {
    color: var(--color-primary);
    opacity: 0.96;
}


/* TOPBAR USER AREA */
body.light .topbar-user-area {
    color: rgba(24, 28, 34, 0.82);
}

body.light .topbar-user-company {
    color: rgba(8, 11, 16, 0.57);
    font-weight: 670;
    letter-spacing: -0.012em;
}

body.light .topbar-user-divider {
    background: linear-gradient( 180deg, transparent 0%, rgba(8, 11, 16, 0.090) 18%, rgba(8, 11, 16, 0.220) 50%, rgba(8, 11, 16, 0.090) 82%, transparent 100% );
    opacity: 1;
}

/* NOTIFICATION BADGE */
body.light .notif .badge {
    background: var(--color-primary);
    color: var(--color-primary-contrast);
    box-shadow: none;
    opacity: 0.98;
}

body.light .notif:hover .badge,
body.light .notif:focus-visible .badge {
    box-shadow: 0 2px 8px color-mix(in srgb, var(--color-primary) 34%, transparent), 0 0 0 2px var(--bg-surface);
}


/* NOTIFICATION DROPDOWN */
body.light .drop-notifications {
    background: #e0e2e4;
    border: 1px solid rgba(30, 35, 42, 0.16);
    box-shadow: 0 18px 42px rgba(22, 27, 34, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

body.light .drop-notifications-header {
    border-bottom: 1px solid rgba(24, 28, 34, 0.10);
}

    body.light .drop-notifications-header h6 {
        color: #20252b;
    }



    body.light .drop-notifications-header .mark-all {
        color: rgba(24, 28, 34, 0.58);
    }

        body.light .drop-notifications-header .mark-all:hover {
            color: var(--color-primary);
        }

body.light .drop-notifications .notif-date {
    color: rgba(24, 28, 34, 0.44);
}

body.light .dfend-notification .notif-card.unread {
    background: linear-gradient(135deg, rgba(228, 230, 232, 0.98), rgba(210, 214, 218, 0.92));
    border-color: rgba(24, 28, 34, 0.10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.40), inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 8px 18px rgba(22, 27, 34, 0.115);
}

    body.light .dfend-notification .notif-card.unread::before {
        background: linear-gradient(180deg, var(--color-primary), var(--color-primary-active));
        opacity: 0.88;
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 8%, transparent);
    }

body.light .dfend-notification .notif-card.read {
    opacity: 0.86;
}

    body.light .dfend-notification .notif-card.unread:hover,
    body.light .dfend-notification .notif-card.read:hover {
        background: linear-gradient(135deg, rgba(224, 228, 232, 0.72), rgba(205, 211, 217, 0.58));
        border-color: rgba(24, 28, 34, 0.10);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22), 0 5px 12px rgba(22, 27, 34, 0.055);
    }

        body.light .dfend-notification .notif-card.unread:hover::before,
        body.light .dfend-notification .notif-card.read:hover::before {
            background: linear-gradient(180deg, var(--color-primary), var(--color-primary-active));
            opacity: 0.78;
            box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 8%, transparent);
        }


/* NOTIFICATION TEXT */
body.light .dfend-notification .notif-icon {
    color: rgba(24, 28, 34, 0.54);
}

    body.light .dfend-notification .notif-icon.info {
        color: rgba(24, 28, 34, 0.54) !important;
    }

body.light .dfend-notification .notif-card.unread .notif-icon,
body.light .dfend-notification .notif-card.unread .notif-icon.info {
    color: rgba(24, 28, 34, 0.72) !important;
}

body.light .dfend-notification .notif-title {
    color: #20252b;
}

body.light .dfend-notification .notif-message {
    color: rgba(24, 28, 34, 0.66);
}

body.light .dfend-notification .notif-card.unread .notif-message {
    color: rgba(24, 28, 34, 0.72);
}

body.light .dfend-notification .notif-card.read .notif-title,
body.light .dfend-notification .notif-card.read .notif-message {
    color: rgba(24, 28, 34, 0.46);
}

body.light .dfend-notification .notif-meta,
body.light .dfend-notification .notif-time {
    color: rgba(24, 28, 34, 0.44);
}

body.light .dfend-notification .notif-link {
    color: var(--color-primary);
}

    body.light .dfend-notification .notif-link:hover {
        color: var(--color-primary);
    }

body.light .drop-notifications .text-muted {
    color: rgba(24, 28, 34, 0.50) !important;
}


/* AUTOCOMPLETE & DROPDOWN MENU */
body.light .ui-autocomplete,
body.light .dropdown-menu {
    background: #e0e2e4 !important;
    border: 1px solid rgba(30, 35, 42, 0.16) !important;
    box-shadow: 0 18px 42px rgba(22, 27, 34, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.38) !important;
}


/* SWITCH AZIENDA */
body.light .drop-company {
    background: #e0e2e4;
    border: 1px solid rgba(30, 35, 42, 0.16);
    box-shadow: 0 18px 42px rgba(22, 27, 34, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

body.light .drop-company-header {
    border-bottom: 1px solid rgba(24, 28, 34, 0.10);
}

    body.light .drop-company-header h6 {
        color: #20252b;
    }

body.light .company-card:hover {
    background: linear-gradient(135deg, rgba(224, 228, 232, 0.72), rgba(205, 211, 217, 0.58));
    border-color: rgba(24, 28, 34, 0.10);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22), 0 5px 12px rgba(22, 27, 34, 0.055);
}

    body.light .company-card:hover::before {
        background: linear-gradient(180deg, var(--color-primary), var(--color-primary-active));
        opacity: 0.78;
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 8%, transparent);
    }

body.light .company-icon {
    color: var(--color-primary) !important;
    opacity: 0.86;
}

body.light .company-card:hover .company-icon {
    color: var(--color-primary) !important;
    opacity: 0.96;
}

body.light .company-title {
    color: rgba(24, 28, 34, 0.72);
}

body.light .company-card:hover .company-title {
    color: #20252b;
}

body.light .company-card.active {
    background: linear-gradient(135deg, rgba(228, 230, 232, 0.98), rgba(210, 214, 218, 0.92));
    border-color: rgba(24, 28, 34, 0.10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.40), inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 8px 18px rgba(22, 27, 34, 0.115);
}

    body.light .company-card.active::before {
        background: linear-gradient(180deg, var(--color-primary), var(--color-primary-active));
        opacity: 0.88;
        box-shadow: 0 0 6px color-mix(in srgb, var(--color-primary) 8%, transparent);
    }

    body.light .company-card.active .company-title {
        color: #20252b;
        font-weight: 680;
    }

    body.light .company-card.active .company-icon {
        color: var(--color-primary) !important;
        opacity: 0.98;
    }
