/* HOAU Pulse — integrazione visiva per ERP originale
   Solo presentazione: non modifica dati, API o logica applicativa. */
:root {
    --hoau-green: #65b32e;
    --hoau-green-light: #7cc843;
    --hoau-cyan: #41bfef;
    --hoau-logo: #8c9ca6;
    --erp-bg: #090b09;
    --erp-surface: #111411;
    --erp-raised: #191e19;
    --erp-text: #f4f6f2;
    --erp-muted: #8c9ca6;
    --erp-border: #293029;
    --erp-accent-ink: #0b1407;
    --erp-shadow: 0 12px 32px rgba(0, 0, 0, .16);
}
html.light {
    --erp-bg: #f3f6f1;
    --erp-surface: #ffffff;
    --erp-raised: #edf1ea;
    --erp-text: #171c18;
    --erp-muted: #68756d;
    --erp-border: #dce3d8;
    --erp-shadow: 0 10px 26px rgba(37, 55, 30, .055);
}
html, body {
    background-color: var(--erp-bg) !important;
    color: var(--erp-text);
}
body {
    background-image: radial-gradient(circle at 1px 1px, rgba(101, 179, 46, .065) 1px, transparent 0);
    background-size: 22px 22px;
}
::selection { background: var(--hoau-green); color: var(--erp-accent-ink); }
::-webkit-scrollbar-track { background: var(--erp-bg); }
::-webkit-scrollbar-thumb { background: var(--erp-border); }
::-webkit-scrollbar-thumb:hover { background: var(--hoau-green); }

/* Tipografia HOAU */
h1, h2, h3, #pageTitle, main #kpi-fatturato, main #kpi-cantieri, main #kpi-magazzino, main #kpi-ticket {
    font-family: 'Saira Condensed', 'Inter', sans-serif;
    letter-spacing: .005em;
}
#pageTitle { font-size: 22px; font-weight: 600; }
main #kpi-fatturato, main #kpi-cantieri, main #kpi-magazzino, main #kpi-ticket { font-size: 32px; line-height: 1.1; font-weight: 600; }
#sidebar .nav-item {
    font-family: 'Saira Condensed', 'Inter', sans-serif;
    font-size: 15px;
    letter-spacing: .015em;
}

/* Superfici e struttura */
.glass-panel {
    background: var(--erp-surface) !important;
    border-color: var(--erp-border) !important;
    box-shadow: var(--erp-shadow);
    backdrop-filter: blur(14px);
}
#sidebar {
    background: var(--erp-surface) !important;
    border-color: var(--erp-border) !important;
}
header {
    background: color-mix(in srgb, var(--erp-surface) 94%, transparent) !important;
    border-color: var(--erp-border) !important;
}
main { background: transparent; }
html [class*="border-slate-800"],
html [class*="border-slate-700"],
html [class*="border-slate-600"] {
    border-color: var(--erp-border) !important;
}
html.dark [class*="bg-slate-950"] { background-color: var(--erp-bg) !important; }
html.dark [class*="bg-slate-900"] { background-color: var(--erp-surface) !important; }
html.dark [class*="bg-slate-800"] { background-color: var(--erp-raised) !important; }
html.dark [class*="bg-slate-700"] { background-color: var(--erp-border) !important; }
html.light [class*="bg-slate-950"] { background-color: var(--erp-bg) !important; }
html.light [class*="bg-slate-900"] { background-color: var(--erp-surface) !important; }
html.light [class*="bg-slate-800"] { background-color: var(--erp-raised) !important; }
html.light [class*="bg-slate-700"] { background-color: var(--erp-border) !important; }
html.dark [class*="text-slate-400"],
html.dark [class*="text-slate-500"] { color: var(--erp-muted) !important; }
html.light [class*="text-slate-400"],
html.light [class*="text-slate-500"] { color: var(--erp-muted) !important; }

/* Navigazione */
#sidebar .nav-item {
    border-left: 3px solid transparent;
    border-radius: 8px;
    color: var(--erp-muted);
}
#sidebar .nav-item:hover {
    background: var(--erp-raised) !important;
    color: var(--erp-text);
}
#sidebar .nav-item.nav-active,
html.light #sidebar .nav-item.nav-active {
    background: color-mix(in srgb, var(--hoau-green) 11%, var(--erp-surface)) !important;
    border-left-color: var(--hoau-green);
    color: var(--hoau-green) !important;
}
#sidebar .nav-item [class*="bg-slate-"] {
    background: var(--erp-raised) !important;
    border: 1px solid var(--erp-border);
}
#sidebar > div:first-child { border-color: var(--erp-border) !important; }
.hoau-logo-pulse { animation: none; border-color: rgba(101, 179, 46, .55) !important; }

/* Controlli */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea {
    background-color: var(--erp-surface) !important;
    color: var(--erp-text) !important;
    border-color: var(--erp-border) !important;
    border-radius: 8px;
}
input::placeholder, textarea::placeholder { color: var(--erp-muted) !important; }
input:focus, select:focus, textarea:focus {
    border-color: var(--hoau-green) !important;
    box-shadow: 0 0 0 3px rgba(101, 179, 46, .12);
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--hoau-green);
    outline-offset: 2px;
}
header button, #loginScreenOverlay button,
main button[class*="bg-hoau-"]:not([class*="/"]) {
    border-radius: 999px !important;
}
main button[class*="bg-hoau-"]:not([class*="/"]),
html.light main button[class*="bg-hoau-"]:not([class*="/"]) {
    background: var(--hoau-green) !important;
    color: var(--erp-accent-ink) !important;
    border-color: var(--hoau-green) !important;
}
main button[class*="bg-hoau-"]:not([class*="/"]):hover { background: var(--hoau-green-light) !important; }
header button[class*="bg-slate-"], #loginScreenOverlay > button {
    background: var(--erp-raised) !important;
    border-color: var(--erp-border) !important;
    color: var(--erp-text) !important;
}

/* Login */
#loginScreenOverlay {
    background:
        radial-gradient(circle at 15% 80%, rgba(101, 179, 46, .17), transparent 38%),
        radial-gradient(circle at 88% 5%, rgba(65, 191, 239, .08), transparent 30%),
        radial-gradient(circle at 1px 1px, rgba(101, 179, 46, .09) 1px, transparent 0),
        var(--erp-bg) !important;
    background-size: auto, auto, 22px 22px, auto !important;
}
#loginScreenOverlay > div {
    background: var(--erp-surface) !important;
    border-color: var(--erp-border) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
}
#loginScreenOverlay h2 { font-size: 26px; font-weight: 600; }

/* Tabelle e dettagli */
table th { color: var(--erp-muted); letter-spacing: .06em; }
table td, table tr, [class*="divide-slate-"] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--erp-border) !important;
}
.text-hoau-400, .text-hoau-300 { color: var(--hoau-green-light) !important; }
html.light .text-hoau-400, html.light .text-hoau-300,
html.light [class*="text-hoau-400"], html.light [class*="text-hoau-300"] { color: #477d20 !important; }
html.light [class*="text-cyan-300"], html.light [class*="text-cyan-400"] { color: #167ca2 !important; }
html.light [class*="text-blue-200"], html.light [class*="text-blue-300"], html.light [class*="text-blue-400"] { color: #1d5f9f !important; }
html.light button[class~="text-white"][class*="bg-slate-"] {
    color: var(--erp-text) !important;
}

/* Magazzino: nessuna sovrapposizione tra filtri e azioni */
#view-magazzino > .hoau-original-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
}
#inventoryCategoryFilterBar > div {
    flex-wrap: wrap !important;
    min-width: 0;
}
#inventoryCategoryFilterBar select {
    flex: 1 1 280px !important;
    min-width: 220px !important;
    max-width: none !important;
}
#view-magazzino > .hoau-original-toolbar > div:last-child {
    width: 100%;
    min-width: 0;
    flex-wrap: wrap !important;
    justify-content: flex-start;
}
#view-magazzino > .hoau-original-toolbar > div:last-child > * {
    flex-shrink: 0;
    max-width: 100%;
}
#quickBarcodeInput { width: 208px !important; }
#view-magazzino .overflow-x-auto {
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}
#view-magazzino table { min-width: 1220px; }

/* Header: titolo leggibile e controlli compatti prima che si affollino */
@media (min-width: 1024px) {
    header > div:first-child { flex: 1 1 auto; min-width: 220px; }
    header > div:last-child { flex: 0 1 auto; min-width: 0; }
}
@media (min-width: 1024px) and (max-width: 1900px) {
    #headerNotifLabel { display: none !important; }
    header button[onclick="logoutStaffUser()"] > div:nth-child(2) { display: none !important; }
    header button[onclick="exportDatabaseJSON()"] span { display: none !important; }
    #globalSearch { width: 160px !important; }
    #pageTitle { min-width: 220px; }
}

/* Le azioni restano visibili mentre si scorre la tabella sul desktop */
@media (min-width: 768px) {
    #view-magazzino th:last-child,
    #view-magazzino td:last-child {
        position: sticky;
        right: 0;
        z-index: 3;
        min-width: 228px;
        background: var(--erp-surface);
        box-shadow: -14px 0 20px rgba(0, 0, 0, .08);
    }
    #view-magazzino thead th:last-child { z-index: 5; }
}
@media (max-width: 767px) {
    #inventoryCategoryFilterBar select {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px;
    }
    #quickBarcodeInput { width: 100% !important; }
    #view-magazzino > .hoau-original-toolbar > div:last-child > .relative {
        flex: 1 1 100% !important;
    }
}

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