/* _content/GestioneCommessa.Shared/Layout/AppHeader.razor.rz.scp.css */
/* ── Backdrop ─────────────────────────────────────────────────────────────── */
.hdr-backdrop[b-wsc6kfwaqy] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: transparent;
}

/* ── Selettore anno ───────────────────────────────────────────────────────── */
.hdr-anno-wrap[b-wsc6kfwaqy] {
    margin-right: auto;
}

.anno-panel[b-wsc6kfwaqy] {
    left: 0;
    right: auto;
    min-width: 90px;
}

.anno-list[b-wsc6kfwaqy] {
    max-height: 300px;
    overflow-y: auto;
    padding: 4px 0;
}

.anno-selezionato[b-wsc6kfwaqy] {
    font-weight: 700 !important;
    color: #1E334C !important;
    background: #f0f4f8;
}

/* ── Ricerca ──────────────────────────────────────────────────────────────── */
.hdr-search-input[b-wsc6kfwaqy] {
    width: 200px !important;
}

/* ── Pulsanti header generico ─────────────────────────────────────────────── */
.hdr-action-wrap[b-wsc6kfwaqy] {
    position: relative;
    z-index: 901;
}

.hdr-btn[b-wsc6kfwaqy] {
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    color: #495057;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.hdr-btn:hover[b-wsc6kfwaqy],
.hdr-btn.active[b-wsc6kfwaqy] {
    background: #f0f4f8;
    color: #1E334C;
}

.hdr-badge[b-wsc6kfwaqy] {
    position: absolute;
    top: 3px;
    right: 3px;
    background: #C0614F;
    color: white;
    font-size: 0.58rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    padding: 0 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    pointer-events: none;
}

/* ── Workspace button ─────────────────────────────────────────────────────── */
.hdr-workspace-btn[b-wsc6kfwaqy] {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 5px 10px;
    cursor: pointer;
    color: #343a40;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.15s, border-color 0.15s;
    max-width: 200px;
}

.hdr-workspace-btn:hover[b-wsc6kfwaqy],
.hdr-workspace-btn.active[b-wsc6kfwaqy] {
    background: #f0f4f8;
    border-color: #b0bec5;
}

.ws-name[b-wsc6kfwaqy] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 160px;
}

.ws-chevron[b-wsc6kfwaqy] {
    flex-shrink: 0;
    opacity: 0.6;
}

/* ── Pannello notifiche ───────────────────────────────────────────────────── */
.notif-panel[b-wsc6kfwaqy] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 360px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    overflow: hidden;
    z-index: 901;
}

.notif-panel-hdr[b-wsc6kfwaqy] {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
}

.notif-empty[b-wsc6kfwaqy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
    color: #868e96;
    font-size: 0.875rem;
    gap: 6px;
}

.notif-list[b-wsc6kfwaqy] {
    max-height: 420px;
    overflow-y: auto;
}

.notif-item[b-wsc6kfwaqy] {
    display: flex;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid #f5f5f5;
    transition: background 0.1s;
    align-items: flex-start;
}

.notif-item:last-child[b-wsc6kfwaqy] {
    border-bottom: none;
}

.notif-item:hover[b-wsc6kfwaqy] {
    background: #f8fafb;
}

.notif-item.letta[b-wsc6kfwaqy] {
    opacity: 0.6;
}

.notif-dot[b-wsc6kfwaqy] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 5px;
    flex-shrink: 0;
}

.notif-item:not(.letta) .notif-dot[b-wsc6kfwaqy] {
    background: #1E334C;
}
.notif-item.letta .notif-dot[b-wsc6kfwaqy] {
    background: #ced4da;
}

.notif-item.prio-alta:not(.letta) .notif-dot[b-wsc6kfwaqy] {
    background: #C0614F;
}
.notif-item.prio-media:not(.letta) .notif-dot[b-wsc6kfwaqy] {
    background: #e6a817;
}
.notif-item.prio-bassa:not(.letta) .notif-dot[b-wsc6kfwaqy] {
    background: #5faad9;
}

.notif-content[b-wsc6kfwaqy] {
    flex: 1;
    min-width: 0;
}

.notif-titolo[b-wsc6kfwaqy] {
    font-size: 0.845rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 2px;
    line-height: 1.3;
}

.notif-desc[b-wsc6kfwaqy] {
    font-size: 0.78rem;
    color: #6c757d;
    margin-bottom: 4px;
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.notif-footer[b-wsc6kfwaqy] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.notif-time[b-wsc6kfwaqy] {
    font-size: 0.72rem;
    color: #adb5bd;
}

.notif-cta[b-wsc6kfwaqy] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #1E334C;
    text-decoration: none;
}
.notif-cta:hover[b-wsc6kfwaqy] {
    text-decoration: underline;
}

/* ── Workspace panel ──────────────────────────────────────────────────────── */
.ws-panel[b-wsc6kfwaqy] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 240px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    overflow: hidden;
    z-index: 901;
    padding: 4px 0;
}

.ws-company[b-wsc6kfwaqy] {
    padding: 12px 16px 10px;
}

.ws-company-name[b-wsc6kfwaqy] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a2740;
    line-height: 1.2;
}

.ws-company-meta[b-wsc6kfwaqy] {
    font-size: 0.75rem;
    color: #868e96;
    margin-top: 2px;
}

.ws-user[b-wsc6kfwaqy] {
    padding: 10px 16px;
}

.ws-user-email[b-wsc6kfwaqy] {
    font-size: 0.8rem;
    color: #343a40;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ws-user-role[b-wsc6kfwaqy] {
    font-size: 0.72rem;
    color: #868e96;
    margin-top: 1px;
}

.ws-divider[b-wsc6kfwaqy] {
    height: 1px;
    background: #f0f0f0;
    margin: 2px 0;
}

.ws-nav[b-wsc6kfwaqy] {
    padding: 4px 0;
}

.ws-nav-item[b-wsc6kfwaqy] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 0.845rem;
    color: #343a40;
    text-decoration: none;
    transition: background 0.1s;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}

.ws-nav-item:hover[b-wsc6kfwaqy] {
    background: #f5f7fa;
    color: #1E334C;
}

.ws-logout[b-wsc6kfwaqy] {
    color: #c0614f !important;
    font-weight: 500;
    margin: 4px 0;
}

.ws-logout:hover[b-wsc6kfwaqy] {
    background: #fff5f4 !important;
}
/* _content/GestioneCommessa.Shared/Layout/DevLogPanel.razor.rz.scp.css */
.devlog-panel[b-u8g9uomc9t] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    font-family: 'Consolas', 'Cascadia Code', 'Monaco', monospace;
    font-size: 0.72rem;
    background: #1e1e1e;
    color: #d4d4d4;
    border-top: 2px solid #007acc;
    box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.5);
    transition: height 0.15s ease;
}

.devlog-header[b-u8g9uomc9t] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 12px;
    cursor: pointer;
    user-select: none;
    background: #252526;
    border-bottom: 1px solid #333;
    min-height: 28px;
}

.devlog-header:hover[b-u8g9uomc9t] {
    background: #2d2d2d;
}

.devlog-title[b-u8g9uomc9t] {
    font-size: 0.72rem;
    color: #cccccc;
    display: flex;
    align-items: center;
}

.devlog-badge[b-u8g9uomc9t] {
    font-size: 0.65rem;
    padding: 1px 5px;
}

.devlog-actions[b-u8g9uomc9t] {
    display: flex;
    gap: 4px;
}

.devlog-btn[b-u8g9uomc9t] {
    background: none;
    border: 1px solid #555;
    color: #ccc;
    border-radius: 3px;
    padding: 1px 6px;
    cursor: pointer;
    font-size: 0.7rem;
    line-height: 1.4;
    transition: background 0.1s;
}

.devlog-btn:hover[b-u8g9uomc9t] {
    background: #3a3a3a;
    color: #fff;
}

.devlog-body[b-u8g9uomc9t] {
    height: 220px;
    overflow-y: auto;
    padding: 4px 12px 6px;
    scroll-behavior: smooth;
}

/* scrollbar sottile scuro */
.devlog-body[b-u8g9uomc9t]::-webkit-scrollbar {
    width: 6px;
}

.devlog-body[b-u8g9uomc9t]::-webkit-scrollbar-track {
    background: #1e1e1e;
}

.devlog-body[b-u8g9uomc9t]::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 3px;
}

.devlog-entry[b-u8g9uomc9t] {
    padding: 1px 0;
    white-space: pre-wrap;
    word-break: break-all;
    border-bottom: 1px solid #2a2a2a;
    line-height: 1.4;
}

.devlog-error[b-u8g9uomc9t] {
    color: #f48771;
}

.devlog-warn[b-u8g9uomc9t] {
    color: #cca700;
}

.devlog-ok[b-u8g9uomc9t] {
    color: #89d185;
}

.devlog-empty[b-u8g9uomc9t] {
    color: #666;
    font-style: italic;
}
/* _content/GestioneCommessa.Shared/Layout/MainLayout.razor.rz.scp.css */
/* Stili layout spostati in app.css per evitare problemi di bundle scoped CSS */
/* _content/GestioneCommessa.Shared/Layout/NavMenu.razor.rz.scp.css */
/* Stili sidebar/navmenu spostati in app.css per evitare problemi di bundle scoped CSS */
/* _content/GestioneCommessa.Shared/Pages/Acquisti/FetchData.razor.rz.scp.css */
/* Acquisti — FetchData */

.aq-page[b-3b1vo79srt] {
    padding: 0;
}

/* ── Card trimestrali progressivi ────────────────────────────────────── */

.aq-q-card[b-3b1vo79srt] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.1rem 1.25rem 0.9rem;
    height: 100%;
    border-top: 3px solid #CBD5E1;
    transition: box-shadow 0.15s;
}
.aq-q-card:hover[b-3b1vo79srt] { box-shadow: 0 4px 16px rgba(30,51,76,.08); }

.aq-q-1[b-3b1vo79srt] { border-top-color: #4F81BD; }
.aq-q-2[b-3b1vo79srt] { border-top-color: #4CAF82; }
.aq-q-3[b-3b1vo79srt] { border-top-color: #F59E0B; }
.aq-q-4[b-3b1vo79srt] { border-top-color: #6366F1; }

.aq-q-header[b-3b1vo79srt] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}
.aq-q-label[b-3b1vo79srt] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5B7A9A;
}
.aq-q-periodo[b-3b1vo79srt] {
    font-size: 0.68rem;
    color: #8FA3B8;
}
.aq-q-value[b-3b1vo79srt] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.15;
    margin-bottom: 0.3rem;
}
.aq-q-detail[b-3b1vo79srt] {
    font-size: 0.72rem;
    color: #6B7C8F;
}

/* ── KPI cards ───────────────────────────────────────────────────────── */

.aq-kpi-card[b-3b1vo79srt] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.aq-kpi-card.success[b-3b1vo79srt] { border-left: 3px solid #3a8f47; }
.aq-kpi-card.info[b-3b1vo79srt]    { border-left: 3px solid #2c6a9e; }
.aq-kpi-card.warning[b-3b1vo79srt] { border-left: 3px solid #c07a00; }
.aq-kpi-card.danger[b-3b1vo79srt]  { border-left: 3px solid #9e2d1e; }

.aq-kpi-label[b-3b1vo79srt] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.3rem;
}

.aq-kpi-value[b-3b1vo79srt] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.aq-kpi-sub[b-3b1vo79srt] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.aq-tab-btn[b-3b1vo79srt] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.aq-tab-btn:hover[b-3b1vo79srt] { color: #1E334C; }

.aq-tab-btn.active[b-3b1vo79srt] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.aq-tab-count[b-3b1vo79srt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.35em;
    border-radius: 10px;
    margin-left: 0.3rem;
    vertical-align: middle;
}

.aq-tab-btn.active .aq-tab-count[b-3b1vo79srt] {
    background: rgba(30, 51, 76, 0.15);
    color: #1E334C;
}

/* ── Bulk bar ────────────────────────────────────────────────────────── */

.aq-bulk-bar[b-3b1vo79srt] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #edf3fb;
    border: 1px solid #c8d8ee;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}

.aq-bulk-count[b-3b1vo79srt] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}

/* ── Loading ─────────────────────────────────────────────────────────── */

.aq-loading-box[b-3b1vo79srt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
}

.aq-spinner[b-3b1vo79srt] {
    border: 3px solid #f0f5fb;
    border-top: 3px solid #1E334C;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: aq-spin-b-3b1vo79srt 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes aq-spin-b-3b1vo79srt {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.aq-empty[b-3b1vo79srt] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.aq-empty .bi[b-3b1vo79srt] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.aq-empty-title[b-3b1vo79srt] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.aq-empty-text[b-3b1vo79srt] {
    font-size: 0.875rem;
    color: #5B7A9A;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.table-responsive[b-3b1vo79srt] {
    margin-top: 0.25rem;
    border: 1px solid #e8eef6;
    border-radius: 8px;
    overflow: hidden;
}

.aq-table[b-3b1vo79srt] {
    margin-bottom: 0;
}

.aq-table thead th[b-3b1vo79srt] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.65rem 0.75rem;
    white-space: nowrap;
}

.aq-row[b-3b1vo79srt] {
    cursor: pointer;
    transition: background 0.1s;
}

.aq-row:hover[b-3b1vo79srt] {
    background: #f7fafd;
}

.aq-row td[b-3b1vo79srt] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.aq-row-expanded td[b-3b1vo79srt] {
    padding: 0;
    border-bottom: 1px solid #dceaf8;
}

.aq-name[b-3b1vo79srt] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.aq-sub[b-3b1vo79srt] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

/* ── Imputazione ─────────────────────────────────────────────────────── */

.aq-imputazione[b-3b1vo79srt] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.2rem;
}

.aq-commessa-badge[b-3b1vo79srt] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #e8f1fa;
    color: #2c6a9e;
    white-space: nowrap;
}

.aq-spesa-badge[b-3b1vo79srt] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #fff4e2;
    color: #8a5500;
    white-space: nowrap;
}

/* ── Stato badge ─────────────────────────────────────────────────────── */

.aq-stato-badge[b-3b1vo79srt] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.aq-stato-costo[b-3b1vo79srt] { background: #edf6ea; color: #3a6b27; }
.aq-stato-spesa[b-3b1vo79srt] { background: #fff8e6; color: #7a5200; }
.aq-stato-none[b-3b1vo79srt]  { background: #f4f5f7; color: #8696a7; }

/* ── Icon buttons ────────────────────────────────────────────────────── */

.aq-icon-btn[b-3b1vo79srt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.aq-icon-btn:hover[b-3b1vo79srt] {
    background: #edf3fb;
    color: #1E334C;
}

.aq-icon-btn.dropdown-toggle[b-3b1vo79srt]::after {
    display: none;
}

/* ── Pannello prodotti DDT ────────────────────────────────────────────── */

.aq-products-panel[b-3b1vo79srt] {
    background: #f7fafd;
    border-top: 1px solid #dceaf8;
}

.aq-ddt-block[b-3b1vo79srt] {
    border-bottom: 1px solid #e8eef6;
    padding: 0.75rem 1rem 0;
}

.aq-ddt-block:last-child[b-3b1vo79srt] {
    border-bottom: none;
}

.aq-ddt-header[b-3b1vo79srt] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.5rem;
}

.aq-prod-table thead th[b-3b1vo79srt] {
    background: #edf3fb;
    font-size: 0.7rem;
    color: #5B7A9A;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #dceaf8;
}

.aq-prod-table tbody td[b-3b1vo79srt] {
    font-size: 0.8125rem;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #f0f5fb;
    color: #334155;
}

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .aq-table thead th:nth-child(3)[b-3b1vo79srt],
    .aq-row td:nth-child(3)[b-3b1vo79srt],
    .aq-table thead th:nth-child(5)[b-3b1vo79srt],
    .aq-row td:nth-child(5)[b-3b1vo79srt] {
        display: none;
    }

    .aq-bulk-bar[b-3b1vo79srt] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Acquisti/Form.razor.rz.scp.css */
/* Acquisti — Form (modifica fattura) */

/* ── Card ─────────────────────────────────────────────────────────── */

.aq-card[b-i4jl854jw7] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.aq-card-header[b-i4jl854jw7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.aq-card-icon[b-i4jl854jw7] {
    color: #5B7A9A;
    font-size: 1rem;
}

.aq-card-title[b-i4jl854jw7] {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1E334C;
}

.aq-card-body[b-i4jl854jw7] {
    padding: 1.25rem;
}

/* ── Section subheader ─────────────────────────────────────────── */

.aq-section-icon[b-i4jl854jw7] {
    color: #5B7A9A;
    font-size: 0.875rem;
}

.aq-section-title[b-i4jl854jw7] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.aq-divider[b-i4jl854jw7] {
    border-color: #E2E8F0;
    margin: 1rem 0;
}

/* ── Form labels ───────────────────────────────────────────────── */

.aq-form-label[b-i4jl854jw7] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #5B7A9A;
    margin-bottom: 0.3rem;
    display: block;
}

/* ── PDF panel ─────────────────────────────────────────────────── */

.aq-pdf-frame[b-i4jl854jw7] {
    width: 100%;
    height: 540px;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    display: block;
}

.aq-pdf-empty[b-i4jl854jw7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 200px;
    background: #F7FAFD;
    border: 2px dashed #CBD5E1;
    border-radius: 10px;
    color: #8FA3B8;
    font-size: 0.875rem;
}

.aq-pdf-empty .bi[b-i4jl854jw7] {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
    color: #C0CDD8;
}

.aq-pdf-actions[b-i4jl854jw7] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.75rem;
}

.aq-pdf-btn[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.4rem 0.9rem;
    border-radius: 8px;
    border: 1px solid #CBD5E1;
    background: transparent;
    color: #1E334C;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, border-color 0.12s;
}

.aq-pdf-btn:hover[b-i4jl854jw7] { background: #F1F5F9; border-color: #94A3B8; text-decoration: none; color: #1E334C; }

.aq-pdf-btn-primary[b-i4jl854jw7] {
    background: #2c6a9e;
    border-color: #2c6a9e;
    color: #fff;
}

.aq-pdf-btn-primary:hover[b-i4jl854jw7] { background: #1c4f7a; border-color: #1c4f7a; color: #fff; }

/* ── Summary bar (assegnazioni) ────────────────────────────────── */

.aq-summary-bar[b-i4jl854jw7] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    padding: 0.75rem 1.25rem;
    background: #F7FAFD;
    border-bottom: 1px solid #E2E8F0;
}

.aq-summary-chip[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25em 0.75em;
    border-radius: 20px;
    white-space: nowrap;
}

.aq-chip-total[b-i4jl854jw7]    { background: #e8edf4; color: #3a5068; }
.aq-chip-impon[b-i4jl854jw7]    { background: #e8f1fa; color: #2c6a9e; }
.aq-chip-ok[b-i4jl854jw7]       { background: #edf6ea; color: #3a6b27; }
.aq-chip-warn[b-i4jl854jw7]     { background: #fff4e2; color: #8a5500; }
.aq-chip-danger[b-i4jl854jw7]   { background: #fdecea; color: #9e2d1e; }

/* ── Add button ─────────────────────────────────────────────────── */

.aq-add-btn[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: transparent;
    border: 1px dashed #94A3B8;
    color: #5B7A9A;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.8rem;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.aq-add-btn:hover[b-i4jl854jw7] { background: #EDF3FB; color: #1E334C; border-color: #5B7A9A; }

/* ── Assignment row ─────────────────────────────────────────────── */

.aq-assign-row[b-i4jl854jw7] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 0.75rem;
    margin-bottom: 0.5rem;
}

.aq-assign-ddt[b-i4jl854jw7] {
    font-size: 0.75rem;
    color: #5B7A9A;
    margin-bottom: 0.4rem;
}

.aq-subtotal[b-i4jl854jw7] {
    font-size: 0.75rem;
    color: #6B7C8F;
    text-align: right;
    margin-top: 0.5rem;
}

/* ── Icon buttons ───────────────────────────────────────────────── */

.aq-icon-btn[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.8125rem;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}

.aq-icon-btn:hover[b-i4jl854jw7]     { background: #EDF3FB; color: #1E334C; }
.aq-icon-btn:disabled[b-i4jl854jw7]  { opacity: 0.4; cursor: not-allowed; }

.aq-icon-btn.aq-icon-danger[b-i4jl854jw7]       { color: #9e2d1e; }
.aq-icon-btn.aq-icon-danger:hover[b-i4jl854jw7] { background: #fdecea; color: #7a1e12; }

.aq-icon-btn.aq-icon-success[b-i4jl854jw7]       { color: #3a6b27; }
.aq-icon-btn.aq-icon-success:hover[b-i4jl854jw7] { background: #edf6ea; color: #2a5020; }

/* ── Table ──────────────────────────────────────────────────────── */

.aq-table[b-i4jl854jw7] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}

.aq-table thead th[b-i4jl854jw7] {
    background: #F7FAFD;
    color: #5B7A9A;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.55rem 0.75rem;
    border-bottom: 2px solid #DCEAF8;
    white-space: nowrap;
}

.aq-table tbody td[b-i4jl854jw7] {
    padding: 0.55rem 0.75rem;
    vertical-align: middle;
    font-size: 0.8125rem;
    color: #334155;
    border-bottom: 1px solid #F0F5FB;
}

.aq-row:hover td[b-i4jl854jw7] { background: #F7FAFD; }
.aq-row-selected td[b-i4jl854jw7] { background: #EEF5FF !important; }

.aq-td-primary[b-i4jl854jw7] { font-weight: 600; color: #1E334C !important; }

/* ── DDT group ──────────────────────────────────────────────────── */

.aq-ddt-group[b-i4jl854jw7] {
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1rem;
}

.aq-ddt-header[b-i4jl854jw7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 1rem;
    background: #F7FAFD;
    border-bottom: 1px solid #E2E8F0;
}

.aq-ddt-label[b-i4jl854jw7] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #1E334C;
}

/* ── Bulk toolbar ───────────────────────────────────────────────── */

.aq-bulk-bar[b-i4jl854jw7] {
    background: #F0F7FF;
    border: 1px solid #DCEAF8;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

/* ── Assignment badge ───────────────────────────────────────────── */

.aq-badge-cost[b-i4jl854jw7]    { background: #edf6ea; color: #3a6b27; font-size: 0.7rem; font-weight: 700; padding: 0.2em 0.6em; border-radius: 10px; white-space: nowrap; }
.aq-badge-expense[b-i4jl854jw7] { background: #e8f1fa; color: #2c6a9e; font-size: 0.7rem; font-weight: 700; padding: 0.2em 0.6em; border-radius: 10px; white-space: nowrap; }
.aq-badge-other[b-i4jl854jw7]   { background: #f4f5f7; color: #5B7A9A; font-size: 0.7rem; font-weight: 700; padding: 0.2em 0.6em; border-radius: 10px; white-space: nowrap; }

/* ── Termini pagamento ──────────────────────────────────────────── */

.aq-pag-modality[b-i4jl854jw7] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 10px;
    background: #e8edf4;
    color: #3a5068;
    white-space: nowrap;
}

/* ── Approve buttons (inside DDT table cells) ───────────────────── */

.aq-approve-btn[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    border-radius: 6px;
    border: 1px solid;
    background: transparent;
    cursor: pointer;
    transition: background 0.12s;
    margin-top: 0.3rem;
    white-space: nowrap;
}

.aq-approve-cost[b-i4jl854jw7]    { border-color: #3a6b27; color: #3a6b27; }
.aq-approve-cost:hover[b-i4jl854jw7]    { background: #edf6ea; }
.aq-approve-expense[b-i4jl854jw7] { border-color: #2c6a9e; color: #2c6a9e; }
.aq-approve-expense:hover[b-i4jl854jw7] { background: #e8f1fa; }
.aq-approve-btn:disabled[b-i4jl854jw7]  { opacity: 0.4; cursor: not-allowed; }

/* ── Form footer ────────────────────────────────────────────────── */

.aq-form-footer[b-i4jl854jw7] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 0 0.5rem;
}

.aq-btn-save[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #0B1B2B;
    color: #fff;
    border: none;
    padding: 0.6rem 1.75rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.aq-btn-save:hover[b-i4jl854jw7]    { background: #162F47; }
.aq-btn-save:disabled[b-i4jl854jw7] { opacity: 0.6; cursor: not-allowed; }

.aq-btn-cancel[b-i4jl854jw7] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: 1px solid #CBD5E1;
    color: #1E334C;
    padding: 0.6rem 1.25rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
}

.aq-btn-cancel:hover[b-i4jl854jw7] { background: #F1F5F9; border-color: #94A3B8; }

/* ── Imputazione costi — riepilogo ──────────────────────────────── */

.aq-imput-riepilogo[b-i4jl854jw7] {
    display: flex;
    gap: 0;
    padding: 0;
    border-bottom: 1px solid #E2E8F0;
}

.aq-imput-kpi[b-i4jl854jw7] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.875rem 1.25rem;
    gap: 0.2rem;
}

.aq-imput-kpi--sep[b-i4jl854jw7] {
    border-left: 1px solid #E2E8F0;
    border-right: 1px solid #E2E8F0;
}

.aq-imput-kpi__lbl[b-i4jl854jw7] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #8FA3B8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.aq-imput-kpi__val[b-i4jl854jw7] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.3;
}

.aq-imput-kpi__val--ok[b-i4jl854jw7]     { color: #3a6b27; }
.aq-imput-kpi__val--danger[b-i4jl854jw7] { color: #9e2d1e; }

/* ── Imputazione costi — tabella ────────────────────────────────── */

.aq-table--imput tfoot td[b-i4jl854jw7] {
    padding: 0.45rem 0.75rem;
    font-size: 0.8125rem;
    color: #334155;
    border-top: 2px solid #E2E8F0;
    border-bottom: none;
}

/* small badge font size util */
.fs-xs[b-i4jl854jw7] { font-size: 0.7rem !important; }
/* _content/GestioneCommessa.Shared/Pages/Acquisti/Scadenziario.razor.rz.scp.css */
/* Scadenzario pagamenti acquisti */

/* ── Breadcrumb ──────────────────────────────────────────────────────── */

.pas-breadcrumb[b-45h0507kvs] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.78rem;
    color: #5B7A9A;
}

.pas-bc-item + .pas-bc-item[b-45h0507kvs]::before {
    content: '›';
    margin: 0 0.4rem;
    color: #b0c4d8;
}

.pas-bc-item a[b-45h0507kvs] { color: #5B7A9A; text-decoration: none; }
.pas-bc-item a:hover[b-45h0507kvs] { color: #1E334C; text-decoration: underline; }
.pas-bc-item.active[b-45h0507kvs] { color: #1E334C; font-weight: 500; }

/* ── Month tab bar ───────────────────────────────────────────────────── */

.pas-months-bar[b-45h0507kvs] {
    display: flex;
    background: #fff;
    border: 1px solid #dce6f2;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #fff;
    padding: 0 0.25rem;
}

.pas-months-bar[b-45h0507kvs]::-webkit-scrollbar { height: 3px; }
.pas-months-bar[b-45h0507kvs]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 3px; }

.pas-mth-btn[b-45h0507kvs] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.55rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    transition: color 0.12s, border-color 0.12s;
    outline: none;
    margin-bottom: -1px;
}

.pas-mth-btn:hover[b-45h0507kvs] { color: #1E334C; border-bottom-color: #b5cfe8; }

.pas-mth-btn.active[b-45h0507kvs] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.pas-mbadge[b-45h0507kvs] {
    display: inline-block;
    padding: 0.08em 0.45em;
    border-radius: 10px;
    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.4;
}

.pas-mbadge-ok[b-45h0507kvs]     { background: #e8edf4; color: #5B7A9A; }
.pas-mbadge-warn[b-45h0507kvs]   { background: #fff3cd; color: #856404; }
.pas-mbadge-danger[b-45h0507kvs] { background: #fdecea; color: #c0392b; }

/* ── Main card ───────────────────────────────────────────────────────── */

.pas-card[b-45h0507kvs] {
    background: #fff;
    border: 1px solid #dce6f2;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.pas-table[b-45h0507kvs] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}

.pas-table thead th[b-45h0507kvs] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.pas-table tbody td[b-45h0507kvs] {
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    color: #17324d;
    vertical-align: middle;
}

.pas-table tfoot td[b-45h0507kvs] {
    padding: 0.6rem 0.9rem;
    background: #f5f8fc;
    font-size: 0.84rem;
    border-top: 2px solid #dce6f2;
}

/* ── Rows ────────────────────────────────────────────────────────────── */

.pas-row:hover td[b-45h0507kvs] { background: #f7fafd; }

.pas-row-scaduto td[b-45h0507kvs] { background: #fffcfc; }

.pas-row-saldato[b-45h0507kvs] { opacity: 0.7; }
.pas-row-saldato td[b-45h0507kvs] { background: #f7fdf8; }

/* ── Cell content ────────────────────────────────────────────────────── */

.pas-nome[b-45h0507kvs]    { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.pas-sub[b-45h0507kvs]     { font-size: 0.78rem; color: #5B7A9A; }
.pas-data[b-45h0507kvs]    { font-size: 0.875rem; color: #1E334C; }
.pas-importo[b-45h0507kvs] { font-weight: 700; color: #1E334C; font-size: 0.875rem; }
.pas-iban[b-45h0507kvs]    { font-size: 0.78rem; color: #334155; font-family: monospace; }
.pas-ritardo[b-45h0507kvs] { font-size: 0.72rem; color: #c0392b; margin-top: 0.1rem; }

/* ── Footer ──────────────────────────────────────────────────────────── */

.pas-tfoot-label[b-45h0507kvs] { font-weight: 700; color: #1E334C; }
.pas-tfoot-count[b-45h0507kvs] { font-size: 0.78rem; color: #5B7A9A; }
.pas-tfoot-value[b-45h0507kvs] { font-weight: 700; color: #1E334C; }

/* ── Badges ──────────────────────────────────────────────────────────── */

.pas-badge[b-45h0507kvs] {
    display: inline-block;
    padding: 0.2em 0.6em;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
}

.pas-badge-ok[b-45h0507kvs]     { background: #eafaf1; color: #27ae60; }
.pas-badge-warn[b-45h0507kvs]   { background: #fef9e7; color: #e67e22; }
.pas-badge-danger[b-45h0507kvs] { background: #fdecea; color: #c0392b; }
.pas-badge-info[b-45h0507kvs]   { background: #ebf5fe; color: #2980b9; }

/* ── Stato column ────────────────────────────────────────────────────── */

.pas-stato-cell[b-45h0507kvs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
}

.pas-btn-paga[b-45h0507kvs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.25em 0.8em;
    border-radius: 20px;
    border: 1px solid #94A3B8;
    background: transparent;
    color: #1E334C;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.5;
    transition: background 0.12s, border-color 0.12s;
}

.pas-btn-paga:hover:not(:disabled)[b-45h0507kvs] { background: #EDF3FB; border-color: #5B7A9A; }
.pas-btn-paga:disabled[b-45h0507kvs] { opacity: 0.55; cursor: default; }

/* ── PDF column ──────────────────────────────────────────────────────── */

.pas-pdf-btn[b-45h0507kvs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    color: #c0392b;
    font-size: 1rem;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
}

.pas-pdf-btn:hover[b-45h0507kvs] { background: #fdecea; color: #922b21; }

.pas-pdf-gen-btn[b-45h0507kvs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: 1px dashed #94A3B8;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    padding: 0;
}

.pas-pdf-gen-btn:hover:not(:disabled)[b-45h0507kvs] { background: #EDF3FB; border-color: #5B7A9A; color: #1E334C; }
.pas-pdf-gen-btn:disabled[b-45h0507kvs] { opacity: 0.55; cursor: default; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.pas-empty[b-45h0507kvs] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.pas-empty .bi[b-45h0507kvs] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.pas-empty-title[b-45h0507kvs] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.pas-empty-text[b-45h0507kvs] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/Acquisti/SdI2Json.razor.rz.scp.css */
/* SdI XML */

/* ── Breadcrumb ──────────────────────────────────────────────────────── */

.sdi-breadcrumb[b-z3gzunvhfb] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.78rem;
    color: #5B7A9A;
}

.sdi-bc-item + .sdi-bc-item[b-z3gzunvhfb]::before {
    content: '›';
    margin: 0 0.4rem;
    color: #b0c4d8;
}

.sdi-bc-item a[b-z3gzunvhfb] { color: #5B7A9A; text-decoration: none; }
.sdi-bc-item a:hover[b-z3gzunvhfb] { color: #1E334C; text-decoration: underline; }
.sdi-bc-item.active[b-z3gzunvhfb] { color: #1E334C; font-weight: 500; }

/* ── Step indicator ──────────────────────────────────────────────────── */

.sdi-steps[b-z3gzunvhfb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.sdi-step[b-z3gzunvhfb] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #8696a7;
    padding: 0.3em 0.8em;
    border-radius: 20px;
    background: #f0f4f8;
    border: 1px solid #dce6f2;
}

.sdi-step-active[b-z3gzunvhfb] {
    color: #1E334C;
    background: #edf3fb;
    border-color: #b5cfe8;
    font-weight: 700;
}

.sdi-step-num[b-z3gzunvhfb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background: #1E334C;
    color: #fff;
    font-size: 0.7em;
    font-weight: 700;
}

.sdi-step-active .sdi-step-num[b-z3gzunvhfb] { background: #1E334C; }

.sdi-step-arrow[b-z3gzunvhfb] {
    color: #b0c4d8;
    font-size: 0.75rem;
}

/* ── Filter bar ──────────────────────────────────────────────────────── */

.sdi-filter-bar[b-z3gzunvhfb] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    align-items: center;
}

.sdi-filter-btn[b-z3gzunvhfb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #fff;
    border: 1px solid #dce6f2;
    border-radius: 20px;
    padding: 0.3rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    outline: none;
}

.sdi-filter-btn:hover[b-z3gzunvhfb] { background: #f0f4f8; border-color: #b5cfe8; color: #1E334C; }

.sdi-filter-btn.active[b-z3gzunvhfb] {
    background: #1E334C;
    border-color: #1E334C;
    color: #fff;
}

.sdi-filter-ok.active[b-z3gzunvhfb]    { background: #3a8f47; border-color: #3a8f47; }
.sdi-filter-warn.active[b-z3gzunvhfb]  { background: #C89540; border-color: #C89540; }
.sdi-filter-danger.active[b-z3gzunvhfb] { background: #C0614F; border-color: #C0614F; }

/* ── Badges filtro ───────────────────────────────────────────────────── */

.sdi-fbadge[b-z3gzunvhfb] {
    display: inline-block;
    padding: 0.08em 0.45em;
    border-radius: 10px;
    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.4;
}

.sdi-fbadge-nc[b-z3gzunvhfb]     { background: #e8edf4; color: #5B7A9A; }
.sdi-fbadge-ok[b-z3gzunvhfb]     { background: #eafaf1; color: #27ae60; }
.sdi-fbadge-warn[b-z3gzunvhfb]   { background: #fff3cd; color: #856404; }
.sdi-fbadge-danger[b-z3gzunvhfb] { background: #fdecea; color: #c0392b; }

.sdi-filter-btn.active .sdi-fbadge[b-z3gzunvhfb] { background: rgba(255,255,255,0.25); color: #fff; }

/* ── Table ───────────────────────────────────────────────────────────── */

.sdi-table thead th[b-z3gzunvhfb] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.sdi-row:hover td[b-z3gzunvhfb] { background: #f7fafd; }

.sdi-row-unmatched td[b-z3gzunvhfb] { background: #fffdf5; }
.sdi-row-unmatched:hover td[b-z3gzunvhfb] { background: #fff8e8; }

/* ── Empty states ────────────────────────────────────────────────────── */

.sdi-empty[b-z3gzunvhfb] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.sdi-empty .bi[b-z3gzunvhfb] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.sdi-empty-title[b-z3gzunvhfb] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.sdi-empty-text[b-z3gzunvhfb] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/Admin/AiUsage.razor.rz.scp.css */
/* ── Admin — Telemetria AI ─────────────────────────────────────────────── */

/* KPI aggregate */
.au-kpi[b-o12z5ncd8i] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 0.85rem 1.1rem;
}

.au-kpi-icon[b-o12z5ncd8i] {
    font-size: 1.4rem;
    color: #0d6efd;
    opacity: .7;
    flex-shrink: 0;
}

.au-kpi-num[b-o12z5ncd8i] {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.1;
    color: #1E334C;
}

.au-kpi-label[b-o12z5ncd8i] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-top: 0.15rem;
}

/* Card per modello */
.au-model-card[b-o12z5ncd8i] {
    background: white;
    border: 1px solid #e0e8f0;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.au-model-haiku[b-o12z5ncd8i]  { border-top: 3px solid #198754; }
.au-model-sonnet[b-o12z5ncd8i] { border-top: 3px solid #0d6efd; }
.au-model-opus[b-o12z5ncd8i]   { border-top: 3px solid #ffc107; }
.au-model-total[b-o12z5ncd8i]  { border-top: 3px solid #1E334C; background: #f8fafc; }

.au-model-bar[b-o12z5ncd8i] {
    height: 6px;
    border-radius: 3px;
    background: #e9ecef;
    overflow: hidden;
}

.au-model-bar > div[b-o12z5ncd8i] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

.au-perc-badge[b-o12z5ncd8i] {
    font-size: 0.68rem;
    font-weight: 700;
    background: rgba(30,51,76,0.09);
    color: #1E334C;
    border-radius: 8px;
    padding: 0.15em 0.5em;
    white-space: nowrap;
}

.au-stat-num[b-o12z5ncd8i] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
}

.au-stat-num.au-cost[b-o12z5ncd8i] {
    font-size: 1rem;
    color: #495057;
}

.au-stat-label[b-o12z5ncd8i] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8696a7;
    margin-top: 0.1rem;
}

/* Riga espansa per modello nella tabella */
.au-model-row[b-o12z5ncd8i] {
    background: rgba(0, 0, 0, 0.018);
}

/* Badge percentuale di utilizzo nella tabella */
.au-share-badge[b-o12z5ncd8i] {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    background: rgba(30,51,76,0.10);
    color: #1E334C;
    border-radius: 8px;
    padding: 0.1em 0.4em;
    margin-left: 0.3em;
    vertical-align: middle;
}

/* Grafico SVG trend */
.au-trend-chart[b-o12z5ncd8i] {
    display: block;
    width: 100%;
    height: auto;
    max-height: 200px;
}

/* Pulsante xs per selettore intervallo */
.btn-xs[b-o12z5ncd8i] {
    padding: 0.15rem 0.55rem;
    font-size: 0.72rem;
    border-radius: 0.3rem;
    line-height: 1.4;
}
/* _content/GestioneCommessa.Shared/Pages/Admin/BlobUsage.razor.rz.scp.css */
/* ── Admin — Telemetria Blob Storage ──────────────────────────────────── */

/* KPI aggregate */
.bu-kpi[b-4ddvhtsl9v] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 0.85rem 1.1rem;
}

.bu-kpi-icon[b-4ddvhtsl9v] {
    font-size: 1.4rem;
    color: #0d6efd;
    opacity: .7;
    flex-shrink: 0;
}

.bu-kpi-num[b-4ddvhtsl9v] {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.1;
    color: #1E334C;
}

.bu-kpi-label[b-4ddvhtsl9v] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-top: 0.15rem;
}

/* Card per tipo di operazione */
.bu-tipo-card[b-4ddvhtsl9v] {
    background: white;
    border: 1px solid #e0e8f0;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.bu-tipo-card.bu-tipo-scrittura[b-4ddvhtsl9v]          { border-top: 3px solid #0d6efd; }
.bu-tipo-card.bu-tipo-lettura[b-4ddvhtsl9v]            { border-top: 3px solid #198754; }
.bu-tipo-card.bu-tipo-eliminazione[b-4ddvhtsl9v]       { border-top: 3px solid #dc3545; }
.bu-tipo-card.bu-tipo-elenco[b-4ddvhtsl9v]             { border-top: 3px solid #6f42c1; }
.bu-tipo-card.bu-tipo-creazionecontenitore[b-4ddvhtsl9v] { border-top: 3px solid #fd7e14; }
.bu-tipo-card.bu-tipo-altro[b-4ddvhtsl9v]              { border-top: 3px solid #6c757d; }

.bu-bar[b-4ddvhtsl9v] {
    height: 6px;
    border-radius: 3px;
    background: #e9ecef;
    overflow: hidden;
}

.bu-bar > div[b-4ddvhtsl9v] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s ease;
}

.bu-perc-badge[b-4ddvhtsl9v] {
    font-size: 0.68rem;
    font-weight: 700;
    background: rgba(30,51,76,0.09);
    color: #1E334C;
    border-radius: 8px;
    padding: 0.15em 0.5em;
    white-space: nowrap;
}

.bu-stat-num[b-4ddvhtsl9v] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
}

.bu-stat-label[b-4ddvhtsl9v] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8696a7;
    margin-top: 0.1rem;
}

.bu-tipo-icon[b-4ddvhtsl9v] {
    font-size: 1rem;
}

/* Riga espansa per tipo nella tabella */
.bu-tipo-row[b-4ddvhtsl9v] {
    background: rgba(0, 0, 0, 0.018);
}

/* Badge percentuale */
.bu-share-badge[b-4ddvhtsl9v] {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    background: rgba(30,51,76,0.10);
    color: #1E334C;
    border-radius: 8px;
    padding: 0.1em 0.4em;
    margin-left: 0.3em;
    vertical-align: middle;
}

/* Grafico SVG trend */
.bu-trend-chart[b-4ddvhtsl9v] {
    display: block;
    width: 100%;
    height: auto;
    max-height: 200px;
}

/* Pulsante xs per selettore intervallo */
.btn-xs[b-4ddvhtsl9v] {
    padding: 0.15rem 0.55rem;
    font-size: 0.72rem;
    border-radius: 0.3rem;
    line-height: 1.4;
}

/* Barre spazio per tenant */
.bu-storage-bar[b-4ddvhtsl9v] {
    height: 8px;
    border-radius: 4px;
    background: #e9ecef;
    overflow: hidden;
}

.bu-storage-bar > div[b-4ddvhtsl9v] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease;
    opacity: 0.8;
}
/* _content/GestioneCommessa.Shared/Pages/Admin/PgMonitoring.razor.rz.scp.css */
/* PgMonitoring — Monitoraggio PostgreSQL */

.pgm-kpi[b-nebgylsfjq] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.pgm-kpi-label[b-nebgylsfjq] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5B7A9A;
    margin-bottom: 0.25rem;
}

.pgm-kpi-value[b-nebgylsfjq] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
}

.pgm-kpi-sub[b-nebgylsfjq] {
    font-size: 0.72rem;
    color: #8696a7;
    margin-top: 0.2rem;
}

/* ── Section ──────────────────────────────────────────────────────────── */

.pgm-section[b-nebgylsfjq] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.pgm-section-title[b-nebgylsfjq] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.75rem;
}

/* ── Connection bar ───────────────────────────────────────────────────── */

.pgm-bar-wrap[b-nebgylsfjq] {
    height: 10px;
    background: #e2e8f0;
    border-radius: 99px;
    overflow: hidden;
    margin-bottom: 0.4rem;
}

.pgm-bar[b-nebgylsfjq] {
    height: 100%;
    border-radius: 99px;
    transition: width 0.5s ease;
}

.pgm-bar-ok[b-nebgylsfjq]     { background: #22c55e; }
.pgm-bar-warn[b-nebgylsfjq]   { background: #f59e0b; }
.pgm-bar-danger[b-nebgylsfjq] { background: #ef4444; }

.pgm-bar-sub[b-nebgylsfjq] {
    font-size: 0.75rem;
    color: #8696a7;
}

/* ── Table ────────────────────────────────────────────────────────────── */

.pgm-table[b-nebgylsfjq] { margin-bottom: 0; }

.pgm-table thead th[b-nebgylsfjq] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.5rem 0.6rem;
    white-space: nowrap;
}

.pgm-table tbody td[b-nebgylsfjq] {
    font-size: 0.82rem;
    padding: 0.45rem 0.6rem;
    vertical-align: middle;
    border-bottom: 1px solid #f0f5fb;
}

.pgm-table tfoot td[b-nebgylsfjq] {
    background: #f7fafd;
    border-top: 2px solid #dceaf8;
    padding: 0.5rem 0.6rem;
    font-size: 0.82rem;
}

/* ── Tier cards ───────────────────────────────────────────────────────── */

.pgm-tier-card[b-nebgylsfjq] {
    border: 1px solid #dceaf8;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    background: #fff;
}

.pgm-tier-current[b-nebgylsfjq] {
    border-color: #22c55e;
    background: #f0fdf4;
}

.pgm-tier-exceeded[b-nebgylsfjq] {
    border-color: #fecaca;
    background: #fff7f7;
    opacity: 0.7;
}

.pgm-tier-name[b-nebgylsfjq] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.25rem;
}

.pgm-tier-note[b-nebgylsfjq] {
    font-size: 0.72rem;
    color: #5B7A9A;
}

.pgm-tier-current .pgm-tier-note[b-nebgylsfjq] { color: #15803d; font-weight: 600; }
.pgm-tier-exceeded .pgm-tier-note[b-nebgylsfjq] { color: #dc2626; font-weight: 600; }
/* _content/GestioneCommessa.Shared/Pages/Anagrafica/Details.razor.rz.scp.css */
/* Details — Anagrafica */

/* ── Tipo badge (reused from FetchData scope) ────────────────────────── */
.ag-tipo-badge[b-gfd8g1k690] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}
.tipo-cliente[b-gfd8g1k690]   { background: #e8f1fa; color: #2c6a9e; }
.tipo-fornitore[b-gfd8g1k690] { background: #fff4e2; color: #8a5500; }
.tipo-entrambi[b-gfd8g1k690]  { background: #f0ebfa; color: #6b3aaa; }
.tipo-nc[b-gfd8g1k690]        { background: #f4f5f7; color: #8696a7; }

/* ── Tab count badge ─────────────────────────────────────────────────── */
.ag-tab-count[b-gfd8g1k690] {
    display: inline-block;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.1em 0.5em;
    border-radius: 10px;
    vertical-align: middle;
}

/* ── Detail card ─────────────────────────────────────────────────────── */
.ag-detail-card[b-gfd8g1k690] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
}

.ag-detail-card-title[b-gfd8g1k690] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8696a7;
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #e8eff7;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── Definition list ─────────────────────────────────────────────────── */
.ag-dl[b-gfd8g1k690] {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 0.35rem 1rem;
    margin: 0;
}

.ag-dl dt[b-gfd8g1k690] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #8696a7;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    align-self: baseline;
}

.ag-dl dd[b-gfd8g1k690] {
    font-size: 0.875rem;
    color: #1E334C;
    margin: 0;
}

/* ── Sedi ────────────────────────────────────────────────────────────── */
.ag-sede-item[b-gfd8g1k690] {
    padding: 0.6rem 0;
    border-bottom: 1px solid #f0f5fb;
}

.ag-sede-item:last-child[b-gfd8g1k690] {
    border-bottom: none;
    padding-bottom: 0;
}

.ag-sede-tipo[b-gfd8g1k690] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5B8DB8;
    margin-bottom: 0.2rem;
}

.ag-sede-riga[b-gfd8g1k690] {
    font-size: 0.875rem;
    color: #334155;
    line-height: 1.5;
}

/* ── Referenti ───────────────────────────────────────────────────────── */
.ag-ref-detail[b-gfd8g1k690] {
    padding: 0.75rem 0.9rem;
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 8px;
}

.ag-ref-nome[b-gfd8g1k690] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1E334C;
}

.ag-ref-ruolo[b-gfd8g1k690] {
    font-size: 0.78rem;
    color: #5B8DB8;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 0.1rem;
}

.ag-ref-contact[b-gfd8g1k690] {
    font-size: 0.8125rem;
    color: #334155;
}

.ag-ref-contact .bi[b-gfd8g1k690] {
    font-size: 0.75rem;
    color: #8696a7;
}

.ag-ref-note[b-gfd8g1k690] {
    font-size: 0.8rem;
    color: #5B7A9A;
    font-style: italic;
    margin-top: 0.35rem;
}

/* ── Acquisti — accordion per anno ──────────────────────────────────── */

.ag-accordion-anni[b-gfd8g1k690] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ag-anno-section[b-gfd8g1k690] {
    border-radius: 6px;
    overflow: hidden;
}

/* Riga azzurra header accordion */
.ag-anno-header[b-gfd8g1k690] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #dceaf8;
    color: #1E334C;
    padding: 0.45rem 0.75rem;
    cursor: pointer;
    user-select: none;
    border-radius: 6px;
    transition: background .12s;
}

.ag-anno-section:has(.ag-anno-body) .ag-anno-header[b-gfd8g1k690] {
    border-radius: 6px 6px 0 0;
}

.ag-anno-header:hover[b-gfd8g1k690] {
    background: #c9dff5;
}

.ag-anno-count[b-gfd8g1k690] {
    font-size: 0.66rem;
    font-weight: 700;
    background: rgba(30,51,76,.13);
    color: #1E334C;
    padding: 0.1em 0.45em;
    border-radius: 8px;
}

.ag-anno-totale-header[b-gfd8g1k690] {
    font-weight: 700;
    font-size: 0.9rem;
    color: #1E334C;
    white-space: nowrap;
}

/* Corpo accordion (lista fatture) */
.ag-anno-body[b-gfd8g1k690] {
    border: 1px solid #dceaf8;
    border-top: none;
    border-radius: 0 0 6px 6px;
    background: white;
}

.ag-acq-row[b-gfd8g1k690] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border-bottom: 1px solid #f0f5fb;
    font-size: 0.8375rem;
}

.ag-acq-row:last-child[b-gfd8g1k690] {
    border-bottom: none;
}

.ag-acq-info[b-gfd8g1k690] {
    color: #334155;
}

.ag-acq-importo[b-gfd8g1k690] {
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}

/* Totale generale */
.ag-anno-totale-generale[b-gfd8g1k690] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem;
    margin-top: 0.25rem;
    border-top: 2px solid #dceaf8;
    font-weight: 700;
    font-size: 0.875rem;
    color: #1E334C;
}
/* _content/GestioneCommessa.Shared/Pages/Anagrafica/FetchData.razor.rz.scp.css */
/* Anagrafica — FetchData */

.ag-page[b-sttthe6kx7] {
    padding: 0;
}

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.ag-tab-btn[b-sttthe6kx7] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.ag-tab-btn:hover[b-sttthe6kx7] { color: #1E334C; }

.ag-tab-btn.active[b-sttthe6kx7] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.ag-tab-count[b-sttthe6kx7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.35em;
    border-radius: 10px;
    margin-left: 0.3rem;
    vertical-align: middle;
}

.ag-tab-btn.active .ag-tab-count[b-sttthe6kx7] {
    background: rgba(30, 51, 76, 0.15);
    color: #1E334C;
}

/* ── Filter select ───────────────────────────────────────────────────── */

.ag-filter-select[b-sttthe6kx7] {
    width: auto;
    min-width: 160px;
}

/* ── Bulk bar ────────────────────────────────────────────────────────── */

.ag-bulk-bar[b-sttthe6kx7] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #edf3fb;
    border: 1px solid #c8d8ee;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}

.ag-bulk-count[b-sttthe6kx7] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}

/* ── Loading state ───────────────────────────────────────────────────── */

.ag-loading-box[b-sttthe6kx7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
    font-size: 0.875rem;
}

.ag-spinner[b-sttthe6kx7] {
    border: 3px solid #f0f5fb;
    border-top: 3px solid #1E334C;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: ag-spin-b-sttthe6kx7 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes ag-spin-b-sttthe6kx7 {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.ag-empty[b-sttthe6kx7] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.ag-empty .bi[b-sttthe6kx7] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.ag-empty-title[b-sttthe6kx7] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.ag-empty-text[b-sttthe6kx7] {
    font-size: 0.875rem;
    color: #5B7A9A;
    margin-bottom: 0.75rem;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.table-responsive[b-sttthe6kx7] {
    margin-top: 0.25rem;
    border: 1px solid #e8eef6;
    border-radius: 8px;
    overflow: hidden;
}

.ag-table[b-sttthe6kx7] {
    margin-bottom: 0;
}

.ag-table thead th[b-sttthe6kx7] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.65rem 0.75rem;
    white-space: nowrap;
}

.ag-row[b-sttthe6kx7] {
    cursor: pointer;
    transition: background 0.1s;
}

.ag-row:hover[b-sttthe6kx7] {
    background: #f7fafd;
}

.ag-row td[b-sttthe6kx7] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.ag-name[b-sttthe6kx7] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.ag-sub[b-sttthe6kx7] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

.ag-contact-line[b-sttthe6kx7] {
    font-size: 0.8rem;
    color: #334155;
    line-height: 1.5;
}

.ag-contact-line .bi[b-sttthe6kx7] {
    font-size: 0.75rem;
    color: #8696a7;
}

/* ── Tipo badge ──────────────────────────────────────────────────────── */

.ag-tipo-badge[b-sttthe6kx7] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.tipo-cliente[b-sttthe6kx7]   { background: #e8f1fa; color: #2c6a9e; }
.tipo-fornitore[b-sttthe6kx7] { background: #fff4e2; color: #8a5500; }
.tipo-entrambi[b-sttthe6kx7]  { background: #f0ebfa; color: #6b3aaa; }
.tipo-nc[b-sttthe6kx7]        { background: #f4f5f7; color: #8696a7; }

/* ── Stato dati badge ────────────────────────────────────────────────── */

.ag-stato-badge[b-sttthe6kx7] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.sd-ok[b-sttthe6kx7]   { background: #edf6ea; color: #3a6b27; }
.sd-warn[b-sttthe6kx7] { background: #fff8e6; color: #7a5200; }
.sd-err[b-sttthe6kx7]  { background: #fdecea; color: #9e2d1e; }
.sd-nc[b-sttthe6kx7]   { background: #f4f5f7; color: #8696a7; }

/* ── Icon action buttons ─────────────────────────────────────────────── */

.ag-icon-btn[b-sttthe6kx7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.ag-icon-btn:hover[b-sttthe6kx7] {
    background: #edf3fb;
    color: #1E334C;
}

/* Remove Bootstrap dropdown-toggle caret from icon buttons */
.ag-icon-btn.dropdown-toggle[b-sttthe6kx7]::after {
    display: none;
}

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .ag-table thead th:nth-child(4)[b-sttthe6kx7],
    .ag-table td:nth-child(4)[b-sttthe6kx7],
    .ag-table thead th:nth-child(5)[b-sttthe6kx7],
    .ag-table td:nth-child(5)[b-sttthe6kx7] {
        display: none;
    }

    .ag-bulk-bar[b-sttthe6kx7] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Anagrafica/Form.razor.rz.scp.css */
/* Form — Anagrafica */

.ag-form-section[b-necr3cl4mz] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
}

.ag-form-section-title[b-necr3cl4mz] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8696a7;
    margin-bottom: 1.1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #e8eff7;
}

.ag-ref-card[b-necr3cl4mz] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    padding: 0.9rem 1rem;
}

/* ── Toggle iOS-style ─────────────────────────────────────────────────────── */

.ag-toggle-group[b-necr3cl4mz] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding-top: 0.2rem;
}

.ag-toggle-wrap[b-necr3cl4mz] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    cursor: pointer;
    user-select: none;
    width: fit-content;
}

.ag-toggle-input[b-necr3cl4mz] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.ag-toggle-track[b-necr3cl4mz] {
    position: relative;
    width: 44px;
    height: 26px;
    border-radius: 13px;
    background: #d1d5db;
    transition: background 0.22s ease;
    flex-shrink: 0;
}

.ag-toggle-thumb[b-necr3cl4mz] {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.25);
    transition: transform 0.22s ease;
}

.ag-toggle-input:checked + .ag-toggle-track[b-necr3cl4mz] {
    background: #34c759;
}

.ag-toggle-input:checked + .ag-toggle-track .ag-toggle-thumb[b-necr3cl4mz] {
    transform: translateX(18px);
}

.ag-toggle-label[b-necr3cl4mz] {
    font-size: 0.9rem;
    font-weight: 500;
    color: #334155;
    line-height: 1;
}

.ag-toggle-alert[b-necr3cl4mz] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #dc2626;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.15rem;
}
/* _content/GestioneCommessa.Shared/Pages/Dashboard.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════════════
   DASHBOARD – Cruscotto operativo
   ══════════════════════════════════════════════════════════════════════════ */

/* ── BREADCRUMB ── */
.dash-breadcrumb[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
}
.dash-bc-workspace[b-osg5wj7nvy] {
    color: #6B7C8F;
    font-weight: 500;
}
.dash-bc-sep[b-osg5wj7nvy] {
    color: #B8C9DA;
    font-size: 0.65rem;
}
.dash-bc-page[b-osg5wj7nvy] {
    color: #172536;
    font-weight: 600;
}

/* ── HEADER ── */
.dash-header[b-osg5wj7nvy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.dash-title[b-osg5wj7nvy] {
    font-size: 1.3rem;
    font-weight: 700;
    color: #172536;
    margin: 0 0 0.2rem;
    letter-spacing: -0.015em;
    line-height: 1.2;
}
.dash-subtitle[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    color: #6B7C8F;
    margin: 0;
    line-height: 1.5;
}

/* ── TAB BAR — segmented control ── */
.dash-tabs-wrap[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
}
.dash-tabs[b-osg5wj7nvy] {
    display: inline-flex;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 3px;
    box-shadow: 0 1px 3px rgba(23, 37, 54, 0.06);
    gap: 2px;
}
.dash-tab[b-osg5wj7nvy] {
    padding: 0.38rem 1rem;
    font-size: 0.8375rem;
    font-weight: 500;
    color: #6B7C8F;
    background: transparent;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
    line-height: 1.4;
    white-space: nowrap;
}
.dash-tab:hover[b-osg5wj7nvy] {
    color: #172536;
    background: #F5F7FA;
}
.dash-tab--active[b-osg5wj7nvy] {
    background: #10263A;
    color: #FFFFFF;
    font-weight: 600;
    box-shadow: 0 1px 4px rgba(16, 38, 58, 0.22);
}
.dash-tab--active:hover[b-osg5wj7nvy] {
    background: #0B1B2B;
    color: #FFFFFF;
}

/* ── MAIN GRID (Panoramica) ── */
.dash-grid[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
    align-items: start;
}

/* ── TEAM GRID (Team tab) ── */
.team-grid[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    align-items: start;
}

/* ── DASHBOARD CARD ── */
.dashboard-card[b-osg5wj7nvy] {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 1.25rem 1.35rem;
    box-shadow: 0 1px 3px rgba(23, 37, 54, 0.04), 0 4px 12px rgba(23, 37, 54, 0.03);
}
.dashboard-card-header[b-osg5wj7nvy] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.dashboard-card-title[b-osg5wj7nvy] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #172536;
    line-height: 1.25;
}
.dashboard-card-action[b-osg5wj7nvy] {
    font-size: 0.78rem;
    color: #246B9A;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-weight: 500;
}
.dashboard-card-action:hover[b-osg5wj7nvy] {
    color: #10263A;
    text-decoration: underline;
}

/* ── SIDE COLUMN ── */
.dash-side-column[b-osg5wj7nvy] {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.dash-card-sub[b-osg5wj7nvy] {
    font-size: 0.775rem;
    color: #6B7C8F;
    margin-top: 0.2rem;
}

/* ── FILTER PILLS ── */
.dash-filter-pills[b-osg5wj7nvy] {
    display: flex;
    gap: 0.3rem;
    flex-shrink: 0;
}
.dash-pill[b-osg5wj7nvy] {
    padding: 0.18rem 0.65rem;
    font-size: 0.74rem;
    font-weight: 500;
    color: #6B7C8F;
    background: #F5F7FA;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    line-height: 1.5;
}
.dash-pill:hover[b-osg5wj7nvy] {
    background: #E8EEF5;
    color: #172536;
}
.dash-pill.active[b-osg5wj7nvy] {
    background: #246B9A;
    color: #fff;
    border-color: #246B9A;
}

/* ── TO-DO LIST ── */
.todo-list[b-osg5wj7nvy] {
    display: flex;
    flex-direction: column;
}
.todo-item[b-osg5wj7nvy] {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid #F0F4F8;
    color: inherit;
    transition: background 0.12s;
}
.todo-item:hover[b-osg5wj7nvy] {
    background: #F8FAFE;
    margin: 0 -1.35rem;
    padding-left: 1.35rem;
    padding-right: 1.35rem;
}
.todo-item--last[b-osg5wj7nvy] {
    border-bottom: none;
}
.todo-item__indicator[b-osg5wj7nvy] {
    width: 4px;
    min-height: 44px;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 2px;
}
.todo-item__content[b-osg5wj7nvy] {
    flex: 1;
    min-width: 0;
}
.todo-item__label[b-osg5wj7nvy] {
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    line-height: 1;
    display: block;
    margin-bottom: 0.25rem;
}
.todo-item__title[b-osg5wj7nvy] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #172536;
    line-height: 1.3;
    margin-bottom: 0.2rem;
}
.todo-item__meta[b-osg5wj7nvy] {
    font-size: 0.775rem;
    color: #6B7C8F;
    line-height: 1.4;
}
.todo-item__right[b-osg5wj7nvy] {
    text-align: right;
    flex-shrink: 0;
}
.todo-item__value[b-osg5wj7nvy] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #172536;
    line-height: 1.3;
    white-space: nowrap;
}
.todo-item__link[b-osg5wj7nvy] {
    font-size: 0.75rem;
    color: #246B9A;
    margin-top: 0.2rem;
    white-space: nowrap;
}

/* ── TODO FOOTER ── */
.dash-todo-footer[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.85rem;
    margin-top: 0.5rem;
    border-top: 1px solid #F0F4F8;
}
.dash-todo-link[b-osg5wj7nvy] {
    font-size: 0.78rem;
    font-weight: 500;
    color: #246B9A;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: color 0.12s;
}
.dash-todo-link:hover[b-osg5wj7nvy] { color: #10263A; }
.dash-positive[b-osg5wj7nvy] { color: #4F8A45 !important; font-weight: 600; }
.dash-negative[b-osg5wj7nvy] { color: #C95245 !important; font-weight: 600; }

/* ── EMPTY STATES ── */
.dash-empty-state[b-osg5wj7nvy] {
    text-align: center;
    padding: 2rem 1rem;
}
.dash-empty-state i[b-osg5wj7nvy] {
    font-size: 2rem;
    color: #B8C9DA;
    display: block;
    margin-bottom: 0.6rem;
}
.dash-empty-title[b-osg5wj7nvy] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #172536;
    margin-bottom: 0.25rem;
}
.dash-empty-text[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    color: #6B7C8F;
    line-height: 1.5;
}
.dash-empty-state--sm[b-osg5wj7nvy] {
    padding: 1.1rem 0.5rem;
}
.dash-empty-state--sm i[b-osg5wj7nvy] {
    font-size: 1.4rem;
    margin-bottom: 0.35rem;
}
.dash-empty-state--sm .dash-empty-text[b-osg5wj7nvy] {
    font-size: 0.775rem;
}

/* ── DOCUMENT DEADLINE LIST ── */
.document-deadline-list[b-osg5wj7nvy] {
    display: flex;
    flex-direction: column;
}
.document-deadline-item[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #F0F4F8;
}
.document-deadline-item:last-child[b-osg5wj7nvy] {
    border-bottom: none;
}
.ddl-badge[b-osg5wj7nvy] {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.2rem 0.45rem;
    border-radius: 4px;
    flex-shrink: 0;
    white-space: nowrap;
    min-width: 5.2rem;
    text-align: center;
}
.ddl-badge--danger[b-osg5wj7nvy]  { background: #fdf0ee; color: #C95245; }
.ddl-badge--warning[b-osg5wj7nvy] { background: #fdf8ee; color: #D98A20; }
.ddl-badge--info[b-osg5wj7nvy]    { background: #eef4fb; color: #246B9A; }
.ddl-content[b-osg5wj7nvy] {
    flex: 1;
    min-width: 0;
}
.ddl-title[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #172536;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ddl-meta[b-osg5wj7nvy] {
    font-size: 0.74rem;
    color: #6B7C8F;
    margin-top: 0.1rem;
}
.ddl-meta--danger[b-osg5wj7nvy] { color: #C95245 !important; font-weight: 500; }
.ddl-action[b-osg5wj7nvy] {
    color: #B8C9DA;
    font-size: 0.8rem;
    flex-shrink: 0;
    text-decoration: none;
    transition: color 0.12s;
}
.ddl-action:hover[b-osg5wj7nvy] { color: #246B9A; }

/* ── OPERATIONS SUMMARY ── */
.operation-summary[b-osg5wj7nvy] {
    padding: 0.15rem 0;
}
.ops-row[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #F0F4F8;
}
.ops-row:last-child[b-osg5wj7nvy] {
    border-bottom: none;
}
.ops-icon[b-osg5wj7nvy] {
    font-size: 1.2rem;
    color: #246B9A;
    flex-shrink: 0;
    width: 2rem;
    text-align: center;
}
.ops-content[b-osg5wj7nvy] { flex: 1; }
.ops-label[b-osg5wj7nvy] {
    font-size: 0.71rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6B7C8F;
    margin-bottom: 0.1rem;
}
.ops-value[b-osg5wj7nvy] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #172536;
}

/* ── CTA LINK / UPDATED LABEL ── */
.dash-cta-link[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #246B9A;
    text-decoration: none;
}
.dash-cta-link:hover[b-osg5wj7nvy] {
    color: #10263A;
    text-decoration: underline;
}
.dash-updated-label[b-osg5wj7nvy] {
    font-size: 0.775rem;
    color: #B8C9DA;
    flex-shrink: 0;
}

/* ── KPI GRID ── */
.kpi-grid[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.kpi-card[b-osg5wj7nvy] {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    box-shadow: 0 1px 3px rgba(23, 37, 54, 0.04);
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.15s;
}
.kpi-card:hover[b-osg5wj7nvy] {
    box-shadow: 0 4px 16px rgba(23, 37, 54, 0.09);
}
.kpi-card[b-osg5wj7nvy]::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: #E2E8F0;
    border-radius: 14px 14px 0 0;
}
.kpi-card--positive[b-osg5wj7nvy]::before { background: #4F8A45; }
.kpi-card--negative[b-osg5wj7nvy]::before { background: #C95245; }
.kpi-card__icon[b-osg5wj7nvy] {
    font-size: 1.1rem;
    color: #B8C9DA;
    margin-bottom: 0.6rem;
}
.kpi-card--positive .kpi-card__icon[b-osg5wj7nvy] { color: #7DB87A; }
.kpi-card--negative .kpi-card__icon[b-osg5wj7nvy] { color: #E09085; }
.kpi-card__label[b-osg5wj7nvy] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #6B7C8F;
    margin-bottom: 0.3rem;
}
.kpi-card__value[b-osg5wj7nvy] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #172536;
    line-height: 1.15;
    margin-bottom: 0.3rem;
    letter-spacing: -0.02em;
}
.kpi-card__value--pos[b-osg5wj7nvy] { color: #4F8A45; }
.kpi-card__value--neg[b-osg5wj7nvy] { color: #C95245; }
.kpi-card__trend[b-osg5wj7nvy] {
    font-size: 0.74rem;
    color: #6B7C8F;
    line-height: 1.4;
}

/* ══════════════════════════════════════════════════════════════════════════
   CLASSI PREESISTENTI (mantenute)
   ══════════════════════════════════════════════════════════════════════════ */

.section-title[b-osg5wj7nvy] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8696a7;
    margin-bottom: 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.section-title[b-osg5wj7nvy]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e4edf5;
}
.commessa-table thead th[b-osg5wj7nvy] {
    background: #f7fafd;
    font-size: 0.73rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8696a7;
    padding: 0.6rem 0.85rem;
    border-bottom: 2px solid #dceaf8 !important;
}
.commessa-table tbody td[b-osg5wj7nvy] {
    padding: 0.6rem 0.85rem;
    font-size: 0.875rem;
    vertical-align: middle;
}
.commessa-table tbody tr:last-child td[b-osg5wj7nvy] { border-bottom: 0; }
.empty-state[b-osg5wj7nvy] {
    text-align: center;
    padding: 2.25rem 1rem;
}
.empty-state i[b-osg5wj7nvy] {
    font-size: 2.25rem;
    color: #bbc8d5;
    display: block;
    margin-bottom: 0.75rem;
}
.empty-title[b-osg5wj7nvy] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}
.empty-text[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    color: #8696a7;
    margin-bottom: 1rem;
    line-height: 1.5;
}
.chart-intro[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    color: #6e8497;
    padding: 0.6rem 0.85rem;
    background: #f7fafd;
    border-radius: 8px;
    border-left: 3px solid #dceaf8;
    margin-bottom: 1rem;
}

/* ══════════════════════════════════════════════════════════════════════════
   DESIGN-HANDOFF TOKENS & NEW COMPONENTS
   ══════════════════════════════════════════════════════════════════════════ */

/* Token scope — appended to dashboard container */
.dash-root[b-osg5wj7nvy] {
    --d-bg:        #F6F8FC;
    --d-surface:   #FFFFFF;
    --d-surface-2: #F9FBFD;
    --d-line:      #E8ECF4;
    --d-line-s:    #D7DDEA;
    --d-ink:       #1B2444;
    --d-ink-soft:  #4A547A;
    --d-ink-muted: #7C86A3;
    --d-ink-faint: #ABB3C7;
    --d-navy:      #2E3C66;
    --d-royal:     #3B5BAA;
    --d-blue:      #3D7BF0;
    --d-blue-50:   #EEF3FE;
    --d-sky:       #6CC0F5;
    --d-neon:      #8FE7F2;
    --d-green:     #2DAE6A;
    --d-green-50:  #E8F6EE;
    --d-amber:     #C99327;
    --d-amber-50:  #FBF0D9;
    --d-red:       #D85363;
    --d-red-50:    #FBEBED;
    --d-shadow-sm: 0 1px 2px rgba(10,18,48,.05);
    --d-shadow:    0 6px 24px -8px rgba(10,18,48,.10), 0 1px 2px rgba(10,18,48,.04);
}

/* ── PAGE HEAD (nuovo layout H1 + tabs sulla stessa riga) ── */
.d-page-head[b-osg5wj7nvy] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}
.d-page-h1[b-osg5wj7nvy] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--d-ink);
    line-height: 1.15;
}
.d-page-sub[b-osg5wj7nvy] {
    margin: 4px 0 0;
    font-size: 0.875rem;
    color: var(--d-ink-muted);
    line-height: 1.4;
}
.d-page-sub strong[b-osg5wj7nvy] { color: var(--d-ink); font-weight: 600; }

/* ── TODAY GRID (1.35fr / 1fr) ── */
.d-today-grid[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* ── TODAY CARD ── */
.d-today-card[b-osg5wj7nvy] {
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 16px;
    box-shadow: var(--d-shadow-sm);
    overflow: hidden;
}
.d-today-card__head[b-osg5wj7nvy] {
    padding: 18px 22px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.d-today-ico[b-osg5wj7nvy] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: linear-gradient(135deg, #3D7BF0 0%, #2E3C66 100%);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.d-today-title[b-osg5wj7nvy] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--d-ink);
    margin: 0;
    line-height: 1.2;
}
.d-today-day[b-osg5wj7nvy] {
    font-size: 0.75rem;
    color: var(--d-ink-muted);
    margin-top: 2px;
}

/* ── PRIORITY ITEMS ── */
.d-priority-list[b-osg5wj7nvy] {
    margin-top: 14px;
}
.d-priority-item[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: 8px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px 22px;
    border-top: 1px solid var(--d-line);
    cursor: pointer;
    transition: background .15s;
    text-decoration: none;
    color: inherit;
}
.d-priority-item:hover[b-osg5wj7nvy] { background: var(--d-surface-2); }
.d-priority-item__mark[b-osg5wj7nvy] {
    width: 8px;
    height: 36px;
    border-radius: 2px;
    flex-shrink: 0;
}
.d-priority-item--crit .d-priority-item__mark[b-osg5wj7nvy] { background: var(--d-red); }
.d-priority-item--warn .d-priority-item__mark[b-osg5wj7nvy] { background: var(--d-amber); }
.d-priority-item--info .d-priority-item__mark[b-osg5wj7nvy] { background: var(--d-blue); }
.d-priority-item--ok   .d-priority-item__mark[b-osg5wj7nvy] { background: var(--d-green); }
.d-priority-item__label[b-osg5wj7nvy] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--d-ink-muted);
    margin-bottom: 2px;
}
.d-priority-item__title[b-osg5wj7nvy] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--d-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.d-priority-item__meta[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    color: var(--d-ink-muted);
    font-weight: 500;
}
.d-priority-item__num[b-osg5wj7nvy] {
    font-size: 1.375rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--d-ink);
    letter-spacing: -0.01em;
    line-height: 1.1;
    text-align: right;
}
.d-priority-item__unit[b-osg5wj7nvy] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--d-ink-muted);
    margin-left: 4px;
}
.d-priority-item__link[b-osg5wj7nvy] {
    font-size: 0.78rem;
    color: var(--d-blue);
    font-weight: 600;
    display: block;
    margin-top: 2px;
    text-align: right;
}
.d-priority-item--crit .d-priority-item__num[b-osg5wj7nvy] { color: var(--d-red); }
.d-priority-item--warn .d-priority-item__num[b-osg5wj7nvy] { color: var(--d-amber); }
.d-today-foot[b-osg5wj7nvy] {
    border-top: 1px solid var(--d-line);
    padding: 12px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--d-surface-2);
    font-size: 0.78rem;
    color: var(--d-ink-muted);
}
.d-today-foot strong[b-osg5wj7nvy] { color: var(--d-ink); }
.d-today-foot-link[b-osg5wj7nvy] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--d-blue);
    text-decoration: none;
}

/* ── RIGHT RAIL CARDS ── */
.d-rail-stack[b-osg5wj7nvy] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.d-card[b-osg5wj7nvy] {
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 16px;
    box-shadow: var(--d-shadow-sm);
}
.d-card__head[b-osg5wj7nvy] {
    padding: 16px 20px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.d-card__title[b-osg5wj7nvy] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--d-ink);
}
.d-card__meta[b-osg5wj7nvy] {
    font-size: 0.75rem;
    color: var(--d-ink-muted);
    font-weight: 500;
}
.d-card__link[b-osg5wj7nvy] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--d-blue);
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}
.d-card__body[b-osg5wj7nvy] { padding: 0 20px 20px; }

/* Scadenze in right rail */
.d-scad-item[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--d-line);
}
.d-scad-item:first-child[b-osg5wj7nvy] { border-top: 0; }
.d-scad-tag[b-osg5wj7nvy] {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 3px 7px;
    border-radius: 5px;
    white-space: nowrap;
    flex-shrink: 0;
}
.d-scad-tag--crit[b-osg5wj7nvy] { background: var(--d-red-50);   color: var(--d-red); }
.d-scad-tag--warn[b-osg5wj7nvy] { background: var(--d-amber-50); color: var(--d-amber); }
.d-scad-tag--info[b-osg5wj7nvy] { background: var(--d-blue-50);  color: var(--d-blue); }
.d-scad-who[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--d-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.d-scad-when[b-osg5wj7nvy] { font-size: 0.75rem; color: var(--d-ink-muted); }
.d-scad-when--crit[b-osg5wj7nvy] { color: var(--d-red); }

/* Operatività oggi */
.d-ops-grid[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 14px;
}
.d-ops-lbl[b-osg5wj7nvy] {
    font-size: 0.6875rem;
    color: var(--d-ink-muted);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.d-ops-num[b-osg5wj7nvy] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-top: 4px;
    line-height: 1.1;
    color: var(--d-ink);
    font-variant-numeric: tabular-nums;
}
.d-ops-num span[b-osg5wj7nvy] { font-size: 0.875rem; color: var(--d-ink-muted); font-weight: 600; }
.d-ops-sub[b-osg5wj7nvy] { font-size: 0.75rem; color: var(--d-ink-muted); }

/* ── KPI STRIP (nuovo design) ── */
.d-kpi-strip[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.d-kpi[b-osg5wj7nvy] {
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 16px;
    box-shadow: var(--d-shadow-sm);
    padding: 18px 20px 14px;
    overflow: hidden;
}
.d-kpi__row[b-osg5wj7nvy] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.d-kpi__icon[b-osg5wj7nvy] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--d-blue-50);
    color: var(--d-blue);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 0.9rem;
}
.d-kpi__icon--neg[b-osg5wj7nvy] { background: var(--d-red-50); color: var(--d-red); }
.d-kpi__lbl[b-osg5wj7nvy] {
    font-size: 0.6875rem;
    color: var(--d-ink-muted);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.d-kpi__val[b-osg5wj7nvy] {
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin-top: 8px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--d-ink);
}
.d-kpi__val--neg[b-osg5wj7nvy] { color: var(--d-red); }
.d-kpi__unit[b-osg5wj7nvy] { font-size: 1.125rem; color: var(--d-ink-muted); font-weight: 600; margin-left: 2px; }
.d-kpi__sub[b-osg5wj7nvy] { font-size: 0.78rem; color: var(--d-ink-muted); margin-top: 6px; }
.d-kpi__delta[b-osg5wj7nvy] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-weight: 700;
    font-size: 0.75rem;
    padding: 3px 7px;
    border-radius: 999px;
}
.d-kpi__delta--up[b-osg5wj7nvy]   { color: var(--d-green); background: var(--d-green-50); }
.d-kpi__delta--down[b-osg5wj7nvy] { color: var(--d-red);   background: var(--d-red-50); }
.d-kpi__delta--flat[b-osg5wj7nvy] { color: var(--d-ink-muted); background: #EEF2F9; }
.d-kpi__spark[b-osg5wj7nvy] { margin-top: 14px; }

/* ── CHART ROW (monthly + donut) ── */
.d-chart-row[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    gap: 16px;
}

/* Legend */
.d-legend[b-osg5wj7nvy] {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.d-legend__item[b-osg5wj7nvy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: var(--d-ink-muted);
}
.d-legend__sw[b-osg5wj7nvy] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex-shrink: 0;
}
.d-legend__sw--dash[b-osg5wj7nvy] {
    width: 14px;
    height: 3px;
    border-radius: 0;
    background-image: repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 8px);
}

/* Filter group (mensile/trim/annuale) */
.d-filter-group[b-osg5wj7nvy] {
    display: inline-flex;
    padding: 3px;
    gap: 2px;
    background: #EEF2F9;
    border-radius: 8px;
}
.d-filter-group button[b-osg5wj7nvy] {
    border: 0;
    background: transparent;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--d-ink-muted);
    cursor: pointer;
}
.d-filter-group button.on[b-osg5wj7nvy] {
    background: var(--d-surface);
    color: var(--d-ink);
    box-shadow: var(--d-shadow-sm);
}

/* ── BOT ROW (spese donut + fornitori) ── */
.d-bot-row[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 16px;
}

/* Suppliers bar list */
.d-supp-row[b-osg5wj7nvy] {
    display: grid;
    grid-template-columns: 1fr 90px 72px;
    gap: 14px;
    align-items: center;
    padding: 10px 0;
    border-top: 1px solid var(--d-line);
}
.d-supp-row:first-child[b-osg5wj7nvy] { border-top: 0; }
.d-supp-name[b-osg5wj7nvy] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--d-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 5px;
}
.d-supp-bar[b-osg5wj7nvy] {
    height: 6px;
    border-radius: 4px;
    background: #EEF2F9;
    overflow: hidden;
}
.d-supp-bar__fill[b-osg5wj7nvy] {
    height: 100%;
    border-radius: 4px;
}
.d-supp-val[b-osg5wj7nvy] {
    text-align: right;
    font-size: 0.8125rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--d-ink);
}

/* ── COMMESSE TABLE (nuovo design) ── */
.d-commesse-card[b-osg5wj7nvy] {
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 16px;
    box-shadow: var(--d-shadow-sm);
    overflow: hidden;
}
.d-commesse-head[b-osg5wj7nvy] {
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--d-line);
    gap: 12px;
}
.d-commesse-head h3[b-osg5wj7nvy] { margin: 0; font-size: 0.9375rem; font-weight: 700; color: var(--d-ink); }
.d-commesse-sub[b-osg5wj7nvy] { font-size: 0.75rem; color: var(--d-ink-muted); margin-top: 2px; }
.d-table-controls[b-osg5wj7nvy] { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.d-chip[b-osg5wj7nvy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid var(--d-line);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--d-ink-muted);
    background: var(--d-surface);
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}
.d-chip.on[b-osg5wj7nvy] { background: var(--d-ink); color: white; border-color: var(--d-ink); }
.d-chip__dot[b-osg5wj7nvy] { width: 8px; height: 8px; border-radius: 50%; }
table.d-table[b-osg5wj7nvy] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}
table.d-table thead th[b-osg5wj7nvy] {
    text-align: left;
    font-size: 0.6875rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--d-ink-muted);
    font-weight: 700;
    padding: 12px 22px;
    background: var(--d-surface-2);
    border-bottom: 1px solid var(--d-line);
    white-space: nowrap;
}
table.d-table tbody td[b-osg5wj7nvy] {
    padding: 14px 22px;
    border-bottom: 1px solid var(--d-line);
    vertical-align: middle;
}
table.d-table tbody tr:hover[b-osg5wj7nvy] { background: var(--d-surface-2); cursor: pointer; }
table.d-table tbody tr:last-child td[b-osg5wj7nvy] { border-bottom: 0; }
.d-cnum[b-osg5wj7nvy] {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--d-ink-muted);
    background: #EEF2F9;
    padding: 3px 8px;
    border-radius: 6px;
    white-space: nowrap;
}
.d-cname[b-osg5wj7nvy] { font-weight: 600; color: var(--d-ink); }
.d-cname__sub[b-osg5wj7nvy] { font-weight: 500; font-size: 0.75rem; color: var(--d-ink-muted); margin-top: 2px; }
.d-cat-pill[b-osg5wj7nvy] {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: .04em;
    background: #EEF2F9;
    color: var(--d-ink-soft);
}
.d-cat-pill--og1[b-osg5wj7nvy] { background: #EAF4FF; color: #0A5BFF; }
.d-cat-pill--og2[b-osg5wj7nvy] { background: #EFEAFF; color: #6F4BFF; }
.d-progress-cell[b-osg5wj7nvy] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 130px;
}
.d-progress-cell__bar[b-osg5wj7nvy] {
    flex: 1;
    height: 6px;
    border-radius: 4px;
    background: #EEF2F9;
    overflow: hidden;
}
.d-progress-cell__fill[b-osg5wj7nvy] {
    height: 100%;
    border-radius: 4px;
    background: var(--d-blue);
}
.d-progress-cell__fill--ok[b-osg5wj7nvy]  { background: var(--d-green); }
.d-progress-cell__fill--over[b-osg5wj7nvy] { background: var(--d-red); }
.d-progress-cell__pct[b-osg5wj7nvy] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--d-ink-muted);
    min-width: 32px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.d-status-pill[b-osg5wj7nvy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.71875rem;
    font-weight: 700;
    letter-spacing: .02em;
    white-space: nowrap;
}
.d-status-pill__dot[b-osg5wj7nvy] { width: 6px; height: 6px; border-radius: 50%; }
.d-status-pill--ok[b-osg5wj7nvy]   { background: var(--d-green-50); color: var(--d-green); }
.d-status-pill--ok   .d-status-pill__dot[b-osg5wj7nvy] { background: var(--d-green); }
.d-status-pill--miss[b-osg5wj7nvy] { background: var(--d-amber-50); color: var(--d-amber); }
.d-status-pill--miss .d-status-pill__dot[b-osg5wj7nvy] { background: var(--d-amber); }
.d-status-pill--none[b-osg5wj7nvy] { background: #EEF2F9; color: var(--d-ink-muted); }
.d-status-pill--none .d-status-pill__dot[b-osg5wj7nvy] { background: var(--d-ink-faint); }
.d-row-actions[b-osg5wj7nvy] {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity .15s;
}
tr:hover .d-row-actions[b-osg5wj7nvy] { opacity: 1; }
.d-icon-btn[b-osg5wj7nvy] {
    border: 1px solid var(--d-line);
    background: var(--d-surface);
    width: 28px;
    height: 28px;
    border-radius: 7px;
    cursor: pointer;
    display: grid;
    place-items: center;
    color: var(--d-ink-muted);
    text-decoration: none;
}
.d-tabnum[b-osg5wj7nvy] { font-variant-numeric: tabular-nums; }
.d-em[b-osg5wj7nvy] { color: var(--d-ink-faint); }
.d-margine--pos[b-osg5wj7nvy] { color: var(--d-green); font-weight: 700; }
.d-margine--neg[b-osg5wj7nvy] { color: var(--d-red); font-weight: 700; }

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
    .kpi-grid[b-osg5wj7nvy]       { grid-template-columns: repeat(2, 1fr); }
    .d-kpi-strip[b-osg5wj7nvy]    { grid-template-columns: repeat(2, 1fr); }
    .d-chart-row[b-osg5wj7nvy]    { grid-template-columns: 1fr; }
    .d-bot-row[b-osg5wj7nvy]      { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
    .dash-grid[b-osg5wj7nvy]      { grid-template-columns: 1fr 290px; }
    .d-today-grid[b-osg5wj7nvy]   { grid-template-columns: 1fr 290px; }
}

@media (max-width: 900px) {
    .dash-grid[b-osg5wj7nvy]      { grid-template-columns: 1fr; }
    .team-grid[b-osg5wj7nvy]      { grid-template-columns: 1fr; }
    .d-today-grid[b-osg5wj7nvy]   { grid-template-columns: 1fr; }
    .d-page-head[b-osg5wj7nvy]    { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 768px) {
    .kpi-grid[b-osg5wj7nvy] {
        grid-template-columns: repeat(2, 1fr);
    }
    .dash-tab[b-osg5wj7nvy] {
        padding: 0.35rem 0.75rem;
        font-size: 0.8rem;
    }
    .dash-title[b-osg5wj7nvy] {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .kpi-grid[b-osg5wj7nvy] {
        grid-template-columns: 1fr;
    }
    .todo-item__right[b-osg5wj7nvy] {
        display: none;
    }
    .dash-filter-pills[b-osg5wj7nvy] {
        display: none;
    }
    .dash-tabs[b-osg5wj7nvy] {
        width: 100%;
        justify-content: stretch;
    }
    .dash-tab[b-osg5wj7nvy] {
        flex: 1;
        text-align: center;
        padding: 0.35rem 0.4rem;
        font-size: 0.75rem;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Finanze/Scadenziario.razor.rz.scp.css */
/* Scadenziario Finanze — completo */

/* ── KPI Strip ───────────────────────────────────────────────────────── */

.fi-kpi-strip[b-zg9e0j2xy9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
@media (max-width: 900px) { .fi-kpi-strip[b-zg9e0j2xy9] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .fi-kpi-strip[b-zg9e0j2xy9] { grid-template-columns: 1fr; } }

.fi-kpi[b-zg9e0j2xy9] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 14px;
    padding: 18px 20px 14px;
    box-shadow: 0 1px 2px rgba(10,18,48,.05);
}
.fi-kpi--danger[b-zg9e0j2xy9] { border-color: #fdecea; background: #fffcfc; }
.fi-kpi__row[b-zg9e0j2xy9]    { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }

.fi-kpi__icon[b-zg9e0j2xy9] {
    width: 34px; height: 34px;
    border-radius: 10px;
    background: #EEF3FE; color: #3D7BF0;
    display: grid; place-items: center;
    flex-shrink: 0; font-size: .95rem;
}
.fi-kpi__icon--in[b-zg9e0j2xy9]     { background: #E8F6EE; color: #2ECC71; }
.fi-kpi__icon--out[b-zg9e0j2xy9]    { background: #FBEBED; color: #E74C3C; }
.fi-kpi__icon--danger[b-zg9e0j2xy9] { background: #FBEBED; color: #E74C3C; }

.fi-kpi__lbl[b-zg9e0j2xy9] {
    font-size: .6875rem; color: #7C86A3;
    font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    margin-bottom: 4px;
}
.fi-kpi__val[b-zg9e0j2xy9] {
    font-size: 1.6rem; font-weight: 700; color: #1B2444;
    line-height: 1.1; font-variant-numeric: tabular-nums; margin-top: 4px;
}
.fi-kpi__val--in[b-zg9e0j2xy9]  { color: #2ECC71; }
.fi-kpi__val--out[b-zg9e0j2xy9] { color: #E74C3C; }
.fi-kpi__sub[b-zg9e0j2xy9] { font-size: .78rem; color: #7C86A3; margin-top: 5px; }

/* ── Grafico ─────────────────────────────────────────────────────────── */

.fi-chart-card[b-zg9e0j2xy9] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 12px;
    padding: 16px 20px;
    box-shadow: 0 1px 2px rgba(10,18,48,.05);
}

.fi-q-btn[b-zg9e0j2xy9] {
    background: #f0f5fb;
    border: 1px solid #dce6f2;
    border-radius: 6px;
    padding: .2rem .6rem;
    font-size: .78rem;
    font-weight: 600;
    color: #5B7A9A;
    cursor: pointer;
    transition: background .1s, color .1s;
}
.fi-q-btn:hover[b-zg9e0j2xy9]  { background: #e0ecf9; color: #1E334C; }
.fi-q-btn.active[b-zg9e0j2xy9] { background: #1E334C; border-color: #1E334C; color: #fff; }

/* ── Tab principali ──────────────────────────────────────────────────── */

.fi-tabs-bar[b-zg9e0j2xy9] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 2px solid #e8eef6;
    padding-bottom: 0;
}

.fi-tab-btn[b-zg9e0j2xy9] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: .45rem .75rem;
    font-size: .82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    transition: color .12s, border-color .12s;
}
.fi-tab-btn:hover[b-zg9e0j2xy9] { color: #1E334C; }
.fi-tab-btn.active[b-zg9e0j2xy9] { color: #1E334C; font-weight: 700; border-bottom-color: #1E334C; }
.fi-tab-btn.active .fi-tab-badge[b-zg9e0j2xy9] { background: rgba(30,51,76,.15); color: #1E334C; }

.fi-tab-badge[b-zg9e0j2xy9] {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 1.5em; height: 1.5em;
    background: #e8edf4; color: #5B7A9A;
    font-size: .67rem; font-weight: 700;
    padding: 0 .35em; border-radius: 10px;
}

/* ── Barra filtri ────────────────────────────────────────────────────── */

.fi-filter-bar[b-zg9e0j2xy9] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.fi-filter-search[b-zg9e0j2xy9] {
    position: relative;
    flex: 1 1 240px;
    min-width: 200px;
    max-width: 400px;
}
.fi-filter-search-icon[b-zg9e0j2xy9] {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    color: #94A3B8; font-size: .85rem; pointer-events: none;
}
.fi-filter-search-input[b-zg9e0j2xy9] {
    width: 100%;
    padding: .35rem .75rem .35rem 2rem;
    border: 1px solid #dce6f2;
    border-radius: 6px;
    font-size: .82rem;
    color: #1E334C;
    background: #fff;
    outline: none;
    transition: border-color .12s;
}
.fi-filter-search-input:focus[b-zg9e0j2xy9] { border-color: #5B7A9A; }

.fi-filter-select[b-zg9e0j2xy9] {
    flex: 0 0 auto;
    min-width: 140px;
    font-size: .82rem !important;
}

/* ── Conteggio risultati ─────────────────────────────────────────────── */

.fi-risultati-count[b-zg9e0j2xy9] {
    font-size: .82rem;
    color: #5B7A9A;
}

/* ── Tabella ─────────────────────────────────────────────────────────── */

.fi-table[b-zg9e0j2xy9] { margin-bottom: 0; }

.fi-table thead th[b-zg9e0j2xy9] {
    background: #f7fafd;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #5B7A9A;
    padding: .65rem .75rem;
    border-bottom: 2px solid #dce6f2;
    white-space: nowrap;
}
.fi-th-sortable:hover[b-zg9e0j2xy9] { color: #1E334C; }

.fi-table tbody td[b-zg9e0j2xy9] {
    padding: .6rem .75rem;
    border-bottom: 1px solid #f0f5fb;
    font-size: .8125rem;
    color: #17324d;
    vertical-align: middle;
}
.fi-table tfoot td[b-zg9e0j2xy9] { border-top: 2px solid #dce6f2 !important; }

.fi-tr[b-zg9e0j2xy9] { cursor: pointer; transition: background .1s; }
.fi-tr:hover td[b-zg9e0j2xy9] { background: #f7fafd; }

/* ── Tipo badge ──────────────────────────────────────────────────────── */

.fi-tipo[b-zg9e0j2xy9] {
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .72rem; font-weight: 700;
    padding: .18em .55em; border-radius: 20px;
    white-space: nowrap;
}
.fi-tipo-label[b-zg9e0j2xy9] { display: inline; }
.fi-tipo-in[b-zg9e0j2xy9]  { background: #e8f6ee; color: #27ae60; }
.fi-tipo-out[b-zg9e0j2xy9] { background: #fdecea; color: #c0392b; }

/* ── Testo celle ─────────────────────────────────────────────────────── */

.fi-nome[b-zg9e0j2xy9]    { font-weight: 600; color: #1E334C; font-size: .8125rem; }
.fi-sub[b-zg9e0j2xy9]     { font-size: .75rem; color: #5B7A9A; margin-top: .1rem; }
.fi-data[b-zg9e0j2xy9]    { font-size: .8125rem; color: #1E334C; }
.fi-ritardo[b-zg9e0j2xy9] { font-size: .72rem; color: #c0392b; margin-top: .1rem; }
.fi-importo[b-zg9e0j2xy9] { font-weight: 700; color: #1E334C; font-size: .8125rem; font-variant-numeric: tabular-nums; }
.fi-importo-scaduto[b-zg9e0j2xy9] { color: #E74C3C; }

/* ── Categoria badge ─────────────────────────────────────────────────── */

.fi-cat-badge[b-zg9e0j2xy9] {
    display: inline-block;
    font-size: .68rem; font-weight: 700;
    padding: .15em .55em; border-radius: 20px;
    background: #e8f1fa; color: #2c6a9e;
    white-space: nowrap;
}

/* ── Assegnazione badge ──────────────────────────────────────────────── */

.fi-assegnazione-badge[b-zg9e0j2xy9] {
    display: inline-block;
    font-size: .68rem; font-weight: 700;
    padding: .15em .55em; border-radius: 20px;
    white-space: nowrap;
}
.fi-assegnazione-costo-commessa[b-zg9e0j2xy9]    { background: #e8f1fa; color: #2c6a9e; }
.fi-assegnazione-spesa-generale[b-zg9e0j2xy9]    { background: #fff8e6; color: #7a5200; }
.fi-assegnazione-ricavo-commessa[b-zg9e0j2xy9]   { background: #e8f6ee; color: #27ae60; }
.fi-assegnazione-non-assegnata[b-zg9e0j2xy9]     { background: #f4f5f7; color: #8696a7; }

/* ── Verificato ──────────────────────────────────────────────────────── */

.fi-verif-ok[b-zg9e0j2xy9]   { color: #27ae60; font-size: .9rem; }
.fi-verif-warn[b-zg9e0j2xy9] { color: #e67e22; font-size: .9rem; }

/* ── Icon btn ────────────────────────────────────────────────────────── */

.fi-icon-btn[b-zg9e0j2xy9] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.75rem; height: 1.75rem;
    border-radius: 6px; border: none;
    background: transparent; color: #5B7A9A;
    font-size: .875rem; cursor: pointer; text-decoration: none;
    transition: background .12s, color .12s;
}
.fi-icon-btn:hover[b-zg9e0j2xy9] { background: #edf3fb; color: #1E334C; }

/* ── Empty ───────────────────────────────────────────────────────────── */

.fi-card[b-zg9e0j2xy9] { background: #fff; border: 1px solid #dce6f2; border-radius: 10px; }
.fi-empty[b-zg9e0j2xy9] { text-align: center; padding: 3rem 1.5rem; }
.fi-empty .bi[b-zg9e0j2xy9] { font-size: 2.5rem; color: #c8d8e8; display: block; margin-bottom: .75rem; }
.fi-empty-title[b-zg9e0j2xy9] { font-size: 1rem; font-weight: 600; color: #1E334C; margin-bottom: .35rem; }
.fi-empty-text[b-zg9e0j2xy9]  { font-size: .875rem; color: #8696a7; }

/* ── Responsive — nascondi colonne ───────────────────────────────────── */

@media (max-width: 1100px) {
    .fi-col-hide-lg[b-zg9e0j2xy9] { display: none; }
    .fi-tipo-label[b-zg9e0j2xy9]  { display: none; }
}
@media (max-width: 768px) {
    .fi-col-hide-md[b-zg9e0j2xy9] { display: none; }
    .fi-tabs-bar[b-zg9e0j2xy9]    { overflow-x: auto; flex-wrap: nowrap; }
    .fi-filter-bar[b-zg9e0j2xy9]  { flex-direction: column; align-items: stretch; }
    .fi-filter-search[b-zg9e0j2xy9] { max-width: 100%; }
    .fi-filter-select[b-zg9e0j2xy9] { min-width: 0; }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/Create.razor.rz.scp.css */
/* Giornaliera — Create */

.gj-create-tab[b-06cejzlu58] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.gj-create-tab:hover[b-06cejzlu58] { color: #1E334C; }

.gj-create-tab.active[b-06cejzlu58] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

/* ── Header mobile ───────────────────────────────────────────────────── */

.gj-create-header-mobile[b-06cejzlu58] {
    display: none;
}

/* ── Mobile ≤720px ───────────────────────────────────────────────────── */

@media (max-width: 719.98px) {
    /* Nascondi breadcrumb e header desktop */
    .gj-create-breadcrumb-desktop[b-06cejzlu58],
    .gj-create-header-desktop[b-06cejzlu58] {
        display: none;
    }

    /* Mostra header mobile compatto */
    .gj-create-header-mobile[b-06cejzlu58] {
        display: block;
        padding-bottom: 0.75rem;
    }

    .gj-create-back-link[b-06cejzlu58] {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        font-size: 0.9375rem;
        color: #5B7A9A;
        text-decoration: none;
        margin-bottom: 0.5rem;
    }

    .gj-create-back-link:hover[b-06cejzlu58] {
        color: #1E334C;
        text-decoration: none;
    }

    .gj-create-title-mobile[b-06cejzlu58] {
        font-size: 1.5rem;
        font-weight: 700;
        color: #1E334C;
        margin: 0 0 0.25rem;
    }

    .gj-create-sub-mobile[b-06cejzlu58] {
        font-size: 1rem;
        color: #5B7A9A;
        margin: 0;
    }

    /* Su mobile nasconde la barra tab e il titolo desktop:
       il QuickReport appare direttamente senza schermate intermedie */
    .gj-create-tab-bar[b-06cejzlu58] {
        display: none;
    }

    /* ── Selettore modalità mobile (pills) ───────────────────────────── */
    .gj-create-mode-pills[b-06cejzlu58] {
        display: flex;
        gap: 0.5rem;
        margin-top: 0.75rem;
    }

    .gj-create-mode-pill[b-06cejzlu58] {
        flex: 1;
        padding: 0.55rem 0.75rem;
        font-size: 0.9375rem;
        font-weight: 500;
        border: 1.5px solid #dceaf8;
        border-radius: 10px;
        background: #fff;
        color: #5B7A9A;
        cursor: pointer;
        text-align: center;
        transition: background 0.15s, border-color 0.15s, color 0.15s;
    }

    .gj-create-mode-pill.active[b-06cejzlu58] {
        background: #1E334C;
        border-color: #1E334C;
        color: #fff;
        font-weight: 600;
    }

    .gj-create-mode-pill:not(.active):hover[b-06cejzlu58] {
        background: #f0f6ff;
        border-color: #9bbcd8;
        color: #1E334C;
    }
}

/* Desktop: nascondi le pills mobile */
.gj-create-mode-pills[b-06cejzlu58] {
    display: none;
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/Elenco.razor.rz.scp.css */
/* Giornaliere — Elenco admin (stile allineato ad Acquisti/FetchData) */

.gd-page[b-b33ycw0fgv] {
    padding: 0;
}

/* ── KPI cards ───────────────────────────────────────────────────────── */

.gd-kpi-card[b-b33ycw0fgv] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.gd-kpi-card.success[b-b33ycw0fgv] { border-left: 3px solid #3a8f47; }
.gd-kpi-card.info[b-b33ycw0fgv]    { border-left: 3px solid #2c6a9e; }
.gd-kpi-card.warning[b-b33ycw0fgv] { border-left: 3px solid #c07a00; }

.gd-kpi-label[b-b33ycw0fgv] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.3rem;
}

.gd-kpi-value[b-b33ycw0fgv] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.gd-kpi-sub[b-b33ycw0fgv] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.gd-tab-btn[b-b33ycw0fgv] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.gd-tab-btn:hover[b-b33ycw0fgv] { color: #1E334C; }

.gd-tab-btn.active[b-b33ycw0fgv] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.gd-tab-count[b-b33ycw0fgv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.35em;
    border-radius: 10px;
    margin-left: 0.3rem;
    vertical-align: middle;
}

.gd-tab-btn.active .gd-tab-count[b-b33ycw0fgv] {
    background: rgba(30, 51, 76, 0.15);
    color: #1E334C;
}

/* ── Bulk bar ────────────────────────────────────────────────────────── */

.gd-bulk-bar[b-b33ycw0fgv] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #edf3fb;
    border: 1px solid #c8d8ee;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}

.gd-bulk-count[b-b33ycw0fgv] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}

/* ── Loading ─────────────────────────────────────────────────────────── */

.gd-loading-box[b-b33ycw0fgv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
}

.gd-spinner[b-b33ycw0fgv] {
    border: 3px solid #f0f5fb;
    border-top: 3px solid #1E334C;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: gd-spin-b-b33ycw0fgv 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes gd-spin-b-b33ycw0fgv {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.gd-empty[b-b33ycw0fgv] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.gd-empty .bi[b-b33ycw0fgv] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.gd-empty-title[b-b33ycw0fgv] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.gd-empty-text[b-b33ycw0fgv] {
    font-size: 0.875rem;
    color: #5B7A9A;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.table-responsive[b-b33ycw0fgv] {
    margin-top: 0.25rem;
    border: 1px solid #e8eef6;
    border-radius: 8px;
    overflow: hidden;
}

.gd-table[b-b33ycw0fgv] {
    margin-bottom: 0;
}

.gd-table thead th[b-b33ycw0fgv] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.65rem 0.75rem;
    white-space: nowrap;
}

.gd-row[b-b33ycw0fgv] {
    cursor: pointer;
    transition: background 0.1s;
}

.gd-row:hover[b-b33ycw0fgv] {
    background: #f7fafd;
}

.gd-row td[b-b33ycw0fgv] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.gd-name[b-b33ycw0fgv] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.gd-sub[b-b33ycw0fgv] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

/* ── Badge commessa / cantiere ───────────────────────────────────────── */

.gd-commessa-badge[b-b33ycw0fgv] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #e8f1fa;
    color: #2c6a9e;
    white-space: nowrap;
}

.gd-cantiere-badge[b-b33ycw0fgv] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #f0edfe;
    color: #4c3d9c;
    white-space: nowrap;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.gd-icon-btn[b-b33ycw0fgv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.gd-icon-btn:hover[b-b33ycw0fgv] {
    background: #edf3fb;
    color: #1E334C;
}

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .gd-table thead th:nth-child(5)[b-b33ycw0fgv],
    .gd-row td:nth-child(5)[b-b33ycw0fgv],
    .gd-table thead th:nth-child(6)[b-b33ycw0fgv],
    .gd-row td:nth-child(6)[b-b33ycw0fgv] {
        display: none;
    }

    .gd-bulk-bar[b-b33ycw0fgv] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/FetchData.razor.rz.scp.css */
/* FetchData — Rapportini Giornalieri */

.fetchdata-page[b-mb0g1l9wtb] {
    padding: 0;
}

/* Loader */
.processing-container[b-mb0g1l9wtb] {
    max-width: 480px;
    margin: 3rem auto;
    text-align: center;
    padding: 2.5rem;
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
}

.loader[b-mb0g1l9wtb] {
    border: 4px solid #F4F8FC;
    border-top: 4px solid #1E334C;
    border-radius: 50%;
    width: 52px;
    height: 52px;
    animation: fetchdata-spin-b-mb0g1l9wtb 0.9s linear infinite;
    margin: 0 auto 1.25rem;
}

@keyframes fetchdata-spin-b-mb0g1l9wtb {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── KPI riepilogo ──────────────────────────────────────────────────────── */

.rp-kpi[b-mb0g1l9wtb] {
    background: white;
    border: 1px solid #dceaf8;
    border-left: 3px solid #dceaf8;
    border-radius: 10px;
    padding: 0.85rem 1.1rem;
    cursor: pointer;
    transition: box-shadow 0.15s, transform 0.1s, border-color 0.15s;
    user-select: none;
}

.rp-kpi:hover[b-mb0g1l9wtb] {
    box-shadow: 0 3px 10px rgba(30, 51, 76, 0.1);
    transform: translateY(-1px);
}

.rp-kpi-num[b-mb0g1l9wtb] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
    color: #1E334C;
}

.rp-kpi-label[b-mb0g1l9wtb] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-top: 0.2rem;
}

.rp-kpi-alert[b-mb0g1l9wtb] {
    border-left-color: #C0614F;
    background: #fffaf9;
}

.rp-kpi-alert .rp-kpi-num[b-mb0g1l9wtb] {
    color: #C0614F;
}

.rp-kpi-anomalie[b-mb0g1l9wtb] {
    border-left-color: #C89540;
    background: #fffdf6;
}

.rp-kpi-anomalie .rp-kpi-num[b-mb0g1l9wtb] {
    color: #C89540;
}

.rp-kpi-ok[b-mb0g1l9wtb] {
    border-left-color: #5F9150;
}

.rp-kpi-active[b-mb0g1l9wtb] {
    box-shadow: 0 0 0 2px rgba(91, 141, 184, 0.35);
    border-color: #5B8DB8;
}

/* ── Status badge ────────────────────────────────────────────────────────── */

.stato-badge[b-mb0g1l9wtb] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}

.stato-bozza[b-mb0g1l9wtb] {
    background: #edf0f5;
    color: #5B7A9A;
}

.stato-verifica[b-mb0g1l9wtb] {
    background: #e8f1fa;
    color: #2c6a9e;
}

.stato-anomalie[b-mb0g1l9wtb] {
    background: #fdecea;
    color: #9e2d1e;
}

.stato-validato[b-mb0g1l9wtb] {
    background: #edf6ea;
    color: #3a6b27;
}

.stato-ai[b-mb0g1l9wtb] {
    background: #f0ebfa;
    color: #6b3aaa;
}

.stato-base[b-mb0g1l9wtb] {
    background: #f4f5f7;
    color: #8696a7;
}

/* ── Rapportino card ─────────────────────────────────────────────────────── */

.fetchdata-container[b-mb0g1l9wtb] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.day-card[b-mb0g1l9wtb] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    overflow: hidden;
}

.day-card-header[b-mb0g1l9wtb] {
    background-color: #1E334C;
    color: white;
    padding: 0.65rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.day-card-body[b-mb0g1l9wtb] {
    padding: 0;
}

.report-item[b-mb0g1l9wtb] {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f0f5fb;
    transition: background 0.1s;
}

.report-item:last-child[b-mb0g1l9wtb] {
    border-bottom: none;
}

.report-item-alert[b-mb0g1l9wtb] {
    border-left: 3px solid #C0614F;
    background: #fffaf9;
    padding-left: calc(1.25rem - 3px);
}

.report-item-title[b-mb0g1l9wtb] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1E334C;
}

.report-item-user[b-mb0g1l9wtb] {
    color: #5B7A9A;
    font-size: 0.8125rem;
    margin-bottom: 0.35rem;
}

.report-item-details[b-mb0g1l9wtb] {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 0.35rem;
    color: #5B7A9A;
    font-size: 0.8125rem;
}

.report-item-desc[b-mb0g1l9wtb] {
    color: #334155;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}

.report-item-staff[b-mb0g1l9wtb] {
    margin-bottom: 0.5rem;
}

.report-item-actions[b-mb0g1l9wtb] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.6rem;
}

/* ── Sezione sub-label ───────────────────────────────────────────────────── */

.report-section-label[b-mb0g1l9wtb] {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-bottom: 0.35rem;
}

/* ── Staff chips ─────────────────────────────────────────────────────────── */

.staff-chip[b-mb0g1l9wtb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    background: #f0f5fb;
    color: #1E334C;
    border: 1px solid #dceaf8;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.2em 0.65em;
}

.chip-warn[b-mb0g1l9wtb] {
    background: #fff8e6;
    border-color: #f0d080;
    color: #7a5200;
}

.staff-effort[b-mb0g1l9wtb] {
    font-size: 0.75rem;
    color: #5B7A9A;
    font-weight: 400;
}

.chip-warn .staff-effort[b-mb0g1l9wtb] {
    color: #9a6800;
}

/* ── Stato inline (DDT, anomalie) ────────────────────────────────────────── */

.anomalia-inline[b-mb0g1l9wtb] {
    font-size: 0.8rem;
    color: #9e2d1e;
    background: #fdecea;
    padding: 0.15em 0.55em;
    border-radius: 4px;
}

.ok-inline[b-mb0g1l9wtb] {
    font-size: 0.8rem;
    color: #3a6b27;
    background: #edf6ea;
    padding: 0.15em 0.55em;
    border-radius: 4px;
}

/* ── DDT rows ────────────────────────────────────────────────────────────── */

.ddt-row[b-mb0g1l9wtb] {
    display: flex;
    align-items: center;
    font-size: 0.8375rem;
    color: #334155;
    padding: 0.2rem 0;
    gap: 0.25rem;
}

.ddt-row:not(:last-child)[b-mb0g1l9wtb] {
    border-bottom: 1px solid #f4f8fc;
}

/* ── Empty state ─────────────────────────────────────────────────────────── */

.empty-rp[b-mb0g1l9wtb] {
    text-align: center;
    padding: 2.25rem 1rem;
}

.empty-rp .bi[b-mb0g1l9wtb] {
    font-size: 2.25rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.empty-rp-title[b-mb0g1l9wtb] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.empty-rp-text[b-mb0g1l9wtb] {
    font-size: 0.875rem;
    color: #5B7A9A;
    margin-bottom: 0.75rem;
}

/* ── Tab bar ─────────────────────────────────────────────────────────────── */

.rp-tab-btn[b-mb0g1l9wtb] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.rp-tab-btn:hover[b-mb0g1l9wtb] { color: #1E334C; }

.rp-tab-btn.active[b-mb0g1l9wtb] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.rp-tab-count[b-mb0g1l9wtb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.35em;
    border-radius: 10px;
    margin-left: 0.3rem;
    vertical-align: middle;
}

.rp-tab-btn.active .rp-tab-count[b-mb0g1l9wtb] {
    background: rgba(30, 51, 76, 0.15);
    color: #1E334C;
}

.rp-tab-alert[b-mb0g1l9wtb] {
    background: #fdecea !important;
    color: #9e2d1e !important;
}

/* ── Icon buttons ────────────────────────────────────────────────────────── */

.rp-icon-btn[b-mb0g1l9wtb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.rp-icon-btn:hover[b-mb0g1l9wtb] { background: #edf3fb; color: #1E334C; }

.rp-icon-btn-success[b-mb0g1l9wtb] { color: #3a6b27; }
.rp-icon-btn-success:hover[b-mb0g1l9wtb] { background: #edf6ea; color: #3a6b27; }

.rp-icon-btn.dropdown-toggle[b-mb0g1l9wtb]::after { display: none; }

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .report-item-details[b-mb0g1l9wtb] {
        flex-direction: column;
        gap: 0.2rem;
    }

    .rp-kpi-num[b-mb0g1l9wtb] {
        font-size: 1.4rem;
    }
}

/* ── Mobile ≤720px ────────────────────────────────────────────────────────── */

@media (max-width: 719.98px) {
    /* Padding inferiore per il menu mobile */
    .fetchdata-page[b-mb0g1l9wtb] {
        padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }

    /* Titolo sezione */
    .fetchdata-page h5[b-mb0g1l9wtb] {
        font-size: 1.375rem;
    }

    /* Bottone nuovo rapportino più grande */
    .fetchdata-page .btn[b-mb0g1l9wtb] {
        font-size: 1rem;
        min-height: 46px;
        padding: 0.5rem 1.25rem;
    }

    /* KPI card: numero e label più grandi */
    .rp-kpi[b-mb0g1l9wtb] {
        padding: 0.9rem 0.75rem;
    }

    .rp-kpi-num[b-mb0g1l9wtb] {
        font-size: 2rem;
    }

    .rp-kpi-label[b-mb0g1l9wtb] {
        font-size: 0.75rem;
    }

    /* Campo ricerca più grande */
    .fetchdata-page input[type="search"][b-mb0g1l9wtb] {
        font-size: 1.0625rem;
        min-height: 48px;
        max-width: 100% !important;
    }

    /* Tab bar: scrollabile orizzontalmente se necessario, testo più grande */
    .rp-tab-btn[b-mb0g1l9wtb] {
        font-size: 0.9375rem;
        padding: 0.5rem 0.75rem;
        min-height: 44px;
    }

    /* Report items: spaziatura mobile */
    .report-item[b-mb0g1l9wtb] {
        padding: 1rem 1rem;
    }

    .report-item-title[b-mb0g1l9wtb] {
        font-size: 1.0625rem;
    }

    .report-item-user[b-mb0g1l9wtb] {
        font-size: 0.9375rem;
    }

    .report-item-desc[b-mb0g1l9wtb] {
        font-size: 1rem;
    }

    .report-item-details[b-mb0g1l9wtb] {
        flex-direction: column;
        gap: 0.2rem;
        font-size: 0.9375rem;
    }

    /* Staff chip più grandi */
    .staff-chip[b-mb0g1l9wtb] {
        font-size: 0.9375rem;
        padding: 0.3em 0.75em;
        min-height: 32px;
    }

    /* Icon buttons azioni più grandi */
    .rp-icon-btn[b-mb0g1l9wtb] {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.0625rem;
    }

    /* Day header */
    .day-card-header[b-mb0g1l9wtb] {
        font-size: 0.875rem;
        padding: 0.75rem 1rem;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/Form.razor.rz.scp.css */
/* Giornaliera — Form */

.giornaliera-form-wrapper[b-apdil3ygbk] {
    padding: 0.25rem 0;
}

.giornaliera-form-wrapper .form-card[b-apdil3ygbk] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    padding: 1.5rem;
    margin-bottom: 1.25rem;
}

.giornaliera-form-wrapper .form-section-title[b-apdil3ygbk] {
    color: #1E334C;
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dceaf8;
}

/* ── Tabelle operatori / DDT / attrezzature ────────────────────────────── */

.gj-table[b-apdil3ygbk] {
    margin-bottom: 0;
    font-size: 0.875rem;
}

.gj-table thead th[b-apdil3ygbk] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.55rem 0.65rem;
    white-space: nowrap;
}

.gj-table tbody td[b-apdil3ygbk] {
    padding: 0.5rem 0.65rem;
    vertical-align: middle;
    border-bottom: 1px solid #f0f5fb;
}

.gj-table tbody tr:last-child td[b-apdil3ygbk] {
    border-bottom: none;
}

/* ── Pulsante rimuovi riga ──────────────────────────────────────────────── */

.gj-remove-btn[b-apdil3ygbk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #8696a7;
    font-size: 0.875rem;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}

.gj-remove-btn:hover[b-apdil3ygbk] {
    background: #fdecea;
    color: #9e2d1e;
}

/* ── Azioni form ────────────────────────────────────────────────────────── */

.giornaliera-form-wrapper .form-actions[b-apdil3ygbk] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #dceaf8;
}

/* ── Geo: pulsante rileva posizione ────────────────────────────────────── */

.gj-geo-btn[b-apdil3ygbk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    border: 1px solid #a5d6a7;
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 0.75rem;
    cursor: pointer;
    margin-left: 0.4rem;
    vertical-align: middle;
    transition: background 0.12s;
    padding: 0;
}

.gj-geo-btn:hover[b-apdil3ygbk] { background: #c8e6c9; }
.gj-geo-btn--loading[b-apdil3ygbk] { background: #f0faf1; cursor: default; }

/* ── Geo: banner suggerimenti ───────────────────────────────────────────── */

.gj-geo-banner[b-apdil3ygbk] {
    margin-top: 0.5rem;
    border: 1px solid #a5d6a7;
    border-radius: 8px;
    overflow: hidden;
    font-size: 0.8125rem;
    background: #f0faf1;
}

.gj-geo-banner-header[b-apdil3ygbk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.7rem;
    background: #e8f5e9;
    border-bottom: 1px solid #c8e6c9;
    color: #1b5e20;
    font-size: 0.8rem;
}

.gj-geo-dismiss[b-apdil3ygbk] {
    background: none;
    border: none;
    cursor: pointer;
    color: #4caf50;
    font-size: 1rem;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
}

.gj-geo-chip[b-apdil3ygbk] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 0.5rem;
    row-gap: 0.1rem;
    padding: 0.45rem 0.7rem;
    background: none;
    border: none;
    border-bottom: 1px solid #e8f5e9;
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: background 0.12s;
}

.gj-geo-chip:last-child[b-apdil3ygbk] { border-bottom: none; }
.gj-geo-chip:hover[b-apdil3ygbk] { background: #e8f5e9; }

.gj-geo-chip-num[b-apdil3ygbk] {
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
    flex-shrink: 0;
}

.gj-geo-chip-name[b-apdil3ygbk] {
    color: #344e6e;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gj-geo-chip-dist[b-apdil3ygbk] {
    font-size: 0.725rem;
    color: #4caf50;
    white-space: nowrap;
    flex-shrink: 0;
}

.gj-geo-chip-ws[b-apdil3ygbk] {
    flex-basis: 100%;
    font-size: 0.7rem;
    color: #8696a7;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gj-geo-nessuna[b-apdil3ygbk] {
    font-size: 0.775rem;
    color: #8696a7;
    margin: 0.4rem 0 0;
}

/* ── Griglia allegati fotografici ───────────────────────────────────────── */

.gj-attachments[b-apdil3ygbk] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.gj-attachment-card[b-apdil3ygbk] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    padding: 0.6rem;
    position: relative;
}

.gj-attachment-card--error[b-apdil3ygbk] {
    border-color: #f5c6cb;
    background: #fff5f5;
}

.gj-attachment-thumb-wrap[b-apdil3ygbk] {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 5px;
    background: #e9f0f8;
}

.gj-attachment-thumb[b-apdil3ygbk] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gj-attachment-thumb--loading[b-apdil3ygbk],
.gj-attachment-thumb--error[b-apdil3ygbk] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8696a7;
    font-size: 1.25rem;
    height: 100%;
}

.gj-attachment-info[b-apdil3ygbk] {
    font-size: 0.8125rem;
}

.gj-attachment-name[b-apdil3ygbk] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #1E334C;
}

.gj-attachment-meta[b-apdil3ygbk] {
    font-size: 0.75rem;
    color: #5B7A9A;
}

/* ── FAB foto — bottom-left ─────────────────────────────────────────────── */

.gj-foto-fab[b-apdil3ygbk] {
    position: fixed;
    bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
    left: 1.25rem;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #1E334C;
    color: white;
    border: none;
    box-shadow: 0 4px 12px rgba(30, 51, 76, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 200;
    transition: background 0.2s, box-shadow 0.2s;
    margin: 0;
}

.gj-foto-fab:hover[b-apdil3ygbk] {
    background: #2d4e70;
    box-shadow: 0 6px 18px rgba(30, 51, 76, 0.4);
}

/* ── FAB microfono — bottom-right ───────────────────────────────────────── */

.gj-voice-fab[b-apdil3ygbk] {
    position: fixed;
    bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
    right: 1.25rem;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #1E334C;
    color: white;
    border: none;
    box-shadow: 0 4px 12px rgba(30, 51, 76, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 200;
    transition: background 0.2s, box-shadow 0.2s;
}

.gj-voice-fab:hover[b-apdil3ygbk] {
    background: #2d4e70;
    box-shadow: 0 6px 18px rgba(30, 51, 76, 0.4);
}

.gj-voice-fab--active[b-apdil3ygbk] {
    background: #c0614f;
    box-shadow: 0 4px 16px rgba(192, 97, 79, 0.5);
    animation: gj-fab-pulse-b-apdil3ygbk 1.5s ease-in-out infinite;
}

@keyframes gj-fab-pulse-b-apdil3ygbk {
    0%, 100% { box-shadow: 0 4px 16px rgba(192, 97, 79, 0.5); }
    50%       { box-shadow: 0 4px 28px rgba(192, 97, 79, 0.75); }
}

/* ── Banner stato voce ──────────────────────────────────────────────────── */

.gj-voice-banner[b-apdil3ygbk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.875rem;
    border-radius: 6px;
    font-size: 0.8125rem;
    margin-top: 0.75rem;
}

.gj-voice-banner--active[b-apdil3ygbk] {
    background: #e8f5e9;
    border-left: 3px solid #2e7d32;
    color: #1b5e20;
}

.gj-voice-banner--warn[b-apdil3ygbk] {
    background: #fff3cd;
    border-left: 3px solid #856404;
    color: #664d03;
}

.gj-voice-dot[b-apdil3ygbk] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2e7d32;
    animation: gj-dot-pulse-b-apdil3ygbk 1s ease-in-out infinite;
}

@keyframes gj-dot-pulse-b-apdil3ygbk {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.3; }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/MobileNav.razor.rz.scp.css */
/* Menu navigazione mobile — nascosto per default, visibile solo sotto 720px */

.mobile-field-nav[b-a8n848qx39] {
    display: none;
}

@media (max-width: 719.98px) {
    .mobile-field-nav[b-a8n848qx39] {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: calc(72px + env(safe-area-inset-bottom, 0px));
        padding-bottom: env(safe-area-inset-bottom, 0px);
        background: #ffffff;
        border-top: 1px solid #dceaf8;
        box-shadow: 0 -2px 12px rgba(30, 51, 76, 0.1);
        z-index: 400;
        align-items: stretch;
    }

    .mobile-field-nav__item[b-a8n848qx39] {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 8px 4px;
        color: #8696a7;
        text-decoration: none;
        font-size: 0.6875rem;
        font-weight: 500;
        letter-spacing: 0.01em;
        transition: color 0.15s, background 0.15s;
        min-height: 44px;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-field-nav__item:active[b-a8n848qx39] {
        background: #f0f5fb;
        color: #1E334C;
        text-decoration: none;
    }

    .mobile-field-nav__item:hover[b-a8n848qx39] {
        text-decoration: none;
    }

    .mobile-field-nav__item--active[b-a8n848qx39] {
        color: #1E334C;
        font-weight: 700;
    }

    /* Voce "Nuovo" leggermente evidenziata */
    .mobile-field-nav__item--nuovo[b-a8n848qx39] {
        color: #5B7A9A;
    }

    .mobile-field-nav__item--nuovo svg[b-a8n848qx39] {
        stroke: #246B9A;
    }

    .mobile-field-nav__item--active.mobile-field-nav__item--nuovo[b-a8n848qx39] {
        color: #246B9A;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/QuickReport.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════════════
   STEP 1 — INPUT  (classi qr-*)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Wrapper pagina ───────────────────────────────────────────────────── */
.qr-page[b-9jd2a0samt] {
    max-width: 640px;
    margin: 0 auto;
    padding: 1rem 1rem 5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* ── Back link ────────────────────────────────────────────────────────── */
.qr-back[b-9jd2a0samt] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.9rem;
    color: #5B7A9A;
    text-decoration: none;
    padding: 0.25rem 0;
    min-height: 44px;
    align-self: flex-start;
}
.qr-back:hover[b-9jd2a0samt] { color: #1E334C; }

/* ── Header ───────────────────────────────────────────────────────────── */
.qr-header[b-9jd2a0samt] { margin-bottom: 0.25rem; }
.qr-title[b-9jd2a0samt] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E334C;
    margin: 0 0 0.2rem;
}
.qr-subtitle[b-9jd2a0samt] {
    font-size: 0.875rem;
    color: #5B7A9A;
    margin: 0;
}

/* ── Card ─────────────────────────────────────────────────────────────── */
.qr-card[b-9jd2a0samt] {
    background: white;
    border: 1.5px solid #dceaf8;
    border-radius: 14px;
    padding: 1rem;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.qr-card-heading[b-9jd2a0samt] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E334C;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.qr-badge[b-9jd2a0samt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1E334C;
    color: white;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    padding: 0 0.4rem;
}

/* ── Cantiere: ricerca ────────────────────────────────────────────────── */
.qr-cantiere-input[b-9jd2a0samt] {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1.5px solid #dceaf8;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-family: inherit;
    color: #1E334C;
    background: #F4F8FC;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.qr-cantiere-input:focus[b-9jd2a0samt] {
    border-color: #B7D8FF;
    box-shadow: 0 0 0 3px rgba(183, 216, 255, 0.25);
    background: white;
}
.qr-cantiere-input[b-9jd2a0samt]::placeholder { color: #94a3b8; }

.qr-cantiere-list[b-9jd2a0samt] {
    border: 1px solid #dceaf8;
    border-radius: 10px;
    overflow: hidden;
    background: white;
}
.qr-cantiere-item[b-9jd2a0samt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 0.5rem;
    row-gap: 0.1rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: none;
    border: none;
    border-bottom: 1px solid #f0f5fb;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    font-size: 0.875rem;
    transition: background 0.12s;
    -webkit-tap-highlight-color: transparent;
}
.qr-cantiere-item:last-child[b-9jd2a0samt] { border-bottom: none; }
.qr-cantiere-item:hover[b-9jd2a0samt],
.qr-cantiere-item:focus[b-9jd2a0samt] { background: #F4F8FC; outline: none; }
.qr-cantiere-item:active[b-9jd2a0samt] { background: #e9f2fb; }

.qr-cantiere-item--hint[b-9jd2a0samt] {
    color: #94a3b8;
    font-style: italic;
    cursor: default;
    font-size: 0.8125rem;
}
.qr-cantiere-item--hint:hover[b-9jd2a0samt] { background: white; }

.qr-cantiere-item-num[b-9jd2a0samt] {
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
    flex-shrink: 0;
}
.qr-cantiere-item-name[b-9jd2a0samt] {
    color: #1E334C;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.qr-cantiere-item-loc[b-9jd2a0samt] {
    font-size: 0.775rem;
    color: #5B7A9A;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
}

/* ── Cantiere: selezionato ────────────────────────────────────────────── */
.qr-cantiere-sel[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #EAF2FF;
    border: 1.5px solid #B7D8FF;
    border-radius: 10px;
    padding: 0.75rem 1rem;
}
.qr-cantiere-sel-body[b-9jd2a0samt] { flex: 1; min-width: 0; }
.qr-cantiere-sel-name[b-9jd2a0samt] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.9375rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.qr-cantiere-sel-code[b-9jd2a0samt] {
    font-size: 0.8125rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}
.qr-cantiere-change[b-9jd2a0samt] {
    flex-shrink: 0;
    background: white;
    border: 1px solid #B7D8FF;
    border-radius: 8px;
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #1E334C;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s;
}
.qr-cantiere-change:hover[b-9jd2a0samt] { background: #dceaf8; }

/* ── GPS button ───────────────────────────────────────────────────────── */
.qr-geo-btn[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: #f0faf1;
    border: 1.5px solid #a5d6a7;
    border-radius: 10px;
    color: #1b5e20;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.qr-geo-btn:hover:not(:disabled)[b-9jd2a0samt] { background: #e8f5e9; }
.qr-geo-btn:disabled[b-9jd2a0samt] { opacity: 0.65; cursor: not-allowed; }

/* ── Geo: risultati e warning ─────────────────────────────────────────── */
.qr-geo-results[b-9jd2a0samt] {
    background: #f0faf1;
    border: 1px solid #a5d6a7;
    border-radius: 10px;
    overflow: hidden;
}
.qr-geo-label[b-9jd2a0samt] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1b5e20;
    padding: 0.5rem 0.875rem;
    background: #e8f5e9;
    border-bottom: 1px solid #c8e6c9;
    display: flex;
    align-items: center;
}
.qr-geo-warn[b-9jd2a0samt] {
    font-size: 0.8125rem;
    color: #78580a;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

/* ── Textarea ─────────────────────────────────────────────────────────── */
.qr-textarea[b-9jd2a0samt] {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 1.5px solid #dceaf8;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-family: inherit;
    resize: vertical;
    min-height: 160px;
    color: #1E334C;
    background: #F4F8FC;
    outline: none;
    line-height: 1.6;
    display: block;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.qr-textarea:focus[b-9jd2a0samt] {
    border-color: #B7D8FF;
    box-shadow: 0 0 0 3px rgba(183, 216, 255, 0.2);
    background: white;
}
.qr-textarea[b-9jd2a0samt]::placeholder { color: #94a3b8; }

/* ── Voice feedback ───────────────────────────────────────────────────── */
.qr-voice-active[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 0.875rem;
    background: #ffe8ec;
    border: 1px solid #ffc2cc;
    border-radius: 8px;
    color: #9b1f2e;
    font-size: 0.8125rem;
    font-weight: 500;
}
.qr-voice-dot[b-9jd2a0samt] {
    width: 10px;
    height: 10px;
    background: #ef4444;
    border-radius: 50%;
    flex-shrink: 0;
    animation: qr-pulse-b-9jd2a0samt 1s ease-in-out infinite;
}
@keyframes qr-pulse-b-9jd2a0samt {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.75); }
}

.qr-voice-warn[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: #78580a;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
}

/* ── Action buttons (Detta / Foto) ────────────────────────────────────── */
.qr-actions[b-9jd2a0samt] {
    display: flex;
    gap: 0.75rem;
}
.qr-action-btn[b-9jd2a0samt] {
    flex: 1;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    min-height: 72px;
    padding: 0.75rem 0.5rem;
    border-radius: 12px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid transparent;
    font-family: inherit;
    text-decoration: none;
    user-select: none;
    transition: background 0.15s, box-shadow 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.qr-action-btn i[b-9jd2a0samt] { font-size: 1.5rem; }
.qr-action-btn:active[b-9jd2a0samt] { transform: scale(0.97); }

.qr-action-btn--voice[b-9jd2a0samt] {
    background: #f0faf1;
    border-color: #a5d6a7;
    color: #1b5e20;
}
.qr-action-btn--voice:hover[b-9jd2a0samt] { background: #e8f5e9; }

.qr-action-btn--photo[b-9jd2a0samt] {
    background: #EAF2FF;
    border-color: #B7D8FF;
    color: #1E334C;
}
.qr-action-btn--photo:hover[b-9jd2a0samt] { background: #dceaf8; }

.qr-action-btn--recording[b-9jd2a0samt] {
    background: #ffe8ec;
    border-color: #ffc2cc;
    color: #9b1f2e;
    animation: qr-btn-pulse-b-9jd2a0samt 1.5s ease-in-out infinite;
}
@keyframes qr-btn-pulse-b-9jd2a0samt {
    0%, 100% { box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2); }
    50%       { box-shadow: 0 2px 20px rgba(239, 68, 68, 0.5); }
}

/* ── Thumbnails ───────────────────────────────────────────────────────── */
.qr-thumbs[b-9jd2a0samt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}
.qr-thumb[b-9jd2a0samt] {
    position: relative;
    width: 80px;
    flex-shrink: 0;
}
.qr-thumb-img[b-9jd2a0samt] {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #dceaf8;
    display: block;
}
.qr-thumb--error .qr-thumb-img[b-9jd2a0samt] { border-color: #f8cdc8; }

.qr-thumb-loading[b-9jd2a0samt] {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    border: 1px solid #dceaf8;
    background: #F4F8FC;
    display: flex;
    align-items: center;
    justify-content: center;
}
.qr-thumb-error-img[b-9jd2a0samt] {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    border: 1px solid #f8cdc8;
    background: #fdf2f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #C0614F;
    font-size: 1.25rem;
}
.qr-thumb-del[b-9jd2a0samt] {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(30, 51, 76, 0.72);
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6875rem;
    padding: 0;
    transition: background 0.15s;
}
.qr-thumb-del:hover[b-9jd2a0samt] { background: #C0614F; }
.qr-thumb-foot[b-9jd2a0samt] {
    font-size: 0.6875rem;
    color: #5B7A9A;
    text-align: center;
    margin-top: 0.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.qr-thumb-foot--err[b-9jd2a0samt] { color: #C0614F; }

/* ── Error ────────────────────────────────────────────────────────────── */
.qr-error[b-9jd2a0samt] {
    display: flex;
    align-items: flex-start;
    gap: 0.375rem;
    padding: 0.75rem 1rem;
    background: #fdf2f0;
    border-left: 4px solid #C0614F;
    border-radius: 0 8px 8px 0;
    color: #8a2e20;
    font-size: 0.875rem;
}

/* ── Accordion dettagli ───────────────────────────────────────────────── */
.qr-accordion[b-9jd2a0samt] {
    background: white;
    border: 1.5px solid #dceaf8;
    border-radius: 14px;
    overflow: hidden;
}
.qr-accordion-toggle[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.875rem 1rem;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #1E334C;
    font-family: inherit;
    transition: background 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.qr-accordion-toggle:hover[b-9jd2a0samt] { background: #F4F8FC; }
.qr-accordion-toggle i:first-child[b-9jd2a0samt] { color: #5B7A9A; }

.qr-chevron[b-9jd2a0samt] {
    margin-left: auto;
    font-size: 0.75rem;
    transition: transform 0.2s;
    color: #5B7A9A;
}
.qr-chevron--open[b-9jd2a0samt] { transform: rotate(180deg); }

.qr-accordion-body[b-9jd2a0samt] {
    border-top: 1px solid #dceaf8;
    padding: 0.875rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Dettagli ─────────────────────────────────────────────────────────── */
.qr-detail[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.qr-detail--block[b-9jd2a0samt] {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
}
.qr-detail-label[b-9jd2a0samt] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
    min-width: 130px;
}
.qr-detail--block .qr-detail-label[b-9jd2a0samt] { min-width: 0; }
.qr-detail-row[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
}
.qr-detail-input[b-9jd2a0samt] {
    padding: 0.5rem 0.75rem;
    border: 1.5px solid #dceaf8;
    border-radius: 8px;
    font-size: 0.9rem;
    font-family: inherit;
    color: #1E334C;
    background: white;
    outline: none;
    flex: 1;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
}
.qr-detail-input:focus[b-9jd2a0samt] {
    border-color: #B7D8FF;
    box-shadow: 0 0 0 2px rgba(183, 216, 255, 0.2);
}
.qr-detail-input--sm[b-9jd2a0samt] {
    max-width: 90px;
    flex: none;
}
.qr-detail-badge[b-9jd2a0samt] {
    font-size: 0.8125rem;
    color: #5B7A9A;
    font-weight: 500;
    white-space: nowrap;
}

/* ── Pioggia toggle ───────────────────────────────────────────────────── */
.qr-pioggia[b-9jd2a0samt] { display: flex; gap: 0.5rem; }
.qr-pioggia-btn[b-9jd2a0samt] {
    padding: 0.5rem 1.25rem;
    border: 1.5px solid #dceaf8;
    border-radius: 8px;
    background: #F4F8FC;
    color: #5B7A9A;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.qr-pioggia-btn:hover[b-9jd2a0samt] { background: #e9f2fb; border-color: #B7D8FF; }
.qr-pioggia-btn--active[b-9jd2a0samt] {
    background: #EAF2FF;
    border-color: #B7D8FF;
    color: #1E334C;
    font-weight: 600;
}

/* ── Staff list ───────────────────────────────────────────────────────── */
.qr-staff-list[b-9jd2a0samt] {
    width: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    overflow: hidden;
}
.qr-staff-row[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #f0f5fb;
    background: white;
    transition: background 0.12s;
}
.qr-staff-row:last-child[b-9jd2a0samt] { border-bottom: none; }
.qr-staff-row--active[b-9jd2a0samt] { background: #F4F8FC; }

.qr-staff-name[b-9jd2a0samt] {
    flex: 1;
    background: none;
    border: none;
    text-align: left;
    font-size: 0.875rem;
    color: #1E334C;
    cursor: pointer;
    padding: 0.25rem 0;
    font-family: inherit;
    display: flex;
    align-items: center;
    -webkit-tap-highlight-color: transparent;
}
.qr-staff-row--active .qr-staff-name[b-9jd2a0samt] { font-weight: 500; }
.qr-staff-row--active .qr-staff-name i[b-9jd2a0samt] { color: #2e7d32; }

.qr-staff-ore-wrap[b-9jd2a0samt] { display: flex; align-items: center; gap: 0.25rem; }
.qr-staff-ore[b-9jd2a0samt] {
    width: 60px;
    padding: 0.3rem 0.5rem;
    border: 1.5px solid #dceaf8;
    border-radius: 6px;
    font-size: 0.875rem;
    font-family: inherit;
    color: #1E334C;
    text-align: center;
    outline: none;
}
.qr-staff-ore:focus[b-9jd2a0samt] { border-color: #B7D8FF; }
.qr-staff-ore-lbl[b-9jd2a0samt] {
    font-size: 0.8125rem;
    color: #5B7A9A;
    font-weight: 500;
}

/* ── DDT fields ───────────────────────────────────────────────────────── */
.qr-ddt-fields[b-9jd2a0samt] {
    display: flex;
    gap: 0.5rem;
    width: 100%;
}
.qr-ddt-fields .qr-detail-input[b-9jd2a0samt] { flex: 1; }

/* ── CTA ──────────────────────────────────────────────────────────────── */
.qr-cta-hint[b-9jd2a0samt] {
    font-size: 0.8125rem;
    color: #78580a;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
.qr-cta[b-9jd2a0samt] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 0.25rem;
    padding-bottom: 1rem;
}
.qr-btn-primary[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 56px;
    padding: 0.75rem 1.5rem;
    background: #1E334C;
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: 0.01em;
    transition: background 0.15s, opacity 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.qr-btn-primary:hover:not(:disabled)[b-9jd2a0samt] { background: #2d4e70; }
.qr-btn-primary:active:not(:disabled)[b-9jd2a0samt] { background: #162840; }
.qr-btn-primary:disabled[b-9jd2a0samt] { opacity: 0.4; cursor: not-allowed; }

.qr-btn-secondary[b-9jd2a0samt] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 44px;
    padding: 0.625rem 1rem;
    background: transparent;
    color: #5B7A9A;
    border: 1.5px solid #dceaf8;
    border-radius: 12px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    -webkit-tap-highlight-color: transparent;
}
.qr-btn-secondary:hover:not(:disabled)[b-9jd2a0samt] { background: #F4F8FC; color: #1E334C; border-color: #B7D8FF; }
.qr-btn-secondary:disabled[b-9jd2a0samt] { opacity: 0.4; cursor: not-allowed; }

/* ── Responsive step 1: mobile ≤720px ────────────────────────────────── */
@media (max-width: 719.98px) {
    .qr-page[b-9jd2a0samt] { padding: 0.75rem 0.75rem 5rem; }
    .qr-title[b-9jd2a0samt] { font-size: 1.375rem; }

    .qr-textarea[b-9jd2a0samt] {
        min-height: 200px;
        font-size: 1rem;
    }

    .qr-action-btn[b-9jd2a0samt] { min-height: 80px; font-size: 0.9375rem; }
    .qr-action-btn i[b-9jd2a0samt] { font-size: 1.75rem; }

    .qr-detail[b-9jd2a0samt] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.375rem;
    }
    .qr-detail-label[b-9jd2a0samt] { min-width: 0; }
    .qr-detail-row[b-9jd2a0samt] { width: 100%; }
    .qr-detail-input[b-9jd2a0samt] { width: 100%; }
    .qr-detail-input--sm[b-9jd2a0samt] { flex: none; width: 90px; }

    .qr-ddt-fields[b-9jd2a0samt] { flex-direction: column; }

    .qr-cantiere-item[b-9jd2a0samt] { padding: 0.875rem 1rem; font-size: 0.9375rem; }
    .qr-cantiere-item-num[b-9jd2a0samt] { font-size: 0.9375rem; }

    .qr-thumb[b-9jd2a0samt] { width: 88px; }
    .qr-thumb-img[b-9jd2a0samt],
    .qr-thumb-loading[b-9jd2a0samt],
    .qr-thumb-error-img[b-9jd2a0samt] { width: 88px; height: 88px; }

    .qr-btn-primary[b-9jd2a0samt] { min-height: 60px; font-size: 1.0625rem; }
}

/* ══════════════════════════════════════════════════════════════════════════
   STEP 2 — ELABORAZIONE AI  (classi dr-processing*)
   ══════════════════════════════════════════════════════════════════════════ */

.dr-processing[b-9jd2a0samt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3.5rem 1.5rem;
    min-height: 240px;
}
.dr-processing-spinner[b-9jd2a0samt] {
    width: 48px;
    height: 48px;
    border: 3px solid #F4F8FC;
    border-top-color: #1E334C;
    border-radius: 50%;
    animation: dr-spin-b-9jd2a0samt 0.9s linear infinite;
    margin-bottom: 1.25rem;
}
.dr-processing-title[b-9jd2a0samt] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}
.dr-processing-sub[b-9jd2a0samt] {
    font-size: 0.875rem;
    color: #5B7A9A;
}

@keyframes dr-spin-b-9jd2a0samt {
    to { transform: rotate(360deg); }
}

/* ══════════════════════════════════════════════════════════════════════════
   STEP 3 — RIEPILOGO  (classi dr-review*, dr-alert-*, dr-additional-*)
   ══════════════════════════════════════════════════════════════════════════ */

.dr-review[b-9jd2a0samt] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.dr-review-header[b-9jd2a0samt] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.dr-review-title[b-9jd2a0samt] {
    font-size: 1.0625rem;
    font-weight: 600;
    color: #1E334C;
    margin: 0 0 0.2rem;
}
.dr-review-sub[b-9jd2a0samt] {
    font-size: 0.8125rem;
    color: #5B7A9A;
    margin: 0;
}

.dr-review-card[b-9jd2a0samt] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    overflow: hidden;
}
.dr-review-row[b-9jd2a0samt] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    border-bottom: 1px solid #f0f5fb;
}
.dr-review-row:last-child[b-9jd2a0samt] { border-bottom: none; }
.dr-review-row--alert[b-9jd2a0samt] { background: #fffbeb; }
.dr-review-row--block[b-9jd2a0samt] {
    flex-direction: column;
    align-items: flex-start;
}
.dr-review-label[b-9jd2a0samt] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 130px;
}
.dr-review-row--block .dr-review-label[b-9jd2a0samt] { min-width: 0; margin-bottom: 0.375rem; }
.dr-review-value[b-9jd2a0samt] {
    font-size: 0.9rem;
    color: #1E334C;
    flex: 1;
}
.dr-review-value--missing[b-9jd2a0samt] { color: #C0614F; font-weight: 500; }
.dr-review-value--warn[b-9jd2a0samt]    { color: #78580a; }
.dr-review-value--empty[b-9jd2a0samt]   { color: #94a3b8; font-style: italic; }

.dr-review-chips[b-9jd2a0samt] { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.dr-review-chip[b-9jd2a0samt] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.625rem;
    background: #F4F8FC;
    border: 1px solid #dceaf8;
    border-radius: 6px;
    font-size: 0.8125rem;
    color: #1E334C;
    line-height: 1.4;
}

.dr-review-thumbs[b-9jd2a0samt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    margin-top: 0.25rem;
}
.dr-review-thumb-wrap[b-9jd2a0samt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}
.dr-review-thumb[b-9jd2a0samt] {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #dceaf8;
    display: block;
}
.dr-review-thumb-label[b-9jd2a0samt] {
    font-size: 0.6875rem;
    color: #5B7A9A;
    text-align: center;
    max-width: 72px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dr-review-warnings[b-9jd2a0samt] {
    margin: 0 1rem 0.75rem;
    padding: 0.625rem 0.875rem;
    background: #fffbeb;
    border-left: 3px solid #E8B84B;
    border-radius: 0 6px 6px 0;
    color: #78580a;
    font-size: 0.8125rem;
}

/* ── Alert commessa mancante ──────────────────────────────────────────── */
.dr-alert-missing[b-9jd2a0samt] {
    padding: 0.75rem 1rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 4px solid #E8B84B;
    border-radius: 6px;
    color: #78580a;
    font-size: 0.875rem;
    font-weight: 500;
}

/* ── Card aggiunte/correzioni ─────────────────────────────────────────── */
.dr-additional-card[b-9jd2a0samt] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    padding: 1rem;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
}
.dr-additional-title[b-9jd2a0samt] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #1E334C;
    margin-bottom: 0.625rem;
}
.dr-additional-textarea[b-9jd2a0samt] {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1.5px solid #dceaf8;
    border-radius: 8px;
    font-size: 0.875rem;
    font-family: inherit;
    resize: vertical;
    color: #1E334C;
    transition: border-color 0.2s;
    display: block;
    box-sizing: border-box;
}
.dr-additional-textarea:focus[b-9jd2a0samt] {
    outline: none;
    border-color: #B7D8FF;
    box-shadow: 0 0 0 3px rgba(183, 216, 255, 0.2);
}

/* ── Errore step 3 ────────────────────────────────────────────────────── */
.dr-error-msg[b-9jd2a0samt] {
    padding: 0.75rem 1rem;
    background: #fdf2f0;
    border-left: 4px solid #C0614F;
    border-radius: 0 6px 6px 0;
    color: #8a2e20;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}

/* ── Azioni riepilogo ─────────────────────────────────────────────────── */
.dr-review-actions[b-9jd2a0samt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    padding-bottom: 1rem;
}

/* ── Responsive step 3: mobile ≤720px ────────────────────────────────── */
@media (max-width: 719.98px) {
    .dr-review-row:not(.dr-review-row--block)[b-9jd2a0samt] {
        flex-direction: column;
        gap: 0.2rem;
    }
    .dr-review-label[b-9jd2a0samt] { min-width: 0; font-size: 0.8125rem; }
    .dr-review-value[b-9jd2a0samt] { font-size: 1rem; }

    .dr-review-actions[b-9jd2a0samt] {
        flex-direction: column;
    }
    .dr-review-actions .btn[b-9jd2a0samt] {
        width: 100%;
        min-height: 48px;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .dr-review-actions .btn[b-9jd2a0samt] { width: 100%; }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/_Day.razor.rz.scp.css */
/* _Day — Rapporti del Giorno */

.day-report-page[b-6riupd4hkp] {
    padding: 0;
}

/* ── Loader ─────────────────────────────────────────────────────────── */

.day-loading[b-6riupd4hkp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
}

.day-spinner[b-6riupd4hkp] {
    border: 3px solid #f0f5fb;
    border-top: 3px solid #1E334C;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: day-spin-b-6riupd4hkp 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes day-spin-b-6riupd4hkp {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Card ───────────────────────────────────────────────────────────── */

.day-report-card[b-6riupd4hkp] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    overflow: hidden;
    padding: 0;
}

/* ── Tabella ────────────────────────────────────────────────────────── */

.day-table[b-6riupd4hkp] {
    margin-bottom: 0;
    font-size: 0.875rem;
}

.day-table th[b-6riupd4hkp] {
    color: #5B7A9A;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e9eff7;
    padding: 0.75rem 1rem;
    background: #f8fafd;
    border-top: none;
    white-space: nowrap;
}

.day-table td[b-6riupd4hkp] {
    vertical-align: middle;
    color: #334155;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #f0f4f9;
}

.day-table tbody tr:last-child td[b-6riupd4hkp] {
    border-bottom: none;
}

.day-table tbody tr:hover td[b-6riupd4hkp] {
    background: #fafcff;
}

/* ── Personale / attrezzature inline ────────────────────────────────── */

.day-staff-list[b-6riupd4hkp] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.day-staff-row[b-6riupd4hkp] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    font-size: 0.8125rem;
}

.day-staff-name[b-6riupd4hkp] {
    color: #334155;
}

.day-staff-ore[b-6riupd4hkp] {
    color: #5B7A9A;
    font-size: 0.75rem;
    white-space: nowrap;
}

.day-staff-stra[b-6riupd4hkp] {
    color: #9e6b1e;
    font-size: 0.7rem;
}

/* ── Tag cantiere ───────────────────────────────────────────────────── */

.day-tag-badge[b-6riupd4hkp] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1em 0.45em;
    border-radius: 20px;
    background: #eef4fb;
    color: #2c6a9e;
    white-space: nowrap;
}

/* ── Badge stato ────────────────────────────────────────────────────── */

.day-stato-badge[b-6riupd4hkp] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.25em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.day-stato-bozza[b-6riupd4hkp]    { background: #edf0f5; color: #5B7A9A; }
.day-stato-verifica[b-6riupd4hkp] { background: #e8f1fa; color: #2c6a9e; }
.day-stato-anomalie[b-6riupd4hkp] { background: #fdecea; color: #9e2d1e; }
.day-stato-validato[b-6riupd4hkp] { background: #edf6ea; color: #3a6b27; }

/* ── Azioni riga ────────────────────────────────────────────────────── */

.day-actions-cell[b-6riupd4hkp] {
    vertical-align: top;
    padding-top: 0.75rem !important;
    white-space: nowrap;
    width: 5.5rem;
    text-align: right;
}

.day-actions-btns[b-6riupd4hkp] {
    display: flex;
    gap: 0.25rem;
    justify-content: flex-end;
}

.day-icon-btn[b-6riupd4hkp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: 1px solid transparent;
    background: none;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    transition: background 0.12s, color 0.12s;
    flex-shrink: 0;
}

.day-icon-btn:hover[b-6riupd4hkp],
.day-icon-btn-active[b-6riupd4hkp] {
    background: #edf3fb;
    color: #1E334C;
    border-color: #dceaf8;
}

/* ── Menu inline (sostituisce dropdown Bootstrap) ───────────────────── */

.day-inline-menu[b-6riupd4hkp] {
    display: flex;
    flex-direction: column;
    margin-top: 0.35rem;
    padding: 0.3rem;
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(30, 51, 76, 0.12);
    min-width: 170px;
    text-align: left;
}

.day-inline-item[b-6riupd4hkp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.6rem;
    font-size: 0.8125rem;
    color: #334155;
    background: none;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.1s;
}

.day-inline-item:hover[b-6riupd4hkp] {
    background: #f0f5fb;
    color: #1E334C;
}

.day-inline-item-danger[b-6riupd4hkp] { color: #9e2d1e; }
.day-inline-item-danger:hover[b-6riupd4hkp] { background: #fdecea; color: #7a1c10; }

.day-inline-divider[b-6riupd4hkp] {
    margin: 0.25rem 0.4rem;
    border-color: #e9eff7;
}

/* ── Empty state ────────────────────────────────────────────────────── */

.day-empty[b-6riupd4hkp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    text-align: center;
    color: #5B7A9A;
}

.day-empty .bi[b-6riupd4hkp] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    opacity: 0.4;
}

.day-empty-title[b-6riupd4hkp] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.day-empty-text[b-6riupd4hkp] {
    font-size: 0.875rem;
    color: #5B7A9A;
    max-width: 380px;
}

/* ── Responsive ─────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .day-report-card[b-6riupd4hkp] {
        border-radius: 8px;
    }

    .day-table th[b-6riupd4hkp],
    .day-table td[b-6riupd4hkp] {
        padding: 0.65rem 0.75rem;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Giornaliera/_QuadroOre.razor.rz.scp.css */
/* _QuadroOre */

.quadro-ore-page[b-pb1770fenu] {
    padding: 0;
}

.quadro-ore-page .page-header[b-pb1770fenu] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.quadro-ore-page .page-header h3[b-pb1770fenu] {
    font-size: 1.4rem;
    font-weight: 600;
    color: #1E334C;
    margin: 0;
}

/* Selettore mese */
.quadro-ore-page .month-selector-card[b-pb1770fenu] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

/* Card quadro ore */
.quadro-ore-page .quadro-card[b-pb1770fenu] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    overflow-x: auto;
}

.quadro-ore-page .quadro-card h5[b-pb1770fenu] {
    color: #1E334C;
    font-weight: 600;
    font-size: 0.9375rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dceaf8;
}

/* Loader */
.quadro-ore-page .processing-container[b-pb1770fenu] {
    max-width: 480px;
    margin: 3rem auto;
    text-align: center;
    padding: 2.5rem;
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(30, 51, 76, 0.06);
}

.quadro-ore-page .processing-container h4[b-pb1770fenu] {
    color: #1E334C;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.quadro-ore-page .processing-container p[b-pb1770fenu] {
    color: #5B7A9A;
    font-size: 0.9rem;
    margin: 0;
}

.quadro-ore-page .loader[b-pb1770fenu] {
    border: 4px solid #F4F8FC;
    border-top: 4px solid #1E334C;
    border-radius: 50%;
    width: 52px;
    height: 52px;
    animation: quadroore-spin-b-pb1770fenu 0.9s linear infinite;
    margin: 0 auto 1.25rem;
}

@keyframes quadroore-spin-b-pb1770fenu {
    0%  { transform: rotate(0deg); }
    100%{ transform: rotate(360deg); }
}

/* ── Navigazione mese ────────────────────────────────────────────────────── */

.qo-month-nav[b-pb1770fenu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.qo-month-label[b-pb1770fenu] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
    min-width: 10rem;
    text-align: center;
    text-transform: capitalize;
}

.qo-month-btn[b-pb1770fenu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 6px;
    border: 1px solid #dceaf8;
    background: white;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.qo-month-btn:hover[b-pb1770fenu] { background: #edf3fb; color: #1E334C; }

.qo-period-select[b-pb1770fenu] {
    width: auto;
    min-width: 0;
    padding: 0.2rem 1.6rem 0.2rem 0.5rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1E334C;
    background-color: #f4f8fc;
    border: 1px solid #d0deee;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.qo-period-select:focus[b-pb1770fenu] {
    border-color: #7FC3FF;
    box-shadow: 0 0 0 2px rgba(127,195,255,0.25);
    outline: none;
}

/* ── Section header inside card ──────────────────────────────────────────── */

.qo-section-header[b-pb1770fenu] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dceaf8;
}

/* ── Loading ─────────────────────────────────────────────────────────────── */

.qo-loading[b-pb1770fenu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
}

.qo-spinner[b-pb1770fenu] {
    border: 3px solid #f0f5fb;
    border-top: 3px solid #1E334C;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: qo-spin-b-pb1770fenu 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes qo-spin-b-pb1770fenu {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Orientation hint ────────────────────────────────────────────────────── */

.qo-orientation-hint[b-pb1770fenu] {
    display: none;
}

/* Messaggio orientamento (legacy) */
.orientation-message[b-pb1770fenu] {
    display: none;
}

@media (orientation: portrait) and (max-width: 768px) {
    .qo-orientation-hint[b-pb1770fenu],
    .orientation-message[b-pb1770fenu] {
        display: flex;
        position: fixed;
        inset: 0;
        background: #1E334C;
        color: white;
        align-items: center;
        justify-content: center;
        text-align: center;
        z-index: 9999;
        padding: 2rem;
        flex-direction: column;
        gap: 1rem;
    }
    .quadro-ore-content[b-pb1770fenu] { display: none; }
}

.orientation-message h3[b-pb1770fenu] {
    font-size: 3.5rem;
    margin: 0;
    animation: rotate-b-pb1770fenu 2s infinite linear;
}

@keyframes rotate-b-pb1770fenu {
    0%  { transform: rotate(0deg); }
    100%{ transform: rotate(360deg); }
}

.orientation-message p[b-pb1770fenu] {
    font-size: 1.1rem;
    max-width: 80%;
    margin: 0 auto;
    opacity: 0.85;
}

/* ── Tabella ─────────────────────────────────────────────────────────────── */

.qo-table[b-pb1770fenu] {
    font-size: 0.8125rem;
    margin-bottom: 0;
}

.qo-table th[b-pb1770fenu] {
    color: #5B7A9A;
    font-weight: 600;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #e9eff7;
    padding: 0.55rem 0.6rem;
    background: #f8fafd;
    border-top: none;
    white-space: nowrap;
}

.qo-col-persona[b-pb1770fenu] { min-width: 130px; }
.qo-col-totale[b-pb1770fenu]  { min-width: 60px; white-space: nowrap; }
.qo-col-day[b-pb1770fenu]     { min-width: 40px; }

.qo-th-festivo[b-pb1770fenu] {
    background: #f3f3f5;
    color: #aab4bf;
}

.qo-day-btn[b-pb1770fenu] {
    font-size: 0.75rem;
    color: #5B7A9A;
    line-height: 1.3;
    min-width: 28px;
}

.qo-day-btn:hover[b-pb1770fenu] { color: #1E334C; text-decoration: underline; }

.qo-day-name[b-pb1770fenu] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.qo-table td[b-pb1770fenu] {
    padding: 0.55rem 0.6rem;
    border-bottom: 1px solid #f0f4f9;
    vertical-align: middle;
}

.qo-table tbody tr:last-child td[b-pb1770fenu] { border-bottom: none; }
.qo-table tbody tr:hover td[b-pb1770fenu] { background: #fafcff; }

.qo-cell[b-pb1770fenu] {
    cursor: default;
}

.qo-cell-active[b-pb1770fenu] {
    cursor: pointer;
    color: #1E334C;
    font-weight: 600;
}

.qo-cell-active:hover[b-pb1770fenu] {
    background: #eef4fb !important;
    text-decoration: underline;
}

.qo-cell-festivo[b-pb1770fenu] {
    background: #f9f9fb;
    color: #b0b8c4;
}

.qo-cell-totale[b-pb1770fenu] {
    color: #1E334C;
    border-left: 1px solid #e9eff7;
    border-right: 1px solid #e9eff7;
}

.qo-tfoot-row th[b-pb1770fenu],
.qo-tfoot-row td[b-pb1770fenu] {
    background: #f2f6fb;
    border-top: 2px solid #dceaf8;
    font-weight: 700;
    color: #1E334C;
    padding: 0.6rem;
}

/* ── Empty state ─────────────────────────────────────────────────────────── */

.qo-empty[b-pb1770fenu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
    font-size: 0.875rem;
}

.qo-empty .bi[b-pb1770fenu] {
    font-size: 1.5rem;
    opacity: 0.4;
}

/* ── Export periodo ──────────────────────────────────────────────────────── */

.qo-export-periodo[b-pb1770fenu] {
    background: #f4f8fc;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    padding: 0.6rem 1rem;
    display: flex;
    align-items: center;
}

/* Scrollbar */
.quadro-ore-page .quadro-card[b-pb1770fenu]::-webkit-scrollbar {
    height: 6px;
}

.quadro-ore-page .quadro-card[b-pb1770fenu]::-webkit-scrollbar-track {
    background: #F4F8FC;
    border-radius: 10px;
}

.quadro-ore-page .quadro-card[b-pb1770fenu]::-webkit-scrollbar-thumb {
    background: #B7D8FF;
    border-radius: 10px;
}

.quadro-ore-page .quadro-card[b-pb1770fenu]::-webkit-scrollbar-thumb:hover {
    background: #5B8DB8;
}

/* Responsive */
@media (max-width: 768px) {
    .quadro-ore-page .page-header h3[b-pb1770fenu] {
        font-size: 1.2rem;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Home.razor.rz.scp.css */
/* ══ LANDING ROOT — split-screen full viewport ══ */
.landing-root[b-lwpzd94bcw] {
    display: flex;
    min-height: 100vh;
    font-family: 'Inter', sans-serif;
}

/* ══ COLONNA SINISTRA ══ */
.landing-left[b-lwpzd94bcw] {
    flex: 0 0 55%;
    background: #1E334C;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 3rem 4rem;
}

.landing-inner[b-lwpzd94bcw] {
    max-width: 480px;
}

.landing-logo[b-lwpzd94bcw] {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    margin-bottom: 2.5rem;
}
.landing-logo span[b-lwpzd94bcw] {
    color: #5B8DB8;
}

.landing-headline[b-lwpzd94bcw] {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 1rem;
    letter-spacing: -0.01em;
}

.landing-sub[b-lwpzd94bcw] {
    font-size: 1rem;
    color: rgba(255,255,255,0.72);
    line-height: 1.6;
    margin-bottom: 2rem;
}

.landing-benefits[b-lwpzd94bcw] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.landing-benefits li[b-lwpzd94bcw] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    font-size: 0.9375rem;
    color: rgba(255,255,255,0.88);
    line-height: 1.45;
}

.benefit-check[b-lwpzd94bcw] {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    background: rgba(91,141,184,0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7eb8e8;
    margin-top: 1px;
}

/* ══ COLONNA DESTRA ══ */
.landing-right[b-lwpzd94bcw] {
    flex: 1;
    background: #F4F8FC;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 2.5rem;
}

/* ══ AUTH BOX ══ */
.auth-box[b-lwpzd94bcw] {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 28px rgba(30,51,76,0.09);
    padding: 2rem 2.25rem 2.25rem;
    width: 100%;
    max-width: 400px;
}

/* ── Tabs ── */
.auth-tabs[b-lwpzd94bcw] {
    display: flex;
    background: #f0f5fa;
    border-radius: 8px;
    padding: 3px;
    margin-bottom: 1.75rem;
}

.auth-tab[b-lwpzd94bcw] {
    flex: 1;
    border: none;
    background: transparent;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6e8497;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.auth-tab.active[b-lwpzd94bcw] {
    background: #fff;
    color: #1E334C;
    font-weight: 600;
    box-shadow: 0 1px 4px rgba(30,51,76,0.10);
}

/* ── Form fields ── */
.auth-form .form-label[b-lwpzd94bcw] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.auth-form .form-control[b-lwpzd94bcw] {
    font-size: 0.9rem;
    border-color: #d5e3f0;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
}
.auth-form .form-control:focus[b-lwpzd94bcw] {
    border-color: #1E334C;
    box-shadow: 0 0 0 3px rgba(30,51,76,0.08);
}

/* ── Auth title ── */
.auth-title[b-lwpzd94bcw] {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 1.5rem;
    text-align: center;
    letter-spacing: -0.01em;
}

/* ── Provider buttons (Google, Microsoft, Email) — all identical ── */
.btn-social[b-lwpzd94bcw],
.btn-auth-email[b-lwpzd94bcw] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    padding: 0.625rem 1rem;
    font-size: 0.9375rem;
    font-weight: 500;
    border-radius: 8px;
    border: 1.5px solid #d5e3f0;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    line-height: 1.4;
    min-height: 44px;
    box-sizing: border-box;
}

.btn-social[b-lwpzd94bcw] {
    background: #fff;
    color: #1E334C;
}
.btn-social:hover[b-lwpzd94bcw] {
    background: #f4f8fc;
    border-color: #b0c4d8;
    color: #1E334C;
}

.btn-auth-email[b-lwpzd94bcw] {
    background: #1E334C;
    border-color: #1E334C;
    color: #fff;
    font-weight: 600;
}
.btn-auth-email:hover[b-lwpzd94bcw] {
    background: #16273b;
    border-color: #16273b;
    color: #fff;
}

/* ── Divider ── */
.auth-divider[b-lwpzd94bcw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1.25rem 0;
    color: #b0c4d8;
    font-size: 0.78rem;
}
.auth-divider[b-lwpzd94bcw]::before,
.auth-divider[b-lwpzd94bcw]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e4edf5;
}

/* ── Google button ── */
.btn-google[b-lwpzd94bcw] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    background: #fff;
    border: 1.5px solid #d5e3f0;
    border-radius: 8px;
    padding: 0.55rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: #3c4a5a;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}
.btn-google:hover[b-lwpzd94bcw] {
    background: #f7fafd;
    border-color: #b0c4d8;
    color: #1E334C;
}

.google-icon[b-lwpzd94bcw],
.social-icon[b-lwpzd94bcw] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
    .landing-root[b-lwpzd94bcw] {
        flex-direction: column;
    }
    .landing-left[b-lwpzd94bcw] {
        flex: none;
        padding: 2.5rem 1.75rem;
    }
    .landing-headline[b-lwpzd94bcw] {
        font-size: 1.5rem;
    }
    .landing-right[b-lwpzd94bcw] {
        padding: 2rem 1.25rem;
        align-items: flex-start;
    }
    .auth-box[b-lwpzd94bcw] {
        box-shadow: none;
        padding: 1.5rem 0;
    }
}
/* _content/GestioneCommessa.Shared/Pages/HomeCapocantiere.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════════════
   HOME CAPOCANTIERE
   ══════════════════════════════════════════════════════════════════════════ */

.cap-root[b-s2g3hq6kas] {
    --d-ink:        #1B2444;
    --d-ink-soft:   #4A547A;
    --d-ink-muted:  #7C86A3;
    --d-ink-faint:  #ABB3C7;
    --d-surface:    #FFFFFF;
    --d-bg:         #F6F8FC;
    --d-line:       #E8ECF4;
    --d-blue:       #3D7BF0;
    --d-blue-50:    #EEF3FE;
    --d-green:      #2DAE6A;
    --d-green-50:   #E8F6EE;
    --d-amber:      #C99327;
    --d-amber-50:   #FBF0D9;
    --d-red:        #D85363;
    --d-red-50:     #FBEBED;
    --d-navy:       #1E334C;
    --d-shadow:     0 6px 24px -8px rgba(10,18,48,.10), 0 1px 2px rgba(10,18,48,.04);
    --d-shadow-sm:  0 1px 3px rgba(10,18,48,.06);

    max-width: 960px;
    margin: 0 auto;
    padding: 1.75rem 1.25rem 3rem;
}

/* ── Skeleton ── */
.cap-skeleton[b-s2g3hq6kas] { display: flex; flex-direction: column; gap: 14px; }
.cap-sk__head[b-s2g3hq6kas],
.cap-sk__shortcuts[b-s2g3hq6kas],
.cap-sk__card[b-s2g3hq6kas] {
    background: var(--d-line);
    border-radius: 12px;
    animation: cap-pulse-b-s2g3hq6kas 1.5s ease-in-out infinite;
}
.cap-sk__head[b-s2g3hq6kas]      { height: 2.2rem; width: 55%; }
.cap-sk__shortcuts[b-s2g3hq6kas] { height: 68px; }
.cap-sk__grid[b-s2g3hq6kas]      { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 6px; }
.cap-sk__card[b-s2g3hq6kas]      { height: 148px; border-radius: 16px; }
@keyframes cap-pulse-b-s2g3hq6kas { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ── Header ── */
.cap-header[b-s2g3hq6kas]  { margin-bottom: 1.5rem; }
.cap-h1[b-s2g3hq6kas] {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--d-ink);
    margin: 0 0 0.2rem;
    letter-spacing: -0.025em;
    line-height: 1.15;
}
.cap-date[b-s2g3hq6kas] {
    font-size: 0.875rem;
    color: var(--d-ink-muted);
    margin: 0;
    text-transform: capitalize;
}

/* ── Shortcuts ── */
.cap-shortcuts-wrap[b-s2g3hq6kas] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-bottom: 1.75rem;
    /* Negative margin to bleed to edges on mobile */
    margin-left: -1.25rem;
    margin-right: -1.25rem;
    padding: 0 1.25rem;
}
.cap-shortcuts-wrap[b-s2g3hq6kas]::-webkit-scrollbar { display: none; }

.cap-shortcuts[b-s2g3hq6kas] {
    display: inline-flex;
    gap: 8px;
    padding-bottom: 4px;
}

.cap-shortcut[b-s2g3hq6kas] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0.7rem 1rem;
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 14px;
    box-shadow: var(--d-shadow-sm);
    text-decoration: none;
    color: var(--d-ink-soft);
    white-space: nowrap;
    transition: background .14s, box-shadow .14s, color .14s, transform .1s;
    flex-shrink: 0;
    min-width: 80px;
}
.cap-shortcut:hover[b-s2g3hq6kas] {
    background: var(--d-blue-50);
    border-color: #c8d8fc;
    color: var(--d-blue);
    box-shadow: 0 4px 12px -4px rgba(61,123,240,.18);
}
.cap-shortcut:active[b-s2g3hq6kas] { transform: scale(0.95); }

.cap-shortcut__ico[b-s2g3hq6kas] {
    font-size: 1.3rem;
    line-height: 1;
}
.cap-shortcut__lbl[b-s2g3hq6kas] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
}

/* ── Section header ── */
.cap-section-head[b-s2g3hq6kas] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
}
.cap-section-title[b-s2g3hq6kas] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--d-ink-muted);
}
.cap-section-badge[b-s2g3hq6kas] {
    font-size: 0.72rem;
    font-weight: 700;
    background: var(--d-blue-50);
    color: var(--d-blue);
    padding: 2px 7px;
    border-radius: 999px;
}

/* ── Grid commesse ── */
.cap-grid[b-s2g3hq6kas] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 1.25rem;
}

/* ── Commessa card ── */
.cap-card[b-s2g3hq6kas] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 16px;
    padding: 1.1rem 1.1rem 1.1rem 1.2rem;
    box-shadow: var(--d-shadow-sm);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: box-shadow .15s, transform .12s, border-color .15s;
    /* Striscia accent sinistra */
    border-left: 3px solid var(--d-line);
}
.cap-card:hover[b-s2g3hq6kas] {
    box-shadow: var(--d-shadow);
    border-color: #c8d8fc;
    border-left-color: var(--d-blue);
    transform: translateY(-2px);
}
.cap-card:active[b-s2g3hq6kas] { transform: translateY(0) scale(0.99); }

/* Commessa assegnata a questo capocantiere: accent verde */
.cap-card--mia[b-s2g3hq6kas] {
    border-left-color: var(--d-green);
}
.cap-card--mia:hover[b-s2g3hq6kas] {
    border-left-color: var(--d-green);
    border-color: #b0ddc5;
}

/* ── Card contents ── */
.cap-card__top[b-s2g3hq6kas] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 2px;
}

.cap-cnum[b-s2g3hq6kas] {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--d-ink-muted);
    background: #EEF2F9;
    padding: 2px 7px;
    border-radius: 5px;
    letter-spacing: 0.03em;
}

/* Stato badge */
.cap-stato[b-s2g3hq6kas] {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 3px 7px;
    border-radius: 5px;
    white-space: nowrap;
}
.cap-stato--green[b-s2g3hq6kas]   { background: var(--d-green-50); color: var(--d-green); }
.cap-stato--blue[b-s2g3hq6kas]    { background: var(--d-blue-50);  color: var(--d-blue); }
.cap-stato--amber[b-s2g3hq6kas]   { background: var(--d-amber-50); color: var(--d-amber); }
.cap-stato--neutral[b-s2g3hq6kas] { background: #EEF2F9; color: var(--d-ink-muted); }
.cap-stato--red[b-s2g3hq6kas]     { background: var(--d-red-50);   color: var(--d-red); }

.cap-card__name[b-s2g3hq6kas] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--d-ink);
    margin: 0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cap-card__tipo[b-s2g3hq6kas] {
    font-size: 0.75rem;
    color: var(--d-ink-muted);
    margin: 0;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cap-card__luogo[b-s2g3hq6kas],
.cap-card__date[b-s2g3hq6kas] {
    font-size: 0.78rem;
    color: var(--d-ink-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cap-card__luogo i[b-s2g3hq6kas],
.cap-card__date i[b-s2g3hq6kas] { font-size: 0.72rem; flex-shrink: 0; }
.cap-more[b-s2g3hq6kas] { color: var(--d-ink-faint); font-size: 0.72rem; }
.cap-arrow-date[b-s2g3hq6kas] { color: var(--d-ink-faint); margin: 0 2px; }

/* Chevron posizionato in basso a destra */
.cap-card__chevron[b-s2g3hq6kas] {
    position: absolute;
    bottom: 1rem;
    right: 0.9rem;
    font-size: 0.75rem;
    color: var(--d-ink-faint);
    transition: color .15s, right .15s;
}
.cap-card:hover .cap-card__chevron[b-s2g3hq6kas] {
    color: var(--d-blue);
    right: 0.7rem;
}

/* ── Empty state ── */
.cap-empty[b-s2g3hq6kas] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: var(--d-ink-muted);
}
.cap-empty i[b-s2g3hq6kas]        { font-size: 2rem; display: block; margin-bottom: 0.6rem; color: var(--d-ink-faint); }
.cap-empty__text[b-s2g3hq6kas]    { font-size: 0.875rem; margin: 0 0 0.75rem; }

/* ── Link e footer ── */
.cap-footer[b-s2g3hq6kas] { text-align: center; margin-top: 0.25rem; }
.cap-link[b-s2g3hq6kas] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--d-blue);
    text-decoration: none;
}
.cap-link:hover[b-s2g3hq6kas] { text-decoration: underline; }

/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
    .cap-grid[b-s2g3hq6kas] {
        grid-template-columns: 1fr;
    }
    .cap-h1[b-s2g3hq6kas] { font-size: 1.5rem; }
    .cap-card__name[b-s2g3hq6kas] { font-size: 0.875rem; }
}

@media (min-width: 800px) {
    .cap-grid[b-s2g3hq6kas] { grid-template-columns: repeat(3, 1fr); }
}
/* _content/GestioneCommessa.Shared/Pages/HomeLavoratore.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════════════════
   HOME LAVORATORE — layout mobile-first, colonna singola centrata
   ══════════════════════════════════════════════════════════════════════════ */

/* Token coerenti con Dashboard.razor.css */
.lav-root[b-24666tu3yl] {
    --d-ink:        #1B2444;
    --d-ink-muted:  #7C86A3;
    --d-ink-faint:  #ABB3C7;
    --d-surface:    #FFFFFF;
    --d-line:       #E8ECF4;
    --d-blue:       #3D7BF0;
    --d-green:      #2DAE6A;
    --d-green-50:   #E8F6EE;
    --d-amber:      #C99327;
    --d-amber-50:   #FBF0D9;
    --d-red:        #D85363;
    --d-red-50:     #FBEBED;
    --d-shadow:     0 8px 28px -6px rgba(10,18,48,.12), 0 1px 3px rgba(10,18,48,.05);
    --d-shadow-sm:  0 1px 3px rgba(10,18,48,.06);

    max-width: 480px;
    margin: 0 auto;
    padding: 1.75rem 1.1rem 3rem;
}

/* ── Skeleton loading ── */
.lav-skeleton[b-24666tu3yl] { display: flex; flex-direction: column; gap: 12px; }
.lav-skeleton__line[b-24666tu3yl],
.lav-skeleton__alert[b-24666tu3yl],
.lav-skeleton__card[b-24666tu3yl],
.lav-skeleton__btn[b-24666tu3yl] {
    background: var(--d-line);
    border-radius: 10px;
    animation: lav-pulse-b-24666tu3yl 1.5s ease-in-out infinite;
}
.lav-skeleton__line[b-24666tu3yl]         { height: 1.6rem; }
.lav-skeleton__line--70[b-24666tu3yl]     { width: 70%; }
.lav-skeleton__line--40[b-24666tu3yl]     { width: 40%; }
.lav-skeleton__alert[b-24666tu3yl]        { height: 58px; }
.lav-skeleton__card[b-24666tu3yl]         { height: 180px; border-radius: 20px; margin-top: 4px; }
.lav-skeleton__btn[b-24666tu3yl]          { height: 52px; border-radius: 14px; margin-top: 4px; }

@keyframes lav-pulse-b-24666tu3yl {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.35; }
}

/* ── Welcome header ── */
.lav-header[b-24666tu3yl] { margin-bottom: 1.5rem; }

.lav-h1[b-24666tu3yl] {
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--d-ink);
    margin: 0 0 0.2rem;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.lav-date[b-24666tu3yl] {
    font-size: 0.875rem;
    color: var(--d-ink-muted);
    margin: 0;
    text-transform: capitalize;
}

/* ── Alert scadenze ── */
.lav-alerts[b-24666tu3yl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 1.25rem;
}

.lav-alert[b-24666tu3yl] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.8rem 1rem;
    border-radius: 12px;
    border: 1px solid transparent;
}

.lav-alert--crit[b-24666tu3yl]  { background: var(--d-red-50);   border-color: #f2bfc4; }
.lav-alert--warn[b-24666tu3yl]  { background: var(--d-amber-50); border-color: #f0dfa2; }
.lav-alert--ok[b-24666tu3yl]    { background: var(--d-green-50); border-color: #aeddbe; margin-bottom: 1.25rem; }

.lav-alert__ico[b-24666tu3yl] {
    font-size: 1.05rem;
    margin-top: 2px;
    flex-shrink: 0;
}
.lav-alert--crit .lav-alert__ico[b-24666tu3yl] { color: var(--d-red); }
.lav-alert--warn .lav-alert__ico[b-24666tu3yl] { color: var(--d-amber); }
.lav-alert--ok   .lav-alert__ico[b-24666tu3yl] { color: var(--d-green); }

.lav-alert__body[b-24666tu3yl]  { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lav-alert__title[b-24666tu3yl] { font-size: 0.875rem; font-weight: 600; color: var(--d-ink); line-height: 1.3; }
.lav-alert__meta[b-24666tu3yl]  { font-size: 0.78rem;  color: var(--d-ink-muted); line-height: 1.4; }

.lav-alerts__more[b-24666tu3yl] {
    font-size: 0.775rem;
    color: var(--d-ink-faint);
    text-align: center;
    margin: 2px 0 0;
}

/* ── Card ore ── */
.lav-ore-card[b-24666tu3yl] {
    background: var(--d-surface);
    border: 1px solid var(--d-line);
    border-radius: 22px;
    box-shadow: var(--d-shadow);
    padding: 2rem 1.5rem 1.75rem;
    text-align: center;
    margin-bottom: 1.5rem;
}

.lav-ore-card__lbl[b-24666tu3yl] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--d-ink-muted);
    margin: 0 0 0.85rem;
}

.lav-ore-card__big[b-24666tu3yl] {
    font-size: 4.5rem;
    font-weight: 700;
    letter-spacing: -0.045em;
    color: var(--d-ink);
    line-height: 1;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0.6rem;
    /* Gradient sottile sul numero per profondità */
    background: linear-gradient(160deg, #1B2444 40%, #3D7BF0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.lav-ore-card__unit[b-24666tu3yl] {
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: 0;
    margin-left: 2px;
    background: none;
    -webkit-text-fill-color: var(--d-ink-muted);
}

.lav-ore-card__detail[b-24666tu3yl] {
    font-size: 0.8125rem;
    color: var(--d-ink-muted);
    margin: 0;
}

.lav-sep[b-24666tu3yl] { margin: 0 0.3rem; color: var(--d-ink-faint); }

/* ── CTA pulsante ── */
.lav-cta[b-24666tu3yl] { text-align: center; }

.lav-btn-rapportino[b-24666tu3yl] {
    width: 100%;
    max-width: 340px;
    padding: 0.9rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 14px;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 16px -2px rgba(30,51,76,.28);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.lav-btn-rapportino:hover[b-24666tu3yl] {
    box-shadow: 0 6px 20px -2px rgba(30,51,76,.38);
}

.lav-btn-rapportino:active[b-24666tu3yl] {
    transform: scale(0.97);
    box-shadow: 0 2px 8px -2px rgba(30,51,76,.2);
}

/* ── Responsive: desktop torna padding normale ── */
@media (min-width: 600px) {
    .lav-root[b-24666tu3yl] {
        padding: 2.5rem 1.5rem 4rem;
    }
    .lav-h1[b-24666tu3yl] { font-size: 2.1rem; }
    .lav-ore-card__big[b-24666tu3yl] { font-size: 5rem; }
}
/* _content/GestioneCommessa.Shared/Pages/Impostazioni/TemplateWizard.razor.rz.scp.css */
/* TemplateWizard */

.tw-preview[b-b4yr771r9v] {
    max-height: 500px;
    overflow-y: auto;
    font-size: 11.5px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
    background: #f8f9fa;
    color: #495057;
    border-radius: 0 0 8px 8px;
}
/* _content/GestioneCommessa.Shared/Pages/Login.razor.rz.scp.css */
/* ── Auth page layout ──────────────────────────────────────── */

.auth-page[b-h1edx4xyqf] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F4F7FA;
    padding: 24px 16px;
}

.auth-card[b-h1edx4xyqf] {
    display: grid;
    grid-template-columns: 45% 55%;
    width: 100%;
    max-width: 1100px;
    min-height: 620px;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(11, 27, 43, 0.18);
    overflow: hidden;
}

/* ── Brand panel (left) ────────────────────────────────────── */

.auth-brand-panel[b-h1edx4xyqf] {
    position: relative;
    background:
        radial-gradient(circle at 80% 15%, rgba(37, 199, 240, 0.50), transparent 35%),
        linear-gradient(135deg, #0B1B2B 0%, #10263A 48%, #1a4a6e 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 40px;
    overflow: hidden;
}

.auth-brand-content[b-h1edx4xyqf] {
    position: relative;
    z-index: 1;
}

.auth-brand-logo[b-h1edx4xyqf] {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.5px;
    margin-bottom: 32px;
}

.auth-brand-accent[b-h1edx4xyqf] {
    color: #25C7F0;
}

.auth-brand-headline[b-h1edx4xyqf] {
    font-size: 1.35rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    margin-bottom: 16px;
}

.auth-brand-text[b-h1edx4xyqf] {
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.6;
    margin-bottom: 28px;
}

.auth-brand-list[b-h1edx4xyqf] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.auth-brand-list li[b-h1edx4xyqf] {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.85);
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}

.auth-brand-list li[b-h1edx4xyqf]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #25C7F0;
}

/* Decorative blurred circles */

.auth-brand-deco[b-h1edx4xyqf] {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.auth-brand-deco-1[b-h1edx4xyqf] {
    width: 280px;
    height: 280px;
    background: rgba(37, 199, 240, 0.12);
    filter: blur(48px);
    bottom: -60px;
    right: -60px;
}

.auth-brand-deco-2[b-h1edx4xyqf] {
    width: 180px;
    height: 180px;
    background: rgba(37, 199, 240, 0.08);
    filter: blur(32px);
    top: -40px;
    left: -40px;
}

/* ── Form panel (right) ────────────────────────────────────── */

.auth-form-panel[b-h1edx4xyqf] {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 40px;
}

.auth-form[b-h1edx4xyqf] {
    width: 100%;
    max-width: 380px;
}

.auth-form-title[b-h1edx4xyqf] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #10263A;
    margin-bottom: 28px;
}

/* ── Error alert ───────────────────────────────────────────── */

.auth-error[b-h1edx4xyqf] {
    background: #fdf0ef;
    border: 1px solid #f5c6c2;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 0.88rem;
    color: #6b1a15;
    line-height: 1.5;
}

/* ── Social buttons ────────────────────────────────────────── */

.auth-social-button[b-h1edx4xyqf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 11px 16px;
    border: 1.5px solid #d0d8e4;
    border-radius: 10px;
    background: #fff;
    color: #10263A;
    font-size: 0.92rem;
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 12px;
    transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
    cursor: pointer;
}

.auth-social-button:hover[b-h1edx4xyqf] {
    border-color: #18BFEA;
    background: #f4fbfe;
    box-shadow: 0 2px 8px rgba(24, 191, 234, 0.10);
    color: #10263A;
    text-decoration: none;
}

/* ── Divider ───────────────────────────────────────────────── */

.auth-divider[b-h1edx4xyqf] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    color: #8fa3b8;
    font-size: 0.8rem;
}

.auth-divider[b-h1edx4xyqf]::before,
.auth-divider[b-h1edx4xyqf]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e2eaf2;
}

/* ── Form fields ───────────────────────────────────────────── */

.auth-input-group[b-h1edx4xyqf] {
    margin-bottom: 16px;
}

.auth-label[b-h1edx4xyqf] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #4a6178;
    margin-bottom: 6px;
}

.auth-input[b-h1edx4xyqf] {
    width: 100%;
    padding: 10px 13px;
    border: 1.5px solid #d0d8e4;
    border-radius: 9px;
    font-size: 0.93rem;
    color: #10263A;
    background: #fff;
    transition: border-color 0.18s, box-shadow 0.18s;
    outline: none;
    box-sizing: border-box;
}

.auth-input:focus[b-h1edx4xyqf] {
    border-color: #18BFEA;
    box-shadow: 0 0 0 3px rgba(24, 191, 234, 0.12);
}

.auth-input[b-h1edx4xyqf]::placeholder {
    color: #b0becc;
}

/* ── Primary button ────────────────────────────────────────── */

.auth-primary-button[b-h1edx4xyqf] {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #10263A 0%, #18BFEA 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 8px;
    transition: opacity 0.18s, box-shadow 0.18s;
    box-shadow: 0 2px 10px rgba(24, 191, 234, 0.22);
}

.auth-primary-button:hover[b-h1edx4xyqf] {
    opacity: 0.92;
    box-shadow: 0 4px 16px rgba(24, 191, 234, 0.32);
}

/* ── Footer ────────────────────────────────────────────────── */

.auth-footer[b-h1edx4xyqf] {
    margin-top: 24px;
    text-align: center;
    font-size: 0.84rem;
    color: #6b7f94;
}

.auth-link[b-h1edx4xyqf] {
    color: #18BFEA;
    font-weight: 500;
    text-decoration: none;
}

.auth-link:hover[b-h1edx4xyqf] {
    text-decoration: underline;
    color: #10263A;
}

/* ── Responsive: tablet ────────────────────────────────────── */

@media (max-width: 900px) {
    .auth-card[b-h1edx4xyqf] {
        grid-template-columns: 1fr;
        max-width: 480px;
        min-height: unset;
    }

    .auth-brand-panel[b-h1edx4xyqf] {
        padding: 36px 32px;
    }

    .auth-brand-headline[b-h1edx4xyqf],
    .auth-brand-text[b-h1edx4xyqf],
    .auth-brand-list[b-h1edx4xyqf] {
        display: none;
    }

    .auth-brand-logo[b-h1edx4xyqf] {
        margin-bottom: 0;
    }
}

/* ── Responsive: mobile ────────────────────────────────────── */

@media (max-width: 600px) {
    .auth-page[b-h1edx4xyqf] {
        padding: 0;
        align-items: stretch;
    }

    .auth-card[b-h1edx4xyqf] {
        border-radius: 0;
        max-width: 100%;
        box-shadow: none;
        min-height: 100vh;
    }

    .auth-brand-panel[b-h1edx4xyqf] {
        padding: 24px 20px;
    }

    .auth-form-panel[b-h1edx4xyqf] {
        padding: 32px 20px;
    }
}
/* _content/GestioneCommessa.Shared/Pages/SecurePage.razor.rz.scp.css */
.table-responsive[b-jgdprrxup3] {
    overflow-x: auto;
    max-width: 100%;
}

.table-responsive table[b-jgdprrxup3] {
    width: 100%;
    min-width: 600px;
    max-width: 100%;
    table-layout: auto;
}

.table-responsive td[b-jgdprrxup3] {
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 400px;
}
/* _content/GestioneCommessa.Shared/Pages/Settings.razor.rz.scp.css */
/* Impostazioni Statiche */

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.st-tab-btn[b-4v48o4s5yp] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.st-tab-btn:hover[b-4v48o4s5yp] { color: #1E334C; }

.st-tab-btn.active[b-4v48o4s5yp] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

/* ── Section title ───────────────────────────────────────────────────── */

.st-section-title[b-4v48o4s5yp] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5B7A9A;
    margin-bottom: 0.6rem;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.st-table thead th[b-4v48o4s5yp] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.55rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.st-table tbody td[b-4v48o4s5yp] {
    padding: 0.55rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    vertical-align: middle;
}

.st-row:hover td[b-4v48o4s5yp] { background: #f7fafd; }

.st-label[b-4v48o4s5yp] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.st-sub[b-4v48o4s5yp]   { font-size: 0.78rem; color: #5B7A9A; }

/* ── Icon buttons ────────────────────────────────────────────────────── */

.st-icon-btn[b-4v48o4s5yp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.st-icon-btn:hover[b-4v48o4s5yp] { background: #edf3fb; color: #1E334C; }
/* _content/GestioneCommessa.Shared/Pages/Staff/FetchData.razor.rz.scp.css */
/* Staff */

/* ── Breadcrumb ──────────────────────────────────────────────────────── */

.sf-breadcrumb[b-kuzgpc4vb5] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.78rem;
    color: #5B7A9A;
}

.sf-bc-item + .sf-bc-item[b-kuzgpc4vb5]::before {
    content: '›';
    margin: 0 0.4rem;
    color: #b0c4d8;
}

.sf-bc-item a[b-kuzgpc4vb5] { color: #5B7A9A; text-decoration: none; }
.sf-bc-item a:hover[b-kuzgpc4vb5] { color: #1E334C; text-decoration: underline; }
.sf-bc-item.active[b-kuzgpc4vb5] { color: #1E334C; font-weight: 500; }

/* ── Pivot table (piano di formazione) ───────────────────────────────── */

.sf-pivot-table thead th[b-kuzgpc4vb5] {
    background: #f5f8fc;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #718096;
    padding: 0.55rem 0.6rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.sf-pivot-persona-col[b-kuzgpc4vb5] {
    min-width: 140px;
    position: sticky;
    left: 0;
    background: #f5f8fc;
    z-index: 1;
}

.sf-pivot-cell[b-kuzgpc4vb5] {
    min-width: 80px;
}

.sf-pivot-persona[b-kuzgpc4vb5] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
    padding: 0.5rem 0.6rem;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}

/* ── Cell state colors (tenued) ──────────────────────────────────────── */

.sf-cell-ok[b-kuzgpc4vb5] {
    background: #eafaf1;
    color: #27694e;
}

.sf-cell-warn[b-kuzgpc4vb5] {
    background: #fff8e6;
    color: #7c5c1b;
}

.sf-cell-danger[b-kuzgpc4vb5] {
    background: #fdecea;
    color: #8a3226;
}

.sf-cell-link[b-kuzgpc4vb5] {
    font-size: 0.78rem;
    font-weight: 600;
    color: inherit;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}

.sf-cell-link:hover[b-kuzgpc4vb5] { text-decoration: underline; }

/* ── Legend ──────────────────────────────────────────────────────────── */

.sf-legend[b-kuzgpc4vb5] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    vertical-align: middle;
    margin-right: 0.25rem;
}

.sf-legend-ok[b-kuzgpc4vb5]     { background: #eafaf1; border: 1px solid #a3d9b8; }
.sf-legend-warn[b-kuzgpc4vb5]   { background: #fff8e6; border: 1px solid #f0cc7a; }
.sf-legend-danger[b-kuzgpc4vb5] { background: #fdecea; border: 1px solid #f0a99e; }

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.sf-tab-btn[b-kuzgpc4vb5] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.5rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    transition: color 0.12s, border-color 0.12s;
    outline: none;
    border-radius: 0;
}

.sf-tab-btn:hover[b-kuzgpc4vb5] { color: #1E334C; }

.sf-tab-btn.active[b-kuzgpc4vb5] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.sf-tab-count[b-kuzgpc4vb5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    border-radius: 10px;
    background: #edf3fb;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.3em;
}

.sf-tab-btn.active .sf-tab-count[b-kuzgpc4vb5] {
    background: #1E334C;
    color: #fff;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.sf-table thead th[b-kuzgpc4vb5] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.sf-table tbody td[b-kuzgpc4vb5] {
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    vertical-align: middle;
}

.sf-row:hover td[b-kuzgpc4vb5] { background: #f7fafd; }

.sf-name[b-kuzgpc4vb5] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.sf-sub[b-kuzgpc4vb5]  { font-size: 0.82rem; color: #5B7A9A; }

/* ── Badges ──────────────────────────────────────────────────────────── */

.sf-badge[b-kuzgpc4vb5] {
    display: inline-block;
    padding: 0.1em 0.55em;
    border-radius: 10px;
    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 0.15rem;
}

.sf-badge-ok[b-kuzgpc4vb5] { background: #eafaf1; color: #27694e; }

/* ── Document items ──────────────────────────────────────────────────── */

.sf-doc-item[b-kuzgpc4vb5] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: #5B7A9A;
    padding: 0.05rem 0;
}

.sf-doc-scaduto[b-kuzgpc4vb5] { color: #8a3226; }
.sf-doc-warn[b-kuzgpc4vb5]    { color: #7c5c1b; }

.sf-doc-link[b-kuzgpc4vb5] {
    font-size: 0.75rem;
    color: inherit;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
    white-space: nowrap;
}

.sf-doc-link:hover[b-kuzgpc4vb5] { text-decoration: underline; }

/* ── Icon buttons ────────────────────────────────────────────────────── */

.sf-icon-btn[b-kuzgpc4vb5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.sf-icon-btn:hover[b-kuzgpc4vb5] { background: #edf3fb; color: #1E334C; }
.sf-icon-btn.dropdown-toggle[b-kuzgpc4vb5]::after { display: none; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.sf-empty[b-kuzgpc4vb5] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.sf-empty .bi[b-kuzgpc4vb5] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.sf-empty-title[b-kuzgpc4vb5] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.sf-empty-text[b-kuzgpc4vb5] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/Staff/Form.razor.rz.scp.css */
/* Staff — Form */

/* ── Card ─────────────────────────────────────────────────────────── */

.sf-card[b-ejf2orm895] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
}

.sf-card-header[b-ejf2orm895] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sf-card-icon[b-ejf2orm895] {
    color: #5B7A9A;
    font-size: 1rem;
}

.sf-card-title[b-ejf2orm895] {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1E334C;
}

.sf-card-body[b-ejf2orm895] {
    padding: 1.25rem;
}

/* ── Section subheader ─────────────────────────────────────────── */

.sf-section-header[b-ejf2orm895] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.sf-section-icon[b-ejf2orm895] {
    color: #5B7A9A;
    font-size: 0.875rem;
}

.sf-section-title[b-ejf2orm895] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sf-divider[b-ejf2orm895] {
    border-color: #E2E8F0;
    margin: 1.25rem 0;
}

/* ── Form labels & helper text ─────────────────────────────────── */

.sf-form-label[b-ejf2orm895] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #5B7A9A;
    margin-bottom: 0.3rem;
    display: block;
}

.sf-help-text[b-ejf2orm895] {
    font-size: 0.8125rem;
    color: #6B7C8F;
    line-height: 1.5;
}

.sf-empty-text[b-ejf2orm895] {
    font-size: 0.8125rem;
    color: #8FA3B8;
    margin-bottom: 0;
}

/* ── Photo frame ───────────────────────────────────────────────── */

.sf-photo-frame[b-ejf2orm895] {
    width: 105px;
    height: 135px;
    background: #F5F7FA;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sf-photo-img[b-ejf2orm895] {
    width: 105px;
    height: 135px;
    object-fit: cover;
}

.sf-photo-placeholder[b-ejf2orm895] {
    font-size: 2.5rem;
    color: #C0CDD8;
}

/* ── Meta / access badges ──────────────────────────────────────── */

.sf-meta-label[b-ejf2orm895] {
    font-size: 0.75rem;
    color: #8FA3B8;
}

.sf-access-badge[b-ejf2orm895] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.sf-access-amministrazione[b-ejf2orm895] { background: #e8f1fa; color: #2c6a9e; }
.sf-access-capocantiere[b-ejf2orm895]     { background: #e6f4ec; color: #3a7a4a; }
.sf-access-lavoratore[b-ejf2orm895]       { background: #f4f5f7; color: #5B7A9A; }

/* ── Status badges ─────────────────────────────────────────────── */

.sf-stato-badge[b-ejf2orm895] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.sf-stato-valido[b-ejf2orm895]   { background: #edf6ea; color: #3a6b27; }
.sf-stato-scadenza[b-ejf2orm895] { background: #fff4e2; color: #8a5500; }
.sf-stato-scaduto[b-ejf2orm895]  { background: #fdecea; color: #9e2d1e; }
.sf-stato-na[b-ejf2orm895]       { background: #f4f5f7; color: #8696a7; }

/* ── Table ──────────────────────────────────────────────────────── */

.sf-table[b-ejf2orm895] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}

.sf-table thead th[b-ejf2orm895] {
    background: #F7FAFD;
    color: #5B7A9A;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.6rem 0.75rem;
    border-bottom: 2px solid #DCEAF8;
    white-space: nowrap;
}

.sf-th-actions[b-ejf2orm895] {
    width: 5rem;
    text-align: center;
}

.sf-row[b-ejf2orm895] { transition: background 0.1s; }
.sf-row:hover[b-ejf2orm895] { background: #F7FAFD; }
.sf-row.sf-row-editing[b-ejf2orm895] { background: #F0F7FF; }

.sf-row td[b-ejf2orm895] {
    padding: 0.6rem 0.75rem;
    vertical-align: middle;
    font-size: 0.8125rem;
    color: #334155;
    border-bottom: 1px solid #F0F5FB;
}

.sf-td-primary[b-ejf2orm895] {
    font-weight: 600;
    color: #1E334C !important;
}

.sf-td-actions[b-ejf2orm895] {
    text-align: center;
    white-space: nowrap;
}

/* ── Icon buttons ───────────────────────────────────────────────── */

.sf-icon-btn[b-ejf2orm895] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.8125rem;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}

.sf-icon-btn:hover[b-ejf2orm895]        { background: #EDF3FB; color: #1E334C; }
.sf-icon-btn:disabled[b-ejf2orm895]     { opacity: 0.4; cursor: not-allowed; }

.sf-icon-btn.sf-icon-success[b-ejf2orm895]              { color: #3a6b27; }
.sf-icon-btn.sf-icon-success:hover[b-ejf2orm895]        { background: #edf6ea; color: #2a5020; }

.sf-icon-btn.sf-icon-danger[b-ejf2orm895]               { color: #9e2d1e; }
.sf-icon-btn.sf-icon-danger:hover[b-ejf2orm895]         { background: #fdecea; color: #7a1e12; }

/* ── File link ──────────────────────────────────────────────────── */

.sf-file-link[b-ejf2orm895] {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #2c6a9e;
    background: #e8f1fa;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.12s, color 0.12s;
}

.sf-file-link:hover[b-ejf2orm895] { background: #d0e4f5; color: #1c4f7a; text-decoration: none; }

.sf-no-file[b-ejf2orm895] {
    font-size: 0.75rem;
    color: #B0BEC5;
}

/* ── Add button ─────────────────────────────────────────────────── */

.sf-add-btn[b-ejf2orm895] {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: 1px dashed #94A3B8;
    color: #5B7A9A;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.4rem 0.9rem;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

.sf-add-btn:hover[b-ejf2orm895] { background: #EDF3FB; color: #1E334C; border-color: #5B7A9A; }

/* ── Ore input ──────────────────────────────────────────────────── */

.sf-ore-input[b-ejf2orm895] {
    width: 72px !important;
    text-align: center;
}

/* ── Form footer ────────────────────────────────────────────────── */

.sf-form-footer[b-ejf2orm895] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1.25rem 0 0.5rem;
}

.sf-btn-save[b-ejf2orm895] {
    display: inline-flex;
    align-items: center;
    background: #0B1B2B;
    color: #fff;
    border: none;
    padding: 0.6rem 1.75rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.sf-btn-save:hover[b-ejf2orm895]    { background: #162F47; }
.sf-btn-save:disabled[b-ejf2orm895] { opacity: 0.6; cursor: not-allowed; }

/* ── Report card ────────────────────────────────────────────────── */

.sf-btn-report[b-ejf2orm895] {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: 1px solid #CBD5E1;
    color: #1E334C;
    padding: 0.5rem 1.25rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
}

.sf-btn-report:hover[b-ejf2orm895]    { background: #F1F5F9; border-color: #94A3B8; }
.sf-btn-report:disabled[b-ejf2orm895] { opacity: 0.6; cursor: not-allowed; }
/* _content/GestioneCommessa.Shared/Pages/SVRLav/FetchData.razor.rz.scp.css */
/* SVR Lavorazioni */

/* ── Table ───────────────────────────────────────────────────────────── */

.svrlav-table thead th[b-sreblhcdcn] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.svrlav-table tbody td[b-sreblhcdcn] {
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    vertical-align: middle;
}

.svrlav-row:hover td[b-sreblhcdcn] { background: #f7fafd; }

.svrlav-name[b-sreblhcdcn] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.svrlav-code[b-sreblhcdcn] { font-size: 0.78rem; color: #5B7A9A; font-weight: 500; }

/* ── Icon buttons ────────────────────────────────────────────────────── */

.svrlav-icon-btn[b-sreblhcdcn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.svrlav-icon-btn:hover[b-sreblhcdcn] { background: #edf3fb; color: #1E334C; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.svrlav-empty[b-sreblhcdcn] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.svrlav-empty .bi[b-sreblhcdcn] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.svrlav-empty-title[b-sreblhcdcn] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.svrlav-empty-text[b-sreblhcdcn] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/SVR/Details.razor.rz.scp.css */
/* SVR — Scheda di valutazione rischi (Details) */

.det-empty[b-c855xcphj4] {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.det-empty .bi[b-c855xcphj4] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.det-empty-title[b-c855xcphj4] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.det-empty-text[b-c855xcphj4] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/SVR/DPI/FetchData.razor.rz.scp.css */
/* DPI — Dispositivi di Protezione Individuale */

/* ── Table ───────────────────────────────────────────────────────────── */

.dpi-table thead th[b-n3ue67mq0h] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.dpi-table tbody td[b-n3ue67mq0h] {
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    vertical-align: middle;
}

.dpi-row:hover td[b-n3ue67mq0h] { background: #f7fafd; }

.dpi-name[b-n3ue67mq0h] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }

/* ── Thumbnail ───────────────────────────────────────────────────────── */

.dpi-thumb[b-n3ue67mq0h] {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #dce6f2;
}

.dpi-thumb-placeholder[b-n3ue67mq0h] {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #dce6f2;
    background: #f5f8fc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b0c4d8;
    font-size: 1.2rem;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.dpi-icon-btn[b-n3ue67mq0h] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.dpi-icon-btn:hover[b-n3ue67mq0h] { background: #edf3fb; color: #1E334C; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.dpi-empty[b-n3ue67mq0h] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.dpi-empty .bi[b-n3ue67mq0h] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.dpi-empty-title[b-n3ue67mq0h] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.dpi-empty-text[b-n3ue67mq0h] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/SVR/DPI/Form.razor.rz.scp.css */
.sec-upload-area[b-4e79ogkkgk] {
    padding: 20px;
    width: 100%;
    min-height: 100px;
    border: 2px dashed #dce6f2;
    border-radius: 10px;
    background: #f5f8fc;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s;
}

.sec-upload-area.hover[b-4e79ogkkgk],
.sec-upload-area:focus-within[b-4e79ogkkgk] {
    border-color: #5B8DB8;
}

.sec-image-current[b-4e79ogkkgk] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.sec-image-preview[b-4e79ogkkgk] {
    max-width: 120px;
    max-height: 120px;
    border-radius: 8px;
    border: 1px solid #dce6f2;
    object-fit: contain;
    background: #f5f8fc;
}

.sec-image-actions[b-4e79ogkkgk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* _content/GestioneCommessa.Shared/Pages/SVR/FetchData.razor.rz.scp.css */
/* SVR — Schede Valutazione Rischi */

/* ── Table ───────────────────────────────────────────────────────────── */

.svr-table thead th[b-is88h7j5t7] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.svr-table tbody td[b-is88h7j5t7] {
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    vertical-align: middle;
}

.svr-row:hover td[b-is88h7j5t7] { background: #f7fafd; cursor: pointer; }

.svr-name[b-is88h7j5t7] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.svr-sub[b-is88h7j5t7]  { font-size: 0.82rem; color: #5B7A9A; }

/* ── Type badge ──────────────────────────────────────────────────────── */

.svr-type-badge[b-is88h7j5t7] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #f0ebfa;
    color: #6b3aaa;
    white-space: nowrap;
}

/* ── Count chips ─────────────────────────────────────────────────────── */

.svr-chip[b-is88h7j5t7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.15em 0.6em;
    border-radius: 20px;
    background: #edf3fb;
    color: #2c6a9e;
    white-space: nowrap;
}

.svr-chip-zero[b-is88h7j5t7] {
    background: #f4f5f7;
    color: #8696a7;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.svr-icon-btn[b-is88h7j5t7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.svr-icon-btn:hover[b-is88h7j5t7] { background: #edf3fb; color: #1E334C; }
.svr-icon-btn.dropdown-toggle[b-is88h7j5t7]::after { display: none; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.svr-empty[b-is88h7j5t7] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.svr-empty .bi[b-is88h7j5t7] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.svr-empty-title[b-is88h7j5t7] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.svr-empty-text[b-is88h7j5t7] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/SVR/Risk/FetchData.razor.rz.scp.css */
/* Rischi */

/* ── Table ───────────────────────────────────────────────────────────── */

.rsk-table thead th[b-a2l2jy3xsr] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.rsk-table tbody td[b-a2l2jy3xsr] {
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    vertical-align: middle;
}

.rsk-row:hover td[b-a2l2jy3xsr] { background: #f7fafd; }

.rsk-name[b-a2l2jy3xsr] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }

/* ── Risk level badge ────────────────────────────────────────────────── */

.rsk-level-badge[b-a2l2jy3xsr] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    white-space: nowrap;
}

.rsk-level-high[b-a2l2jy3xsr]   { background: #fdecea; color: #9e2d1e; }
.rsk-level-medium[b-a2l2jy3xsr] { background: #fff8e6; color: #7a5200; }
.rsk-level-low[b-a2l2jy3xsr]    { background: #edf6ea; color: #3a6b27; }

/* ── Thumbnail ───────────────────────────────────────────────────────── */

.rsk-thumb[b-a2l2jy3xsr] {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #dce6f2;
}

.rsk-thumb-placeholder[b-a2l2jy3xsr] {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #dce6f2;
    background: #f5f8fc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b0c4d8;
    font-size: 1.2rem;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.rsk-icon-btn[b-a2l2jy3xsr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.rsk-icon-btn:hover[b-a2l2jy3xsr] { background: #edf3fb; color: #1E334C; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.rsk-empty[b-a2l2jy3xsr] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.rsk-empty .bi[b-a2l2jy3xsr] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.rsk-empty-title[b-a2l2jy3xsr] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.rsk-empty-text[b-a2l2jy3xsr] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/SVR/Risk/Form.razor.rz.scp.css */
.sec-upload-area[b-fefcejuhkk] {
    padding: 20px;
    width: 100%;
    min-height: 100px;
    border: 2px dashed #dce6f2;
    border-radius: 10px;
    background: #f5f8fc;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s;
}

.sec-upload-area.hover[b-fefcejuhkk],
.sec-upload-area:focus-within[b-fefcejuhkk] {
    border-color: #5B8DB8;
}

.sec-image-current[b-fefcejuhkk] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.sec-image-preview[b-fefcejuhkk] {
    max-width: 120px;
    max-height: 120px;
    border-radius: 8px;
    border: 1px solid #dce6f2;
    object-fit: contain;
    background: #f5f8fc;
}

.sec-image-actions[b-fefcejuhkk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* _content/GestioneCommessa.Shared/Pages/Tools/FetchData.razor.rz.scp.css */
/* Attrezzature */

/* ── Breadcrumb ──────────────────────────────────────────────────────── */

.tl-breadcrumb[b-hfpgayhbq8] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.78rem;
    color: #5B7A9A;
}

.tl-bc-item + .tl-bc-item[b-hfpgayhbq8]::before {
    content: '›';
    margin: 0 0.4rem;
    color: #b0c4d8;
}

.tl-bc-item a[b-hfpgayhbq8] { color: #5B7A9A; text-decoration: none; }
.tl-bc-item a:hover[b-hfpgayhbq8] { color: #1E334C; text-decoration: underline; }
.tl-bc-item.active[b-hfpgayhbq8] { color: #1E334C; font-weight: 500; }

/* ── Table ───────────────────────────────────────────────────────────── */

.tl-table thead th[b-hfpgayhbq8] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.tl-table tbody td[b-hfpgayhbq8] {
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    vertical-align: middle;
}

.tl-row:hover td[b-hfpgayhbq8] { background: #f7fafd; }

.tl-name[b-hfpgayhbq8] { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.tl-sub[b-hfpgayhbq8]  { font-size: 0.84rem; color: #5B7A9A; }

/* ── Thumbnail ───────────────────────────────────────────────────────── */

.tl-thumb[b-hfpgayhbq8] {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #dce6f2;
}

.tl-thumb-placeholder[b-hfpgayhbq8] {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #dce6f2;
    background: #f5f8fc;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b0c4d8;
    font-size: 1.2rem;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.tl-icon-btn[b-hfpgayhbq8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.tl-icon-btn:hover[b-hfpgayhbq8] { background: #edf3fb; color: #1E334C; }
.tl-icon-btn.dropdown-toggle[b-hfpgayhbq8]::after { display: none; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.tl-empty[b-hfpgayhbq8] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.tl-empty .bi[b-hfpgayhbq8] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.tl-empty-title[b-hfpgayhbq8] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.tl-empty-text[b-hfpgayhbq8] {
    font-size: 0.875rem;
    color: #8696a7;
}
/* _content/GestioneCommessa.Shared/Pages/Tools/Form.razor.rz.scp.css */
/* ── Upload area ─────────────────────────────────────────────────────── */

.tf-upload-area[b-bmla15t8xh] {
    padding: 20px;
    width: 100%;
    min-height: 100px;
    border: 2px dashed #dce6f2;
    border-radius: 10px;
    background: #f5f8fc;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s;
}

.tf-upload-area.hover[b-bmla15t8xh],
.tf-upload-area:focus-within[b-bmla15t8xh] {
    border-color: #5B8DB8;
}

/* ── Immagine attuale ────────────────────────────────────────────────── */

.tf-image-current[b-bmla15t8xh] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.tf-image-preview[b-bmla15t8xh] {
    max-width: 160px;
    max-height: 160px;
    border-radius: 8px;
    border: 1px solid #dce6f2;
    object-fit: contain;
    background: #f5f8fc;
}

.tf-image-actions[b-bmla15t8xh] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ── Tabelle interne ─────────────────────────────────────────────────── */

.tf-table thead th[b-bmla15t8xh] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.tf-table tbody td[b-bmla15t8xh] {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    vertical-align: middle;
}

.tf-table tbody tr:hover td[b-bmla15t8xh] { background: #f7fafd; }

/* ── Icon button ─────────────────────────────────────────────────────── */

.tf-icon-btn[b-bmla15t8xh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}

.tf-icon-btn:hover[b-bmla15t8xh] { background: #edf3fb; color: #1E334C; }
.tf-icon-btn.text-danger:hover[b-bmla15t8xh] { background: #fdf0ee; }
/* _content/GestioneCommessa.Shared/Pages/Vendite/FetchData.razor.rz.scp.css */
/* Vendite — FetchData */

.vd-page[b-079qyxspp6] {
    padding: 0;
}

/* ── Card trimestrali progressive ────────────────────────────────────── */

.vd-q-card[b-079qyxspp6] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.1rem 1.25rem 0.9rem;
    height: 100%;
    border-top: 3px solid #CBD5E1;
    transition: box-shadow 0.15s;
}
.vd-q-card:hover[b-079qyxspp6] { box-shadow: 0 4px 16px rgba(30,51,76,.08); }

.vd-q-1[b-079qyxspp6] { border-top-color: #4F81BD; }
.vd-q-2[b-079qyxspp6] { border-top-color: #4CAF82; }
.vd-q-3[b-079qyxspp6] { border-top-color: #F59E0B; }
.vd-q-4[b-079qyxspp6] { border-top-color: #6366F1; }

.vd-q-header[b-079qyxspp6] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}
.vd-q-label[b-079qyxspp6] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5B7A9A;
}
.vd-q-periodo[b-079qyxspp6] {
    font-size: 0.68rem;
    color: #8FA3B8;
}
.vd-q-value[b-079qyxspp6] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.15;
    margin-bottom: 0.3rem;
}
.vd-q-detail[b-079qyxspp6] {
    font-size: 0.72rem;
    color: #6B7C8F;
}

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.vd-tab-btn[b-079qyxspp6] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.vd-tab-btn:hover[b-079qyxspp6] { color: #1E334C; }

.vd-tab-btn.active[b-079qyxspp6] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.vd-tab-count[b-079qyxspp6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.35em;
    border-radius: 10px;
    margin-left: 0.3rem;
    vertical-align: middle;
}

.vd-tab-btn.active .vd-tab-count[b-079qyxspp6] {
    background: rgba(30, 51, 76, 0.15);
    color: #1E334C;
}

/* ── KPI ─────────────────────────────────────────────────────────────── */

.vd-kpi-card[b-079qyxspp6] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.vd-kpi-label[b-079qyxspp6] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.3rem;
}

.vd-kpi-value[b-079qyxspp6] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.vd-kpi-sub[b-079qyxspp6] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

.vd-kpi-card.success[b-079qyxspp6] { border-left: 3px solid #3a8f47; }
.vd-kpi-card.danger[b-079qyxspp6]  { border-left: 3px solid #9e2d1e; }

/* ── Bulk bar ────────────────────────────────────────────────────────── */

.vd-bulk-bar[b-079qyxspp6] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #edf3fb;
    border: 1px solid #c8d8ee;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}

.vd-bulk-count[b-079qyxspp6] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}

/* ── Loading ─────────────────────────────────────────────────────────── */

.vd-loading-box[b-079qyxspp6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
    color: #5B7A9A;
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.vd-empty[b-079qyxspp6] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.vd-empty .bi[b-079qyxspp6] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.vd-empty-title[b-079qyxspp6] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.vd-empty-text[b-079qyxspp6] {
    font-size: 0.875rem;
    color: #5B7A9A;
    margin-bottom: 1.25rem;
    line-height: 1.6;
}

/* ── Table container ─────────────────────────────────────────────────── */

.table-responsive[b-079qyxspp6] {
    margin-top: 0.25rem;
    border: 1px solid #e8eef6;
    border-radius: 8px;
    overflow: hidden;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.vd-table[b-079qyxspp6] {
    margin-bottom: 0;
}

.vd-table thead th[b-079qyxspp6] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.65rem 0.75rem;
    white-space: nowrap;
}

.vd-row[b-079qyxspp6] {
    cursor: pointer;
    transition: background 0.1s;
}

.vd-row:hover[b-079qyxspp6] {
    background: #f7fafd;
}

.vd-row td[b-079qyxspp6] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
    color: #17324d;
}

.vd-table tfoot td[b-079qyxspp6] {
    padding: 0.6rem 0.75rem;
    background: #f7fafd;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1E334C;
    border-top: 2px solid #dceaf8;
}

/* ── Typography helpers ──────────────────────────────────────────────── */

.vd-name[b-079qyxspp6] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.vd-sub[b-079qyxspp6] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

/* ── Badge stato incasso ─────────────────────────────────────────────── */

.vd-badge[b-079qyxspp6] {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.vd-badge-attesa[b-079qyxspp6]    { background: #ebf5fe; color: #2980b9; }
.vd-badge-incassata[b-079qyxspp6] { background: #edf6ea; color: #3a6b27; }
.vd-badge-parziale[b-079qyxspp6]  { background: #fff8e6; color: #7a5200; }
.vd-badge-scaduta[b-079qyxspp6]   { background: #fdecea; color: #9e2d1e; }

/* ── Badge commessa ──────────────────────────────────────────────────── */

.vd-commessa-badge[b-079qyxspp6] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #e8f1fa;
    color: #2c6a9e;
    white-space: nowrap;
    text-decoration: none;
}

.vd-commessa-badge:hover[b-079qyxspp6] {
    background: #d2e6f7;
    color: #1a4f7a;
    text-decoration: none;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.vd-action-btn[b-079qyxspp6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.vd-action-btn:hover[b-079qyxspp6] { background: #edf3fb; color: #1E334C; }

.vd-action-btn.dropdown-toggle[b-079qyxspp6]::after { display: none; }

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .vd-table thead th:nth-child(3)[b-079qyxspp6],
    .vd-row td:nth-child(3)[b-079qyxspp6],
    .vd-table thead th:nth-child(6)[b-079qyxspp6],
    .vd-row td:nth-child(6)[b-079qyxspp6],
    .vd-table thead th:nth-child(7)[b-079qyxspp6],
    .vd-row td:nth-child(7)[b-079qyxspp6] {
        display: none;
    }

    .vd-bulk-bar[b-079qyxspp6] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Vendite/Form.razor.rz.scp.css */
/* Vendite — Form (layout due colonne + sidebar) */

/* ── Layout due colonne ───────────────────────────────────────────── */

.vd-layout[b-2i2mu2zhud] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: start;
}

@media (min-width: 992px) {
    .vd-layout[b-2i2mu2zhud] {
        grid-template-columns: 1fr 340px;
    }
}

/* ── Card form (sinistra) ────────────────────────────────────────── */

.vd-card[b-2i2mu2zhud] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
}

.vd-card-header[b-2i2mu2zhud] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
}

.vd-card-icon[b-2i2mu2zhud] {
    font-size: 0.9rem;
    color: #5B7A9A;
}

.vd-card-title[b-2i2mu2zhud] {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1E334C;
}

.vd-card-badge[b-2i2mu2zhud] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #E8F0FA;
    color: #2c6a9e;
    white-space: nowrap;
}

.vd-card-badge-ok[b-2i2mu2zhud] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #D4EDDA;
    color: #1a7a38;
    white-space: nowrap;
}

.vd-card-badge-warn[b-2i2mu2zhud] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #FFF3CD;
    color: #856404;
    white-space: nowrap;
}

.vd-card-body[b-2i2mu2zhud] {
    padding: 1.1rem 1.25rem;
}

/* ── Label obbligatorio ──────────────────────────────────────────── */

.vd-label-req[b-2i2mu2zhud]::after {
    content: " *";
    color: #c0392b;
    font-size: 0.75em;
}

/* ── Pulsante "Nuovo" inline ─────────────────────────────────────── */

.vd-btn-add-inline[b-2i2mu2zhud] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    white-space: nowrap;
}

.vd-btn-add-label[b-2i2mu2zhud] {
    display: none;
}

@media (min-width: 768px) {
    .vd-btn-add-label[b-2i2mu2zhud] {
        display: inline;
    }
}

/* ── Alert warning commessa ──────────────────────────────────────── */

.vd-alert-warn[b-2i2mu2zhud] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background: #FFF8E1;
    border: 1px solid #F9A825;
    color: #795548;
}

.vd-alert-warn .bi-exclamation-triangle-fill[b-2i2mu2zhud] {
    color: #F9A825;
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* ── Commessa collegata ──────────────────────────────────────────── */

.vd-commessa-linked[b-2i2mu2zhud] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.vd-commessa-linked-info[b-2i2mu2zhud] { flex: 1 1 auto; }

/* ── Tabella righe ───────────────────────────────────────────────── */

.vd-righe-table[b-2i2mu2zhud] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0.5rem;
}

.vd-righe-table th[b-2i2mu2zhud] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8696a7;
    padding: 0 6px 8px 0;
    border-bottom: 1px solid #dceaf8;
    white-space: nowrap;
}

.vd-righe-table td[b-2i2mu2zhud] {
    padding: 7px 6px 7px 0;
    vertical-align: middle;
    border-bottom: 1px solid #edf2f7;
}

.vd-righe-table tbody tr:last-child td[b-2i2mu2zhud] { border-bottom: none; }

.vd-row-warn[b-2i2mu2zhud] { background: #FFFDE7; }
.vd-row-warn:hover[b-2i2mu2zhud] { background: #FFF9C4; }

.vd-warn-hint[b-2i2mu2zhud] {
    font-size: 0.68rem;
    color: #E67E22;
    margin-top: 0.2rem;
}

/* ── Empty state righe ───────────────────────────────────────────── */

.vd-righe-empty[b-2i2mu2zhud] {
    text-align: center;
    padding: 2rem 1rem;
    color: #8696a7;
}

.vd-righe-empty .bi[b-2i2mu2zhud] {
    font-size: 2rem;
    display: block;
    margin-bottom: 0.5rem;
    color: #c8d8e8;
}

.vd-righe-empty-title[b-2i2mu2zhud] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.25rem;
}

.vd-righe-empty-text[b-2i2mu2zhud] {
    font-size: 0.8rem;
    color: #8696a7;
}

/* ── Totali sotto righe ──────────────────────────────────────────── */

.vd-totali-row[b-2i2mu2zhud] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.vd-totale-block[b-2i2mu2zhud] {
    flex: 1;
    min-width: 100px;
    text-align: center;
    padding: 0.65rem 0.85rem;
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 8px;
}

.vd-totale-label[b-2i2mu2zhud] {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-bottom: 0.3rem;
}

.vd-totale-value[b-2i2mu2zhud] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
}

.vd-totale-value.main[b-2i2mu2zhud] {
    font-size: 1.2rem;
    color: #2c6a9e;
}

/* ── Sidebar (destra) ────────────────────────────────────────────── */

.vd-sticky-sidebar[b-2i2mu2zhud] {
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF transparent;
}

.vd-sticky-sidebar[b-2i2mu2zhud]::-webkit-scrollbar { width: 4px; }
.vd-sticky-sidebar[b-2i2mu2zhud]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

/* ── Sidebar card ────────────────────────────────────────────────── */

.vd-sb-card[b-2i2mu2zhud] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 1rem;
}

.vd-sb-title[b-2i2mu2zhud] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #5B7A9A;
    margin-bottom: 0.75rem;
}

/* ── Sidebar dl (definition list) ───────────────────────────────── */

.vd-sb-dl[b-2i2mu2zhud] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.25rem 0.75rem;
    margin: 0 0 0.75rem 0;
    font-size: 0.8125rem;
}

.vd-sb-dl dt[b-2i2mu2zhud] {
    color: #5B7A9A;
    font-weight: 500;
    white-space: nowrap;
}

.vd-sb-dl dd[b-2i2mu2zhud] {
    color: #1E334C;
    font-weight: 600;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Sidebar totali ──────────────────────────────────────────────── */

.vd-sb-totali[b-2i2mu2zhud] {
    border-top: 1px solid #E2E8F0;
    padding-top: 0.6rem;
    margin-top: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.vd-sb-tot-row[b-2i2mu2zhud] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8125rem;
    color: #1E334C;
}

.vd-sb-tot-row span:first-child[b-2i2mu2zhud] { color: #5B7A9A; }

.vd-sb-tot-main[b-2i2mu2zhud] {
    border-top: 1px solid #E2E8F0;
    padding-top: 0.3rem;
    margin-top: 0.1rem;
    font-weight: 700;
    font-size: 0.9375rem !important;
    color: #2c6a9e;
}

.vd-sb-tot-main span:first-child[b-2i2mu2zhud] { color: #1E334C; }

.vd-sb-empty-note[b-2i2mu2zhud] {
    font-size: 0.78rem;
    color: #8696a7;
    font-style: italic;
}

/* ── Checklist stato compilazione ────────────────────────────────── */

.vd-checklist[b-2i2mu2zhud] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.vd-checklist li[b-2i2mu2zhud] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
}

.vd-checklist li .bi[b-2i2mu2zhud] { font-size: 0.875rem; flex-shrink: 0; }

.vd-ck-ok[b-2i2mu2zhud] { color: #1a7a38; }
.vd-ck-ok .bi[b-2i2mu2zhud] { color: #27ae60; }

.vd-ck-missing[b-2i2mu2zhud] { color: #1E334C; }
.vd-ck-missing .bi[b-2i2mu2zhud] { color: #CBD5E1; }

.vd-ck-optional[b-2i2mu2zhud] { color: #5B7A9A; }
.vd-ck-optional .bi[b-2i2mu2zhud] { color: #B7D8FF; }

.vd-ck-req[b-2i2mu2zhud] {
    margin-left: auto;
    font-size: 0.65rem;
    font-weight: 700;
    color: #c0392b;
    background: #FDECEA;
    padding: 0.1em 0.45em;
    border-radius: 4px;
    white-space: nowrap;
}

.vd-ck-opt[b-2i2mu2zhud] {
    margin-left: auto;
    font-size: 0.65rem;
    font-weight: 600;
    color: #5B7A9A;
    background: #EDF2F7;
    padding: 0.1em 0.45em;
    border-radius: 4px;
    white-space: nowrap;
}

/* ── Impatto commessa ────────────────────────────────────────────── */

.vd-sb-impact-ok[b-2i2mu2zhud] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    color: #1a7a38;
}

.vd-sb-impact-ok .bi[b-2i2mu2zhud] { font-size: 1rem; flex-shrink: 0; margin-top: 0.1rem; }

.vd-sb-impact-warn[b-2i2mu2zhud] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    color: #856404;
}

.vd-sb-impact-warn .bi[b-2i2mu2zhud] { font-size: 1rem; flex-shrink: 0; margin-top: 0.1rem; color: #F9A825; }

.vd-sb-impact-row[b-2i2mu2zhud] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8125rem;
    border-top: 1px solid #E2E8F0;
    padding-top: 0.5rem;
}

.vd-sb-impact-label[b-2i2mu2zhud] { color: #5B7A9A; }
.vd-sb-impact-value[b-2i2mu2zhud] { font-weight: 700; color: #1E334C; }

/* ── Sticky bar ──────────────────────────────────────────────────── */

.vd-form-spacer[b-2i2mu2zhud] { height: 72px; }

.vd-sticky-bar[b-2i2mu2zhud] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #E2E8F0;
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 100;
    box-shadow: 0 -2px 12px rgba(30, 51, 76, 0.07);
}

/* ── Indicatore modifiche non salvate ────────────────────────────── */

.vd-unsaved[b-2i2mu2zhud] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: #E67E22;
}

.vd-unsaved .bi-circle-fill[b-2i2mu2zhud] {
    font-size: 0.45rem;
    color: #E67E22;
}

/* ── Legacy (mantenuto per compatibilità) ────────────────────────── */

.vd-section[b-2i2mu2zhud] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.vd-section-title[b-2i2mu2zhud] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8696a7;
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #e8eff7;
}
/* _content/GestioneCommessa.Shared/Pages/Vendite/Scadenziario.razor.rz.scp.css */
/* Scadenzario incassi */

/* ── Breadcrumb ──────────────────────────────────────────────────────── */

.sc-breadcrumb[b-41arak5lp4] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.78rem;
    color: #5B7A9A;
}

.sc-bc-item + .sc-bc-item[b-41arak5lp4]::before {
    content: '›';
    margin: 0 0.4rem;
    color: #b0c4d8;
}

.sc-bc-item a[b-41arak5lp4] { color: #5B7A9A; text-decoration: none; }
.sc-bc-item a:hover[b-41arak5lp4] { color: #1E334C; text-decoration: underline; }
.sc-bc-item.active[b-41arak5lp4] { color: #1E334C; font-weight: 500; }

/* ── KPI cards ───────────────────────────────────────────────────────── */

.sc-kpi-card[b-41arak5lp4] {
    background: #fff;
    border: 1px solid #dce6f2;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.sc-kpi-card.success[b-41arak5lp4] { border-left: 3px solid #27ae60; }
.sc-kpi-card.danger[b-41arak5lp4]  { border-left: 3px solid #c0392b; }
.sc-kpi-card.warn[b-41arak5lp4]    { border-left: 3px solid #e67e22; }

.sc-kpi-label[b-41arak5lp4] {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #718096;
    margin-bottom: 0.3rem;
}

.sc-kpi-value[b-41arak5lp4] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.1;
    margin-bottom: 0.15rem;
}

.sc-kpi-sub[b-41arak5lp4] {
    font-size: 0.72rem;
    color: #8696a7;
}

/* ── Alert banner ────────────────────────────────────────────────────── */

.sc-alert[b-41arak5lp4] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-left: 3px solid #ffc107;
    border-radius: 8px;
    padding: 0.6rem 0.9rem;
    font-size: 0.84rem;
    color: #6d4c00;
}

.sc-alert-icon[b-41arak5lp4] { font-size: 1rem; flex-shrink: 0; }
.sc-alert-body[b-41arak5lp4] { flex: 1; }

.sc-alert-close[b-41arak5lp4] {
    background: none;
    border: none;
    color: #a0783a;
    cursor: pointer;
    padding: 0;
    font-size: 0.9rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}

.sc-alert-close:hover[b-41arak5lp4] { color: #6d4c00; }

/* ── Month tab bar ───────────────────────────────────────────────────── */

.sc-months-bar[b-41arak5lp4] {
    display: flex;
    background: #fff;
    border: 1px solid #dce6f2;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #fff;
    padding: 0 0.25rem;
}

.sc-months-bar[b-41arak5lp4]::-webkit-scrollbar { height: 3px; }
.sc-months-bar[b-41arak5lp4]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 3px; }

.sc-mth-btn[b-41arak5lp4] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.55rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    transition: color 0.12s, border-color 0.12s;
    outline: none;
    margin-bottom: -1px;
}

.sc-mth-btn:hover[b-41arak5lp4] { color: #1E334C; border-bottom-color: #b5cfe8; }

.sc-mth-btn.active[b-41arak5lp4] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.sc-mbadge[b-41arak5lp4] {
    display: inline-block;
    padding: 0.08em 0.45em;
    border-radius: 10px;
    font-size: 0.67rem;
    font-weight: 700;
    line-height: 1.4;
}

.sc-mbadge-ok[b-41arak5lp4]     { background: #e8edf4; color: #5B7A9A; }
.sc-mbadge-warn[b-41arak5lp4]   { background: #fff3cd; color: #856404; }
.sc-mbadge-danger[b-41arak5lp4] { background: #fdecea; color: #c0392b; }

/* ── Main card (connects to month bar) ───────────────────────────────── */

.sc-card[b-41arak5lp4] {
    background: #fff;
    border: 1px solid #dce6f2;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

/* ── Toolbar ─────────────────────────────────────────────────────────── */

.sc-toolbar[b-41arak5lp4] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #edf2f7;
}

.sc-search-wrap[b-41arak5lp4] {
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 400px;
}

.sc-search-icon[b-41arak5lp4] {
    position: absolute;
    left: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    color: #a0aec0;
    font-size: 0.78rem;
    pointer-events: none;
}

.sc-search-input[b-41arak5lp4] {
    width: 100%;
    padding: 0.35rem 0.75rem 0.35rem 2rem;
    border: 1px solid #dce6f2;
    border-radius: 6px;
    font-size: 0.84rem;
    color: #1E334C;
    background: #f9fbfd;
    outline: none;
    transition: border-color 0.12s;
}

.sc-search-input:focus[b-41arak5lp4] { border-color: #4a7fb5; background: #fff; }

/* ── Table ───────────────────────────────────────────────────────────── */

.sc-table[b-41arak5lp4] {
    width: 100%;
    border-collapse: collapse;
}

.sc-table thead th[b-41arak5lp4] {
    background: #f5f8fc;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #dce6f2;
    white-space: nowrap;
}

.sc-table tbody td[b-41arak5lp4] {
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.875rem;
    color: #17324d;
    vertical-align: middle;
}

.sc-table tfoot td[b-41arak5lp4] {
    padding: 0.6rem 0.9rem;
    background: #f5f8fc;
    font-size: 0.84rem;
    border-top: 2px solid #dce6f2;
}

.sc-row:hover td[b-41arak5lp4] { background: #f7fafd; }
.sc-row-scaduta td[b-41arak5lp4] { background: #fffcfc; }
.sc-row-incassata[b-41arak5lp4] { opacity: 0.7; }

.sc-actions-col[b-41arak5lp4] { width: 7rem; }

.sc-nome[b-41arak5lp4]    { font-weight: 600; color: #1E334C; font-size: 0.875rem; }
.sc-sub[b-41arak5lp4]     { font-size: 0.78rem; color: #5B7A9A; }
.sc-sub-muted[b-41arak5lp4] { font-size: 0.72rem; color: #8696a7; margin-top: 0.1rem; }
.sc-importo[b-41arak5lp4] { font-weight: 700; color: #1E334C; }
.sc-ritardo[b-41arak5lp4] { font-size: 0.72rem; color: #c0392b; margin-top: 0.1rem; }

.sc-commessa-link[b-41arak5lp4] {
    text-decoration: none;
    color: inherit;
    display: block;
}

.sc-commessa-link:hover .sc-commessa-code[b-41arak5lp4] { text-decoration: underline; }

.sc-commessa-code[b-41arak5lp4] {
    font-weight: 600;
    color: #2980b9;
    font-size: 0.875rem;
}

.sc-tfoot-label[b-41arak5lp4] { font-weight: 700; color: #1E334C; }
.sc-tfoot-count[b-41arak5lp4] { font-size: 0.78rem; color: #5B7A9A; }

/* ── Badges ──────────────────────────────────────────────────────────── */

.sc-badge[b-41arak5lp4] {
    display: inline-block;
    padding: 0.2em 0.6em;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
}

.sc-badge-ok[b-41arak5lp4]      { background: #eafaf1; color: #27ae60; }
.sc-badge-warn[b-41arak5lp4]    { background: #fef9e7; color: #e67e22; }
.sc-badge-danger[b-41arak5lp4]  { background: #fdecea; color: #c0392b; }
.sc-badge-info[b-41arak5lp4]    { background: #ebf5fe; color: #2980b9; }
.sc-badge-nc[b-41arak5lp4]      { background: #f4f5f7; color: #718096; }

/* ── Action icon buttons ─────────────────────────────────────────────── */

.sc-icon-btn[b-41arak5lp4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.sc-icon-btn:hover[b-41arak5lp4] { background: #edf3fb; color: #1E334C; }
.sc-icon-btn.dropdown-toggle[b-41arak5lp4]::after { display: none; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.sc-empty[b-41arak5lp4] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.sc-empty .bi[b-41arak5lp4] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.sc-empty-title[b-41arak5lp4] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.sc-empty-text[b-41arak5lp4] {
    font-size: 0.875rem;
    color: #8696a7;
    line-height: 1.6;
}

/* ── Modal overlay ───────────────────────────────────────────────────── */

.sc-overlay[b-41arak5lp4] {
    position: fixed;
    inset: 0;
    background: rgba(10, 25, 50, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
}

.sc-dialog[b-41arak5lp4] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    width: 100%;
    max-width: 480px;
    overflow: hidden;
}

.sc-dialog-hd[b-41arak5lp4] {
    padding: 1rem 1.25rem 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
    border-bottom: 1px solid #edf2f7;
}

.sc-dialog-bd[b-41arak5lp4] {
    padding: 1rem 1.25rem;
}

.sc-dialog-bd .form-label[b-41arak5lp4] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

.sc-dialog-ft[b-41arak5lp4] {
    padding: 0.75rem 1.25rem 1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    border-top: 1px solid #edf2f7;
}

/* ── Commessa picker ─────────────────────────────────────────────────── */

.sc-ap-list[b-41arak5lp4] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 220px;
    overflow-y: auto;
}

.sc-ap-item[b-41arak5lp4] {
    display: block;
    width: 100%;
    text-align: left;
    background: #f7fafd;
    border: 1px solid #dce6f2;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.84rem;
    color: #1E334C;
    cursor: pointer;
    transition: background 0.1s, border-color 0.1s;
}

.sc-ap-item:hover[b-41arak5lp4] { background: #edf3fb; border-color: #b5cfe8; }

.sc-ap-item.selected[b-41arak5lp4] {
    background: #1E334C;
    border-color: #1E334C;
    color: #fff;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/FetchData.razor.rz.scp.css */
/* Worksites — FetchData */

/* ── KPI ─────────────────────────────────────────────────────────────── */

.ws-kpi-card[b-nb7p9ivqjg] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.ws-kpi-card.success[b-nb7p9ivqjg] { border-left: 3px solid #3a8f47; }
.ws-kpi-card.warning[b-nb7p9ivqjg] { border-left: 3px solid #c07a00; }
.ws-kpi-card.info[b-nb7p9ivqjg]    { border-left: 3px solid #2c6a9e; }
.ws-kpi-card.danger[b-nb7p9ivqjg]  { border-left: 3px solid #9e2d1e; }

.ws-kpi-label[b-nb7p9ivqjg] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.3rem;
}

.ws-kpi-value[b-nb7p9ivqjg] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.ws-kpi-sub[b-nb7p9ivqjg] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── Tab bar ─────────────────────────────────────────────────────────── */

.ws-tab-btn[b-nb7p9ivqjg] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.35rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    outline: none;
    border-radius: 0;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
}

.ws-tab-btn:hover[b-nb7p9ivqjg] { color: #1E334C; }

.ws-tab-btn.active[b-nb7p9ivqjg] {
    color: #1E334C;
    font-weight: 700;
    border-bottom-color: #1E334C;
}

.ws-tab-count[b-nb7p9ivqjg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.35em;
    border-radius: 10px;
    margin-left: 0.3rem;
    vertical-align: middle;
}

.ws-tab-btn.active .ws-tab-count[b-nb7p9ivqjg] {
    background: rgba(30, 51, 76, 0.15);
    color: #1E334C;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.table-responsive[b-nb7p9ivqjg] {
    margin-top: 0.25rem;
    border: 1px solid #e8eef6;
    border-radius: 8px;
    overflow: hidden;
}

.ws-table[b-nb7p9ivqjg] {
    margin-bottom: 0;
}

.ws-table thead th[b-nb7p9ivqjg] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.65rem 0.75rem;
    white-space: nowrap;
}

.ws-row[b-nb7p9ivqjg] {
    cursor: pointer;
    transition: background 0.1s;
}

.ws-row:hover[b-nb7p9ivqjg] { background: #f7fafd; }

.ws-row td[b-nb7p9ivqjg] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.ws-name[b-nb7p9ivqjg] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.ws-sub[b-nb7p9ivqjg] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

/* ── Badge ───────────────────────────────────────────────────────────── */

.ws-cat-badge[b-nb7p9ivqjg] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #f0ebfa;
    color: #6b3aaa;
    white-space: nowrap;
}

.ws-esito-badge[b-nb7p9ivqjg] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    white-space: nowrap;
}

.ws-esito-a[b-nb7p9ivqjg]  { background: #edf6ea; color: #3a6b27; }
.ws-esito-np[b-nb7p9ivqjg] { background: #f4f5f7; color: #8696a7; }
.ws-esito-x[b-nb7p9ivqjg]  { background: #fdecea; color: #9e2d1e; }
.ws-esito-nc[b-nb7p9ivqjg] { display: none; }

.ws-stato-badge[b-nb7p9ivqjg] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    white-space: nowrap;
}

.ws-stato-chiuso[b-nb7p9ivqjg]  { background: #e9ecef; color: #495057; }
.ws-stato-postvend[b-nb7p9ivqjg]{ background: #ede7f6; color: #5e35b1; }
.ws-stato-incorso[b-nb7p9ivqjg] { background: #edf6ea; color: #3a6b27; }
.ws-stato-conf[b-nb7p9ivqjg]    { background: #e3f2fd; color: #1565c0; }
.ws-stato-prev[b-nb7p9ivqjg]    { background: #fff8e1; color: #b8860b; }
.ws-stato-sosp[b-nb7p9ivqjg]    { background: #fff3e0; color: #e65100; }

/* ── Icon buttons ────────────────────────────────────────────────────── */

.ws-icon-btn[b-nb7p9ivqjg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.ws-icon-btn:hover[b-nb7p9ivqjg] { background: #edf3fb; color: #1E334C; }

.ws-icon-btn.dropdown-toggle[b-nb7p9ivqjg]::after { display: none; }

/* ── Empty state ─────────────────────────────────────────────────────── */

.ws-empty[b-nb7p9ivqjg] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.ws-empty .bi[b-nb7p9ivqjg] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.ws-empty-title[b-nb7p9ivqjg] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.ws-empty-text[b-nb7p9ivqjg] {
    font-size: 0.875rem;
    color: #5B7A9A;
}

/* ── Bulk bar ────────────────────────────────────────────────────────── */

.ws-bulk-bar[b-nb7p9ivqjg] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #edf3fb;
    border: 1px solid #c8d8ee;
    border-radius: 8px;
    padding: 0.55rem 1rem;
}

.ws-bulk-count[b-nb7p9ivqjg] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}

@media (max-width: 719.98px) {
    .ws-bulk-bar[b-nb7p9ivqjg] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Form.razor.rz.scp.css */
/* Form — Worksites */

/* ── Breadcrumb ──────────────────────────────────────────────────────── */
.ws-breadcrumb-nav .breadcrumb[b-0xxrdxiqu8] {
    font-size: 0.8rem;
    color: #8696a7;
}

.ws-breadcrumb-nav .breadcrumb-item a[b-0xxrdxiqu8] {
    color: #5B8DB8;
    text-decoration: none;
}

.ws-breadcrumb-nav .breadcrumb-item.active[b-0xxrdxiqu8] {
    color: #1E334C;
    font-weight: 600;
}

/* ── Form section card ───────────────────────────────────────────────── */
.ws-section[b-0xxrdxiqu8] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
}

.ws-section-title[b-0xxrdxiqu8] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8696a7;
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #e8eff7;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ws-sub-label[b-0xxrdxiqu8] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-bottom: -0.25rem;
}

.ws-field-hint[b-0xxrdxiqu8] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #8696a7;
    margin-left: 0.3rem;
}

/* ── Tipologia buttons ───────────────────────────────────────────────── */
.ws-tipologia-group[b-0xxrdxiqu8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ws-tipo-btn[b-0xxrdxiqu8] {
    padding: 0.45rem 1rem;
    border: 1.5px solid #c8d8ec;
    border-radius: 20px;
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.845rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
    white-space: nowrap;
}

.ws-tipo-btn:hover[b-0xxrdxiqu8] {
    border-color: #5B8DB8;
    color: #1E334C;
    background: #eef5fb;
}

.ws-tipo-btn.active[b-0xxrdxiqu8] {
    border-color: #2c6a9e;
    background: #e8f1fa;
    color: #1E334C;
    font-weight: 600;
}

/* ── Count badge ─────────────────────────────────────────────────────── */
.ws-count-badge[b-0xxrdxiqu8] {
    display: inline-block;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.1em 0.5em;
    border-radius: 10px;
    vertical-align: middle;
}

/* ── Readonly computed field ─────────────────────────────────────────── */
.ws-readonly-field[b-0xxrdxiqu8] {
    background: #f7fafd;
    color: #5B7A9A;
    font-weight: 600;
}

/* ── Empty cantieri state ────────────────────────────────────────────── */
.ws-empty-cantieri[b-0xxrdxiqu8] {
    text-align: center;
    padding: 1.5rem 1rem;
    background: #f7fafd;
    border: 1px dashed #c8d8ec;
    border-radius: 8px;
    color: #8696a7;
}

/* ── Cantiere card ───────────────────────────────────────────────────── */
.ws-cantiere-card[b-0xxrdxiqu8] {
    border: 1px solid #dceaf8;
    border-radius: 8px;
    overflow: hidden;
}

.ws-cantiere-header[b-0xxrdxiqu8] {
    display: flex;
    align-items: center;
    padding: 0.6rem 1rem;
    background: #f0f6fc;
    border-bottom: 1px solid #dceaf8;
}

.ws-cantiere-num[b-0xxrdxiqu8] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1E334C;
    letter-spacing: 0.01em;
}

/* ── Icon-only button ────────────────────────────────────────────────── */
.ws-icon-btn[b-0xxrdxiqu8] {
    background: none;
    border: none;
    padding: 0.25rem 0.4rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    transition: background 0.12s;
}

.ws-icon-btn:hover[b-0xxrdxiqu8] {
    background: rgba(0, 0, 0, 0.06);
}

/* ── Roles ───────────────────────────────────────────────────────────── */
.ws-roles-title[b-0xxrdxiqu8] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #8696a7;
    margin-bottom: 0.6rem;
}

.ws-roles-list[b-0xxrdxiqu8] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ws-role-row[b-0xxrdxiqu8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ws-role-label[b-0xxrdxiqu8] {
    flex: 0 0 200px;
    font-size: 0.82rem;
    font-weight: 500;
    color: #334155;
    white-space: nowrap;
}

.ws-role-type-select[b-0xxrdxiqu8] {
    flex: 0 0 220px;
}

.ws-role-field[b-0xxrdxiqu8] {
    flex: 1;
    min-width: 0;
}

/* ── Punto GPS cantiere ──────────────────────────────────────────────── */

.ws-geo-row[b-0xxrdxiqu8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0;
}

.ws-geo-info[b-0xxrdxiqu8] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1;
    min-width: 0;
}

.ws-geo-dot[b-0xxrdxiqu8] {
    font-size: 0.9rem;
    color: #2e7d32;
    flex-shrink: 0;
}

.ws-geo-dot--off[b-0xxrdxiqu8] {
    color: #b0bec5;
}

.ws-geo-label[b-0xxrdxiqu8] {
    font-size: 0.8125rem;
    color: #1E334C;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ws-geo-placeholder[b-0xxrdxiqu8] {
    font-size: 0.8125rem;
    color: #94a3b8;
}

.ws-geo-clear[b-0xxrdxiqu8] {
    background: none;
    border: none;
    cursor: pointer;
    color: #9e9e9e;
    font-size: 1rem;
    padding: 0;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
}

.ws-geo-clear:hover[b-0xxrdxiqu8] { color: #e53935; }

/* Pulsante GPS: rotondo, stile mic, inline nel form */
.ws-geo-fab[b-0xxrdxiqu8] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #1E334C;
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    cursor: pointer;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(30, 51, 76, 0.30);
    transition: background 0.15s, box-shadow 0.15s;
}

.ws-geo-fab:hover[b-0xxrdxiqu8] {
    background: #2d4e70;
    box-shadow: 0 4px 12px rgba(30, 51, 76, 0.40);
}

.ws-geo-fab--loading[b-0xxrdxiqu8] {
    background: #455a64;
    cursor: default;
}

.ws-geo-fab:disabled[b-0xxrdxiqu8] {
    opacity: 0.7;
    cursor: default;
}

/* ── Sticky bottom bar ───────────────────────────────────────────────── */
.ws-sticky-bar[b-0xxrdxiqu8] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    border-top: 1px solid #dceaf8;
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 100;
    box-shadow: 0 -2px 8px rgba(30, 51, 76, 0.06);
}

@media (max-width: 576px) {
    .ws-role-label[b-0xxrdxiqu8] {
        flex: 0 0 120px;
        font-size: 0.75rem;
    }

    .ws-tipo-btn[b-0xxrdxiqu8] {
        font-size: 0.8rem;
        padding: 0.35rem 0.75rem;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/POS/Form.razor.rz.scp.css */
/* Nuovo POS — Form.razor */

/* ── Card ─────────────────────────────────────────────────────────────── */

.pos-form-card[b-who5x7kyve] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.pos-card-header[b-who5x7kyve] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.pos-card-title[b-who5x7kyve] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    display: block;
}

.pos-card-sub[b-who5x7kyve] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.15rem;
}

.pos-card-body[b-who5x7kyve] {
    padding: 1.25rem;
}

/* ── Grid layout ──────────────────────────────────────────────────────── */

.pos-grid-3[b-who5x7kyve] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem 1.5rem;
}

.pos-grid-2[b-who5x7kyve] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 2rem;
}

@media (max-width: 991px) {
    .pos-grid-3[b-who5x7kyve] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .pos-grid-3[b-who5x7kyve],
    .pos-grid-2[b-who5x7kyve] {
        grid-template-columns: 1fr;
    }
}

/* ── Form field ───────────────────────────────────────────────────────── */

.pos-field[b-who5x7kyve] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.pos-label[b-who5x7kyve] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0;
}

.pos-required[b-who5x7kyve] {
    color: #c0392b;
    margin-left: 0.15rem;
}

.pos-textarea[b-who5x7kyve] {
    min-height: 120px;
    resize: vertical;
}

/* ── Section header (inside card) ────────────────────────────────────── */

.pos-section-header[b-who5x7kyve] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.pos-section-title[b-who5x7kyve] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Empty state ──────────────────────────────────────────────────────── */

.pos-empty-state[b-who5x7kyve] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1rem;
    background: #F8FAFC;
    border: 1px dashed #CBD5E1;
    border-radius: 8px;
    font-size: 0.8125rem;
    color: #8696A7;
}

.pos-empty-state .bi[b-who5x7kyve] {
    font-size: 1.1rem;
    color: #B7C9D9;
    flex-shrink: 0;
}

/* ── Table ────────────────────────────────────────────────────────────── */

.pos-table-wrapper[b-who5x7kyve] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #fff;
}

.pos-table-wrapper[b-who5x7kyve]::-webkit-scrollbar { height: 4px; }
.pos-table-wrapper[b-who5x7kyve]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

.pos-table[b-who5x7kyve] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}

.pos-table thead th[b-who5x7kyve] {
    background: #F5F8FC;
    color: #718096;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.5rem 0.6rem;
    border-bottom: 2px solid #DCEAF8;
    white-space: nowrap;
}

.pos-table thead th.pos-th-actions[b-who5x7kyve] {
    width: 3rem;
    text-align: center;
}

.pos-table tbody td[b-who5x7kyve] {
    padding: 0.45rem 0.6rem;
    color: #334155;
    border-bottom: 1px solid #EDF2F7;
    vertical-align: middle;
}

.pos-table tbody td.pos-td-num[b-who5x7kyve] {
    width: 80px;
}

.pos-table tbody tr:hover td[b-who5x7kyve] { background: #F7FAFD; }

/* ── Buttons ──────────────────────────────────────────────────────────── */

.pos-btn-add[b-who5x7kyve] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #2c6a9e;
    background: transparent;
    border: 1px solid #93C5FD;
    border-radius: 8px;
    padding: 0.35rem 0.8rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s, border-color 0.12s;
}

.pos-btn-add:hover[b-who5x7kyve] { background: #EFF6FF; border-color: #60A5FA; }

.pos-btn-primary[b-who5x7kyve] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #0B1B2B;
    color: #fff;
    border: none;
    padding: 0.55rem 1.4rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.pos-btn-primary:hover[b-who5x7kyve] { background: #162F47; }

.pos-btn-secondary[b-who5x7kyve] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: transparent;
    border: 1px solid #CBD5E1;
    color: #1E334C;
    padding: 0.55rem 1.1rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s, border-color 0.12s;
}

.pos-btn-secondary:hover[b-who5x7kyve] { background: #F1F5F9; border-color: #94A3B8; }

/* ── Icon buttons ─────────────────────────────────────────────────────── */

.pos-icon-btn[b-who5x7kyve] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}

.pos-icon-btn:hover[b-who5x7kyve] { background: #EDF3FB; color: #1E334C; }

.pos-icon-btn.pos-icon-danger[b-who5x7kyve] { color: #9e2d1e; }
.pos-icon-btn.pos-icon-danger:hover[b-who5x7kyve] { background: #FEE2E2; color: #7a1e12; }

/* ── Form footer ──────────────────────────────────────────────────────── */

.pos-form-footer[b-who5x7kyve] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 0 0.5rem;
    flex-wrap: wrap;
}

@media (max-width: 575px) {
    .pos-form-footer[b-who5x7kyve] {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .pos-form-footer .pos-btn-primary[b-who5x7kyve],
    .pos-form-footer .pos-btn-secondary[b-who5x7kyve] {
        justify-content: center;
        width: 100%;
    }
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Subappalto/Form.razor.rz.scp.css */
/* Subappalto — Form */

.sub-form-section[b-kms70pp42n] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
}

.sub-form-section-title[b-kms70pp42n] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dceaf8;
}

.sub-form-actions[b-kms70pp42n] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.25rem;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/Details.razor.rz.scp.css */
/* Details — Worksite */

/* ── KPI cards ──────────────────────────────────────────────────────────── */

.det-kpi-card[b-mo2cwyg2kw] {
    background: #fff;
    border: 1px solid #e8eef6;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.det-kpi-card.success[b-mo2cwyg2kw] { border-left: 3px solid #3a8f47; }
.det-kpi-card.danger[b-mo2cwyg2kw]  { border-left: 3px solid #9e2d1e; }

.det-kpi-label[b-mo2cwyg2kw] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.3rem;
}

.det-kpi-value[b-mo2cwyg2kw] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.det-kpi-sub[b-mo2cwyg2kw] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── Section card ───────────────────────────────────────────────────────── */

.det-section-card[b-mo2cwyg2kw] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
}

.det-section-title[b-mo2cwyg2kw] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dceaf8;
}

/* ── Field grid ─────────────────────────────────────────────────────────── */

.det-field-label[b-mo2cwyg2kw] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.2rem;
}

.det-field-value[b-mo2cwyg2kw] {
    font-size: 0.9rem;
    color: #1E334C;
    font-weight: 500;
}

/* ── Cantiere card ──────────────────────────────────────────────────────── */

.det-cantiere-card[b-mo2cwyg2kw] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    padding: 0.9rem 1rem;
    height: 100%;
}

.det-cantiere-header[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E334C;
}

.det-cantiere-code[b-mo2cwyg2kw] {
    background: #1E334C;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.1em 0.5em;
    border-radius: 4px;
}

.det-cantiere-addr[b-mo2cwyg2kw] {
    font-size: 0.8rem;
    color: #5B7A9A;
    margin-bottom: 0.35rem;
}

.det-cantiere-roles[b-mo2cwyg2kw] {
    margin-top: 0.35rem;
}

.det-role-row[b-mo2cwyg2kw] {
    display: flex;
    gap: 0.5rem;
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
    color: #1E334C;
}

.det-role-type[b-mo2cwyg2kw] {
    font-weight: 600;
    color: #5B7A9A;
    min-width: 4rem;
}

/* ── Tabs ───────────────────────────────────────────────────────────────── */

.det-tabs-wrap[b-mo2cwyg2kw] {
    overflow-x: auto;
    border-bottom: 2px solid #dceaf8;
    margin-bottom: 0;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #F4F8FC;
}

.det-tabs-wrap[b-mo2cwyg2kw]::-webkit-scrollbar { height: 4px; }
.det-tabs-wrap[b-mo2cwyg2kw]::-webkit-scrollbar-track { background: #F4F8FC; }
.det-tabs-wrap[b-mo2cwyg2kw]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

.det-tabs[b-mo2cwyg2kw] {
    flex-wrap: nowrap;
    border-bottom: none;
    min-width: max-content;
}

.det-tabs .nav-link[b-mo2cwyg2kw] {
    color: #5B7A9A;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.6rem 0.9rem;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    white-space: nowrap;
    transition: color 0.12s, border-color 0.12s;
    margin-bottom: -2px;
}

.det-tabs .nav-link:hover[b-mo2cwyg2kw] {
    color: #1E334C;
    border-bottom-color: #b5cfe8;
}

.det-tabs .nav-link.active[b-mo2cwyg2kw] {
    color: #1E334C;
    font-weight: 600;
    border-bottom-color: #1E334C;
    background: transparent;
}

.det-tab-content[b-mo2cwyg2kw] {
    padding-top: 1.25rem;
}

/* ── Eco cards (Dati economici) ─────────────────────────────────────────── */

.det-eco-card[b-mo2cwyg2kw] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    padding: 0.85rem 1rem;
    height: 100%;
}

.det-eco-label[b-mo2cwyg2kw] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}

.det-eco-value[b-mo2cwyg2kw] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1E334C;
}

.det-eco-sub[b-mo2cwyg2kw] {
    font-size: 0.75rem;
    color: #5B7A9A;
    margin-top: 0.15rem;
}

.det-eco-total[b-mo2cwyg2kw] {
    background: #eef4fb;
    border-color: #b5cfe8;
}

.det-eco-success[b-mo2cwyg2kw] {
    background: #edf6ea;
    border-color: #a3cca3;
}

.det-eco-success .det-eco-value[b-mo2cwyg2kw] { color: #3a6b27; }

.det-eco-danger[b-mo2cwyg2kw] {
    background: #fdecea;
    border-color: #e5b0a8;
}

.det-eco-danger .det-eco-value[b-mo2cwyg2kw] { color: #9e2d1e; }

/* ── Inner tables ───────────────────────────────────────────────────────── */

.det-inner-table[b-mo2cwyg2kw] {
    margin-bottom: 0;
}

.det-inner-table thead th[b-mo2cwyg2kw] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.55rem 0.75rem;
    white-space: nowrap;
}

.det-inner-table td[b-mo2cwyg2kw],
.det-inner-table tfoot th[b-mo2cwyg2kw],
.det-inner-table tfoot td[b-mo2cwyg2kw] {
    padding: 0.6rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

/* ── State badge (inline in subtitle) ──────────────────────────────────── */

.det-state-badge[b-mo2cwyg2kw] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #e8edf4;
    color: #5B7A9A;
    white-space: nowrap;
    vertical-align: middle;
}

/* ── Category badge ─────────────────────────────────────────────────────── */

.det-cat-badge[b-mo2cwyg2kw] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #f0ebfa;
    color: #6b3aaa;
    white-space: nowrap;
    vertical-align: middle;
}

/* ── Stato badge (table rows) ───────────────────────────────────────────── */

.det-stato-badge[b-mo2cwyg2kw] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #e8edf4;
    color: #5B7A9A;
    white-space: nowrap;
}

.det-stato-badge.det-stato-bozza[b-mo2cwyg2kw]    { background: #f4f5f7; color: #8696a7; }
.det-stato-badge.det-stato-verifica[b-mo2cwyg2kw] { background: #fff3cd; color: #856404; }
.det-stato-badge.det-stato-anomalie[b-mo2cwyg2kw] { background: #fdecea; color: #9e2d1e; }
.det-stato-badge.det-stato-validato[b-mo2cwyg2kw] { background: #edf6ea; color: #3a6b27; }

/* ── Icon button ────────────────────────────────────────────────────────── */

.det-icon-btn[b-mo2cwyg2kw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.det-icon-btn:hover[b-mo2cwyg2kw] { background: #edf3fb; color: #1E334C; }

/* ── Empty state ────────────────────────────────────────────────────────── */

.det-empty[b-mo2cwyg2kw] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.det-empty .bi[b-mo2cwyg2kw] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.det-empty-title[b-mo2cwyg2kw] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.det-empty-text[b-mo2cwyg2kw] {
    font-size: 0.875rem;
    color: #5B7A9A;
}

/* ── Navigation shell ───────────────────────────────────────────────────── */

.wn-shell[b-mo2cwyg2kw] {
    --wn-primary:        #001B48;
    --wn-primary-soft:   #EAF0F8;
    --wn-hover:          #F7F9FC;
    --wn-border:         #DDE5EF;
    --wn-text:           #001B48;
    --wn-text-secondary: #60748F;
    --wn-text-muted:     #8FA0B5;
    --wn-surface:        #FFFFFF;

    position: relative;
    background: var(--wn-surface);
    border: 1px solid var(--wn-border);
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

/* ── Primo livello ──────────────────────────────────────────────────────── */

.wn-primary-wrap[b-mo2cwyg2kw] {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--wn-border);
}

.wn-primary[b-mo2cwyg2kw] {
    display: flex;
    align-items: stretch;
    flex: 1;
    min-height: 58px;
    overflow-x: auto;
    scrollbar-width: none;
}

.wn-primary[b-mo2cwyg2kw]::-webkit-scrollbar { display: none; }

.wn-tab[b-mo2cwyg2kw] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 20px;
    min-height: 58px;
    font-size: 14px;
    font-weight: 500;
    color: var(--wn-text-secondary);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: color .13s, border-color .13s, background .13s;
    outline-offset: -3px;
}

.wn-tab i[b-mo2cwyg2kw] { font-size: 16px; }

.wn-tab:hover[b-mo2cwyg2kw] {
    background: var(--wn-hover);
    color: var(--wn-primary);
}

.wn-tab:focus-visible[b-mo2cwyg2kw] { outline: 2px solid var(--wn-primary); }

.wn-tab.active[b-mo2cwyg2kw] {
    color: var(--wn-primary);
    font-weight: 600;
    border-bottom-color: var(--wn-primary);
}

/* Frecce scroll */

.wn-arrow[b-mo2cwyg2kw] {
    flex: 0 0 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    background: var(--wn-surface);
    border: none;
    color: var(--wn-text-secondary);
    cursor: pointer;
    font-size: 13px;
    transition: color .13s, background .13s;
    z-index: 1;
}

.wn-arrow:hover[b-mo2cwyg2kw] { background: var(--wn-hover); color: var(--wn-primary); }
.wn-arrow:focus-visible[b-mo2cwyg2kw] { outline: 2px solid var(--wn-primary); outline-offset: -3px; }

.wn-arrow--left[b-mo2cwyg2kw]  { border-right: 1px solid var(--wn-border); }
.wn-arrow--right[b-mo2cwyg2kw] { border-left:  1px solid var(--wn-border); }

.wn-arrow--hidden[b-mo2cwyg2kw] { visibility: hidden; pointer-events: none; }

/* ── Secondo livello ────────────────────────────────────────────────────── */

.wn-secondary[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    min-height: 44px;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0 8px;
}

.wn-secondary[b-mo2cwyg2kw]::-webkit-scrollbar { display: none; }

/* Economia: layout a gruppi con label */

.wn-secondary--economia[b-mo2cwyg2kw] {
    align-items: stretch;
    padding: 0;
}

.wn-sub-group[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    padding: 5px 8px 0;
    flex: 0 0 auto;
}

.wn-sub-group-label[b-mo2cwyg2kw] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--wn-text-muted);
    white-space: nowrap;
    padding: 0 4px;
    margin-bottom: 1px;
    pointer-events: none;
    user-select: none;
}

.wn-sub-group-items[b-mo2cwyg2kw] {
    display: flex;
    align-items: stretch;
    flex: 1;
}

.wn-sub-sep[b-mo2cwyg2kw] {
    width: 1px;
    background: var(--wn-border);
    margin: 8px 0;
    flex-shrink: 0;
}

/* Sub-tab generico */

.wn-sub-tab[b-mo2cwyg2kw] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding: 0 12px;
    min-height: 40px;
    font-size: 13px;
    font-weight: 500;
    color: var(--wn-text-secondary);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: color .13s, border-color .13s;
    outline-offset: -3px;
}

.wn-sub-tab:hover[b-mo2cwyg2kw] { color: var(--wn-primary); }
.wn-sub-tab:focus-visible[b-mo2cwyg2kw] { outline: 2px solid var(--wn-primary); }

.wn-sub-tab.active[b-mo2cwyg2kw] {
    color: var(--wn-primary);
    font-weight: 600;
    border-bottom-color: var(--wn-primary);
}

/* ── Tab content container ──────────────────────────────────────────────── */

.det-tab-body[b-mo2cwyg2kw] {
    padding-top: 1.25rem;
}

/* ── Alert banner ───────────────────────────────────────────────────────── */

.det-alert-banner[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #fff8e1;
    border: 1px solid #ffd54f;
    border-radius: 8px;
    padding: 0.65rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: #6d4c00;
}

.det-alert-banner.danger[b-mo2cwyg2kw] {
    background: #fdecea;
    border-color: #e5b0a8;
    color: #7a1c0e;
}

/* ── Previsionale badge ─────────────────────────────────────────────────── */

.det-prev-badge[b-mo2cwyg2kw] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    white-space: nowrap;
}

.det-prev-ok[b-mo2cwyg2kw]   { background: #edf6ea; color: #3a6b27; }
.det-prev-warn[b-mo2cwyg2kw] { background: #fff3cd; color: #856404; }
.det-prev-over[b-mo2cwyg2kw] { background: #fdecea; color: #9e2d1e; }
.det-prev-nc[b-mo2cwyg2kw]   { background: #f4f5f7; color: #8696a7; }

.det-prev-scost-pos[b-mo2cwyg2kw] { color: #9e2d1e; font-weight: 600; }
.det-prev-scost-neg[b-mo2cwyg2kw] { color: #3a6b27; font-weight: 600; }
.det-prev-scost-zero[b-mo2cwyg2kw] { color: #5B7A9A; font-weight: 600; }

/* ── Previsionale form card ─────────────────────────────────────────────── */

.det-prev-form-card[b-mo2cwyg2kw] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.25rem;
}

.det-prev-form-card .form-label[b-mo2cwyg2kw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

/* ── Panoramica alert card ──────────────────────────────────────────────── */

.det-pan-alert-card[b-mo2cwyg2kw] {
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-left: 4px solid #ffc107;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 0.85rem;
    color: #6d4c00;
}

.det-pan-alert-card.danger[b-mo2cwyg2kw] {
    background: #fdecea;
    border-color: #e5b0a8;
    border-left-color: #c62828;
    color: #7a1c0e;
}

/* ── Accordi con il cliente ─────────────────────────────────────────────── */

.det-accordi[b-mo2cwyg2kw] {
    border-left: 4px solid #1E334C;
}

.det-accordi-header[b-mo2cwyg2kw] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.det-accordi-empty[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    color: #8696a7;
    font-size: 0.875rem;
    gap: 4px;
    text-align: center;
}

.det-accordi-empty i[b-mo2cwyg2kw] {
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

.det-accordi-group[b-mo2cwyg2kw] {
    background: #f7fafd;
    border: 1px solid #dce8f5;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}

.det-accordi-group-title[b-mo2cwyg2kw] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.65rem;
}

.det-accordi-value[b-mo2cwyg2kw] {
    font-size: 1rem;
    font-weight: 600;
    color: #1a2740;
    margin-bottom: 0.4rem;
}

.det-accordi-contact[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    color: #495057;
    margin-bottom: 4px;
}

.det-accordi-contact a[b-mo2cwyg2kw] {
    color: #1E334C;
    text-decoration: none;
}

.det-accordi-contact a:hover[b-mo2cwyg2kw] {
    text-decoration: underline;
}

.det-accordi-link[b-mo2cwyg2kw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #1E334C;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.det-accordi-link:hover[b-mo2cwyg2kw] {
    text-decoration: underline;
}

.det-accordi-eco-row[b-mo2cwyg2kw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    padding: 4px 0;
    border-bottom: 1px solid #eef3f8;
    gap: 0.5rem;
}

.det-accordi-eco-row:last-child[b-mo2cwyg2kw] {
    border-bottom: none;
}

.det-accordi-eco-row span:first-child[b-mo2cwyg2kw] {
    color: #6c757d;
}

.det-accordi-eco-row span:last-child[b-mo2cwyg2kw],
.det-accordi-eco-row strong[b-mo2cwyg2kw] {
    font-weight: 600;
    color: #1a2740;
    text-align: right;
}

.det-accordi-stato-badge[b-mo2cwyg2kw] {
    display: inline-block;
    font-size: 0.73rem;
    font-weight: 700;
    padding: 0.22em 0.7em;
    border-radius: 20px;
    white-space: nowrap;
}

.det-accordi-stato-ok[b-mo2cwyg2kw]      { background: #edf6ea; color: #3a6b27; }
.det-accordi-stato-warn[b-mo2cwyg2kw]    { background: #fff3cd; color: #856404; }
.det-accordi-stato-danger[b-mo2cwyg2kw]  { background: #fdecea; color: #9e2d1e; }
.det-accordi-stato-neutral[b-mo2cwyg2kw] { background: #f4f5f7; color: #8696a7; }

/* ── Cantiere dashboard ──────────────────────────────────────────────────── */

.site-dashboard-grid[b-mo2cwyg2kw] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.1rem;
    align-items: start;
}

.site-dashboard-card[b-mo2cwyg2kw] {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    padding: 1.1rem 1.2rem;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.site-card-alert[b-mo2cwyg2kw] {
    border-left: 4px solid #e5b0a8;
}

.site-card-ok[b-mo2cwyg2kw] {
    border-left-color: #a8d5a2;
}

.site-card-title[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.75rem;
}

.site-alert-count-badge[b-mo2cwyg2kw] {
    margin-left: auto;
    background: #C0614F;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.site-card-empty-ok[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #3a6b27;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 0.5rem 0;
}

.site-card-empty-ok i[b-mo2cwyg2kw] {
    font-size: 1.2rem;
}

.site-card-empty[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    color: #8696a7;
    font-size: 0.82rem;
    text-align: center;
    gap: 4px;
    padding: 0.5rem 0;
}

.site-card-empty i[b-mo2cwyg2kw] {
    font-size: 1.8rem;
    margin-bottom: 0.2rem;
}

/* Alert list inside card */
.site-alert-list[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.site-alert-row[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid transparent;
}

.site-alert-danger[b-mo2cwyg2kw] { background: #fef5f4; border-color: #f3c8c3; }
.site-alert-warn[b-mo2cwyg2kw]   { background: #fffbf0; border-color: #ffe6a0; }

.site-alert-bar[b-mo2cwyg2kw] {
    width: 4px;
    align-self: stretch;
    flex-shrink: 0;
}

.site-alert-danger .site-alert-bar[b-mo2cwyg2kw] { background: #c62828; }
.site-alert-warn   .site-alert-bar[b-mo2cwyg2kw] { background: #e6a817; }

.site-alert-body[b-mo2cwyg2kw] {
    flex: 1;
    padding: 0.5rem 0.6rem;
    min-width: 0;
}

.site-alert-label[b-mo2cwyg2kw] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #2c2c2c;
    line-height: 1.2;
}

.site-alert-desc[b-mo2cwyg2kw] {
    font-size: 0.72rem;
    color: #6c757d;
    line-height: 1.3;
}

.site-alert-cta[b-mo2cwyg2kw] {
    background: none;
    border: none;
    font-size: 0.72rem;
    font-weight: 700;
    color: #1E334C;
    cursor: pointer;
    padding: 0 0.7rem;
    align-self: stretch;
    display: flex;
    align-items: center;
    transition: background 0.12s;
    flex-shrink: 0;
}

.site-alert-cta:hover[b-mo2cwyg2kw] { background: rgba(30,51,76,.07); }

/* QR area */
.site-qr-area[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 0;
}

.site-qr-missing[b-mo2cwyg2kw] {
    color: #8696a7;
    text-align: center;
}

.site-qr-placeholder[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border: 2px dashed #c8d8e8;
    border-radius: 10px;
    color: #a0b5c8;
    font-size: 2.5rem;
    gap: 4px;
    cursor: default;
}

.site-qr-hint[b-mo2cwyg2kw] {
    font-size: 0.65rem;
    text-align: center;
    line-height: 1.2;
    color: #a0b5c8;
    padding: 0 4px;
}

.site-qr-meta[b-mo2cwyg2kw] {
    text-align: center;
}

/* Contact card */
.site-contact-name[b-mo2cwyg2kw] {
    font-size: 1rem;
    font-weight: 600;
    color: #1a2740;
    margin-bottom: 0.5rem;
}

.site-contact-row[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    color: #495057;
    margin-bottom: 4px;
}

.site-contact-row a[b-mo2cwyg2kw] {
    color: #1E334C;
    text-decoration: none;
}

.site-contact-row a:hover[b-mo2cwyg2kw] {
    text-decoration: underline;
}

/* Last report row */
.site-last-rapp[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 0.25rem;
}

/* Workers */
.site-workers-list[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.site-worker-row[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-worker-avatar[b-mo2cwyg2kw] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dce8f5;
    color: #1E334C;
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    user-select: none;
}

.site-worker-info[b-mo2cwyg2kw] {
    min-width: 0;
}

.site-worker-name[b-mo2cwyg2kw] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a2740;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.site-worker-meta[b-mo2cwyg2kw] {
    font-size: 0.72rem;
    color: #8696a7;
}

/* Field grid (Dati cantiere) */
.site-field-grid[b-mo2cwyg2kw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 1rem;
}

.site-field-span2[b-mo2cwyg2kw] {
    grid-column: 1 / -1;
}

/* Document status list */
.site-doc-list[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.site-doc-row[b-mo2cwyg2kw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.45rem 0;
    border-bottom: 1px solid #f0f0f0;
}

.site-doc-row:last-child[b-mo2cwyg2kw] {
    border-bottom: none;
}

.site-doc-label[b-mo2cwyg2kw] {
    font-size: 0.83rem;
    color: #495057;
}

/* Quick actions */
.site-quick-actions[b-mo2cwyg2kw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.site-quick-btn[b-mo2cwyg2kw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: #f7fafd;
    border: 1px solid #dce8f5;
    border-radius: 10px;
    padding: 0.75rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #1a2740;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
    text-align: center;
    line-height: 1.2;
}

.site-quick-btn i[b-mo2cwyg2kw] {
    font-size: 1.2rem;
    color: #1E334C;
}

.site-quick-btn:hover[b-mo2cwyg2kw] {
    background: #e8f0f9;
    border-color: #b0c8e8;
    color: #1E334C;
}

@media (max-width: 480px) {
    .site-dashboard-grid[b-mo2cwyg2kw] {
        grid-template-columns: 1fr;
    }

    .site-quick-actions[b-mo2cwyg2kw] {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexCME.razor.rz.scp.css */
/* ── Empty state upload ───────────────────────────────────────────────── */

.cme-upload-card[b-rfih1aunep] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 600px;
    margin: 2rem auto;
    background: #fff;
    border: 1px solid #DDE5EF;
    border-radius: 16px;
    padding: 2.5rem 2rem;
}

.cme-upload-icon-wrap[b-rfih1aunep] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #EEF3FB;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.cme-upload-icon-wrap .bi[b-rfih1aunep] {
    font-size: 2.2rem;
    color: #001B48;
}

.cme-upload-title[b-rfih1aunep] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.5rem;
}

.cme-upload-text[b-rfih1aunep] {
    font-size: 0.875rem;
    color: #60748F;
    line-height: 1.65;
    max-width: 440px;
    margin: 0 auto 1.25rem;
}

/* ── Dropzone ────────────────────────────────────────────────────────── */

.cme-dropzone[b-rfih1aunep] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 1.75rem 1.5rem;
    border: 2px dashed #BDC9D8;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    background: #F7FAFC;
    text-align: center;
    gap: 0.4rem;
}

.cme-dropzone:hover[b-rfih1aunep],
.cme-dropzone:focus[b-rfih1aunep] {
    border-color: #001B48;
    background: #EEF3FB;
    outline: none;
}

.cme-dropzone.has-file[b-rfih1aunep] {
    border-style: solid;
    border-color: #001B48;
    background: #EEF3FB;
}

.cme-dropzone-icon[b-rfih1aunep] {
    font-size: 2rem;
    color: #8696a7;
    margin-bottom: 0.25rem;
}

.cme-dropzone-main[b-rfih1aunep] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E334C;
}

.cme-dropzone-or[b-rfih1aunep] {
    font-size: 0.78rem;
    color: #8696a7;
}

.cme-dropzone-hint[b-rfih1aunep] {
    font-size: 0.75rem;
    color: #8696a7;
    margin-top: 0.25rem;
}

/* ── Progress bar ──────────────────────────────────────────────────────── */

.cme-progress-wrap[b-rfih1aunep] {
    padding: 2.5rem 1.5rem;
    text-align: center;
    max-width: 520px;
    margin: 0 auto;
}

.cme-progress-header[b-rfih1aunep] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

.cme-progress-icon[b-rfih1aunep] {
    font-size: 1.4rem;
    color: #001B48;
    animation: cme-pulse-b-rfih1aunep 2s ease-in-out infinite;
}

@keyframes cme-pulse-b-rfih1aunep {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.6; transform: scale(0.92); }
}

.cme-progress-title[b-rfih1aunep] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
}

.cme-progress-fase[b-rfih1aunep] {
    font-size: 0.8125rem;
    color: #5B7A9A;
    margin-bottom: 0.75rem;
    min-height: 1.2em;
    transition: color 0.3s;
}

.cme-progress-bar-wrap[b-rfih1aunep] {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 99px;
    overflow: hidden;
    margin-bottom: 0.45rem;
}

.cme-progress-bar[b-rfih1aunep] {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, #001B48, #2c6a9e);
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.cme-progress-shimmer[b-rfih1aunep] {
    position: absolute;
    top: 0; left: -60%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.45) 50%, transparent 100%);
    animation: cme-shimmer-b-rfih1aunep 1.6s ease-in-out infinite;
}

@keyframes cme-shimmer-b-rfih1aunep {
    0%   { left: -60%; }
    100% { left: 110%; }
}

.cme-progress-pct[b-rfih1aunep] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #8696a7;
    letter-spacing: 0.04em;
    margin-bottom: 0.9rem;
}

.cme-cancel-btn[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.9rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #5B7A9A;
    background: transparent;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    cursor: pointer;
    margin-bottom: 1.25rem;
    transition: color 0.12s, border-color 0.12s, background 0.12s;
}

.cme-cancel-btn:hover[b-rfih1aunep] {
    color: #dc2626;
    border-color: #fca5a5;
    background: #fff5f5;
}

.cme-log-panel[b-rfih1aunep] {
    margin: 1rem auto 0;
    max-width: 560px;
    background: #0f172a;
    border-radius: 8px;
    padding: 0.6rem 0.9rem;
    font-family: 'Consolas', 'Menlo', monospace;
    font-size: 0.72rem;
    line-height: 1.55;
    text-align: left;
    max-height: 200px;
    overflow-y: auto;
}

.cme-log-row[b-rfih1aunep] { display: flex; gap: 0.6rem; color: #94a3b8; }
.cme-log-row.cme-log-err[b-rfih1aunep] { color: #f87171; }
.cme-log-ts[b-rfih1aunep] { color: #475569; flex-shrink: 0; user-select: none; }

/* ── Action bar ──────────────────────────────────────────────────────── */

.cme-action-bar[b-rfih1aunep] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.cme-action-bar-right[b-rfih1aunep] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.cme-btn-outline[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border: 1px solid #DDE5EF;
    border-radius: 8px;
    color: #001B48;
    font-size: 0.8125rem;
    font-weight: 500;
    padding: 0.4rem 0.85rem;
    height: 40px;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
}

.cme-btn-outline:hover[b-rfih1aunep] {
    background: #F7F9FC;
    border-color: #B8C9D9;
}

/* ── Barra documento/revisione ───────────────────────────────────────── */

.cme-doc-bar[b-rfih1aunep] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #fff;
    border: 1px solid #DDE5EF;
    border-radius: 12px;
    padding: 0.875rem 1.25rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.cme-doc-bar-left[b-rfih1aunep] {
    display: flex;
    align-items: flex-start;
    gap: 0;
    flex: 1;
    min-width: 0;
}

.cme-doc-bar-right[b-rfih1aunep] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.cme-doc-info[b-rfih1aunep] { min-width: 0; }

.cme-doc-filename[b-rfih1aunep] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 400px;
}

.cme-doc-meta[b-rfih1aunep] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    font-size: 0.78rem;
    color: #60748F;
    margin-top: 0.2rem;
}

.cme-doc-sep[b-rfih1aunep] { color: #BDC9D8; }

.cme-rev-label[b-rfih1aunep] {
    font-weight: 700;
    color: #1E334C;
    font-size: 0.78rem;
}

/* Badge stato revisione */
.cme-rev-badge[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.18em 0.6em;
    border-radius: 20px;
    white-space: nowrap;
}

.cme-rev-attiva[b-rfih1aunep]  { background: #D4EDDA; color: #1A7A46; }
.cme-rev-bozza[b-rfih1aunep]   { background: #FFF8E6; color: #92600A; }
.cme-rev-superata[b-rfih1aunep]{ background: #EEF1F5; color: #60748F; }

/* ── KPI strip ───────────────────────────────────────────────────────── */

.cme-kpi-strip[b-rfih1aunep] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

@media (max-width: 1000px) { .cme-kpi-strip[b-rfih1aunep] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .cme-kpi-strip[b-rfih1aunep] { grid-template-columns: repeat(2, 1fr); } }

.cme-kpi[b-rfih1aunep] {
    background: #fff;
    border: 1px solid #E8EEF6;
    border-radius: 12px;
    padding: 14px 16px 12px;
    border-left: 4px solid #CBD5E1;
    position: relative;
}

.cme-kpi--tot[b-rfih1aunep] { border-left-color: #001B48; }
.cme-kpi--mat[b-rfih1aunep] { border-left-color: #3D7BF0; }
.cme-kpi--mez[b-rfih1aunep] { border-left-color: #F59E0B; }
.cme-kpi--sic[b-rfih1aunep] { border-left-color: #E74C3C; }
.cme-kpi--srv[b-rfih1aunep] { border-left-color: #6366F1; }

/* Header riga label + icona */
.cme-kpi__top[b-rfih1aunep] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.cme-kpi__lbl[b-rfih1aunep] {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #7C86A3;
}

.cme-kpi__ico[b-rfih1aunep] {
    font-size: 0.9rem;
    opacity: 0.55;
    flex-shrink: 0;
}

.cme-kpi--tot .cme-kpi__ico[b-rfih1aunep] { color: #001B48; }
.cme-kpi--mat .cme-kpi__ico[b-rfih1aunep] { color: #3D7BF0; }
.cme-kpi--mez .cme-kpi__ico[b-rfih1aunep] { color: #F59E0B; }
.cme-kpi--sic .cme-kpi__ico[b-rfih1aunep] { color: #E74C3C; }
.cme-kpi--srv .cme-kpi__ico[b-rfih1aunep] { color: #6366F1; }

.cme-kpi__val[b-rfih1aunep] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.cme-kpi__sub[b-rfih1aunep] {
    font-size: 0.75rem;
    color: #60748F;
    margin-top: 2px;
}

.cme-kpi__pct[b-rfih1aunep] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #A0AEC0;
    margin-top: 1px;
}

/* ── Filtri ──────────────────────────────────────────────────────────── */

.cme-filters-row[b-rfih1aunep] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.cme-tab-bar[b-rfih1aunep] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.cme-tab[b-rfih1aunep] {
    background: #F5F8FC;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    padding: 0.3rem 0.65rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transition: background 0.1s, color 0.1s, border-color 0.1s;
    white-space: nowrap;
}

.cme-tab:hover[b-rfih1aunep] { background: #EDF3FB; color: #1E334C; }

.cme-tab.active[b-rfih1aunep] {
    background: #001B48;
    border-color: #001B48;
    color: #fff;
    font-weight: 700;
}

.cme-tab.active .cme-tab-badge[b-rfih1aunep] { background: rgba(255,255,255,0.25); color: #fff; }

.cme-tab-badge[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    height: 1.4em;
    background: #e8edf4;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0 0.3em;
    border-radius: 10px;
}

/* ── Pulsante Filtri ─────────────────────────────────────────────────── */

.cme-btn-filtri[b-rfih1aunep] {
    flex-shrink: 0;
    position: relative;
}

.cme-btn-filtri.active[b-rfih1aunep] {
    background: #EEF3FB;
    border-color: #001B48;
    color: #001B48;
    font-weight: 600;
}

.cme-btn-filtri-dot[b-rfih1aunep] {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #001B48;
}

/* ── Search ──────────────────────────────────────────────────────────── */

.cme-search-wrap[b-rfih1aunep] {
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}

.cme-search-icon[b-rfih1aunep] {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: #8696a7;
    font-size: 0.85rem;
    pointer-events: none;
}

.cme-search-input[b-rfih1aunep] {
    width: 100%;
    padding: 0.4rem 0.75rem 0.4rem 2rem;
    border: 1px solid #DDE5EF;
    border-radius: 8px;
    font-size: 0.8125rem;
    color: #1E334C;
    background: #fff;
    outline: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.cme-search-input:focus[b-rfih1aunep] {
    border-color: #001B48;
    box-shadow: 0 0 0 3px rgba(0,27,72,0.08);
}

/* ── Tabella ─────────────────────────────────────────────────────────── */

.cme-table[b-rfih1aunep] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}

.cme-table thead th[b-rfih1aunep] {
    background: #F7FAFD;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #5B7A9A;
    padding: 0.6rem 0.8rem;
    border-bottom: 2px solid #DCE6F2;
    white-space: nowrap;
}

.cme-table tbody td[b-rfih1aunep] {
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid #F0F5FB;
    font-size: 0.8125rem;
    color: #17324D;
    vertical-align: middle;
}

.cme-table tfoot td[b-rfih1aunep] {
    padding: 0.6rem 0.8rem;
    background: #F7FAFD;
    border-top: 2px solid #DCE6F2;
}

.cme-row[b-rfih1aunep] { transition: background 0.08s; }
.cme-row:hover td[b-rfih1aunep] { background: #F7FAFD; }

.cme-row-edit td[b-rfih1aunep] {
    background: #F0F7FF;
    border-bottom: 2px solid #BCD6F5;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

/* Celle */
.cme-tariffa[b-rfih1aunep] {
    font-family: monospace;
    font-size: 0.78rem;
    font-weight: 600;
    color: #001B48;
    background: #E8F1FA;
    padding: 0.1em 0.45em;
    border-radius: 4px;
    white-space: nowrap;
}

.cme-desc[b-rfih1aunep] {
    color: #17324D;
    font-size: 0.8125rem;
    max-width: 360px;
}

.cme-cat-inline[b-rfih1aunep] {
    font-size: 0.7rem;
    color: #8696A7;
    margin-top: 1px;
}

.cme-um[b-rfih1aunep] {
    font-size: 0.75rem;
    color: #5B7A9A;
    font-weight: 600;
}

.cme-num[b-rfih1aunep] {
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
    color: #17324D;
}

.cme-importo[b-rfih1aunep] {
    font-weight: 700;
    color: #1E334C;
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
}

.cme-tfoot-label[b-rfih1aunep] {
    font-weight: 700;
    color: #1E334C;
    font-size: 0.8125rem;
}

/* ── Tipo badge ──────────────────────────────────────────────────────── */

.cme-tipo-badge[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.18em 0.55em;
    border-radius: 20px;
    white-space: nowrap;
}

.cme-tipo-badge.confermato[b-rfih1aunep] {
    outline: 1.5px solid currentColor;
    outline-offset: 1px;
}

.cme-tipo-select[b-rfih1aunep] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2em 0.4em;
    border-radius: 6px;
    border: 1.5px solid currentColor;
    outline: none;
    cursor: pointer;
    min-width: 110px;
}

.cme-tipo-materiale[b-rfih1aunep]          { background: #E8F1FA; color: #1A5FA8; }
.cme-tipo-mezzo[b-rfih1aunep]              { background: #FFF8E6; color: #7A5200; }
.cme-tipo-presidio_sicurezza[b-rfih1aunep] { background: #FDECEA; color: #922B21; }
.cme-tipo-servizio[b-rfih1aunep]           { background: #F0EDFE; color: #4C3D9C; }

/* ── Edit inputs ─────────────────────────────────────────────────────── */

.cme-input[b-rfih1aunep] {
    width: 100%;
    font-size: 0.8rem;
    padding: 0.2em 0.4em;
    border: 1px solid #B8CFE8;
    border-radius: 5px;
    background: #fff;
    color: #17324D;
    outline: none;
    transition: border-color 0.12s;
}

.cme-input:focus[b-rfih1aunep] {
    border-color: #001B48;
    box-shadow: 0 0 0 2px rgba(0,27,72,0.1);
}

.cme-input-desc[b-rfih1aunep] { min-width: 180px; }
.cme-input-num[b-rfih1aunep]  { width: 90px; text-align: right; }
.cme-input-sm[b-rfih1aunep]   { width: 80px; }

/* ── Azioni colonna ──────────────────────────────────────────────────── */

.cme-row-actions[b-rfih1aunep] { white-space: nowrap; text-align: right; width: 1%; }

.cme-btn-edit[b-rfih1aunep],
.cme-btn-save[b-rfih1aunep],
.cme-btn-cancel[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.82rem;
    transition: background 0.1s, color 0.1s;
}

.cme-btn-edit[b-rfih1aunep]  { background: transparent; color: #8696A7; }
.cme-btn-edit:hover[b-rfih1aunep]  { background: #E8F1FA; color: #001B48; }
.cme-btn-save[b-rfih1aunep]  { background: #D4F0E2; color: #1A7A46; margin-right: 2px; }
.cme-btn-save:hover[b-rfih1aunep]  { background: #1A7A46; color: #fff; }
.cme-btn-cancel[b-rfih1aunep]{ background: transparent; color: #8696A7; }
.cme-btn-cancel:hover[b-rfih1aunep]{ background: #FDECEA; color: #922B21; }

/* ── Paginazione ─────────────────────────────────────────────────────── */

.cme-pagination-bar[b-rfih1aunep] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.cme-pagination-info[b-rfih1aunep] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cme-page-size-select[b-rfih1aunep] {
    padding: 0.3rem 0.6rem;
    border: 1px solid #DDE5EF;
    border-radius: 8px;
    font-size: 0.8rem;
    color: #1E334C;
    background: #fff;
    outline: none;
    cursor: pointer;
}

.cme-pagination-controls[b-rfih1aunep] {
    display: flex;
    align-items: center;
    gap: 3px;
}

.cme-page-btn[b-rfih1aunep] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.4rem;
    border: 1px solid #DDE5EF;
    border-radius: 8px;
    background: #fff;
    color: #1E334C;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.1s, border-color 0.1s;
}

.cme-page-btn:hover:not(:disabled)[b-rfih1aunep] { background: #F0F5FB; border-color: #B8C9D9; }
.cme-page-btn:disabled[b-rfih1aunep] { opacity: 0.4; cursor: not-allowed; }
.cme-page-btn.active[b-rfih1aunep] {
    background: #001B48;
    border-color: #001B48;
    color: #fff;
    font-weight: 700;
}

/* ── Sticky footer modifiche ─────────────────────────────────────────── */

.cme-sticky-footer[b-rfih1aunep] {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #fff;
    border-top: 1px solid #DDE5EF;
    padding: 0.75rem 1rem;
    margin-top: 1rem;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 -4px 12px rgba(0,27,72,0.07);
    z-index: 20;
}

.cme-sticky-text[b-rfih1aunep] {
    flex: 1;
    font-size: 0.83rem;
    font-weight: 600;
    color: #92600A;
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.cme-empty[b-rfih1aunep] { text-align: center; }
.cme-empty .bi[b-rfih1aunep] { font-size: 2.5rem; color: #C8D8E8; display: block; margin-bottom: 0.75rem; }
.cme-empty-title[b-rfih1aunep] { font-size: 1rem; font-weight: 600; color: #1E334C; margin-bottom: 0.35rem; }
.cme-empty-text[b-rfih1aunep]  { font-size: 0.875rem; color: #8696A7; max-width: 480px; margin: 0 auto; line-height: 1.6; }

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .cme-doc-bar[b-rfih1aunep] { flex-direction: column; align-items: flex-start; }
    .cme-doc-bar-right[b-rfih1aunep] { width: 100%; justify-content: flex-end; }
    .cme-action-bar[b-rfih1aunep] { justify-content: flex-start; }
    .cme-doc-filename[b-rfih1aunep] { max-width: 240px; }
    .cme-upload-card[b-rfih1aunep] { padding: 1.75rem 1.25rem; }
}

@media (max-width: 480px) {
    .cme-pagination-bar[b-rfih1aunep] { flex-direction: column; align-items: flex-start; }
    .cme-search-wrap[b-rfih1aunep] { max-width: 100%; min-width: 0; }
    .cme-filters-row[b-rfih1aunep] { flex-direction: column; align-items: flex-start; }
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexCMEAnalisi.razor.rz.scp.css */
.cme-analisi-empty[b-wslcbbvbm8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem 2rem;
    max-width: 560px;
    margin: 2rem auto;
    background: #fff;
    border: 1px solid #DDE5EF;
    border-radius: 16px;
}

.cme-analisi-icon-wrap[b-wslcbbvbm8] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #EEF3FB;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.cme-analisi-icon-wrap .bi[b-wslcbbvbm8] {
    font-size: 2rem;
    color: #001B48;
}

.cme-analisi-title[b-wslcbbvbm8] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.5rem;
}

.cme-analisi-text[b-wslcbbvbm8] {
    font-size: 0.875rem;
    color: #60748F;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    max-width: 420px;
}

.cme-analisi-badge[b-wslcbbvbm8] {
    display: inline-block;
    background: #FFF8E6;
    color: #92600A;
    border: 1px solid #FDDDA0;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25em 0.9em;
    letter-spacing: 0.04em;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredAcquisti.razor.rz.scp.css */
/* Acquisti nella commessa (_IndexFilteredAcquisti) */

/* ── Card wrapper ─────────────────────────────────────────────────── */

.ac-card[b-fx0g17f0qm] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.ac-card-header[b-fx0g17f0qm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.ac-card-title[b-fx0g17f0qm] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.ac-card-sub[b-fx0g17f0qm] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── KPI strip ──────────────────────────────────────────────────────── */

.ac-kpi-strip[b-fx0g17f0qm] {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #E2E8F0;
}

.ac-kpi-item[b-fx0g17f0qm] {
    flex: 1 1 130px;
    padding: 0.85rem 1.25rem;
    border-right: 1px solid #E2E8F0;
}

.ac-kpi-item:last-child[b-fx0g17f0qm] { border-right: none; }

.ac-kpi-label[b-fx0g17f0qm] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.2rem;
}

.ac-kpi-value[b-fx0g17f0qm] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
}

/* ── Filtri ─────────────────────────────────────────────────────────── */

.ac-filtri[b-fx0g17f0qm] {
    padding: 0.65rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.ac-filtri-input[b-fx0g17f0qm] {
    font-size: 0.8125rem;
    height: 2rem;
    border: 1px solid #CBD5E1;
    border-radius: 7px;
    padding: 0 0.65rem;
    color: #1E334C;
    background: #fff;
    outline: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.ac-filtri-input:focus[b-fx0g17f0qm] {
    border-color: #2c6a9e;
    box-shadow: 0 0 0 2px rgba(44,106,158,0.1);
}

.ac-filtri-input-wide[b-fx0g17f0qm] {
    min-width: 200px;
    flex: 1 1 200px;
}

.ac-filtri-input-date[b-fx0g17f0qm] {
    width: 140px;
}

.ac-filtri-label[b-fx0g17f0qm] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    white-space: nowrap;
}

.ac-filtri-reset[b-fx0g17f0qm] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    transition: background 0.12s, color 0.12s;
}

.ac-filtri-reset:hover[b-fx0g17f0qm] {
    background: #edf3fb;
    color: #1E334C;
}

.ac-filtri-count[b-fx0g17f0qm] {
    font-size: 0.75rem;
    color: #5B7A9A;
    font-weight: 500;
    white-space: nowrap;
}

/* ── Export button ──────────────────────────────────────────────────── */

.ac-export-btn[b-fx0g17f0qm] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 8px;
    border: 1px solid #CBD5E1;
    background: transparent;
    color: #1E334C;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
}

.ac-export-btn:hover[b-fx0g17f0qm] {
    background: #F1F5F9;
    border-color: #94A3B8;
    color: #1E334C;
}

.ac-export-btn[b-fx0g17f0qm]::after { display: none !important; }

/* ── Table wrapper ──────────────────────────────────────────────────── */

.ac-table-wrapper[b-fx0g17f0qm] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #fff;
}

.ac-table-wrapper[b-fx0g17f0qm]::-webkit-scrollbar { height: 4px; }
.ac-table-wrapper[b-fx0g17f0qm]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

/* ── Table ───────────────────────────────────────────────────────────── */

.ifa-table[b-fx0g17f0qm] {
    margin-bottom: 0;
}

.ifa-table thead th[b-fx0g17f0qm] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 0.75rem;
    white-space: nowrap;
}

.ifa-row[b-fx0g17f0qm] { transition: background 0.1s; }
.ifa-row:hover[b-fx0g17f0qm] { background: #f7fafd; }

.ifa-row td[b-fx0g17f0qm] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.ifa-row-expanded td[b-fx0g17f0qm] {
    padding: 0;
    border-bottom: 1px solid #dceaf8;
}

.ifa-name[b-fx0g17f0qm] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.ifa-sub[b-fx0g17f0qm] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

.ifa-link[b-fx0g17f0qm] {
    color: #2c6a9e;
    text-decoration: none;
    font-weight: 500;
}

.ifa-link:hover[b-fx0g17f0qm] { text-decoration: underline; }

/* ── Cantiere badge ──────────────────────────────────────────────────── */

.ifa-cantiere-badge[b-fx0g17f0qm] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #1E334C;
    color: #fff;
    white-space: nowrap;
}

/* ── Tfoot ───────────────────────────────────────────────────────────── */

.ifa-tfoot td[b-fx0g17f0qm] {
    background: #f7fafd;
    border-top: 2px solid #dceaf8;
    padding: 0.6rem 0.75rem;
    font-size: 0.875rem;
}

.ifa-tfoot-label[b-fx0g17f0qm] {
    font-weight: 700;
    color: #1E334C;
}

.ifa-tfoot-value[b-fx0g17f0qm] {
    font-weight: 700;
    color: #1E334C;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.ifa-icon-btn[b-fx0g17f0qm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.ifa-icon-btn:hover[b-fx0g17f0qm] { background: #edf3fb; color: #1E334C; }
.ifa-icon-btn.dropdown-toggle[b-fx0g17f0qm]::after { display: none; }

/* ── Bulk bar ────────────────────────────────────────────────────────── */

.ifa-bulk-bar[b-fx0g17f0qm] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    background: #edf3fb;
    border-top: 1px solid #c8d8ee;
    border-bottom: 1px solid #c8d8ee;
    padding: 0.5rem 1.25rem;
}

.ifa-bulk-count[b-fx0g17f0qm] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
}

/* ── Products expansion panel ────────────────────────────────────────── */

.ifa-products-panel[b-fx0g17f0qm] {
    background: #f7fafd;
    border-top: 1px solid #dceaf8;
}

.ifa-ddt-block[b-fx0g17f0qm] {
    border-bottom: 1px solid #e8eef6;
    padding: 0.75rem 1rem 0;
}

.ifa-ddt-block:last-child[b-fx0g17f0qm] {
    border-bottom: none;
}

.ifa-ddt-header[b-fx0g17f0qm] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.5rem;
}

.ifa-prod-table thead th[b-fx0g17f0qm] {
    background: #edf3fb;
    font-size: 0.7rem;
    color: #5B7A9A;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #dceaf8;
}

.ifa-prod-table tbody td[b-fx0g17f0qm] {
    font-size: 0.8125rem;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #f0f5fb;
    color: #334155;
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.ifa-empty[b-fx0g17f0qm] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.ifa-empty .bi[b-fx0g17f0qm] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.ifa-empty-title[b-fx0g17f0qm] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.ifa-empty-text[b-fx0g17f0qm] {
    font-size: 0.875rem;
    color: #5B7A9A;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredAcquistiGrouped.razor.rz.scp.css */
/* Fornitori nella commessa — _IndexFilteredAcquistiGrouped */

/* ── Card wrapper ─────────────────────────────────────────────────── */

.forn-card[b-6t0gjfuvxk] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.forn-card-header[b-6t0gjfuvxk] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.forn-card-title[b-6t0gjfuvxk] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.forn-card-sub[b-6t0gjfuvxk] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── KPI strip ──────────────────────────────────────────────────────── */

.forn-kpi-strip[b-6t0gjfuvxk] {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #E2E8F0;
}

.forn-kpi-item[b-6t0gjfuvxk] {
    flex: 1 1 130px;
    padding: 0.85rem 1.25rem;
    border-right: 1px solid #E2E8F0;
}

.forn-kpi-item:last-child[b-6t0gjfuvxk] { border-right: none; }

.forn-kpi-label[b-6t0gjfuvxk] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.2rem;
}

.forn-kpi-value[b-6t0gjfuvxk] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
}

/* ── Filtri ─────────────────────────────────────────────────────────── */

.forn-filtri[b-6t0gjfuvxk] {
    padding: 0.65rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.forn-filtri-input[b-6t0gjfuvxk] {
    font-size: 0.8125rem;
    height: 2rem;
    border: 1px solid #CBD5E1;
    border-radius: 7px;
    padding: 0 0.65rem;
    color: #1E334C;
    background: #fff;
    outline: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.forn-filtri-input:focus[b-6t0gjfuvxk] {
    border-color: #2c6a9e;
    box-shadow: 0 0 0 2px rgba(44,106,158,0.1);
}

.forn-filtri-input-wide[b-6t0gjfuvxk] {
    min-width: 180px;
    flex: 1 1 180px;
}

.forn-filtri-input-date[b-6t0gjfuvxk] { width: 140px; }

.forn-filtri-select[b-6t0gjfuvxk] { min-width: 160px; cursor: pointer; }

.forn-filtri-label[b-6t0gjfuvxk] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    white-space: nowrap;
}

.forn-filtri-reset[b-6t0gjfuvxk] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    transition: background 0.12s, color 0.12s;
}

.forn-filtri-reset:hover[b-6t0gjfuvxk] { background: #edf3fb; color: #1E334C; }

.forn-filtri-count[b-6t0gjfuvxk] {
    font-size: 0.75rem;
    color: #5B7A9A;
    font-weight: 500;
    white-space: nowrap;
}

/* ── Export button ──────────────────────────────────────────────────── */

.forn-export-btn[b-6t0gjfuvxk] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 8px;
    border: 1px solid #CBD5E1;
    background: transparent;
    color: #1E334C;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
}

.forn-export-btn:hover[b-6t0gjfuvxk] { background: #F1F5F9; border-color: #94A3B8; color: #1E334C; }
.forn-export-btn[b-6t0gjfuvxk]::after { display: none !important; }

/* ── Accordion ──────────────────────────────────────────────────────── */

.forn-accordion[b-6t0gjfuvxk] {
    display: flex;
    flex-direction: column;
}

/* ── Accordion item ─────────────────────────────────────────────────── */

.forn-item[b-6t0gjfuvxk] {
    border-bottom: 1px solid #EEF2F7;
}

.forn-item:last-child[b-6t0gjfuvxk] { border-bottom: none; }

/* ── Accordion header row ───────────────────────────────────────────── */

.forn-item-hdr[b-6t0gjfuvxk] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    cursor: pointer;
    transition: background 0.12s;
    user-select: none;
}

.forn-item-hdr:hover[b-6t0gjfuvxk] { background: #F7FAFD; }

.forn-item--open > .forn-item-hdr[b-6t0gjfuvxk] {
    background: #F0F6FF;
    border-bottom: 1px solid #DCEAF8;
}

.forn-item-name[b-6t0gjfuvxk] {
    flex: 1 1 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.forn-item-pills[b-6t0gjfuvxk] {
    display: flex;
    gap: 0.35rem;
    flex-shrink: 0;
}

.forn-pill[b-6t0gjfuvxk] {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2em 0.6em;
    border-radius: 20px;
    background: #E8F0FA;
    color: #2c6a9e;
    white-space: nowrap;
}

.forn-item-amounts[b-6t0gjfuvxk] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.forn-item-tot[b-6t0gjfuvxk] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
}

.forn-item-date[b-6t0gjfuvxk] {
    font-size: 0.75rem;
    color: #7B8FA3;
    white-space: nowrap;
}

.forn-item-chev[b-6t0gjfuvxk] {
    flex-shrink: 0;
    width: 1.5rem;
    text-align: center;
    color: #7B8FA3;
    font-size: 0.75rem;
    transition: color 0.12s;
}

.forn-item-hdr:hover .forn-item-chev[b-6t0gjfuvxk] { color: #1E334C; }

/* ── Detail panel ───────────────────────────────────────────────────── */

.forn-detail[b-6t0gjfuvxk] {
    background: #F7FAFD;
    border-top: 1px solid #DCEAF8;
    padding: 0 0 0.75rem 0;
}

.forn-dt-wrapper[b-6t0gjfuvxk] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #F7FAFD;
}

.forn-dt-wrapper[b-6t0gjfuvxk]::-webkit-scrollbar { height: 4px; }
.forn-dt-wrapper[b-6t0gjfuvxk]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

/* ── Detail table ───────────────────────────────────────────────────── */

.forn-dt-table[b-6t0gjfuvxk] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
    min-width: 700px;
}

.forn-dt-table thead th[b-6t0gjfuvxk] {
    background: #EDF3FB;
    color: #5B7A9A;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #DCEAF8;
    white-space: nowrap;
}

.forn-dt-row[b-6t0gjfuvxk] { transition: background 0.1s; }
.forn-dt-row:hover[b-6t0gjfuvxk] { background: #EDF3FB; }

.forn-dt-row td[b-6t0gjfuvxk] {
    padding: 0.55rem 0.75rem;
    vertical-align: middle;
    font-size: 0.8125rem;
    border-bottom: 1px solid #EEF2F7;
    color: #334155;
}

.forn-dt-tfoot td[b-6t0gjfuvxk] {
    background: #E8F0FA;
    border-top: 2px solid #DCEAF8;
    padding: 0.55rem 0.75rem;
    font-size: 0.8125rem;
}

.forn-tfoot-label[b-6t0gjfuvxk] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #1E334C;
}

.forn-tfoot-value[b-6t0gjfuvxk] {
    font-weight: 700;
    color: #1E334C;
}

/* ── Inline elements ────────────────────────────────────────────────── */

.forn-amount[b-6t0gjfuvxk] {
    font-weight: 600;
    color: #1E334C;
}

.forn-sub[b-6t0gjfuvxk] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

.forn-link[b-6t0gjfuvxk] {
    color: #2c6a9e;
    text-decoration: none;
    font-weight: 500;
}

.forn-link:hover[b-6t0gjfuvxk] { text-decoration: underline; }

.forn-cantiere-badge[b-6t0gjfuvxk] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.12em 0.5em;
    border-radius: 20px;
    background: #1E334C;
    color: #fff;
    white-space: nowrap;
}

/* ── Icon buttons ───────────────────────────────────────────────────── */

.forn-icon-btn[b-6t0gjfuvxk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.8125rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.forn-icon-btn:hover[b-6t0gjfuvxk] { background: #dceaf8; color: #1E334C; }
.forn-icon-btn[disabled][b-6t0gjfuvxk] { opacity: 0.35; cursor: default; }
.forn-icon-btn[disabled]:hover[b-6t0gjfuvxk] { background: transparent; }

/* ── Empty state ────────────────────────────────────────────────────── */

.forn-empty[b-6t0gjfuvxk] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.forn-empty .bi[b-6t0gjfuvxk] {
    font-size: 2.5rem;
    color: #C8D8E8;
    display: block;
    margin-bottom: 0.75rem;
}

.forn-empty-title[b-6t0gjfuvxk] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.forn-empty-text[b-6t0gjfuvxk] {
    font-size: 0.875rem;
    color: #5B7A9A;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredContract.razor.rz.scp.css */
/* _IndexFilteredContract — Contratti tab */

/* ── Info alert template ─────────────────────────────────────────────── */

.con-alert-info[b-c410s34bss] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #fffbf0;
    border: 1px solid #f0d080;
    border-left: 3px solid #d4a017;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    font-size: 0.8125rem;
    color: #6b4f00;
    line-height: 1.5;
}

.con-alert-icon[b-c410s34bss] {
    color: #d4a017;
    font-size: 1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.con-alert-body[b-c410s34bss] { flex: 1; }

.con-alert-close[b-c410s34bss] {
    background: none;
    border: none;
    cursor: pointer;
    color: #b38a00;
    padding: 0;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.65;
    transition: opacity 0.12s;
}

.con-alert-close:hover[b-c410s34bss] { opacity: 1; }

/* ── Section header ──────────────────────────────────────────────────── */

.con-section-header[b-c410s34bss] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.con-section-title[b-c410s34bss] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.con-section-sub[b-c410s34bss] {
    font-size: 0.8rem;
    color: #5B7A9A;
}

/* ── Card ────────────────────────────────────────────────────────────── */

.con-card[b-c410s34bss] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    overflow: hidden;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.con-table[b-c410s34bss] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    margin: 0;
}

.con-table thead th[b-c410s34bss] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 1rem;
    white-space: nowrap;
    border-top: none;
}

.con-table tbody td[b-c410s34bss] {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    color: #334155;
    border-bottom: 1px solid #f0f5fb;
}

.con-table tbody tr:last-child td[b-c410s34bss] { border-bottom: none; }
.con-table tbody tr:hover td[b-c410s34bss]      { background: #fafcff; }

/* ── Cell content ────────────────────────────────────────────────────── */

.con-intestatari[b-c410s34bss] {
    max-width: 240px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #1E334C;
    font-weight: 600;
}

.con-data[b-c410s34bss] {
    white-space: nowrap;
    color: #5B7A9A;
    font-size: 0.82rem;
}

.con-sub[b-c410s34bss] {
    color: #5B7A9A;
    font-size: 0.82rem;
}

.con-tag-badge[b-c410s34bss] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1em 0.45em;
    border-radius: 20px;
    background: #eef4fb;
    color: #2c6a9e;
    white-space: nowrap;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.con-icon-btn[b-c410s34bss] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    transition: background 0.12s, color 0.12s;
    flex-shrink: 0;
}

.con-icon-btn:hover[b-c410s34bss]              { background: #edf3fb; color: #1E334C; }
.con-icon-btn-danger:hover[b-c410s34bss]       { background: #fdecea; color: #9e2d1e; }

.con-actions[b-c410s34bss] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.con-empty[b-c410s34bss] {
    text-align: center;
    padding: 3rem 1.5rem;
    color: #5B7A9A;
}

.con-empty .bi[b-c410s34bss] {
    font-size: 2.5rem;
    display: block;
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.con-empty-title[b-c410s34bss] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.con-empty-text[b-c410s34bss] {
    font-size: 0.875rem;
    max-width: 360px;
    margin: 0 auto;
}

/* ── Confirm overlay ─────────────────────────────────────────────────── */

.con-confirm-overlay[b-c410s34bss] {
    position: fixed;
    inset: 0;
    background: rgba(14, 26, 41, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9900;
    animation: con-fade-in-b-c410s34bss 0.12s ease;
}

@keyframes con-fade-in-b-c410s34bss {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.con-confirm-dialog[b-c410s34bss] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    max-width: 380px;
    width: calc(100% - 2rem);
    box-shadow: 0 8px 40px rgba(14, 26, 41, 0.22);
}

.con-confirm-title[b-c410s34bss] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.6rem;
}

.con-confirm-body[b-c410s34bss] {
    font-size: 0.875rem;
    color: #5B7A9A;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}

.con-confirm-body strong[b-c410s34bss] { color: #1E334C; }

.con-confirm-actions[b-c410s34bss] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredGetto.razor.rz.scp.css */
/* Registro getti — _IndexFilteredGetto */

/* ── Card ─────────────────────────────────────────────────────────────── */

.rg-card[b-zmqfx6hynx] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.rg-card-header[b-zmqfx6hynx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.rg-card-title[b-zmqfx6hynx] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.rg-card-sub[b-zmqfx6hynx] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── Toolbar (header actions) ─────────────────────────────────────────── */

.rg-toolbar[b-zmqfx6hynx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Primary button ───────────────────────────────────────────────────── */

.rg-btn-primary[b-zmqfx6hynx] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #0B1B2B;
    color: #fff;
    border: none;
    padding: 0.45rem 1rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.rg-btn-primary:hover[b-zmqfx6hynx] { background: #162F47; }

/* ── Secondary button ─────────────────────────────────────────────────── */

.rg-btn-secondary[b-zmqfx6hynx] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: transparent;
    border: 1px solid #CBD5E1;
    color: #1E334C;
    padding: 0.45rem 0.9rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s, border-color 0.12s;
}

.rg-btn-secondary:hover:not(:disabled)[b-zmqfx6hynx] { background: #F1F5F9; border-color: #94A3B8; }
.rg-btn-secondary:disabled[b-zmqfx6hynx] { opacity: 0.45; cursor: not-allowed; }

/* ── Upload panel ─────────────────────────────────────────────────────── */

.rg-upload-panel[b-zmqfx6hynx] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin: 0.75rem 1.25rem;
}

.rg-upload-icon[b-zmqfx6hynx] {
    color: #2c6a9e;
    font-size: 1.1rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.rg-upload-label[b-zmqfx6hynx] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.35rem;
}

.rg-upload-hint[b-zmqfx6hynx] {
    font-size: 0.75rem;
    color: #5B7A9A;
}

/* ── Bulk toolbar ─────────────────────────────────────────────────────── */

.rg-bulk-bar[b-zmqfx6hynx] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    background: #EDF3FB;
    border-bottom: 1px solid #DCEAF8;
    padding: 0.6rem 1.25rem;
}

.rg-bulk-count[b-zmqfx6hynx] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E334C;
    flex: 1;
}

/* ── Table wrapper ────────────────────────────────────────────────────── */

.rg-table-wrapper[b-zmqfx6hynx] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #fff;
}

.rg-table-wrapper[b-zmqfx6hynx]::-webkit-scrollbar { height: 4px; }
.rg-table-wrapper[b-zmqfx6hynx]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

/* ── Table ────────────────────────────────────────────────────────────── */

.rg-table[b-zmqfx6hynx] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
    min-width: 1100px;
}

.rg-table thead th[b-zmqfx6hynx] {
    background: #F5F8FC;
    color: #718096;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 0.65rem;
    border-bottom: 2px solid #DCEAF8;
    white-space: nowrap;
}

.rg-table thead th.rg-th-check[b-zmqfx6hynx] {
    width: 2.5rem;
    text-align: center;
}

.rg-table thead th.rg-th-actions[b-zmqfx6hynx] {
    width: 6rem;
    text-align: center;
}

.rg-table tbody td[b-zmqfx6hynx] {
    padding: 0.6rem 0.65rem;
    font-size: 0.8125rem;
    color: #334155;
    border-bottom: 1px solid #EDF2F7;
    vertical-align: middle;
}

.rg-table tbody tr:hover td[b-zmqfx6hynx] { background: #F7FAFD; }

/* ── Add row ──────────────────────────────────────────────────────────── */

.rg-row-add td[b-zmqfx6hynx] { background: #F0FDF4; }
.rg-row-add td .form-control[b-zmqfx6hynx],
.rg-row-add td .form-select[b-zmqfx6hynx] { font-size: 0.78rem; }

/* ── Cell content ─────────────────────────────────────────────────────── */

.rg-cell-primary[b-zmqfx6hynx] {
    font-weight: 600;
    color: #1E334C;
}

.rg-cell-sub[b-zmqfx6hynx] {
    font-size: 0.72rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

/* ── Cantiere badge ───────────────────────────────────────────────────── */

.rg-badge-cantiere[b-zmqfx6hynx] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #1E334C;
    color: #fff;
    white-space: nowrap;
}

/* ── Tipo badge ───────────────────────────────────────────────────────── */

.rg-badge-concrete[b-zmqfx6hynx] { background: #dbeafe; color: #1d4ed8; font-size: 0.7rem; font-weight: 700; padding: 0.15em 0.55em; border-radius: 10px; white-space: nowrap; }
.rg-badge-steel[b-zmqfx6hynx]    { background: #fef3c7; color: #92400e; font-size: 0.7rem; font-weight: 700; padding: 0.15em 0.55em; border-radius: 10px; white-space: nowrap; }

/* ── Esito badge ──────────────────────────────────────────────────────── */

.rg-badge-ok[b-zmqfx6hynx]   { background: #DCFCE7; color: #166534; font-size: 0.7rem; font-weight: 700; padding: 0.15em 0.55em; border-radius: 10px; white-space: nowrap; }
.rg-badge-fail[b-zmqfx6hynx] { background: #FEE2E2; color: #991B1B; font-size: 0.7rem; font-weight: 700; padding: 0.15em 0.55em; border-radius: 10px; white-space: nowrap; }
.rg-badge-pend[b-zmqfx6hynx] { background: #FEF9C3; color: #854D0E; font-size: 0.7rem; font-weight: 700; padding: 0.15em 0.55em; border-radius: 10px; white-space: nowrap; }

/* ── PDF link / button ────────────────────────────────────────────────── */

.rg-pdf-link[b-zmqfx6hynx] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #c0392b;
    text-decoration: none;
    padding: 0.2em 0.5em;
    border-radius: 6px;
    border: 1px solid #fca5a5;
    background: #fff5f5;
    transition: background 0.12s;
    white-space: nowrap;
}

.rg-pdf-link:hover[b-zmqfx6hynx] { background: #fee2e2; color: #922b21; text-decoration: none; }

.rg-pdf-upload-btn[b-zmqfx6hynx] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    padding: 0.2em 0.5em;
    border-radius: 6px;
    border: 1px dashed #94A3B8;
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s, border-color 0.12s;
}

.rg-pdf-upload-btn:hover[b-zmqfx6hynx] { background: #EDF3FB; border-color: #5B7A9A; color: #1E334C; }
.rg-pdf-upload-btn.active[b-zmqfx6hynx] { background: #EDF3FB; border-color: #2c6a9e; color: #2c6a9e; border-style: solid; }

.rg-pdf-warn[b-zmqfx6hynx] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: #92400e;
    padding: 0.2em 0.5em;
    border-radius: 6px;
    border: 1px solid #fcd34d;
    background: #fffbeb;
    white-space: nowrap;
    cursor: help;
}

/* ── Icon buttons ─────────────────────────────────────────────────────── */

.rg-icon-btn[b-zmqfx6hynx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    padding: 0;
    transition: background 0.12s, color 0.12s;
}

.rg-icon-btn:hover[b-zmqfx6hynx] { background: #EDF3FB; color: #1E334C; }

.rg-icon-btn.rg-icon-danger[b-zmqfx6hynx] { color: #9e2d1e; }
.rg-icon-btn.rg-icon-danger:hover[b-zmqfx6hynx] { background: #FEE2E2; color: #7a1e12; }

.rg-icon-btn.rg-icon-success[b-zmqfx6hynx] { color: #3a6b27; }
.rg-icon-btn.rg-icon-success:hover[b-zmqfx6hynx] { background: #DCFCE7; color: #2a5020; }

.rg-icon-btn:disabled[b-zmqfx6hynx] { opacity: 0.4; cursor: not-allowed; }

/* ── Row actions cell ─────────────────────────────────────────────────── */

.rg-actions-cell[b-zmqfx6hynx] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
}

/* ── Empty state ──────────────────────────────────────────────────────── */

.rg-empty[b-zmqfx6hynx] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.rg-empty .bi[b-zmqfx6hynx] {
    font-size: 2.5rem;
    color: #C8D8E8;
    display: block;
    margin-bottom: 0.75rem;
}

.rg-empty-title[b-zmqfx6hynx] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.rg-empty-text[b-zmqfx6hynx] {
    font-size: 0.875rem;
    color: #8696A7;
}

/* ── DDT truncation ───────────────────────────────────────────────────── */

.rg-ddt-cell[b-zmqfx6hynx] {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Checkbox ─────────────────────────────────────────────────────────── */

.rg-check[b-zmqfx6hynx] { accent-color: #1E334C; }

/* ── DDT toggle cell ──────────────────────────────────────────────────── */

.rg-ddt-toggle-cell[b-zmqfx6hynx] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 180px;
}

.rg-ddt-toggle-cell > span[b-zmqfx6hynx] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.rg-ddt-toggle-btn[b-zmqfx6hynx] {
    flex-shrink: 0;
    color: #2c6a9e;
}

.rg-ddt-toggle-btn:hover[b-zmqfx6hynx] { background: #EDF3FB; color: #1E334C; }

/* ── Expanded detail row ──────────────────────────────────────────────── */

.rg-row-expanded > td[b-zmqfx6hynx] {
    padding: 0 !important;
    border-bottom: 2px solid #DCEAF8;
}

.rg-row-add-detail > td[b-zmqfx6hynx] {
    padding: 0 !important;
    background: #F0FDF4;
    border-bottom: 1px solid #BBF7D0;
}

/* ── Detail panel ─────────────────────────────────────────────────────── */

.rg-detail-panel[b-zmqfx6hynx] {
    background: #F5F9FF;
    border-top: 1px solid #DCEAF8;
    padding: 0.75rem 1.25rem 0.9rem;
}

.rg-detail-header[b-zmqfx6hynx] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    margin-bottom: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.rg-detail-grid[b-zmqfx6hynx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.rg-detail-field[b-zmqfx6hynx] {
    display: flex;
    flex-direction: column;
    min-width: 120px;
    flex: 0 1 auto;
}

.rg-detail-label[b-zmqfx6hynx] {
    font-size: 0.67rem;
    font-weight: 700;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.15rem;
}

.rg-detail-value[b-zmqfx6hynx] {
    font-size: 0.8125rem;
    color: #334155;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredOre.razor.rz.scp.css */
/* Giornale lavori aggregato (_IndexFilteredOre) */

/* ── Filtri ───────────────────────────────────────────────────────────────── */

.gl-filters[b-d3woeow1n9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.gl-filter-group[b-d3woeow1n9] {
    display: flex;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.gl-filter-btn[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid #dceaf8;
    border-radius: 20px;
    background: #fff;
    font-size: 0.8rem;
    font-weight: 500;
    color: #5B7A9A;
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    white-space: nowrap;
}

.gl-filter-btn:hover[b-d3woeow1n9] {
    border-color: #2c6a9e;
    color: #1E334C;
}

.gl-filter-btn.active[b-d3woeow1n9] {
    background: #1E334C;
    border-color: #1E334C;
    color: #fff;
}

.gl-filter-btn.active .gl-filter-count[b-d3woeow1n9] {
    background: rgba(255,255,255,0.25);
    color: #fff;
}

.gl-filter-count[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.3rem;
    padding: 0.05em 0.35em;
    font-size: 0.66rem;
    font-weight: 700;
    border-radius: 20px;
    background: #dceaf8;
    color: #5B7A9A;
}

.gl-search-wrap[b-d3woeow1n9] {
    flex: 1;
    min-width: 180px;
    max-width: 280px;
    position: relative;
}

.gl-search-icon[b-d3woeow1n9] {
    position: absolute;
    left: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: #8696a7;
    font-size: 0.8rem;
    pointer-events: none;
}

.gl-search-input[b-d3woeow1n9] {
    width: 100%;
    padding: 0.38rem 0.75rem 0.38rem 2rem;
    border: 1px solid #dceaf8;
    border-radius: 20px;
    font-size: 0.8rem;
    color: #1E334C;
    background: #fff;
    outline: none;
    transition: border-color 0.12s;
}

.gl-search-input:focus[b-d3woeow1n9] {
    border-color: #2c6a9e;
    box-shadow: 0 0 0 2px rgba(44,106,158,0.1);
}

/* ── Table ────────────────────────────────────────────────────────────────── */

.gl-table[b-d3woeow1n9] { margin-bottom: 0; }

.gl-table thead th[b-d3woeow1n9] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 0.75rem;
    white-space: nowrap;
}

.gl-row[b-d3woeow1n9] {
    transition: background 0.1s;
}

.gl-row:hover[b-d3woeow1n9] { background: #f7fafd; }

.gl-row td[b-d3woeow1n9] {
    padding: 0.75rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.gl-data-giorno[b-d3woeow1n9] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #8696a7;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gl-data-data[b-d3woeow1n9] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E334C;
}

.gl-cantiere-badge[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2em 0.65em;
    border-radius: 20px;
    background: #1E334C;
    color: #fff;
    white-space: nowrap;
}

.gl-cantiere-lg[b-d3woeow1n9] {
    font-size: 0.8rem;
    padding: 0.3em 0.85em;
}

.gl-sintesi[b-d3woeow1n9] {
    font-size: 0.82rem;
    color: #334155;
}

.gl-pioggia-badge[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    color: #3b82f6;
}

.gl-rapp-count[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 600;
    color: #5B7A9A;
}

.gl-ore[b-d3woeow1n9] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E334C;
}

.gl-ddt-badge[b-d3woeow1n9] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #edf3fb;
    color: #2c6a9e;
    white-space: nowrap;
}

.gl-attr-badge[b-d3woeow1n9] {
    color: #8696a7;
    font-size: 0.875rem;
}

/* ── Icon buttons ─────────────────────────────────────────────────────────── */

.gl-icon-btn[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.gl-icon-btn:hover[b-d3woeow1n9] { background: #edf3fb; color: #1E334C; }

/* ── Footer lista ─────────────────────────────────────────────────────────── */

.gl-list-footer[b-d3woeow1n9] {
    padding: 0.5rem 0.75rem;
    font-size: 0.78rem;
    color: #8696a7;
    text-align: right;
    border-top: 1px solid #f0f5fb;
}

/* ── Mobile cards ─────────────────────────────────────────────────────────── */

.gl-mobile-card[b-d3woeow1n9] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 0.9rem 1rem;
    margin-bottom: 0.6rem;
    cursor: pointer;
    transition: box-shadow 0.12s, border-color 0.12s;
}

.gl-mobile-card:hover[b-d3woeow1n9] {
    border-color: #2c6a9e;
    box-shadow: 0 2px 8px rgba(44,106,158,0.1);
}

.gl-mc-header[b-d3woeow1n9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.4rem;
}

.gl-mc-giorno[b-d3woeow1n9] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1E334C;
}

.gl-mc-sintesi[b-d3woeow1n9] {
    font-size: 0.8rem;
    color: #334155;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

.gl-mc-meta[b-d3woeow1n9] {
    display: flex;
    gap: 0.75rem;
    font-size: 0.72rem;
    color: #8696a7;
    flex-wrap: wrap;
}

/* ── Empty state ──────────────────────────────────────────────────────────── */

.gl-empty[b-d3woeow1n9] {
    text-align: center;
    padding: 3rem 1rem;
}

.gl-empty .bi[b-d3woeow1n9] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.gl-empty-title[b-d3woeow1n9] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.gl-empty-text[b-d3woeow1n9] {
    font-size: 0.875rem;
    color: #5B7A9A;
}

/* ── Back button ──────────────────────────────────────────────────────────── */

.gl-back-btn[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0;
    background: none;
    border: none;
    font-size: 0.84rem;
    font-weight: 600;
    color: #2c6a9e;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.12s;
}

.gl-back-btn:hover[b-d3woeow1n9] { color: #1E334C; }

/* ── Detail header ────────────────────────────────────────────────────────── */

.gl-detail-header[b-d3woeow1n9] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
}

.gl-detail-header-main[b-d3woeow1n9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.6rem;
}

.gl-detail-data[b-d3woeow1n9] {
    display: flex;
    flex-direction: column;
}

.gl-detail-giorno[b-d3woeow1n9] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #8696a7;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.gl-detail-data-num[b-d3woeow1n9] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
}

.gl-detail-header-meta[b-d3woeow1n9] {
    display: flex;
    gap: 1rem;
    font-size: 0.82rem;
    color: #5B7A9A;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.gl-pioggia-meta[b-d3woeow1n9] { color: #3b82f6; }

.gl-detail-header-actions[b-d3woeow1n9] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Detail sections ──────────────────────────────────────────────────────── */

.gl-detail-section[b-d3woeow1n9] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.gl-section-title[b-d3woeow1n9] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.85rem;
    display: flex;
    align-items: center;
}

/* ── Sintesi AI ───────────────────────────────────────────────────────────── */

.gl-sintesi-ai[b-d3woeow1n9] {
    border-color: #c4b5fd;
    background: #faf5ff;
}

.gl-sintesi-ai .gl-section-title[b-d3woeow1n9] { color: #7c3aed; }

.gl-sintesi-ai-text[b-d3woeow1n9] {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #334155;
}

/* ── Attività svolte ──────────────────────────────────────────────────────── */

.gl-attivita-row[b-d3woeow1n9] {
    display: flex;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f0f5fb;
    align-items: flex-start;
}

.gl-attivita-row:last-child[b-d3woeow1n9] { border-bottom: none; }

.gl-attivita-autore[b-d3woeow1n9] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #8696a7;
    min-width: 90px;
    padding-top: 0.1rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

.gl-attivita-desc[b-d3woeow1n9] {
    font-size: 0.875rem;
    color: #334155;
    line-height: 1.5;
}

/* ── Inner table ──────────────────────────────────────────────────────────── */

.gl-inner-table[b-d3woeow1n9] { margin-bottom: 0; }

.gl-inner-table thead th[b-d3woeow1n9] {
    background: #f7fafd;
    font-size: 0.7rem;
    color: #5B7A9A;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #dceaf8;
}

.gl-inner-table tbody td[b-d3woeow1n9] {
    font-size: 0.8125rem;
    padding: 0.45rem 0.6rem;
    border-bottom: 1px solid #f0f5fb;
    color: #334155;
    vertical-align: middle;
}

.gl-inner-table tfoot td[b-d3woeow1n9] {
    font-size: 0.8125rem;
    padding: 0.45rem 0.6rem;
    background: #f7fafd;
    border-top: 2px solid #dceaf8;
}

/* ── Chips ────────────────────────────────────────────────────────────────── */

.gl-chips-row[b-d3woeow1n9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.gl-chip[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 0.3em 0.75em;
    border-radius: 20px;
    background: #edf3fb;
    color: #1E334C;
    border: 1px solid #dceaf8;
}

/* ── Anomalie section ─────────────────────────────────────────────────────── */

.gl-anomalie-section[b-d3woeow1n9] {
    border-color: #fecaca;
    background: #fff7f7;
}

.gl-anomalia-row[b-d3woeow1n9] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0;
    font-size: 0.875rem;
    color: #334155;
    border-bottom: 1px solid #fecaca;
}

.gl-anomalia-row:last-child[b-d3woeow1n9] { border-bottom: none; }

/* ── Allegati ─────────────────────────────────────────────────────────────── */

.gl-allegati-grid[b-d3woeow1n9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.gl-allegato-chip[b-d3woeow1n9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.78rem;
    padding: 0.3em 0.65em;
    border-radius: 6px;
    background: #f7fafd;
    border: 1px solid #dceaf8;
    color: #334155;
    max-width: 200px;
}

/* ── Rapportini sorgente ──────────────────────────────────────────────────── */

.gl-rapp-row[b-d3woeow1n9] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f0f5fb;
    flex-wrap: wrap;
}

.gl-rapp-row:last-child[b-d3woeow1n9] { border-bottom: none; }

.gl-rapp-row-body[b-d3woeow1n9] { flex: 1; min-width: 0; }

.gl-rapp-autore[b-d3woeow1n9] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #8696a7;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
}

.gl-rapp-desc[b-d3woeow1n9] {
    font-size: 0.82rem;
    color: #334155;
    margin-bottom: 0.2rem;
    line-height: 1.4;
}

.gl-rapp-meta[b-d3woeow1n9] {
    font-size: 0.72rem;
    color: #8696a7;
}

.gl-rapp-row-actions[b-d3woeow1n9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* ── Link ─────────────────────────────────────────────────────────────────── */

.gl-link[b-d3woeow1n9] {
    font-size: 0.78rem;
    color: #2c6a9e;
    text-decoration: none;
    font-weight: 500;
}

.gl-link:hover[b-d3woeow1n9] { text-decoration: underline; }
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredPOS.razor.rz.scp.css */
/* _IndexFilteredPOS — POS tab */

/* ── Info alert template ─────────────────────────────────────────────── */

.pos-alert-info[b-2g3jiin04t] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #fffbf0;
    border: 1px solid #f0d080;
    border-left: 3px solid #d4a017;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    font-size: 0.8125rem;
    color: #6b4f00;
    line-height: 1.5;
}

.pos-alert-icon[b-2g3jiin04t] {
    color: #d4a017;
    font-size: 1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.pos-alert-body[b-2g3jiin04t] { flex: 1; }

.pos-alert-close[b-2g3jiin04t] {
    background: none;
    border: none;
    cursor: pointer;
    color: #b38a00;
    padding: 0;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.65;
    transition: opacity 0.12s;
}

.pos-alert-close:hover[b-2g3jiin04t] { opacity: 1; }

/* ── Section header ──────────────────────────────────────────────────── */

.pos-section-header[b-2g3jiin04t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.pos-section-title[b-2g3jiin04t] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.pos-section-sub[b-2g3jiin04t] {
    font-size: 0.8rem;
    color: #5B7A9A;
}

/* ── Card ────────────────────────────────────────────────────────────── */

.pos-card[b-2g3jiin04t] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    overflow: hidden;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.pos-table[b-2g3jiin04t] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    margin: 0;
}

.pos-table thead th[b-2g3jiin04t] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 1rem;
    white-space: nowrap;
    border-top: none;
}

.pos-table tbody td[b-2g3jiin04t] {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    color: #334155;
    border-bottom: 1px solid #f0f5fb;
}

.pos-table tbody tr:last-child td[b-2g3jiin04t] { border-bottom: none; }
.pos-table tbody tr:hover td[b-2g3jiin04t]      { background: #fafcff; }

/* ── Cell content ────────────────────────────────────────────────────── */

.pos-rev[b-2g3jiin04t] {
    font-weight: 600;
    color: #1E334C;
}

.pos-data[b-2g3jiin04t] {
    white-space: nowrap;
    color: #5B7A9A;
    font-size: 0.82rem;
}

.pos-sub[b-2g3jiin04t] {
    color: #5B7A9A;
    font-size: 0.82rem;
}

.pos-tag-badge[b-2g3jiin04t] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1em 0.45em;
    border-radius: 20px;
    background: #eef4fb;
    color: #2c6a9e;
    white-space: nowrap;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.pos-icon-btn[b-2g3jiin04t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    transition: background 0.12s, color 0.12s;
    flex-shrink: 0;
}

.pos-icon-btn:hover[b-2g3jiin04t]              { background: #edf3fb; color: #1E334C; }
.pos-icon-btn-danger:hover[b-2g3jiin04t]       { background: #fdecea; color: #9e2d1e; }

.pos-actions[b-2g3jiin04t] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.pos-empty[b-2g3jiin04t] {
    text-align: center;
    padding: 3rem 1.5rem;
    color: #5B7A9A;
}

.pos-empty .bi[b-2g3jiin04t] {
    font-size: 2.5rem;
    display: block;
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.pos-empty-title[b-2g3jiin04t] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.pos-empty-text[b-2g3jiin04t] {
    font-size: 0.875rem;
    max-width: 360px;
    margin: 0 auto;
}

/* ── Confirm overlay ─────────────────────────────────────────────────── */

.pos-confirm-overlay[b-2g3jiin04t] {
    position: fixed;
    inset: 0;
    background: rgba(14, 26, 41, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9900;
    animation: pos-fade-in-b-2g3jiin04t 0.12s ease;
}

@keyframes pos-fade-in-b-2g3jiin04t {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.pos-confirm-dialog[b-2g3jiin04t] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    max-width: 380px;
    width: calc(100% - 2rem);
    box-shadow: 0 8px 40px rgba(14, 26, 41, 0.22);
}

.pos-confirm-title[b-2g3jiin04t] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.6rem;
}

.pos-confirm-body[b-2g3jiin04t] {
    font-size: 0.875rem;
    color: #5B7A9A;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}

.pos-confirm-body strong[b-2g3jiin04t] { color: #1E334C; }

.pos-confirm-actions[b-2g3jiin04t] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredSicurezza.razor.rz.scp.css */
/* _IndexFilteredSicurezza */

.sic-toolbar[b-1yhr3jdex2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Rev badge ──────────────────────────────────────────────────────── */

.sic-rev-badge[b-1yhr3jdex2] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #eef4fb;
    color: #2c6a9e;
    white-space: nowrap;
}

/* ── Link file ──────────────────────────────────────────────────────── */

.sic-link[b-1yhr3jdex2] {
    font-size: 0.8rem;
    color: #2c6a9e;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: color 0.12s;
}

.sic-link:hover[b-1yhr3jdex2] { color: #1E334C; }

/* ── Bottoni azione riga ────────────────────────────────────────────── */

.sic-icon-btn[b-1yhr3jdex2] {
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #5B7A9A;
    padding: 0.25rem 0.4rem;
    line-height: 1;
    cursor: pointer;
    font-size: 0.875rem;
    transition: background 0.12s, color 0.12s;
}

.sic-icon-btn:hover[b-1yhr3jdex2] {
    background: #eef4fb;
    color: #1E334C;
    border-color: #dceaf8;
}

/* ── Loading ────────────────────────────────────────────────────────── */

.sic-loading[b-1yhr3jdex2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem;
    color: #5B7A9A;
    font-size: 0.875rem;
}

.sic-spinner[b-1yhr3jdex2] {
    border: 3px solid #f0f5fb;
    border-top: 3px solid #1E334C;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    animation: sic-spin-b-1yhr3jdex2 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes sic-spin-b-1yhr3jdex2 {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Preview estratto AI ─────────────────────────────────────────────── */

.sic-preview[b-1yhr3jdex2] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-left: 3px solid #2c6a9e;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-top: 0.5rem;
}

.sic-preview-title[b-1yhr3jdex2] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #2c6a9e;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.75rem;
}

.sic-field-label[b-1yhr3jdex2] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.15rem;
}

.sic-field-value[b-1yhr3jdex2] {
    font-size: 0.875rem;
    color: #1E334C;
    font-weight: 500;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredSubContract.razor.rz.scp.css */
/* _IndexFilteredSubContract — Subappalti tab */

/* ── Info alert template ─────────────────────────────────────────────── */

.sub-alert-info[b-bwb2gbweuu] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.75rem 1rem;
    background: #fffbf0;
    border: 1px solid #f0d080;
    border-left: 3px solid #d4a017;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    font-size: 0.8125rem;
    color: #6b4f00;
    line-height: 1.5;
}

.sub-alert-icon[b-bwb2gbweuu] {
    color: #d4a017;
    font-size: 1rem;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.sub-alert-body[b-bwb2gbweuu] { flex: 1; }

.sub-alert-close[b-bwb2gbweuu] {
    background: none;
    border: none;
    cursor: pointer;
    color: #b38a00;
    padding: 0;
    font-size: 1.1rem;
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.65;
    transition: opacity 0.12s;
}

.sub-alert-close:hover[b-bwb2gbweuu] { opacity: 1; }

/* ── Section header ──────────────────────────────────────────────────── */

.sub-section-header[b-bwb2gbweuu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.sub-section-title[b-bwb2gbweuu] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.sub-section-sub[b-bwb2gbweuu] {
    font-size: 0.8rem;
    color: #5B7A9A;
}

/* ── Card ────────────────────────────────────────────────────────────── */

.sub-card[b-bwb2gbweuu] {
    background: white;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    overflow: hidden;
}

/* ── Table ───────────────────────────────────────────────────────────── */

.sub-table[b-bwb2gbweuu] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    margin: 0;
}

.sub-table thead th[b-bwb2gbweuu] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 1rem;
    white-space: nowrap;
    border-top: none;
}

.sub-table tbody td[b-bwb2gbweuu] {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    color: #334155;
    border-bottom: 1px solid #f0f5fb;
}

.sub-table tbody tr:last-child td[b-bwb2gbweuu] { border-bottom: none; }
.sub-table tbody tr:hover td[b-bwb2gbweuu]      { background: #fafcff; }

/* ── Cell content ────────────────────────────────────────────────────── */

.sub-fornitore-name[b-bwb2gbweuu] {
    font-weight: 600;
    color: #1E334C;
}

.sub-fornitore-legrapp[b-bwb2gbweuu] {
    font-size: 0.78rem;
    color: #5B7A9A;
    margin-top: 0.1rem;
}

.sub-lavoro[b-bwb2gbweuu] {
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sub-importo[b-bwb2gbweuu] {
    font-weight: 600;
    color: #1E334C;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sub-data[b-bwb2gbweuu] {
    white-space: nowrap;
    color: #5B7A9A;
    font-size: 0.82rem;
}

.sub-tag-badge[b-bwb2gbweuu] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1em 0.45em;
    border-radius: 20px;
    background: #eef4fb;
    color: #2c6a9e;
    white-space: nowrap;
}

/* ── Documento column ────────────────────────────────────────────────── */

.sub-doc-row[b-bwb2gbweuu] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.sub-template-select[b-bwb2gbweuu] {
    width: 150px;
    font-size: 0.78rem;
    min-width: 0;
}

/* ── Icon buttons ────────────────────────────────────────────────────── */

.sub-icon-btn[b-bwb2gbweuu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    transition: background 0.12s, color 0.12s;
    flex-shrink: 0;
}

.sub-icon-btn:hover[b-bwb2gbweuu]              { background: #edf3fb; color: #1E334C; }
.sub-icon-btn-danger:hover[b-bwb2gbweuu]       { background: #fdecea; color: #9e2d1e; }

.sub-actions[b-bwb2gbweuu] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
}

/* ── Save footer ─────────────────────────────────────────────────────── */

.sub-save-footer[b-bwb2gbweuu] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 0.65rem 1rem;
    border-top: 1px solid #e9eff7;
    background: #f8fafd;
}

.sub-unsaved-label[b-bwb2gbweuu] {
    font-size: 0.8rem;
    color: #9e6b1e;
}

/* ── Empty state ─────────────────────────────────────────────────────── */

.sub-empty[b-bwb2gbweuu] {
    text-align: center;
    padding: 3rem 1.5rem;
    color: #5B7A9A;
}

.sub-empty .bi[b-bwb2gbweuu] {
    font-size: 2.5rem;
    display: block;
    opacity: 0.35;
    margin-bottom: 0.75rem;
}

.sub-empty-title[b-bwb2gbweuu] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.sub-empty-text[b-bwb2gbweuu] {
    font-size: 0.875rem;
    max-width: 360px;
    margin: 0 auto;
}

/* ── Confirm overlay ─────────────────────────────────────────────────── */

.sub-confirm-overlay[b-bwb2gbweuu] {
    position: fixed;
    inset: 0;
    background: rgba(14, 26, 41, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9900;
    animation: sub-fade-in-b-bwb2gbweuu 0.12s ease;
}

@keyframes sub-fade-in-b-bwb2gbweuu {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.sub-confirm-dialog[b-bwb2gbweuu] {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    max-width: 380px;
    width: calc(100% - 2rem);
    box-shadow: 0 8px 40px rgba(14, 26, 41, 0.22);
}

.sub-confirm-title[b-bwb2gbweuu] {
    font-size: 1rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.6rem;
}

.sub-confirm-body[b-bwb2gbweuu] {
    font-size: 0.875rem;
    color: #5B7A9A;
    line-height: 1.55;
    margin-bottom: 1.25rem;
}

.sub-confirm-body strong[b-bwb2gbweuu] { color: #1E334C; }

.sub-confirm-actions[b-bwb2gbweuu] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFilteredVendite.razor.rz.scp.css */
/* SAL e fatture nella commessa (_IndexFilteredVendite) */

/* ── KPI cards ────────────────────────────────────────────────────────────── */

.ifv-kpi-card[b-zrxaqf8jwk] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.ifv-kpi-card.success[b-zrxaqf8jwk] {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.ifv-kpi-card.danger[b-zrxaqf8jwk] {
    border-color: #fecaca;
    background: #fff7f7;
}

.ifv-kpi-label[b-zrxaqf8jwk] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5B7A9A;
    margin-bottom: 0.25rem;
}

.ifv-kpi-value[b-zrxaqf8jwk] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
}

.ifv-kpi-card.success .ifv-kpi-value[b-zrxaqf8jwk] { color: #15803d; }
.ifv-kpi-card.danger  .ifv-kpi-value[b-zrxaqf8jwk] { color: #dc2626; }

.ifv-kpi-sub[b-zrxaqf8jwk] {
    font-size: 0.72rem;
    color: #5B7A9A;
    margin-top: 0.2rem;
}

/* ── Table ────────────────────────────────────────────────────────────────── */

.ifv-table[b-zrxaqf8jwk] { margin-bottom: 0; }

.ifv-table thead th[b-zrxaqf8jwk] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 0.75rem;
    white-space: nowrap;
}

.ifv-row[b-zrxaqf8jwk] { transition: background 0.1s; }
.ifv-row:hover[b-zrxaqf8jwk] { background: #f7fafd; }

.ifv-row td[b-zrxaqf8jwk] {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.ifv-link[b-zrxaqf8jwk] {
    color: #2c6a9e;
    text-decoration: none;
    font-weight: 600;
}

.ifv-link:hover[b-zrxaqf8jwk] { text-decoration: underline; }

.ifv-sub[b-zrxaqf8jwk] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

.ifv-sub-success[b-zrxaqf8jwk] { color: #16a34a !important; }
.ifv-sub-danger[b-zrxaqf8jwk]  { color: #dc2626 !important; }

.ifv-fase[b-zrxaqf8jwk] {
    font-size: 0.8rem;
    color: #334155;
    max-width: 140px;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ifv-cantiere-badge[b-zrxaqf8jwk] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    background: #1E334C;
    color: #fff;
    white-space: nowrap;
}

.ifv-importo[b-zrxaqf8jwk] {
    font-size: 0.875rem;
    color: #1E334C;
}

.ifv-importo-bold[b-zrxaqf8jwk] {
    font-size: 0.875rem;
    font-weight: 700;
    color: #1E334C;
}

/* ── Tfoot ────────────────────────────────────────────────────────────────── */

.ifv-tfoot td[b-zrxaqf8jwk] {
    background: #f7fafd;
    border-top: 2px solid #dceaf8;
    padding: 0.6rem 0.75rem;
    font-size: 0.875rem;
}

.ifv-tfoot-label[b-zrxaqf8jwk] { font-weight: 700; color: #1E334C; }
.ifv-tfoot-value[b-zrxaqf8jwk] { font-weight: 700; color: #1E334C; }

/* ── Icon buttons ─────────────────────────────────────────────────────────── */

.ifv-icon-btn[b-zrxaqf8jwk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    border: none;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
    padding: 0;
}

.ifv-icon-btn:hover[b-zrxaqf8jwk] { background: #edf3fb; color: #1E334C; }

/* ── Empty state ──────────────────────────────────────────────────────────── */

.ifv-empty[b-zrxaqf8jwk] {
    text-align: center;
    padding: 2.5rem 1rem;
}

.ifv-empty .bi[b-zrxaqf8jwk] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.ifv-empty-title[b-zrxaqf8jwk] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.ifv-empty-text[b-zrxaqf8jwk] {
    font-size: 0.875rem;
    color: #5B7A9A;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexFlussicassa.razor.rz.scp.css */
/* Flussi di cassa (_IndexFlussicassa) */

/* ── KPI cards ────────────────────────────────────────────────────────────── */

.fc-kpi-card[b-v3j8acdtjw] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.fc-kpi-card.success[b-v3j8acdtjw]   { border-color: #bbf7d0; background: #f0fdf4; }
.fc-kpi-card.danger[b-v3j8acdtjw]    { border-color: #fecaca; background: #fff7f7; }
.fc-kpi-card.uscite[b-v3j8acdtjw]    { border-color: #fed7aa; background: #fff7ed; }
.fc-kpi-card.saldo-pos[b-v3j8acdtjw] { border-color: #bbf7d0; background: #f0fdf4; }
.fc-kpi-card.saldo-neg[b-v3j8acdtjw] { border-color: #fecaca; background: #fff7f7; }

.fc-kpi-label[b-v3j8acdtjw] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5B7A9A;
    margin-bottom: 0.25rem;
}

.fc-kpi-value[b-v3j8acdtjw] {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1E334C;
    line-height: 1.2;
}

.fc-kpi-card.success   .fc-kpi-value[b-v3j8acdtjw] { color: #15803d; }
.fc-kpi-card.danger    .fc-kpi-value[b-v3j8acdtjw] { color: #dc2626; }
.fc-kpi-card.uscite    .fc-kpi-value[b-v3j8acdtjw] { color: #c2410c; }
.fc-kpi-card.saldo-pos .fc-kpi-value[b-v3j8acdtjw] { color: #15803d; }
.fc-kpi-card.saldo-neg .fc-kpi-value[b-v3j8acdtjw] { color: #dc2626; }

.fc-kpi-sub[b-v3j8acdtjw] {
    font-size: 0.72rem;
    color: #5B7A9A;
    margin-top: 0.2rem;
}

/* ── Chart card ───────────────────────────────────────────────────────────── */

.fc-chart-card[b-v3j8acdtjw] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.25rem 1.25rem;
}

.fc-chart-title[b-v3j8acdtjw] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 1rem;
}

/* ── Table card ───────────────────────────────────────────────────────────── */

.fc-table-card[b-v3j8acdtjw] {
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    overflow: hidden;
}

.fc-table-header[b-v3j8acdtjw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #dceaf8;
    background: #f7fafd;
}

.fc-table-title[b-v3j8acdtjw] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #1E334C;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
}

.fc-table-meta[b-v3j8acdtjw] {
    font-size: 0.75rem;
    color: #8696a7;
}

/* ── Table ────────────────────────────────────────────────────────────────── */

.fc-table[b-v3j8acdtjw] { margin-bottom: 0; }

.fc-table thead th[b-v3j8acdtjw] {
    background: #f7fafd;
    color: #5B7A9A;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #dceaf8;
    padding: 0.6rem 0.75rem;
    white-space: nowrap;
}

.fc-row[b-v3j8acdtjw] { transition: background 0.1s; }
.fc-row:hover[b-v3j8acdtjw] { background: #f7fafd; }

.fc-row td[b-v3j8acdtjw] {
    padding: 0.7rem 0.75rem;
    vertical-align: middle;
    font-size: 0.875rem;
    border-bottom: 1px solid #f0f5fb;
}

.fc-row-overdue[b-v3j8acdtjw] { background: #fff9f9; }
.fc-row-overdue:hover[b-v3j8acdtjw] { background: #fff5f5; }

.fc-date[b-v3j8acdtjw] {
    font-size: 0.82rem;
    font-weight: 500;
    color: #334155;
}

.fc-date-overdue[b-v3j8acdtjw] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #dc2626;
}

.fc-date-empty[b-v3j8acdtjw] {
    font-size: 0.82rem;
    color: #94a3b8;
}

/* ── Tipo badge ───────────────────────────────────────────────────────────── */

.fc-tipo-entrata[b-v3j8acdtjw] {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2em 0.6em;
    border-radius: 20px;
    background: #d1fae5;
    color: #065f46;
    white-space: nowrap;
}

.fc-tipo-uscita[b-v3j8acdtjw] {
    display: inline-flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2em 0.6em;
    border-radius: 20px;
    background: #fee2e2;
    color: #991b1b;
    white-space: nowrap;
}

/* ── Controparte / Documento ──────────────────────────────────────────────── */

.fc-controparte[b-v3j8acdtjw] {
    font-weight: 600;
    color: #1E334C;
    font-size: 0.875rem;
}

.fc-documento[b-v3j8acdtjw] {
    font-size: 0.8rem;
    color: #5B7A9A;
}

/* ── Importo ──────────────────────────────────────────────────────────────── */

.fc-importo[b-v3j8acdtjw] {
    font-size: 0.875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.fc-importo-entrata[b-v3j8acdtjw] { color: #15803d; }
.fc-importo-uscita[b-v3j8acdtjw]  { color: #c2410c; }

/* ── Tfoot ────────────────────────────────────────────────────────────────── */

.fc-tfoot td[b-v3j8acdtjw] {
    background: #f7fafd;
    border-top: 2px solid #dceaf8;
    padding: 0.55rem 0.75rem;
    font-size: 0.875rem;
}

.fc-tfoot-label[b-v3j8acdtjw] { font-weight: 700; color: #5B7A9A; font-size: 0.8rem; }
.fc-tfoot-value[b-v3j8acdtjw] { font-weight: 700; }

/* ── Icon button ──────────────────────────────────────────────────────────── */

.fc-icon-btn[b-v3j8acdtjw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 6px;
    background: transparent;
    color: #5B7A9A;
    font-size: 0.8rem;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
}

.fc-icon-btn:hover[b-v3j8acdtjw] { background: #edf3fb; color: #1E334C; }

/* ── Empty state ──────────────────────────────────────────────────────────── */

.fc-empty[b-v3j8acdtjw] {
    text-align: center;
    padding: 3rem 1rem;
}

.fc-empty .bi[b-v3j8acdtjw] {
    font-size: 2.5rem;
    color: #c8d8e8;
    display: block;
    margin-bottom: 0.75rem;
}

.fc-empty-title[b-v3j8acdtjw] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.fc-empty-text[b-v3j8acdtjw] {
    font-size: 0.875rem;
    color: #5B7A9A;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexGroupedByMonthYear.razor.rz.scp.css */
/* Riepilogo mensile — _IndexGroupedByMonthYear */

/* ── Card ────────────────────────────────────────────────────────────── */

.rm-card[b-6vo0qp7msm] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.rm-card-header[b-6vo0qp7msm] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E2E8F0;
    background: #FAFBFC;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.rm-card-title[b-6vo0qp7msm] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1E334C;
    margin-bottom: 0.15rem;
}

.rm-card-sub[b-6vo0qp7msm] {
    font-size: 0.78rem;
    color: #5B7A9A;
}

/* ── KPI strip ────────────────────────────────────────────────────────── */

.rm-kpi-strip[b-6vo0qp7msm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid #E2E8F0;
}

.rm-kpi-item[b-6vo0qp7msm] {
    flex: 1 1 160px;
    padding: 0.85rem 1.25rem;
    border-right: 1px solid #E2E8F0;
}

.rm-kpi-item:last-child[b-6vo0qp7msm] { border-right: none; }

.rm-kpi-label[b-6vo0qp7msm] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.2rem;
}

.rm-kpi-value[b-6vo0qp7msm] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1E334C;
    white-space: nowrap;
}

.rm-kpi-value.positive[b-6vo0qp7msm] { color: #27ae60; }
.rm-kpi-value.negative[b-6vo0qp7msm] { color: #c0392b; }

/* ── Table wrapper ────────────────────────────────────────────────────── */

.rm-table-wrapper[b-6vo0qp7msm] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #B7D8FF #fff;
}

.rm-table-wrapper[b-6vo0qp7msm]::-webkit-scrollbar { height: 4px; }
.rm-table-wrapper[b-6vo0qp7msm]::-webkit-scrollbar-thumb { background: #B7D8FF; border-radius: 4px; }

/* ── Table ────────────────────────────────────────────────────────────── */

.rm-table[b-6vo0qp7msm] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
    min-width: 980px;
}

.rm-table thead th[b-6vo0qp7msm] {
    background: #F5F8FC;
    color: #718096;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.6rem 0.75rem;
    border-bottom: 2px solid #DCEAF8;
    white-space: nowrap;
    text-align: right;
}

.rm-table thead th:first-child[b-6vo0qp7msm] {
    text-align: left;
    position: sticky;
    left: 0;
    background: #F5F8FC;
    z-index: 2;
    min-width: 88px;
}

.rm-table tbody td[b-6vo0qp7msm] {
    padding: 0.65rem 0.75rem;
    font-size: 0.8125rem;
    color: #334155;
    border-bottom: 1px solid #EDF2F7;
    vertical-align: middle;
    text-align: right;
    white-space: nowrap;
}

.rm-table tbody td:first-child[b-6vo0qp7msm] {
    text-align: left;
    font-weight: 600;
    color: #1E334C;
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 1;
}

.rm-table tbody tr:hover td[b-6vo0qp7msm] { background: #F7FAFD; }
.rm-table tbody tr:hover td:first-child[b-6vo0qp7msm] { background: #F7FAFD; }

/* ── Value states ─────────────────────────────────────────────────────── */

.rm-val-neg[b-6vo0qp7msm] {
    color: #c0392b;
    font-weight: 600;
}

.rm-val-pos[b-6vo0qp7msm] {
    color: #27ae60;
    font-weight: 600;
}

/* ── Export button ────────────────────────────────────────────────────── */

.rm-export-btn[b-6vo0qp7msm] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 8px;
    border: 1px solid #CBD5E1;
    background: transparent;
    color: #1E334C;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
}

.rm-export-btn:hover[b-6vo0qp7msm] { background: #F1F5F9; border-color: #94A3B8; color: #1E334C; }
.rm-export-btn .dropdown-toggle[b-6vo0qp7msm]::after { display: none; }

/* ── Empty state ──────────────────────────────────────────────────────── */

.rm-empty[b-6vo0qp7msm] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.rm-empty .bi[b-6vo0qp7msm] {
    font-size: 2.5rem;
    color: #C8D8E8;
    display: block;
    margin-bottom: 0.75rem;
}

.rm-empty-title[b-6vo0qp7msm] {
    font-size: 1rem;
    font-weight: 600;
    color: #1E334C;
    margin-bottom: 0.3rem;
}

.rm-empty-text[b-6vo0qp7msm] {
    font-size: 0.875rem;
    color: #8696A7;
}
/* _content/GestioneCommessa.Shared/Pages/Worksites/Worksite/_IndexPrevisioniCantiere.razor.rz.scp.css */
/* ── WBS (Work Breakdown Structure) ───────────────────────────────────────── */

.wbs-table[b-d412ka4yxb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}
.wbs-table thead th[b-d412ka4yxb] {
    background: #f0f4f8;
    color: #5B7A9A;
    font-weight: 700;
    font-size: 0.73rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.55rem 0.6rem;
    border-bottom: 2px solid #dceaf8;
    white-space: nowrap;
}
.wbs-table tbody tr[b-d412ka4yxb] {
    border-bottom: 1px solid #edf2f7;
    transition: background 0.1s;
}
.wbs-table tbody tr:hover[b-d412ka4yxb] { background: #f7fafd; }
.wbs-table td[b-d412ka4yxb] {
    padding: 0.45rem 0.6rem;
    vertical-align: middle;
}
.wbs-nome-cell[b-d412ka4yxb] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 160px;
}
.wbs-codice[b-d412ka4yxb] {
    font-size: 0.7rem;
    color: #8696a7;
    font-family: monospace;
    white-space: nowrap;
}
.wbs-nome[b-d412ka4yxb] {
    font-weight: 600;
    color: #1E334C;
}
.wbs-descr[b-d412ka4yxb] {
    font-size: 0.72rem;
    color: #7a8fa3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}
.wbs-date-cell[b-d412ka4yxb] {
    white-space: nowrap;
    font-size: 0.78rem;
    color: #4a6880;
}
.wbs-date-cell.registrata[b-d412ka4yxb] { color: #3a6b27; }
.wbs-date-cell.mancante[b-d412ka4yxb]   { color: #c0c8d0; }
.wbs-budget-cell[b-d412ka4yxb] {
    text-align: right;
    font-weight: 600;
    color: #1E334C;
    white-space: nowrap;
}
.wbs-azioni-cell[b-d412ka4yxb] {
    white-space: nowrap;
    text-align: right;
}
.wbs-azioni-cell .btn[b-d412ka4yxb] { padding: 0.15rem 0.4rem; font-size: 0.75rem; }
.wbs-edit-card[b-d412ka4yxb] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1.5rem;
}
.wbs-edit-card .form-label[b-d412ka4yxb] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
}
.wbs-section-label[b-d412ka4yxb] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
    margin-top: 0.25rem;
}
.wbs-expand-btn[b-d412ka4yxb] {
    background: none;
    border: none;
    padding: 0 2px;
    color: #8696a7;
    cursor: pointer;
    font-size: 0.7rem;
    line-height: 1;
}
.wbs-date-cell.calcolata[b-d412ka4yxb] { font-style: italic; color: #5B7A9A; }

/* ── Vincolo column ────────────────────────────────────────────────────────── */
.wbs-vincolo-cell[b-d412ka4yxb] { vertical-align: top; padding-top: 0.55rem !important; }
.wbs-vincolo-wrap[b-d412ka4yxb] { display: flex; flex-direction: column; gap: 0; min-width: 170px; }
.wbs-vincolo-tipo[b-d412ka4yxb] { width: 70px; font-size: 0.78rem; }
.wbs-vincolo-col[b-d412ka4yxb]  { font-size: 0.75rem; max-width: 170px; }
.wbs-durata-badge[b-d412ka4yxb] {
    display: inline-block;
    background: #e8f0fe;
    color: #2d5be3;
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 0.7rem;
    font-weight: 700;
    width: fit-content;
}

/* ── Info popup (CSS-only, no JS) ──────────────────────────────────────────── */
.wbs-info-icon[b-d412ka4yxb] {
    position: relative;
    cursor: help;
    font-size: 0.8rem;
    color: #8696a7;
    display: inline-block;
    vertical-align: middle;
}
.wbs-info-popup[b-d412ka4yxb] {
    display: none;
    position: absolute;
    top: 1.4rem;
    left: 0;
    z-index: 200;
    background: #fff;
    border: 1px solid #dceaf8;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(30,51,76,.14);
    padding: 0.75rem 1rem;
    min-width: 300px;
    font-size: 0.78rem;
    font-weight: 400;
    color: #1E334C;
    line-height: 1.5;
    white-space: normal;
    text-transform: none;
    letter-spacing: 0;
    pointer-events: none;
}
.wbs-info-icon:hover .wbs-info-popup[b-d412ka4yxb],
.wbs-info-icon:focus .wbs-info-popup[b-d412ka4yxb] { display: block; }
.wbs-info-row[b-d412ka4yxb] {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    margin-bottom: 0.45rem;
}
.wbs-info-row:last-child[b-d412ka4yxb] { margin-bottom: 0; }
.wbs-info-badge[b-d412ka4yxb] {
    background: #e8f0fe;
    color: #2d5be3;
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ── Previsioni | Tracking cards ──────────────────────────────────────────── */
.wbs-piano-card[b-d412ka4yxb] {
    background: #f7fafd;
    border: 1px solid #dceaf8;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
}
.wbs-piano-card.wbs-tracking-card[b-d412ka4yxb] {
    background: #f3fbf3;
    border-color: #c6e9c6;
}
.wbs-piano-header[b-d412ka4yxb] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.75rem;
}
.wbs-tracking-card .wbs-piano-header[b-d412ka4yxb] { color: #3a6b27; }

/* ── Liste budget ──────────────────────────────────────────────────────────── */
.wbs-lista-card[b-d412ka4yxb] {
    background: #fff;
    border: 1px solid #e2eaf3;
    border-radius: 8px;
    padding: 0.75rem 0.85rem;
}
.wbs-lista-header[b-d412ka4yxb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1E334C;
}
.wbs-lista-header > span:first-child[b-d412ka4yxb] { flex: 1; }
.wbs-lista-totale[b-d412ka4yxb] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #2d5be3;
    background: #e8f0fe;
    border-radius: 4px;
    padding: 1px 7px;
    white-space: nowrap;
}
.wbs-lista-vuota[b-d412ka4yxb] {
    font-size: 0.75rem;
    color: #b0bec5;
    padding: 0.3rem 0;
}
.wbs-righe-table[b-d412ka4yxb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.76rem;
}
.wbs-righe-table thead th[b-d412ka4yxb] {
    color: #8696a7;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.25rem;
    border-bottom: 1px solid #e2eaf3;
    white-space: nowrap;
}
.wbs-righe-table tbody tr[b-d412ka4yxb] { border-bottom: 1px solid #f0f4f8; }
.wbs-righe-table td[b-d412ka4yxb] { padding: 0.2rem 0.25rem; vertical-align: middle; }
.wbs-righe-table .form-control[b-d412ka4yxb],
.wbs-righe-table .form-select[b-d412ka4yxb] { font-size: 0.76rem; padding: 0.18rem 0.4rem; }
.wbs-righe-table input[type=number][b-d412ka4yxb] { width: 70px; }
.wbs-col-tot[b-d412ka4yxb] {
    white-space: nowrap;
    text-align: right;
    font-weight: 600;
    color: #1E334C;
    min-width: 55px;
}
.btn-xs[b-d412ka4yxb] {
    padding: 0.1rem 0.35rem;
    font-size: 0.72rem;
    line-height: 1.3;
}

/* ── Totale attività ──────────────────────────────────────────────────────── */
.wbs-totale-box[b-d412ka4yxb] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;
    background: #f0f4f8;
    border-radius: 8px;
    padding: 0.75rem 1rem;
}
.wbs-totale-label[b-d412ka4yxb] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #5B7A9A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.wbs-totale-val[b-d412ka4yxb] {
    font-size: 1.25rem;
    font-weight: 800;
    color: #1E334C;
}
