.cursor-pointer {
      cursor: pointer;
}

/* ============================================================
   Ricerca globale topbar (gc-search)
   ============================================================ */
#gc-search-wrap {
    width: 640px;
    max-width: 100%;
}
#gc-search-wrap .topbar-search {
    width: 640px;
    max-width: 100%;
    padding-right: 2.25rem;
}
.gc-search-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1080;
    width: 640px;
    max-width: calc(100vw - 32px);
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: .6rem;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .14);
    max-height: 75vh;
    overflow-y: auto;
    padding: .35rem 0;
}
.gc-search-panel .gc-search-group-label {
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--bs-secondary-color, #6b7280);
    padding: .55rem .95rem .3rem;
    display: flex;
    align-items: center;
    gap: .4rem;
    border-top: 1px solid var(--bs-border-color, #f1f3f5);
}
.gc-search-panel .gc-search-group-label:first-child {
    border-top: 0;
}
.gc-search-panel .gc-search-item {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: .25rem 1rem;
    padding: .55rem .95rem;
    color: var(--bs-body-color, #111);
    text-decoration: none;
    border-left: 2px solid transparent;
    cursor: pointer;
    line-height: 1.25;
}
.gc-search-panel .gc-search-item:hover,
.gc-search-panel .gc-search-item.is-active {
    background: var(--bs-tertiary-bg, #f3f4f6);
    border-left-color: var(--bs-primary, #3e60d5);
}
.gc-search-panel .gc-search-main {
    min-width: 0;
}
.gc-search-panel .gc-search-title {
    font-weight: 500;
    font-size: .9375rem;
    color: var(--bs-body-color, #111827);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gc-search-panel .gc-search-sub {
    font-size: .8125rem;
    color: var(--bs-secondary-color, #6b7280);
    margin-top: .1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gc-search-panel .gc-search-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .15rem;
    white-space: nowrap;
    padding-top: 1px;
}
.gc-search-panel .gc-search-chip {
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
    padding: .25rem .5rem;
    border-radius: 999px;
    letter-spacing: .01em;
    background: var(--bs-secondary-bg, #eef0f3);
    color: var(--bs-secondary-color, #4b5563);
    border: 1px solid transparent;
}
.gc-search-panel .gc-chip-primary {
    background: rgba(62, 96, 213, .12);
    color: var(--bs-primary, #3e60d5);
}
.gc-search-panel .gc-chip-mono {
    background: transparent;
    color: var(--bs-body-color, #111827);
    border-color: var(--bs-border-color, #e5e7eb);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    font-weight: 600;
}
.gc-search-panel .gc-chip-neutral {
    background: var(--bs-tertiary-bg, #f3f4f6);
    color: var(--bs-secondary-color, #6b7280);
}
.gc-search-panel .gc-search-meta-sub {
    font-size: .75rem;
    color: var(--bs-secondary-color, #6b7280);
    font-variant-numeric: tabular-nums;
}
.gc-search-panel .gc-search-empty,
.gc-search-panel .gc-search-loading {
    padding: .95rem;
    text-align: center;
    color: var(--bs-secondary-color, #6b7280);
    font-size: .9rem;
}
.gc-search-panel mark {
    background: rgba(62, 96, 213, .18);
    color: inherit;
    padding: 0 .1rem;
    border-radius: .15rem;
    font-weight: 600;
}
/* ===== E-Bridge brand ===== */
:root {
  --eb-primary: #0B3D5C;
  --eb-accent:  #1FB6A6;
  --eb-primary-rgb: 11,61,92;
  --eb-accent-rgb: 31,182,166;
}
.btn-primary, .bg-primary { background-color: var(--eb-primary) !important; border-color: var(--eb-primary) !important; }
.btn-primary:hover, .btn-primary:focus { background-color: #082f47 !important; }
.text-primary { color: var(--eb-primary) !important; }
.eb-accent { color: var(--eb-accent) !important; }
.eb-chip { display:inline-flex; align-items:center; gap:.35rem; padding:.28rem .65rem; border-radius:999px; font-size:.8rem; font-weight:600; line-height:1.3; white-space:nowrap; }
/* badge di stato leggibile (skill card + tabelle dipartimento) */
.badge.eb-badge-md { font-size:.78rem; font-weight:600; padding:.34rem .6rem; border-radius:8px; line-height:1.2; }
/* "Cosa devo fare": card compatta e scrollabile (non deve schiacciare il resto) */
.eb-todo-scroll { max-height:316px; overflow-y:auto; }
.eb-todo .list-group-item { padding-top:.55rem; padding-bottom:.55rem; }
/* Toast E-Bridge: in alto a destra, sotto la topbar (non in basso a destra) */
.position-fixed.bottom-0.end-0.rounded-3.text-white.shadow {
    bottom: auto !important;
    top: var(--ins-topbar-height, 70px) !important;
}

/* dati: cifre tabulari (allineate, niente layout shift) + hover fluido portfolio */
.eb-num { font-variant-numeric: tabular-nums; }
.eb-portfolio-row { transition: background-color .15s ease; }
/* selettore periodo grafici (palette demo, non viola) */
.btn.eb-chart-range { border:1px solid #e2e8f0; background:#fff; color:var(--eb-primary); font-weight:500; }
.btn.eb-chart-range:hover, .btn.eb-chart-range:focus { border-color:var(--eb-accent); color:var(--eb-primary); background:#fff; box-shadow:none; }
.btn.eb-chart-range.active, .btn.eb-chart-range:active { background:var(--eb-primary) !important; border-color:var(--eb-primary) !important; color:#fff !important; }
.eb-chip-pieno      { background:#e6f7f4; color:#0f7a6c; }
.eb-chip-parziale   { background:#fff6e0; color:#9a6b00; }
.eb-chip-non_fattibile { background:#fde8e8; color:#b42318; }
.eb-chip-enterprise { background:#eef0f4; color:#344054; }
.eb-chip-condizioni { background:#e7efff; color:#1d4ed8; }
.eb-brand-dot { width:.6rem; height:.6rem; border-radius:50%; display:inline-block; flex:0 0 auto; }
.eb-sev-red    { color:#b42318; }
.eb-sev-yellow { color:#9a6b00; }
.eb-sev-green  { color:#0f7a6c; }

/* ===== E-Bridge filtri a pillola ===== */
.eb-pill { display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .85rem; border-radius:999px;
           border:1px solid #e2e8f0; background:#fff; color:#0B3D5C; font-size:.82rem; font-weight:500;
           text-decoration:none; line-height:1; transition:all .15s ease; }
.eb-pill:hover { border-color:var(--eb-accent); color:#0B3D5C; box-shadow:0 1px 4px rgba(11,61,92,.08); }
.eb-pill-active { background:var(--eb-primary); border-color:var(--eb-primary); color:#fff; }
.eb-pill-active:hover { color:#fff; border-color:var(--eb-primary); }
.eb-pill-count { display:inline-flex; align-items:center; justify-content:center; min-width:1.3rem; height:1.3rem;
                 padding:0 .4rem; border-radius:999px; background:rgba(11,61,92,.08); color:#0B3D5C;
                 font-size:.72rem; font-weight:700; }
.eb-pill-active .eb-pill-count { background:rgba(255,255,255,.22); color:#fff; }

/* ===== E-Bridge tabelle (DataTables 2.x) ===== */
table.eb-datatable thead th { white-space:nowrap; }
table.eb-datatable thead th.dt-orderable-asc, table.eb-datatable thead th.dt-orderable-desc { cursor:pointer; }
/* respiro dai bordi della card: padding sui singoli controlli (le layout-row
   sono Bootstrap .row con margini negativi che annullerebbero il padding). */
.dt-container .dt-length { padding:1rem 0 .4rem 1.25rem; }
.dt-container .dt-search { padding:1rem 1.25rem .4rem 0; }
.dt-container .dt-info   { padding:.4rem 0 1rem 1.25rem; }
.dt-container .dt-paging { padding:.4rem 1.25rem 1rem 0; }
.dt-container .dt-search input {
    border:1px solid #e2e8f0; border-radius:8px; padding:.35rem .7rem; margin-left:.5rem; }
.dt-container .dt-length select {
    border:1px solid #e2e8f0; border-radius:8px; padding:.3rem 1.6rem .3rem .6rem; margin:0 .35rem; }
.dt-container .dt-paging .dt-paging-button.current {
    background:var(--eb-primary) !important; border-color:var(--eb-primary) !important; color:#fff !important; border-radius:8px; }
/* Scroll orizzontale SOLO sulla riga-tabella, larga quanto la card: i controlli
   (ricerca/info/paginazione) restano a larghezza-card e fermi. Il min-width:0
   impedisce alla riga flex di allargarsi al contenuto (altrimenti esce dalla card). */
.table-responsive:has(.dt-container) { overflow:visible; }
/* display:block toglie il comportamento flex (.row) che allargava la riga al contenuto;
   max-width:100% + overflow-x:auto clippano la tabella alla larghezza della card. */
.dt-container .dt-layout-table { display:block; width:100%; max-width:100%; margin:0; overflow-x:auto; }
.dt-container .dt-layout-table > * { min-width:0; max-width:100%; padding-left:0; padding-right:0; }
/* paginazione a destra (il tema la centra: sovrascrivo la .pagination interna) */
.dt-container .dt-paging { text-align:right !important; }
.dt-container .dt-paging .pagination { justify-content:flex-end !important; margin-bottom:0; }

/* ===== E-Bridge spazio in alto pagine ===== */
.content-page > .container-fluid { padding-top: 1.5rem; }

/* ===== E-Bridge Flows builder (Drawflow) ===== */
#eb-flow-canvas { height:68vh; min-height:460px; position:relative; border-radius:12px; overflow:hidden;
    background:#f7f9fb; background-image:radial-gradient(#e3e8ee 1px, transparent 1px); background-size:22px 22px; }
#eb-flow-canvas .drawflow-node { background:transparent; border:0; padding:0; box-shadow:none; border-radius:14px; width:auto; }
#eb-flow-canvas .drawflow-node.selected { box-shadow:0 0 0 2px var(--eb-accent); border-radius:14px; }
.eb-node { display:flex; align-items:center; gap:.6rem; min-width:190px; padding:.7rem .85rem; background:#fff;
    border:1px solid #e2e8f0; border-left-width:4px; border-radius:14px; box-shadow:0 4px 14px rgba(11,61,92,.08); }
.eb-node-trigger    { border-left-color:#2BB673; }
.eb-node-skill      { border-left-color:var(--eb-primary); }
.eb-node-condizione { border-left-color:#E0A458; }
.eb-node-azione     { border-left-color:var(--eb-accent); }
.eb-node-ic { width:34px; height:34px; border-radius:9px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    background:rgba(11,61,92,.08); color:var(--eb-primary); }
.eb-node-trigger .eb-node-ic    { background:rgba(43,182,115,.15); color:#1f9d63; }
.eb-node-condizione .eb-node-ic { background:rgba(224,164,88,.18); color:#a86a13; }
.eb-node-azione .eb-node-ic     { background:rgba(31,182,166,.14); color:var(--eb-accent); }
.eb-node-tx { display:flex; flex-direction:column; line-height:1.2; }
.eb-node-title { font-weight:600; font-size:.86rem; color:#1f2937; }
.eb-node-sub { font-size:.72rem; color:#94a3b8; }
.eb-node-run { animation:eb-node-flash .7s ease; }
@keyframes eb-node-flash { 0%,100% { } 50% { filter:drop-shadow(0 0 9px rgba(31,182,166,.85)); } }
#eb-flow-canvas .connection .main-path { stroke:var(--eb-accent); stroke-width:2.5px; }
#eb-flow-canvas .drawflow-node .input,
#eb-flow-canvas .drawflow-node .output { background:#fff; border:2px solid var(--eb-accent); height:13px; width:13px; }

/* ===== E-Bridge AI assistant ===== */
#eb-ai-fab { position:fixed; right:26px; bottom:44px; z-index:1091; width:58px; height:58px; border:0; border-radius:50%;
    background:linear-gradient(135deg, var(--eb-primary), var(--eb-accent)); color:#fff; cursor:pointer;
    box-shadow:0 8px 24px rgba(11,61,92,.35); display:flex; align-items:center; justify-content:center; transition:transform .15s; }
#eb-ai-fab:hover { transform:scale(1.06); }
#eb-ai-fab svg { width:26px; height:26px; position:relative; z-index:1; }
.eb-ai-fab-pulse { position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(31,182,166,.5); animation:eb-ai-pulse 2.4s infinite; }
@keyframes eb-ai-pulse { 0% { box-shadow:0 0 0 0 rgba(31,182,166,.45); } 70% { box-shadow:0 0 0 16px rgba(31,182,166,0); } 100% { box-shadow:0 0 0 0 rgba(31,182,166,0); } }

.eb-ai-win { position:fixed; right:26px; bottom:112px; z-index:1090; width:390px; max-width:calc(100vw - 32px);
    height:620px; max-height:calc(100vh - 150px); background:#fff; border-radius:18px; overflow:hidden;
    box-shadow:0 20px 60px rgba(11,61,92,.28); display:flex; flex-direction:column; border:1px solid #e6eaf0; }
.eb-ai-head { background:linear-gradient(135deg, var(--eb-primary), #114a6e 70%, var(--eb-accent)); color:#fff;
    padding:.85rem 1rem; display:flex; align-items:center; justify-content:space-between; }
.eb-ai-logo { width:34px; height:34px; border-radius:10px; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
.eb-ai-sub { font-size:.72rem; opacity:.8; }
.eb-ai-iconbtn { width:32px; height:32px; border:0; border-radius:8px; background:rgba(255,255,255,.12); color:#fff;
    display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s; }
.eb-ai-iconbtn:hover { background:rgba(255,255,255,.25); }

.eb-ai-body { flex:1; overflow-y:auto; padding:1rem; background:#f7f9fb; }
.eb-ai-messages { display:flex; flex-direction:column; gap:.7rem; }
.eb-ai-msg { max-width:85%; padding:.6rem .8rem; border-radius:14px; font-size:.86rem; line-height:1.45; white-space:pre-wrap; word-wrap:break-word; }
.eb-ai-msg.user { align-self:flex-end; background:var(--eb-primary); color:#fff; border-bottom-right-radius:4px; }
.eb-ai-msg.assistant { align-self:flex-start; background:#fff; color:#1f2937; border:1px solid #e6eaf0; border-bottom-left-radius:4px; }
.eb-ai-msg.assistant strong { color:var(--eb-primary); }
.eb-ai-typing { align-self:flex-start; background:#fff; border:1px solid #e6eaf0; border-radius:14px; padding:.7rem .9rem; display:inline-flex; gap:4px; }
.eb-ai-typing span { width:7px; height:7px; border-radius:50%; background:#b6c2cf; animation:eb-ai-blink 1.2s infinite both; }
.eb-ai-typing span:nth-child(2) { animation-delay:.2s; } .eb-ai-typing span:nth-child(3) { animation-delay:.4s; }
@keyframes eb-ai-blink { 0%,80%,100% { opacity:.3; } 40% { opacity:1; } }

.eb-ai-welcome { text-align:center; padding:1.5rem .5rem; }
.eb-ai-logo-lg { width:58px; height:58px; margin:0 auto; border-radius:16px; color:#fff;
    background:linear-gradient(135deg, var(--eb-primary), var(--eb-accent)); display:flex; align-items:center; justify-content:center; }
.eb-ai-suggests { display:flex; flex-direction:column; gap:.5rem; }
.eb-ai-sg { border:1px solid #d8e0e8; background:#fff; border-radius:10px; padding:.5rem .75rem; font-size:.82rem; color:#0B3D5C; cursor:pointer; text-align:left; transition:all .15s; }
.eb-ai-sg:hover { border-color:var(--eb-accent); box-shadow:0 2px 8px rgba(11,61,92,.08); }

.eb-ai-foot { display:flex; align-items:flex-end; gap:.5rem; padding:.6rem .7rem; border-top:1px solid #eef0f4; background:#fff; }
.eb-ai-foot textarea { flex:1; border:1px solid #e2e8f0; border-radius:12px; padding:.6rem .85rem; resize:none; font-size:.86rem; line-height:1.3; min-height:40px; max-height:120px; height:40px; outline:none; overflow-y:hidden; }
.eb-ai-foot textarea:focus { border-color:var(--eb-accent); }
.eb-ai-sendbtn { width:40px; height:40px; flex:0 0 auto; border:0; border-radius:11px; background:var(--eb-primary); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.eb-ai-sendbtn:disabled { opacity:.5; cursor:default; }
.eb-ai-disclaimer { font-size:.68rem; color:#94a3b8; text-align:center; padding:.25rem 0 .5rem; background:#fff; }

.eb-ai-history { position:absolute; inset:62px 0 0 0; background:#fff; z-index:2; display:flex; flex-direction:column; }
.eb-ai-history-head { display:flex; align-items:center; justify-content:space-between; padding:.75rem 1rem; border-bottom:1px solid #eef0f4; }
.eb-ai-history-list { flex:1; overflow-y:auto; }
.eb-ai-hist-item { display:flex; align-items:center; gap:.5rem; padding:.7rem 1rem; border-bottom:1px solid #f2f4f7; cursor:pointer; }
.eb-ai-hist-item:hover { background:#f7f9fb; }
.eb-ai-hist-item .eb-ai-hist-tt { flex:1; min-width:0; font-size:.85rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.eb-ai-hist-del { border:0; background:transparent; color:#b6c2cf; cursor:pointer; padding:2px; }
.eb-ai-hist-del:hover { color:#b42318; }
.eb-ai-hist-empty { padding:2rem 1rem; text-align:center; color:#94a3b8; font-size:.85rem; }

/* pulsante AI unificato (stesso look del FAB) — usato ovunque nel sito */
.eb-ai-btn { display:inline-flex; align-items:center; gap:.45rem; border:0; border-radius:999px;
    background:linear-gradient(135deg, var(--eb-primary), var(--eb-accent)); color:#fff; font-weight:600;
    padding:.5rem 1rem; font-size:.875rem; line-height:1.2; cursor:pointer; white-space:nowrap;
    box-shadow:0 4px 14px rgba(11,61,92,.18); transition:transform .12s, box-shadow .12s, filter .12s; }
.eb-ai-btn:hover, .eb-ai-btn:focus { color:#fff; transform:translateY(-1px); box-shadow:0 7px 20px rgba(11,61,92,.28); filter:brightness(1.04); }
.eb-ai-btn:active { transform:translateY(0); }
.eb-ai-btn svg { width:16px; height:16px; }
.eb-ai-btn-sm { padding:.32rem .7rem; font-size:.8rem; }
.eb-ai-btn-sm svg { width:14px; height:14px; }
/* variante "icona sola" per le tabelle/azioni strette */
.eb-ai-btn-icon { padding:.32rem; width:30px; height:30px; justify-content:center; }
.eb-ai-btn-icon svg { width:15px; height:15px; }

@media (max-width:480px) {
    .eb-ai-win { right:8px; left:8px; bottom:84px; width:auto; height:calc(100vh - 110px); }
}

/* ===== E-Bridge wizard nuovo cliente ===== */
.eb-stepper { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; }
.eb-stepper .eb-step { display:flex; align-items:center; gap:.55rem; }
.eb-step-num { width:30px; height:30px; border-radius:50%; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    background:#eef0f4; color:#64748b; font-weight:700; font-size:.85rem; border:2px solid transparent; transition:all .2s; }
.eb-step.active .eb-step-num { background:var(--eb-primary); color:#fff; }
.eb-step.done .eb-step-num { background:#e6f7f4; color:#0f7a6c; border-color:#0f7a6c; }
.eb-step-lb { font-size:.82rem; color:#94a3b8; white-space:nowrap; }
.eb-step.active .eb-step-lb { color:var(--eb-primary); font-weight:600; }
.eb-step.done .eb-step-lb { color:#0f7a6c; }
.eb-connect-card { display:flex; align-items:center; gap:1rem; padding:1rem 1.1rem; border:1px solid #e2e8f0; border-radius:12px; }
.eb-connect-card.connected { border-color:#9fe0d4; background:#f4fbfa; }
.eb-cc-ic { width:46px; height:46px; border-radius:11px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    background:rgba(11,61,92,.07); color:var(--eb-primary); }

/* ===== E-Bridge onboarding / sincronizzazione ===== */
.eb-onb-hero { background:linear-gradient(135deg, var(--eb-primary), #114a6e 55%, var(--eb-accent));
               color:#fff; border-radius:18px; padding:2.75rem 2rem; text-align:center; position:relative; overflow:hidden; }
.eb-onb-hero::after { content:""; position:absolute; inset:0;
               background:radial-gradient(circle at 80% 0%, rgba(255,255,255,.18), transparent 40%); }
.eb-onb-hero > * { position:relative; z-index:1; }
.eb-onb-ring { width:84px; height:84px; margin:0 auto 1.25rem; border-radius:50%;
               background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center;
               animation:eb-pulse 2s ease-in-out infinite; }
@keyframes eb-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(255,255,255,.35); }
                      50% { box-shadow:0 0 0 14px rgba(255,255,255,0); } }
.eb-onb-step { display:flex; align-items:center; gap:.75rem; padding:.6rem 0; border-bottom:1px solid #f0f2f5; }
.eb-onb-step:last-child { border-bottom:0; }
.eb-onb-step-ic { width:30px; height:30px; border-radius:50%; flex:0 0 auto;
                  display:flex; align-items:center; justify-content:center; }

/* ===== E-Bridge thumbnail prodotto (immagine finta) ===== */
.eb-thumb { position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 auto;
            border-radius:12px; overflow:hidden; color:#fff;
            background-image:linear-gradient(135deg, rgba(255,255,255,.22), rgba(0,0,0,.18)); }
.eb-thumb::after { content:""; position:absolute; inset:0; background:
            radial-gradient(circle at 30% 25%, rgba(255,255,255,.28), transparent 45%); }
.eb-thumb svg { position:relative; z-index:1; }
.eb-thumb-sm { width:42px; height:42px; border-radius:9px; }
.eb-thumb-lg { width:128px; height:128px; border-radius:16px; }

/* logo topbar su una riga */
.logo-topbar .logo-text { white-space: nowrap; }

/* ===== E-Bridge doc reader ===== */
.eb-doc { line-height: 1.65; color: #1f2937; }
.eb-doc h1 { font-size: 1.6rem; font-weight: 700; margin: .2rem 0 1rem; }
.eb-doc h2 { font-size: 1.3rem; font-weight: 700; margin: 1.6rem 0 .8rem; padding-bottom: .3rem; border-bottom: 2px solid #eef0f4; }
.eb-doc h3 { font-size: 1.1rem; font-weight: 700; margin: 1.2rem 0 .6rem; color: var(--eb-primary); }
.eb-doc h4 { font-size: 1rem; font-weight: 700; margin: 1rem 0 .5rem; }
.eb-doc p { margin: 0 0 .8rem; }
.eb-doc ul, .eb-doc ol { margin: 0 0 .9rem 1.2rem; }
.eb-doc li { margin-bottom: .25rem; }
.eb-doc code { background: #f1f5f9; color: #b42318; padding: .08rem .35rem; border-radius: 4px; font-size: .88em; }
.eb-doc pre.eb-doc-pre { background: #0a2e45; color: #e6edf3; padding: .9rem 1rem; border-radius: 8px; overflow:auto; }
.eb-doc pre.eb-doc-pre code { background: transparent; color: inherit; padding: 0; }
.eb-doc blockquote.eb-doc-quote { border-left: 4px solid var(--eb-accent); background: #f6fbfa; padding: .7rem 1rem; margin: 0 0 1rem; border-radius: 0 8px 8px 0; color: #334155; }
.eb-doc table.eb-doc-table { font-size: .92rem; }
.eb-doc table.eb-doc-table th { background: var(--eb-primary); color:#fff; font-weight:600; }
.eb-doc hr { margin: 1.5rem 0; border-top: 1px solid #e5e7eb; }
.eb-doc a { color: var(--eb-accent); }


/* centra il contenuto degli avatar nelle pagine (NON tocca il logo del topbar, che è fuori da .content-page) */
.content-page .avatar { display: inline-flex; align-items: center; justify-content: center; }

/* ===== Sidebar collapse "persistente" =====
   Il template di default espande la sidebar all'hover (:not(:hover)); siccome il
   pulsante "Chiudi Menu" è dentro la sidebar, al clic il cursore la tiene aperta
   mentre il contenuto si restringe -> disallineamento. Qui rendiamo il collapse
   stabile (icon-only sempre, niente peek-on-hover), allineato ai 75px del contenuto. */
html[data-sidenav-size="collapse"] .sidenav-menu,
html[data-sidenav-size="collapse"] .sidenav-menu:hover {
    width: var(--ins-sidenav-width-sm) !important;
    box-shadow: none !important;
}
html[data-sidenav-size="collapse"] .sidenav-menu .menu-text,
html[data-sidenav-size="collapse"] .sidenav-menu .side-nav-title,
html[data-sidenav-size="collapse"] .sidenav-menu .sidenav-user,
html[data-sidenav-size="collapse"] .sidenav-menu .side-nav-link .badge,
html[data-sidenav-size="collapse"] .sidenav-menu .side-nav-link .menu-arrow,
html[data-sidenav-size="collapse"] .sidenav-menu .menu-collapse-box span {
    display: none !important;
}
html[data-sidenav-size="collapse"] .sidenav-menu .side-nav-link {
    justify-content: center !important;
    padding: calc(var(--ins-sidenav-item-padding-y) * 1.5) var(--ins-sidenav-item-padding-x) !important;
}
/* mantiene le icone ingrandite (1.25×) anche all'hover, così non si rimpiccioliscono */
html[data-sidenav-size="collapse"] .sidenav-menu .side-nav-link .menu-icon i,
html[data-sidenav-size="collapse"] .sidenav-menu .side-nav-link .menu-icon svg {
    height: calc(var(--ins-sidenav-item-icon-size) * 1.25) !important;
    width:  calc(var(--ins-sidenav-item-icon-size) * 1.25) !important;
    font-size: calc(var(--ins-sidenav-item-icon-size) * 1.25) !important;
}
html[data-sidenav-size="collapse"] .sidenav-menu .collapse,
html[data-sidenav-size="collapse"] .sidenav-menu .sub-menu { height: 0 !important; opacity: 0; }

/* ============================================================
   Kanban dashboard reparto — tile compatti per controllo
   ============================================================ */
.eb-ktile { transition: box-shadow .15s ease; }
.eb-ktile:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.08); }
.eb-ktile-head {
    display: flex; align-items: center; gap: .5rem;
    padding: .625rem .75rem; min-height: 44px;
    color: inherit; text-decoration: none;
    border-bottom: 1px solid var(--tblr-border-color, #e6e7e9);
}
.eb-ktile-head:hover { background: var(--tblr-bg-surface-secondary, #f6f7f9); color: inherit; }
.eb-ktile-head:focus-visible { outline: 2px solid var(--tblr-primary, #066fd1); outline-offset: -2px; }
.eb-ktile-title { font-weight: 600; min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Indice numerico del controllo (#N = ordine+1), coerente con /docs-controlli */
.eb-knum {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 1.6rem; height: 1.35rem; padding: 0 .4rem;
    font-size: .75rem; font-weight: 600; line-height: 1;
    font-variant-numeric: tabular-nums; letter-spacing: -.01em;
    color: var(--tblr-secondary, #667382);
    background: var(--tblr-bg-surface-secondary, #f6f7f9);
    border: 1px solid var(--tblr-border-color, #e6e7e9);
    border-radius: .375rem;
}
.eb-knum-lg { min-width: 1.9rem; height: 1.65rem; font-size: .875rem; border-radius: .5rem; }
/* Navigazione prev/next controllo — stessa famiglia visiva del chip .eb-knum */
.eb-knav {
    display: inline-flex; align-items: center; justify-content: center; gap: .25rem;
    height: 1.65rem; padding: 0 .55rem;
    font-size: .8125rem; font-weight: 500; line-height: 1;
    color: var(--tblr-secondary, #667382);
    background: var(--tblr-bg-surface-secondary, #f6f7f9);
    border: 1px solid var(--tblr-border-color, #e6e7e9);
    border-radius: .5rem; text-decoration: none;
    transition: color .12s ease, background .12s ease, border-color .12s ease;
}
.eb-knav:hover { color: var(--tblr-primary, #066fd1); border-color: var(--tblr-primary, #066fd1); background: var(--tblr-bg-surface, #fff); }
.eb-knav:focus-visible { outline: 2px solid var(--tblr-primary, #066fd1); outline-offset: 1px; }
.eb-knav-icon { width: 1.65rem; padding: 0; }
.eb-knav.is-disabled { opacity: .4; pointer-events: none; }
.eb-ktile-body { padding: .375rem; display: flex; flex-direction: column; gap: .125rem; max-height: 12rem; overflow: auto; }
.eb-kclient {
    display: flex; align-items: center; gap: .5rem;
    padding: .375rem .5rem; min-height: 40px; border-radius: .375rem;
    color: inherit; text-decoration: none;
}
.eb-kclient:hover { background: var(--tblr-bg-surface-secondary, #f6f7f9); color: inherit; }
.eb-kclient:focus-visible { outline: 2px solid var(--tblr-primary, #066fd1); outline-offset: -2px; }
.eb-kclient-static { cursor: default; }
.eb-kclient-name { font-weight: 500; min-width: 0; flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eb-kclient-sum { margin-left: auto; max-width: 55%; font-size: .8125rem; color: var(--tblr-secondary, #667382); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; }
.eb-ktile-ok { display: flex; align-items: center; gap: .375rem; padding: .5rem; font-size: .8125rem; color: var(--tblr-success, #2fb344); }
.eb-kfind { display: flex; align-items: flex-start; gap: .375rem; padding: .375rem .5rem; border-radius: .375rem; font-size: .8125rem; line-height: 1.45; }
.eb-kfind:hover { background: var(--tblr-bg-surface-secondary, #f6f7f9); }
.eb-kfind-text { flex: 1 1 auto; min-width: 0; }
.eb-kfind-link { flex-shrink: 0; color: var(--tblr-secondary, #667382); }
.eb-kfind-more { display: block; padding: .25rem .5rem; font-size: .8125rem; }

/* ============================================================
   Kanban dettaglio controllo — colonne per stato
   ============================================================ */
.eb-kcol { border: 1px solid var(--tblr-border-color, #e6e7e9); border-radius: .5rem; background: var(--tblr-bg-surface, #fff); }
.eb-kcol-head { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border-bottom: 1px solid var(--tblr-border-color, #e6e7e9); }
.eb-kcol-body { padding: .5rem; display: flex; flex-direction: column; gap: .5rem; min-height: 3rem; }
.eb-kcard { border: 1px solid var(--tblr-border-color, #e6e7e9); border-radius: .5rem; padding: .5rem .625rem; background: var(--tblr-bg-surface, #fff); }
.eb-kcard-top { display: flex; align-items: center; gap: .5rem; }
.eb-kcard-sum { margin-top: .25rem; font-size: .8125rem; }
.eb-kcard.is-focus { outline: 2px solid var(--tblr-primary, #066fd1); outline-offset: 1px; box-shadow: 0 0 0 4px rgba(6,111,209,.12); }
.eb-kcol-empty { padding: .5rem; text-align: center; }

/* ---- Liste monitorate: toggle ASIN (occhio) e priorità (stella), keyword ---- */
.eb-mon-btn, .eb-prio-btn, .eb-kw-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.9rem; height: 1.9rem; padding: 0;
  border: 1px solid transparent; border-radius: .5rem;
  background: transparent; color: var(--tblr-secondary, #98a2b3);
  cursor: pointer; transition: color .12s ease, background .12s ease, border-color .12s ease;
}
.eb-mon-btn:hover, .eb-prio-btn:hover, .eb-kw-btn:hover { background: rgba(11,61,92,.06); color: #0B3D5C; }
.eb-mon-btn.is-on { color: var(--eb-accent, #1FB6A6); }
.eb-mon-btn.is-on:hover { color: var(--eb-accent, #1FB6A6); background: rgba(31,182,166,.1); }
.eb-prio-btn.is-on { color: #E0A458; }
.eb-prio-btn.is-on i { fill: currentColor; }
.eb-kw-btn.is-on { color: var(--eb-accent, #1FB6A6); }
.eb-mon-btn.disabled, .eb-prio-btn.disabled, .eb-kw-btn.disabled { opacity: .5; pointer-events: none; }

/* ---- "Cosa devo fare": gruppi per controllo collassabili ---- */
.eb-todo-group-head { cursor: pointer; user-select: none; }
.eb-todo-group-head:hover { background: var(--tblr-bg-surface-secondary, #f1f3f5) !important; }
.eb-todo-chevron { transition: transform .15s ease; }
.eb-todo-chevron.eb-todo-chevron-open { transform: rotate(90deg); }

/* ---- pagina Task: gruppi per controllo collassabili ---- */
.eb-task-group-head { cursor: pointer; user-select: none; }
.eb-task-group-head:hover { background: var(--tblr-bg-surface-secondary, #f1f3f5) !important; }
.eb-task-chevron { transition: transform .15s ease; }
.eb-task-chevron.eb-task-chevron-open { transform: rotate(90deg); }

/* ---- pagina Task: gerarchia cliente → controllo → task ---- */
.eb-task-group-nested .eb-task-group-head { padding-left: 2.5rem; }
.eb-task-group-nested .eb-task-group-body .list-group-item { padding-left: 3rem; background: #fbfcfd; }
