/*
 * Tema Poppy sopra Filament. Linee guida (stile Asana/ClickUp):
 * superfici piatte con bordi sottili, tipografia fine, tabelle compatte con riga evidenziata,
 * schede sottolineate, pillole di stato morbide, un solo accento (rosa).
 */
:root {
    --p-bg: #f6f7f9;
    --p-surface: #ffffff;
    --p-border: #e6e8ee;
    --p-border-soft: #f0f1f5;
    --p-text: #1f2430;
    --p-muted: #6b7280;
    --p-accent: #e11d48;
    --p-sidebar: #181b29;
    --p-radius: .75rem;
}

.fi-body { background: var(--p-bg); color: var(--p-text); font-size: .875rem; -webkit-font-smoothing: antialiased; }
.fi-main { gap: 1.25rem; }

/* ---------- Titoli e briciole di pane ---------- */
.fi-header-heading { font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; }
.fi-breadcrumbs a, .fi-breadcrumbs span { font-size: .75rem; color: var(--p-muted); }
.fi-section-header-heading, .fi-wi-chart-heading, .fi-ta-header-heading { font-size: .9rem; font-weight: 650; letter-spacing: -.005em; }

/* ---------- Superfici: bordo sottile, niente ombre pesanti ---------- */
.fi-section, .fi-ta-ctn, .fi-wi-chart, .fi-wi-stats-overview-stat, .fi-wi-table {
    background: var(--p-surface);
    border: 1px solid var(--p-border) !important;
    border-radius: var(--p-radius) !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}
.fi-section-header { border-bottom: 1px solid var(--p-border-soft); }

/* ---------- Sidebar ---------- */
.fi-sidebar, .fi-sidebar-header, .fi-sidebar-nav { background: var(--p-sidebar) !important; }
.fi-sidebar { border: 0 !important; box-shadow: none !important; }
.fi-sidebar-header { box-shadow: none !important; border: 0 !important; }
.fi-sidebar-group-label {
    color: rgba(255, 255, 255, .38) !important;
    font-size: .66rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
}
.fi-sidebar-group-btn svg, .fi-sidebar-group-collapse-btn svg { color: rgba(255, 255, 255, .38); }
.fi-sidebar-item-btn { border-radius: .5rem; padding-block: .4rem; transition: background .12s; }
.fi-sidebar-item-btn:hover { background: rgba(255, 255, 255, .06) !important; }
.fi-sidebar-item-label { color: rgba(255, 255, 255, .72) !important; font-size: .84rem; font-weight: 500; }
.fi-sidebar-item-btn svg { color: rgba(255, 255, 255, .55) !important; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background: rgba(255, 255, 255, .09) !important;
    position: relative;
}
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn::before {
    content: ''; position: absolute; left: 0; top: 22%; bottom: 22%; width: 3px;
    border-radius: 0 3px 3px 0; background: #fb7185;
}
.fi-sidebar-item.fi-active .fi-sidebar-item-label { color: #fff !important; font-weight: 600; }
.fi-sidebar-item.fi-active .fi-sidebar-item-btn svg { color: #fb7185 !important; }
.fi-sidebar .fi-icon-btn, .fi-sidebar .fi-sidebar-collapse-btn svg { color: rgba(255, 255, 255, .6); }
.fi-sidebar .fi-user-menu-trigger, .fi-sidebar .fi-dropdown-trigger, .fi-sidebar-footer { color: #fff; }
/* Barra in alto scura come il menu laterale: il logo bianco resta leggibile e le due parti sono continue */
.fi-topbar { background: var(--p-sidebar) !important; box-shadow: none !important; }
.fi-topbar .fi-icon-btn, .fi-topbar-open-sidebar-btn, .fi-topbar-close-sidebar-btn { color: rgba(255, 255, 255, .85) !important; }
.fi-topbar .fi-icon-btn svg { color: rgba(255, 255, 255, .85) !important; }

.poppy-brand { display: inline-flex; align-items: center; gap: .6rem; color: #fff; font-weight: 800; letter-spacing: .05em; font-size: 1.15rem; }
.poppy-brand img { height: 1.9rem; width: 1.9rem; object-fit: contain; }

/* ---------- Schede: sottolineate, non "pillola in una scheda" ---------- */
.fi-tabs {
    background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
    border: 0 !important; border-bottom: 1px solid var(--p-border) !important;
    padding: 0 !important; gap: .25rem; max-width: 100%; width: 100%;
}
.fi-tabs-item { border-radius: 0 !important; background: transparent !important; padding: .55rem .85rem; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--p-muted); font-weight: 500; }
.fi-tabs-item:hover { color: var(--p-text); }
.fi-tabs-item.fi-active { border-bottom-color: var(--p-accent); color: var(--p-accent); font-weight: 600; }
.fi-tabs-item.fi-active .fi-tabs-item-label { color: var(--p-accent); }

/* ---------- Tabelle ---------- */
.fi-ta-header-cell { background: #fafbfc !important; color: var(--p-muted); font-size: .68rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--p-border); }
.fi-ta-row { border-top: 1px solid var(--p-border-soft); transition: background .1s; }
.fi-ta-row:hover { background: #fafbff; }
.fi-ta-cell { font-size: .84rem; }
.fi-ta-cell { padding-block: 0 !important; }
.fi-ta-cell > *, .fi-ta-cell .fi-ta-text { padding-block: .3rem !important; }
.fi-ta-row .fi-ta-actions-cell, .fi-ta-actions-cell { padding-block: 0 !important; }
.fi-ta-ctn > div:first-child { border: 0; }
.fi-ta-filters { background: #fafbfc; border-bottom: 1px solid var(--p-border); padding: 1rem 1.1rem; }
.fi-ta-filters label, .fi-ta-filters .fi-fo-field-label-content { font-size: .72rem; font-weight: 600; color: var(--p-muted); text-transform: uppercase; letter-spacing: .04em; }
.fi-pagination { padding: .6rem 1rem; }

/* ---------- Campi e pulsanti ---------- */
.fi-input-wrp { border-radius: .55rem !important; background: #fff; box-shadow: 0 0 0 1px #dde0e8 inset !important; --tw-ring-shadow: 0 0 #0000 !important; transition: box-shadow .12s; }
.fi-input-wrp:focus-within { box-shadow: 0 0 0 1px var(--p-accent) inset, 0 0 0 3px rgba(225, 29, 72, .14) !important; }
.fi-btn { border-radius: .55rem; font-weight: 600; letter-spacing: -.005em; }
.fi-badge { border-radius: 999px; font-weight: 600; font-size: .72rem; padding-inline: .6rem; }
.fi-fo-field-label-content { font-weight: 600; font-size: .8rem; }

/* ---------- Tessere dei numeri ---------- */
.fi-wi-stats-overview-stat { padding: 1rem 1.15rem; }
.fi-wi-stats-overview-stat-label { font-size: .72rem !important; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; color: var(--p-muted); }
.fi-wi-stats-overview-stat-value { font-size: 1.55rem !important; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }
.fi-wi-stats-overview-stat-description { font-size: .75rem; }

/* ---------- Scuro ---------- */
.dark .fi-body { background: #0e1118; color: #e5e7eb; }
.dark .fi-section, .dark .fi-ta-ctn, .dark .fi-wi-chart, .dark .fi-wi-stats-overview-stat, .dark .fi-wi-table { background: #151925; border-color: rgba(255, 255, 255, .07) !important; }
.dark .fi-ta-header-cell, .dark .fi-ta-filters { background: #121622 !important; }
.dark .fi-ta-row:hover { background: rgba(255, 255, 255, .03); }
.dark .fi-input-wrp { background: #0f131d; box-shadow: 0 0 0 1px rgba(255, 255, 255, .12) inset !important; }

/* Avatar del menu utente nella sidebar */
.fi-sidebar .fi-avatar { background: #f43f5e !important; color: #fff !important; font-weight: 700; }

/* Pannello filtri: piatto, senza riquadri annidati */
.fi-ta-filters .fi-section, .fi-ta-filters-before-content .fi-section { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
.fi-ta-filters { padding: .9rem 1.1rem !important; }

/* ---------- Calendario ---------- */
.cal { display: flex; flex-direction: column; gap: 1rem; }
.cal-bar { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; }
.cal-nav { display: flex; align-items: center; gap: .4rem; }
.cal-title { font-size: 1.15rem; font-weight: 700; margin-left: .6rem; letter-spacing: -.01em; }
.cal-btn { border: 1px solid var(--p-border); background: #fff; border-radius: .5rem; width: 2rem; height: 2rem; font-size: 1.1rem; line-height: 1; color: var(--p-text); cursor: pointer; }
.cal-btn:hover { background: #f3f4f8; }
.cal-btn-text { width: auto; padding: 0 .75rem; font-size: .8rem; font-weight: 600; }
.cal-side { display: flex; align-items: center; gap: .75rem; }
.cal-total { font-size: .8rem; color: var(--p-muted); font-weight: 600; }
.cal-select { border: 1px solid var(--p-border); border-radius: .5rem; background: #fff; font-size: .82rem; padding: .35rem 1.6rem .35rem .6rem; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-head > div { padding: .4rem .5rem; font-size: .68rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--p-muted); }
.cal-body { background: var(--p-surface); border: 1px solid var(--p-border); border-radius: var(--p-radius); overflow: hidden; }
.cal-day { display: flex; flex-direction: column; gap: .25rem; align-items: stretch; text-align: left; min-height: 6.2rem; padding: .4rem .45rem; background: transparent; border: 0; border-right: 1px solid var(--p-border-soft); border-bottom: 1px solid var(--p-border-soft); cursor: pointer; position: relative; }
.cal-day:nth-child(7n) { border-right: 0; }
.cal-day:hover { background: #fafbff; }
.cal-day.is-out { background: #fafbfc; }
.cal-day.is-out .cal-num { color: #b6bcc9; }
.cal-day.is-selected { background: #fff1f3; box-shadow: inset 0 0 0 2px var(--p-accent); }
.cal-num { font-size: .78rem; font-weight: 600; width: 1.6rem; height: 1.6rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }
.is-today .cal-num { background: var(--p-accent); color: #fff; }
.cal-hours { position: absolute; top: .45rem; right: .5rem; font-size: .7rem; font-weight: 700; color: #0f766e; background: #ccfbf1; border-radius: 999px; padding: .05rem .45rem; }
.cal-chips { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.cal-chip { font-size: .68rem; line-height: 1.25; padding: .12rem .4rem; border-radius: .35rem; background: #fef3c7; color: #92400e; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cal-chip.is-late { background: #fee2e2; color: #b91c1c; }
.cal-chip.is-done { background: #dcfce7; color: #166534; text-decoration: line-through; }
.cal-more { font-size: .68rem; color: var(--p-muted); padding-left: .3rem; }
.cal-detail { background: var(--p-surface); border: 1px solid var(--p-border); border-radius: var(--p-radius); padding: 1rem 1.2rem; }
.cal-detail-title { font-size: 1rem; font-weight: 700; margin-bottom: .75rem; }
.cal-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.cal-cols h4 { font-size: .72rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--p-muted); margin-bottom: .4rem; }
.cal-count { background: #f1f2f6; border-radius: 999px; padding: .05rem .5rem; margin-left: .3rem; color: var(--p-text); }
.cal-row { display: flex; align-items: center; gap: .6rem; padding: .5rem 0; border-top: 1px solid var(--p-border-soft); text-decoration: none; color: inherit; }
.cal-row-main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.cal-row-main strong { font-size: .85rem; font-weight: 600; }
.cal-row-main small { font-size: .74rem; color: var(--p-muted); }
.cal-row-end { font-size: .78rem; font-weight: 650; color: var(--p-muted); }
.cal-dot { width: .6rem; height: .6rem; border-radius: 999px; background: #f59e0b; flex: none; }
.cal-dot.is-late { background: #ef4444; } .cal-dot.is-done { background: #22c55e; } .cal-dot.is-hours { background: #14b8a6; }
.cal-empty { font-size: .82rem; color: var(--p-muted); padding: .5rem 0; }
@media (max-width: 767px) {
    .cal-cols { grid-template-columns: 1fr; }
    .cal-day { min-height: 3.6rem; padding: .25rem; }
    .cal-chips, .cal-more { display: none; }
    .cal-hours { position: static; align-self: flex-start; }
    .cal-day.has-tasks::after { content: ''; width: .4rem; height: .4rem; border-radius: 999px; background: #f59e0b; position: absolute; bottom: .35rem; right: .4rem; }
}
.dark .cal-body, .dark .cal-detail { background: #151925; border-color: rgba(255, 255, 255, .07); }

/* Sezioni "senza contenitore" (es. il titolo sopra le tessere dei numeri): solo titolo, niente riquadro */
.fi-section.fi-section-not-contained,
.dark .fi-section.fi-section-not-contained {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.fi-section.fi-section-not-contained > .fi-section-header { border: 0; padding: 0 0 .6rem; }
.cal-chip b { font-weight: 700; }

/* ---------- Aiuto contestuale ---------- */
.help-fab { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 40; display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .95rem .55rem .75rem;
    border: 1px solid var(--p-border); border-radius: 999px; background: #fff; color: var(--p-text); font-size: .82rem; font-weight: 650; cursor: pointer;
    box-shadow: 0 6px 20px rgba(16, 24, 40, .14); }
.help-fab:hover { border-color: var(--p-accent); color: var(--p-accent); }
.help-fab-icon { width: 1.25rem; height: 1.25rem; }
.help-overlay { position: fixed; inset: 0; z-index: 50; background: rgba(15, 18, 30, .35); }
.help-panel { position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; width: min(30rem, 100vw); display: flex; flex-direction: column; background: #fff; box-shadow: -12px 0 40px rgba(16, 24, 40, .2); }
.help-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--p-border); background: #fafbfc; }
.help-head h2 { font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em; }
.help-kicker { font-size: .68rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--p-accent); margin-bottom: .15rem; }
.help-close { border: 0; background: transparent; font-size: 1.1rem; color: var(--p-muted); cursor: pointer; padding: .25rem .5rem; border-radius: .4rem; }
.help-close:hover { background: #eef0f4; color: var(--p-text); }
.help-body { overflow-y: auto; padding: 1.1rem 1.25rem 2rem; display: flex; flex-direction: column; gap: 1.15rem; }
.help-body h3 { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--p-muted); margin-bottom: .45rem; }
.help-body p, .help-body li { font-size: .88rem; line-height: 1.5; }
.help-body ul { list-style: disc; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .4rem; }
.help-warn { background: #fff7ed; border: 1px solid #fed7aa; border-radius: .75rem; padding: .85rem 1rem; }
.help-warn h3 { color: #c2410c; }
.help-in { animation: help-slide .18s ease-out; }
.help-out { animation: help-slide .14s ease-in reverse; }
@keyframes help-slide { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (max-width: 767px) { .help-fab span { display: none; } .help-fab { padding: .6rem; } }
.dark .help-fab, .dark .help-panel { background: #151925; color: #e5e7eb; border-color: rgba(255, 255, 255, .1); }
.dark .help-head { background: #121622; border-color: rgba(255, 255, 255, .08); }
.dark .help-warn { background: rgba(194, 65, 12, .15); border-color: rgba(251, 146, 60, .35); }

/* Spazio in fondo alla pagina: il pulsante «Aiuto» fisso non deve coprire paginazione e ultime righe. */
.fi-main { padding-bottom: 5rem; }

/* Dicitura discreta in fondo: il marchio principale è quello dell'azienda. */
.powered-by { text-align: center; font-size: .72rem; color: var(--p-muted, #9ca3af); padding: .5rem 1rem 1rem; }
.powered-by strong { font-weight: 650; }

/* Banner degli avvisi nella pagina Domini */
.dom-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .75rem 1rem; margin: .5rem 0 .25rem; border-radius: .75rem; border: 1px solid; font-size: .9rem; color: inherit; }
.dom-banner-danger { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.dom-banner-warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.dom-banner-sub { opacity: .8; margin-left: .35rem; }
.dom-banner a { font-weight: 650; white-space: nowrap; color: inherit; text-decoration: underline; }
.dark .dom-banner-danger { background: rgba(220,38,38,.15); border-color: rgba(248,113,113,.35); color: #fca5a5; }
.dark .dom-banner-warning { background: rgba(217,119,6,.15); border-color: rgba(251,191,36,.35); color: #fcd34d; }

/* Pagina Avvisi */
.al-cards { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); margin-top: 1rem; }
.al-row { display: flex; gap: .75rem; align-items: flex-start; padding: .65rem 0; border-top: 1px solid var(--p-border-soft); }
.al-row:first-child, .al-more > .al-row:first-of-type { border-top: 0; }
.al-row > :first-child { flex: none; margin-top: .1rem; min-width: 5.6rem; justify-content: center; }
.al-body { min-width: 0; } .al-title { font-weight: 600; font-size: .9rem; } .al-title a { color: inherit; text-decoration: none; } .al-title a:hover { text-decoration: underline; }
.al-detail { font-size: .82rem; color: var(--p-muted); margin-top: .1rem; }
.al-more summary { cursor: pointer; font-size: .82rem; font-weight: 600; padding: .5rem 0; color: var(--p-accent); } .al-more[open] summary { margin-bottom: .1rem; }

/* Scheda «Stato del sito» di un dominio */

    .mon { display: grid; gap: 1rem; }
    .mon-top { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
    .mon-tile { display: flex; flex-direction: column; gap: .15rem; padding: .8rem 1rem; border: 1px solid #e5e7eb; border-radius: .75rem; background: #fafbfc; }
    .mon-k { font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; opacity: .6; }
    .mon-big { font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
    .mon-big.mon-sm { font-size: 1.05rem; }
    .mon-s { font-size: .78rem; opacity: .6; min-height: 1em; }
    .mon-cards { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); }
    .mon-card { border: 1px solid #e5e7eb; border-radius: .75rem; padding: .85rem 1rem; }
    .mon-card h4 { margin: 0 0 .55rem; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; opacity: .6; font-weight: 700; }
    .mon-card dl { margin: 0; display: grid; gap: .45rem; }
    .mon-card dl > div { display: grid; grid-template-columns: 8rem 1fr; gap: .5rem; font-size: .88rem; }
    .mon-card dt { opacity: .6; }
    .mon-card dd { margin: 0; word-break: break-word; }
    .mon-card a { text-decoration: underline; }
    .mon-row { margin: 0 0 .5rem; font-size: .85rem; line-height: 1.45; }
    .mon-note { margin: .6rem 0 0; font-size: .82rem; }
    .mon-foot { margin: 0; font-size: .75rem; opacity: .55; }
    .mon-ok { color: #16a34a; } .mon-bad { color: #dc2626; } .mon-warn { color: #d97706; } .mon-mut { opacity: .6; }
    .dark .mon-tile { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.1); } .dark .mon-card { border-color: rgba(255,255,255,.1); }

/* Profilo: riquadro delle notifiche push */
.push-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: .75rem; }
.push-btn { padding: .5rem .9rem; border: 1px solid #d1d5db; border-radius: .6rem; background: #fff; font-size: .875rem; font-weight: 600; cursor: pointer; }
.push-btn:hover:not(:disabled) { border-color: var(--p-accent, #e11d48); color: var(--p-accent, #e11d48); }
.push-btn:disabled { opacity: .55; cursor: wait; }
.push-btn-primary { background: #e11d48; border-color: #e11d48; color: #fff; }
.push-btn-primary:hover:not(:disabled) { color: #fff; filter: brightness(.95); }
.push-on { color: #16a34a; font-weight: 650; font-size: .9rem; }
.push-note, .push-msg { font-size: .88rem; margin: 0 0 .75rem; }
.push-msg { color: #6b7280; }
.push-what { font-size: .85rem; color: #4b5563; } .push-what ul { margin: .35rem 0; padding-left: 1.1rem; list-style: disc; } .push-what small { opacity: .7; }
.dark .push-btn { background: #151925; border-color: rgba(255,255,255,.15); color: #e5e7eb; } .dark .push-what { color: #d1d5db; }

/* Chiavi API: pagina con la chiave appena creata */
.key-box { max-width: 52rem; }
.key-warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; padding: .8rem 1rem; border-radius: .75rem; font-size: .9rem; margin: 0 0 1rem; }
.key-row { display: flex; gap: .6rem; align-items: stretch; flex-wrap: wrap; margin-bottom: 1.5rem; }
.key-secret { flex: 1; min-width: 16rem; padding: .7rem .9rem; background: #0f172a; color: #e2e8f0; border-radius: .6rem; font-size: .9rem; word-break: break-all; user-select: all; }
.key-copy { padding: .6rem 1.1rem; border-radius: .6rem; background: #e11d48; color: #fff; font-weight: 650; border: 0; cursor: pointer; }
.key-box h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; opacity: .65; margin: 0 0 .5rem; }
.key-steps { padding-left: 1.2rem; list-style: decimal; display: grid; gap: .5rem; font-size: .9rem; }
.key-steps code { background: #eef0f4; padding: .1rem .4rem; border-radius: .3rem; font-size: .82rem; word-break: break-all; }
.key-note { font-size: .88rem; opacity: .8; margin: 1.2rem 0; }
.key-done { display: inline-block; padding: .55rem 1rem; border: 1px solid #d1d5db; border-radius: .6rem; font-weight: 600; font-size: .9rem; text-decoration: none; }
.dark .key-steps code { background: rgba(255,255,255,.1); }

/* Approvazione di un prospect: riepilogo della bozza di mail */
.appr-mail { border: 1px solid #e5e7eb; border-radius: .6rem; padding: .7rem .9rem; margin: .6rem 0; font-size: .85rem; display: grid; gap: .3rem; text-align: left; }
.appr-body { white-space: pre-wrap; background: #f8fafc; padding: .5rem .6rem; border-radius: .4rem; max-height: 12rem; overflow: auto; }
.appr-ver { opacity: .6; font-size: .75rem; }

/* Dossier di un prospect */
.ds { display: grid; gap: 1rem; }
.ds-review { border: 1px solid; border-radius: .75rem; padding: .85rem 1rem; display: grid; gap: .4rem; font-size: .9rem; }
.ds-review-warning { background: #fffbeb; border-color: #fde68a; } .ds-review-success { background: #f0fdf4; border-color: #bbf7d0; }
.ds-review-danger { background: #fef2f2; border-color: #fecaca; } .ds-review-info { background: #eff6ff; border-color: #bfdbfe; } .ds-review-gray { background: #f8fafc; border-color: #e5e7eb; }
.ds-k { font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; opacity: .6; margin-right: .4rem; }
.ds-line { margin-left: .5rem; opacity: .8; } .ds-notes { background: rgba(0,0,0,.04); padding: .5rem .7rem; border-radius: .5rem; }
.ds-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); }
.ds-card { border: 1px solid #e5e7eb; border-radius: .75rem; padding: .85rem 1rem; background: #fff; }
.ds-card h4 { margin: 0 0 .6rem; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; opacity: .65; font-weight: 700; }
.ds-card h4 small { text-transform: none; letter-spacing: 0; font-weight: 400; }
.ds-card dl { margin: 0; display: grid; gap: .4rem; } .ds-card dl > div { display: grid; grid-template-columns: 8.5rem 1fr; gap: .5rem; font-size: .88rem; }
.ds-card dt { opacity: .6; } .ds-card dd { margin: 0; word-break: break-word; } .ds-card a { text-decoration: underline; }
.ds-wide { grid-column: 1 / -1; } .ds-row { margin: 0 0 .6rem; font-size: .88rem; line-height: 1.5; }
.ds-evid { border-top: 1px dashed #e5e7eb; padding: .6rem 0; display: grid; gap: .25rem; font-size: .88rem; } .ds-evid:first-of-type { border-top: 0; }
.ds-block { margin-bottom: .9rem; } .ds-block h5 { margin: 0 0 .25rem; font-size: .78rem; font-weight: 700; opacity: .75; }
.ds-block p, .ds-block ul { margin: 0; font-size: .88rem; } .ds-block ul { padding-left: 1.1rem; list-style: disc; display: grid; gap: .2rem; }
.ds-mut { opacity: .6; } .ds-ok { color: #16a34a; } .ds-warn { color: #d97706; }
.dark .ds-card { background: #151925; border-color: rgba(255,255,255,.1); }
/* Dossier raccontato come una storia */
.ds-sum { border-left: 4px solid #f59e0b; } .ds-name { margin: 0 0 .3rem; font-size: 1.15rem; font-weight: 700; } .ds-name small { font-size: .8rem; font-weight: 400; margin-left: .4rem; }
.ds-lead { margin: 0 0 .7rem; font-size: .95rem; line-height: 1.5; } .ds-small { font-size: .8rem; margin: .4rem 0 0; }
.ds-sumlist { display: grid; gap: .5rem; margin: 0 0 .7rem; } .ds-sumlist > div { display: grid; grid-template-columns: 11rem 1fr; gap: .5rem; font-size: .9rem; } .ds-sumlist dt { opacity: .6; } .ds-sumlist dd { margin: 0; }
.ds-chips { display: flex; flex-wrap: wrap; gap: .4rem .9rem; font-size: .82rem; } .ds-chip { display: inline-flex; gap: .35rem; align-items: center; }
.ds-nav { display: flex; flex-wrap: wrap; gap: .4rem; position: sticky; top: 3.5rem; z-index: 5; padding: .4rem 0; background: inherit; }
.ds-nav a { font-size: .78rem; padding: .25rem .65rem; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; text-decoration: none; }
.ds-step { scroll-margin-top: 7rem; } .ds-step h3 { margin: 0 0 .8rem; font-size: 1.05rem; font-weight: 700; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; } .ds-step h3 small { font-size: .8rem; font-weight: 400; }
.ds-num { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 999px; background: #f59e0b; color: #fff; font-size: .85rem; }
.ds-pairs { display: grid; gap: .35rem; margin: 0; } .ds-pairs > div { display: grid; grid-template-columns: 11rem 1fr; gap: .5rem; font-size: .88rem; } .ds-pairs dt { font-weight: 600; } .ds-pairs dd { margin: 0; } .ds-pairs .ds-solo { grid-template-columns: 1fr; }
.ds-obs { padding-left: 1.1rem; list-style: disc; display: grid; gap: .3rem; font-size: .88rem; } .ds-ref { font-size: .7rem; opacity: .6; border: 1px solid currentColor; border-radius: .3rem; padding: 0 .3rem; white-space: nowrap; }
.ds-callout { background: #fffbeb; border: 1px solid #fde68a; border-radius: .5rem; padding: .6rem .8rem; font-weight: 600; }
.ds-more summary { cursor: pointer; font-size: .85rem; text-decoration: underline; } .ds-md { font-size: .88rem; line-height: 1.55; padding: .5rem 0; } .ds-md h1, .ds-md h2, .ds-md h3 { font-weight: 700; margin: .8rem 0 .3rem; } .ds-md ul { list-style: disc; padding-left: 1.2rem; }
.dark .ds-nav a { background: #151925; border-color: rgba(255,255,255,.1); } .dark .ds-callout { background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.4); }
@media (max-width: 640px) { .ds-sumlist > div, .ds-pairs > div { grid-template-columns: 1fr; gap: 0; } }

/* Barra in alto: sul telefono mostra il logo accanto al menu (sul desktop il logo sta già nella barra laterale) */
.poppy-topbar-logo { display: inline-flex; align-items: center; margin-inline-start: .5rem; } .poppy-topbar-logo { flex-shrink: 0; } .poppy-topbar-logo img { height: 1.9rem; width: auto; max-width: none; flex-shrink: 0; object-fit: contain; aspect-ratio: auto; }
@media (min-width: 1024px) { .poppy-topbar-logo { display: none; } }
@media (max-width: 1023px) { .fi-topbar-start { display: flex !important; align-items: center; } .fi-topbar-start > a:not(.poppy-topbar-logo), .fi-topbar-collapse-sidebar-btn-ctn { display: none !important; } }

/* Cruscotto del progetto */
.ph { border: 1px solid #e5e7eb; border-left-width: .35rem; border-radius: .75rem; background: #fff; padding: .9rem 1.1rem; }
.ph-ok { border-left-color: #16a34a; } .ph-warn { border-left-color: #d97706; } .ph-bad { border-left-color: #dc2626; } .ph-mut { border-left-color: #9ca3af; }
.ph-head { display: flex; flex-wrap: wrap; gap: .3rem .9rem; align-items: baseline; margin-bottom: .8rem; } .ph-head strong { font-size: 1.05rem; } .ph-head span { font-size: .85rem; opacity: .75; }
.ph-ok .ph-head strong { color: #15803d; } .ph-warn .ph-head strong { color: #b45309; } .ph-bad .ph-head strong { color: #b91c1c; }
.ph-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
.ph-card { border: 1px solid #eceef2; border-radius: .6rem; padding: .7rem .85rem; display: grid; gap: .25rem; align-content: start; }
.ph-title { font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; opacity: .6; font-weight: 700; } .ph-value { font-size: 1.25rem; font-weight: 700; line-height: 1.2; }
.ph-bar { height: .4rem; border-radius: 999px; background: #eef0f4; overflow: hidden; } .ph-bar i { display: block; height: 100%; background: #9ca3af; }
.ph-card-ok .ph-bar i { background: #16a34a; } .ph-card-warn .ph-bar i { background: #d97706; } .ph-card-bad .ph-bar i { background: #dc2626; }
.ph-detail { font-size: .78rem; opacity: .65; } .ph-note { font-size: .82rem; font-weight: 600; }
.ph-card-ok .ph-note { color: #15803d; } .ph-card-warn .ph-note { color: #b45309; } .ph-card-bad .ph-note { color: #b91c1c; } .ph-card-mut .ph-note { opacity: .65; font-weight: 500; }
.dark .ph, .dark .ph-card { background: #151925; border-color: rgba(255,255,255,.1); } .dark .ph-bar { background: rgba(255,255,255,.1); }

/* Biglietto da visita aziendale */
.cc { max-width: 38rem; margin: 0 auto; display: grid; gap: 1rem; }
.cc-card { background: var(--p-surface); border: 1px solid var(--p-border); border-radius: 1rem; padding: 1.25rem 1.4rem; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.cc-logo { max-height: 4rem; width: auto; margin-bottom: 1rem; }
.cc-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--p-border-soft); } .cc-row:first-of-type { border-top: 0; }
.cc-label { font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; color: var(--p-muted); font-weight: 650; }
.cc-value { font-size: 1.15rem; font-weight: 600; word-break: break-word; user-select: all; } .cc-name { font-size: 1.4rem; font-weight: 700; }
.cc-copy { flex: none; font-size: .8rem; font-weight: 650; padding: .35rem .8rem; border-radius: .5rem; border: 1px solid var(--p-border); background: transparent; cursor: pointer; }
.cc-actions { display: flex; flex-wrap: wrap; gap: .6rem; } .cc-link { text-decoration: underline; font-weight: 600; }
.dark .cc-card { background: #151925; border-color: rgba(255,255,255,.1); }

/* Novità e avviso di versione nuova */
.rb { display: flex; align-items: center; gap: .75rem; padding: .65rem 1rem; margin-bottom: 1rem; border-radius: .75rem; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; font-size: .88rem; }
.rb-text { flex: 1; min-width: 0; } .rb-more { opacity: .7; } .rb-link { font-weight: 700; text-decoration: underline; white-space: nowrap; } .rb-close { font-size: 1.3rem; line-height: 1; opacity: .6; padding: 0 .25rem; }
.dark .rb { background: rgba(217,119,6,.15); border-color: rgba(251,191,36,.35); color: #fcd34d; }
.rn { display: grid; gap: 1rem; max-width: 56rem; } .rn-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.rn-list li { display: grid; gap: .1rem; } .rn-list strong { font-size: .92rem; } .rn-list span { font-size: .86rem; color: var(--p-muted); line-height: 1.5; }
.uv { position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: .9rem; padding: .6rem .6rem .6rem 1rem; border-radius: 999px; background: #181b29; color: #fff; font-size: .85rem; box-shadow: 0 6px 24px rgba(0,0,0,.25); width: max-content; max-width: calc(100vw - 2rem); }
@media (max-width: 640px) { .uv { left: 1rem; right: 1rem; bottom: 4.75rem; transform: none; width: auto; max-width: none; justify-content: space-between; border-radius: 1rem; padding: .7rem .7rem .7rem 1rem; } .uv span { line-height: 1.35; } .uv button { white-space: nowrap; } }
.uv button { background: var(--p-accent); color: #fff; font-weight: 700; border-radius: 999px; padding: .35rem .9rem; }

.al-task { margin-left: auto; flex: none; align-self: center; } .al-assigned { display: inline-flex; align-items: center; gap: .3rem; font-size: .78rem; font-weight: 650; color: #15803d; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 999px; padding: .2rem .65rem; text-decoration: none; }
.al-assigned-icon { width: 1rem; height: 1rem; } .dark .al-assigned { background: rgba(22,163,74,.15); border-color: rgba(74,222,128,.35); color: #86efac; }
@media (max-width: 640px) { .al-row { flex-wrap: wrap; } .al-task { margin-left: 0; width: 100%; } }

/* Mail da smistare */
.mv { display: grid; gap: 1rem; max-width: 60rem; } .mv-grid { display: grid; gap: .6rem; margin: 0 0 .5rem; } .mv-grid > div { display: grid; grid-template-columns: 9rem 1fr; gap: .5rem; font-size: .9rem; } .mv-grid dt { color: var(--p-muted); } .mv-grid dd { margin: 0; }
.mv-body { white-space: pre-wrap; word-break: break-word; font-size: .9rem; line-height: 1.55; background: var(--p-bg); border: 1px solid var(--p-border); border-radius: .6rem; padding: .9rem 1rem; max-height: 28rem; overflow: auto; }
.mv-mut { color: var(--p-muted); } .mv-err { color: #b91c1c; } .mv-done { font-weight: 600; } .mv-done a { text-decoration: underline; } .mv-row { font-size: .86rem; margin: 0 0 .5rem; }
@media (max-width: 640px) { .mv-grid > div { grid-template-columns: 1fr; gap: 0; } }

/* Qualità dello smistamento */
.mq { display: grid; gap: 1rem; } .mq-outcomes { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); } .mq-two { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); align-items: start; }
.mq-card { border: 1px solid var(--p-border); border-radius: .7rem; padding: .8rem 1rem; display: grid; gap: .15rem; } .mq-card b { font-size: 1.6rem; line-height: 1.1; } .mq-card span { font-weight: 650; font-size: .85rem; } .mq-card small { color: var(--p-muted); }
.mq-ok b { color: #15803d; } .mq-warn b { color: #b45309; } .mq-bad b { color: #b91c1c; }
.mq-note { margin: .8rem 0 0; font-size: .88rem; } .mq-line { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-top: 1px solid var(--p-border-soft); font-size: .9rem; } .mq-line:first-of-type { border-top: 0; }
.mq-mut { color: var(--p-muted); } .mq-corr { margin: 0 0 .6rem; font-size: .86rem; line-height: 1.5; } .mq-corr a { text-decoration: underline; }

/* Regole di smistamento */
.mr { display: grid; gap: 1rem; max-width: 60rem; } .mr-pre { white-space: pre-wrap; word-break: break-word; font-size: .8rem; line-height: 1.5; background: var(--p-bg); border: 1px solid var(--p-border); border-radius: .6rem; padding: .9rem 1rem; margin: 0; }
.mr-ver { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-top: 1px solid var(--p-border-soft); font-size: .88rem; } .mr-ver:first-of-type { border-top: 0; } .mr-note { color: var(--p-muted); font-size: .82rem; }

/* Pagina Sistema */
.sy { display: grid; gap: 1rem; max-width: 64rem; } .sy-two { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); align-items: start; }
.sy-warn { border: 1px solid #fecaca; background: #fef2f2; color: #991b1b; border-radius: .7rem; padding: .7rem 1rem; font-weight: 600; }
.sy-total { display: flex; align-items: baseline; gap: .6rem; margin-bottom: .6rem; flex-wrap: wrap; } .sy-total b { font-size: 1.8rem; } .sy-total span { color: var(--p-muted); font-size: .88rem; }
.sy-line { display: grid; grid-template-columns: 14rem 1fr 6rem; gap: 1rem; align-items: center; padding: .5rem 0; border-top: 1px solid var(--p-border-soft); } .sy-line small { display: block; color: var(--p-muted); font-size: .76rem; font-weight: 400; }
.sy-bar { height: .5rem; border-radius: 999px; background: #eef0f4; overflow: hidden; } .sy-bar i { display: block; height: 100%; background: var(--p-accent); } .sy-size { text-align: right; }
.sy-row { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-top: 1px solid var(--p-border-soft); font-size: .88rem; } .sy-row:first-of-type { border-top: 0; } .sy-mut { color: var(--p-muted); }
.sy-clean { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 1rem; align-items: center; padding: .65rem 0; border-top: 1px solid var(--p-border-soft); font-size: .86rem; } .sy-clean small { display: block; color: var(--p-muted); font-size: .76rem; }
.sy-clean-last { display: grid; gap: .2rem; justify-items: start; }
@media (max-width: 760px) { .sy-line, .sy-clean { grid-template-columns: 1fr; gap: .3rem; } .sy-size { text-align: left; } }
.dark .sy-bar { background: rgba(255,255,255,.1); }
