@import '_content/BlazoringComponents/BlazoringComponents.qge075mqgw.bundle.scp.css';

/* /Pages/Articles/Components/ArticleRemoteSupportSettings.razor.rz.scp.css */
.remote-setup[b-8zbmg3ay9q] { color:var(--crm-text); background:var(--crm-surface); border:1px solid var(--crm-border); border-radius:14px; padding:1.25rem; box-shadow:var(--crm-shadow-sm); }
.remote-setup__header[b-8zbmg3ay9q] { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--crm-border); }
.remote-setup__header h4[b-8zbmg3ay9q] { margin:.15rem 0 .25rem; }
.remote-setup__header p[b-8zbmg3ay9q] { margin:0; color:var(--crm-text-muted); max-width:680px; }
.remote-setup__eyebrow[b-8zbmg3ay9q] { color:var(--crm-text-muted); font-size:.72rem; font-weight:700; letter-spacing:.1em; }
.remote-setup__loading[b-8zbmg3ay9q] { padding:3rem; text-align:center; color:var(--crm-text-muted); }
.remote-setup__modes[b-8zbmg3ay9q] { display:grid; gap:1rem; margin-top:1rem; }
.remote-mode[b-8zbmg3ay9q] { color:var(--crm-text); background:var(--crm-surface); border:1px solid var(--crm-border); border-radius:12px; overflow:hidden; transition:border-color .15s,box-shadow .15s; }
.remote-mode.is-active[b-8zbmg3ay9q] { border-color:color-mix(in srgb,var(--crm-primary) 55%,var(--crm-border)); box-shadow:var(--crm-shadow-sm); }
.remote-mode__top[b-8zbmg3ay9q] { display:flex; align-items:center; gap:.85rem; padding:1rem; }
.remote-mode__top h5[b-8zbmg3ay9q],.remote-mode__top p[b-8zbmg3ay9q] { margin:0; }
.remote-mode__top p[b-8zbmg3ay9q] { color:var(--crm-text-muted); font-size:.9rem; }
.remote-mode__icon[b-8zbmg3ay9q] { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; font-size:1.15rem; }
.remote-mode__icon.guacamole[b-8zbmg3ay9q] { background:var(--crm-success-soft); color:var(--crm-success); }
.remote-mode__icon.vpn[b-8zbmg3ay9q] { background:var(--crm-primary-soft); color:var(--crm-primary); }
.remote-mode__icon.anydesk[b-8zbmg3ay9q] { background:var(--crm-danger-soft); color:var(--crm-danger); }
.remote-mode__body[b-8zbmg3ay9q] { padding:1rem; border-top:1px solid var(--crm-border); background:var(--crm-surface-muted); }
.remote-mode__body > p[b-8zbmg3ay9q] { color:var(--crm-text-muted); margin-bottom:.75rem; }
.remote-setup__footer[b-8zbmg3ay9q] { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--crm-border); color:var(--crm-text-muted); }
@media (max-width: 767px) { .remote-setup__header[b-8zbmg3ay9q],.remote-setup__footer[b-8zbmg3ay9q] { flex-direction:column; } .remote-setup__footer .btn[b-8zbmg3ay9q] { width:100%; } }
/* /Pages/Articles/Components/UserChecklist.razor.rz.scp.css */
.remote-user[b-p6z0g7z57m] {
    color: var(--crm-text);
    background: var(--crm-surface-raised);
    border: 1px solid var(--crm-border);
    transition: background-color .15s, border-color .15s;
}

.remote-user:hover[b-p6z0g7z57m] {
    background: var(--crm-surface-hover);
    border-color: var(--crm-border-strong);
}
/* /Pages/DashBoard/Index.razor.rz.scp.css */
/* ========================================
   DASHBOARD - clean modern layout
   ======================================== */

.dashboard-page[b-4ocau0fhci] {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 1.5rem;
}

/* Header */
.dash-header[b-4ocau0fhci] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.dash-title[b-4ocau0fhci] {
    margin: 0;
    font-weight: 700;
    font-size: 1.7rem;
    color: var(--crm-text);
    letter-spacing: -0.02em;
}

.dash-subtitle[b-4ocau0fhci] {
    margin: 0.15rem 0 0;
    color: var(--crm-text-muted);
    font-size: 0.9rem;
}

/* Toolbar */
.dash-toolbar[b-4ocau0fhci] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    background: var(--crm-surface);
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--crm-shadow-sm);
}

.toolbar-user[b-4ocau0fhci] {
    min-width: 240px;
    padding-top: 0.1rem;
    flex: 0 0 auto;
}

.toolbar-actions[b-4ocau0fhci] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: 0.5rem;
    flex: 1 1 auto;
    align-self: flex-start;
}

.toolbar-actions[b-4ocau0fhci]  .tb-btn {
    width: 100%;
    justify-content: flex-start;
    border-radius: 10px;
}

/* Operational priorities */
.ops-card[b-4ocau0fhci] {
    margin-bottom: 1.5rem;
}

.ops-card-head[b-4ocau0fhci] {
    align-items: center;
    padding: 0.95rem 1.15rem;
}

.ops-title[b-4ocau0fhci] {
    gap: 0.75rem;
}

.ops-title > .material-icons[b-4ocau0fhci] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--crm-primary) 16%, transparent);
    color: var(--crm-primary);
    font-size: 21px;
}

.ops-title h3[b-4ocau0fhci] {
    margin: 0;
    color: var(--crm-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.ops-title p[b-4ocau0fhci] {
    margin: 0.15rem 0 0;
    color: var(--crm-text-muted);
    font-size: 0.82rem;
    font-weight: 500;
}

.ops-load-compact[b-4ocau0fhci] {
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 0.55rem;
    min-height: 34px;
    border: 1px solid var(--crm-border);
    border-radius: 999px;
    background: var(--crm-surface-muted);
    padding: 0.25rem 0.45rem 0.25rem 0.85rem;
}

.ops-load-compact span[b-4ocau0fhci] {
    color: var(--crm-text-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.ops-load-compact strong[b-4ocau0fhci] {
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--crm-primary);
    color: #ffffff;
    font-size: 0.95rem;
    line-height: 1;
}

.ops-card-body[b-4ocau0fhci] {
    display: grid;
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 2fr);
    gap: 1rem;
    padding: 1rem 1.15rem 1.15rem;
}

.ops-load[b-4ocau0fhci] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.65rem;
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    background: var(--crm-surface-muted);
    padding: 0.95rem;
}

.ops-load-copy[b-4ocau0fhci] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: var(--crm-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.ops-load-track[b-4ocau0fhci] {
    height: 8px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--crm-border) 72%, transparent);
    overflow: hidden;
}

.ops-load-bar[b-4ocau0fhci] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--crm-primary) 0%, var(--crm-success) 100%);
    transition: width 0.25s ease;
}

.ops-actions[b-4ocau0fhci] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 0.7rem;
}

.ops-action[b-4ocau0fhci] {
    --ops-accent: var(--crm-primary);
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
    min-height: 64px;
    border: 1px solid color-mix(in srgb, var(--ops-accent) 18%, var(--crm-border));
    border-radius: 12px;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--ops-accent) 8%, transparent), transparent 62%),
        var(--crm-surface-muted);
    color: inherit;
    text-align: left;
    padding: 0.7rem 0.75rem;
    cursor: pointer;
    box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 18%, transparent);
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.ops-action:hover[b-4ocau0fhci] {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--ops-accent) 13%, transparent), transparent 64%),
        var(--crm-surface-hover);
    border-color: color-mix(in srgb, var(--ops-accent) 38%, var(--crm-border));
    box-shadow: 0 8px 18px rgba(16, 24, 40, 0.1);
    transform: translateY(-1px);
}

.ops-action-icon[b-4ocau0fhci] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--ops-accent) 16%, transparent);
    color: var(--ops-accent);
    font-size: 20px;
}

.ops-action-body[b-4ocau0fhci] {
    display: grid;
    min-width: 0;
    gap: 0.08rem;
}

.ops-action-title[b-4ocau0fhci] {
    color: var(--crm-text);
    font-size: 0.89rem;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-action-caption[b-4ocau0fhci] {
    color: var(--crm-text-muted);
    font-size: 0.73rem;
    font-weight: 600;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-action-value[b-4ocau0fhci] {
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--ops-accent) 18%, transparent);
    color: var(--ops-accent);
    border: 1px solid color-mix(in srgb, var(--ops-accent) 22%, transparent);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
}

.ops-danger[b-4ocau0fhci] { --ops-accent: var(--crm-danger); }
.ops-warning[b-4ocau0fhci] { --ops-accent: var(--crm-warning); }
.ops-info[b-4ocau0fhci] { --ops-accent: #8b5cf6; }
.ops-primary[b-4ocau0fhci] { --ops-accent: var(--crm-primary); }
.ops-orange[b-4ocau0fhci] { --ops-accent: #fb923c; }
.ops-violet[b-4ocau0fhci] { --ops-accent: #a78bfa; }

:global(body.dark-theme) .ops-action[b-4ocau0fhci] {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--ops-accent) 12%, transparent), transparent 66%),
        color-mix(in srgb, var(--crm-surface-raised) 86%, #000000);
    border-color: color-mix(in srgb, var(--ops-accent) 22%, var(--crm-border));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 1px 2px rgba(0, 0, 0, 0.16);
}

:global(body.dark-theme) .ops-action:hover[b-4ocau0fhci] {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--ops-accent) 17%, transparent), transparent 68%),
        var(--crm-surface-hover);
    border-color: color-mix(in srgb, var(--ops-accent) 42%, var(--crm-border));
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
}

:global(body.dark-theme) .ops-action-icon[b-4ocau0fhci],
:global(body.dark-theme) .ops-action-value[b-4ocau0fhci] {
    background: color-mix(in srgb, var(--ops-accent) 18%, transparent);
}

.ops-clear[b-4ocau0fhci] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 60px;
    border: 1px solid color-mix(in srgb, var(--crm-success) 26%, var(--crm-border));
    border-radius: 12px;
    background: color-mix(in srgb, var(--crm-success) 8%, var(--crm-surface-muted));
    padding: 0.8rem 0.95rem;
}

.ops-clear .material-icons[b-4ocau0fhci] {
    color: var(--crm-success);
    font-size: 28px;
}

.ops-clear div[b-4ocau0fhci] {
    display: grid;
    gap: 0.08rem;
}

.ops-clear strong[b-4ocau0fhci] {
    color: var(--crm-text);
    font-size: 0.92rem;
}

.ops-clear span:not(.material-icons)[b-4ocau0fhci] {
    color: var(--crm-text-muted);
    font-size: 0.8rem;
}

/* Metric grid */
.metric-grid[b-4ocau0fhci] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.9rem;
    margin-bottom: 1.5rem;
}

.metric-tile[b-4ocau0fhci] {
    --accent: #64748b;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: var(--crm-surface);
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    cursor: pointer;
    box-shadow: var(--crm-shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.metric-tile:hover[b-4ocau0fhci] {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.14);
    border-color: color-mix(in srgb, var(--accent) 45%, var(--crm-border));
}

.metric-icon[b-4ocau0fhci] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--accent) 16%, transparent);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.metric-icon .material-icons[b-4ocau0fhci] {
    font-size: 24px;
}

.metric-text[b-4ocau0fhci] {
    min-width: 0;
}

.metric-value[b-4ocau0fhci] {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    color: var(--crm-text);
}

.metric-label[b-4ocau0fhci] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--crm-text-muted);
    line-height: 1.2;
}

/* Tile accents (la tinta di sfondo è derivata dall'accent con color-mix) */
.tile-warning[b-4ocau0fhci] { --accent: var(--crm-warning); }
.tile-danger[b-4ocau0fhci]  { --accent: var(--crm-danger); }
.tile-success[b-4ocau0fhci] { --accent: var(--crm-success); }
.tile-info[b-4ocau0fhci]    { --accent: var(--crm-primary); }
.tile-indigo[b-4ocau0fhci]  { --accent: #4f46e5; }
.tile-orange[b-4ocau0fhci]  { --accent: #ea580c; }
.tile-violet[b-4ocau0fhci]  { --accent: #7c3aed; }
.tile-primary[b-4ocau0fhci] { --accent: var(--crm-primary); }
.tile-teal[b-4ocau0fhci]    { --accent: #0d9488; }

/* ========================================
   Section cards
   ======================================== */
.dash-card[b-4ocau0fhci] {
    background: var(--crm-surface);
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    box-shadow: var(--crm-shadow-sm);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.dash-card-head[b-4ocau0fhci] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--crm-border);
}

.dash-card-title[b-4ocau0fhci] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    font-size: 1rem;
    color: var(--crm-text);
}

.dash-card-title .material-icons[b-4ocau0fhci] { font-size: 20px; }

.dash-card-body[b-4ocau0fhci] {
    padding: 1.25rem;
}

.dash-card-foot[b-4ocau0fhci] {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

.pill-new[b-4ocau0fhci] {
    background: color-mix(in srgb, var(--crm-danger) 16%, transparent);
    color: var(--crm-danger);
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.6rem;
    border-radius: 2rem;
}

.pill-count[b-4ocau0fhci] {
    background: color-mix(in srgb, var(--crm-primary) 16%, transparent);
    color: var(--crm-primary);
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.6rem;
    border-radius: 2rem;
}

/* ========================================
   Appointments (activities)
   ======================================== */
.appt-list[b-4ocau0fhci] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.appt-item[b-4ocau0fhci] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    border-left: 4px solid var(--crm-primary);
    border-radius: 12px;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.appt-item:hover[b-4ocau0fhci] {
    background: var(--crm-surface-hover);
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.10);
    transform: translateY(-1px);
}

.appt-time[b-4ocau0fhci] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    flex-shrink: 0;
}

.appt-hour[b-4ocau0fhci] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--crm-text);
    line-height: 1.1;
}

.appt-day[b-4ocau0fhci] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--crm-text-muted);
}

.appt-icon[b-4ocau0fhci] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.appt-icon .material-icons[b-4ocau0fhci] { font-size: 22px; }

.appt-body[b-4ocau0fhci] {
    min-width: 0;
    flex: 1;
}

.appt-title[b-4ocau0fhci] {
    font-weight: 600;
    color: var(--crm-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.appt-meta[b-4ocau0fhci] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.15rem;
    font-size: 0.8rem;
    color: var(--crm-text-muted);
}

.appt-assignee[b-4ocau0fhci] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.appt-assignee .material-icons[b-4ocau0fhci] { font-size: 14px; }

/* Overall rating badge */
.overall-rating[b-4ocau0fhci] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: color-mix(in srgb, #f59e0b 14%, transparent);
    border: 1px solid color-mix(in srgb, #f59e0b 35%, transparent);
    padding: 0.35rem 0.75rem;
    border-radius: 10px;
}

.overall-caption[b-4ocau0fhci] {
    font-size: 0.78rem;
    color: var(--crm-text-muted);
    font-weight: 500;
}

.overall-stars .material-icons[b-4ocau0fhci] { font-size: 18px; }
.star-filled[b-4ocau0fhci] { color: #f59e0b; }
.star-empty[b-4ocau0fhci] { color: var(--crm-border-strong); }

.overall-value[b-4ocau0fhci] {
    font-weight: 700;
    font-size: 1.05rem;
    color: #f59e0b;
}

.overall-count[b-4ocau0fhci] {
    font-size: 0.8rem;
    color: var(--crm-text-muted);
}

/* Company ratings */
.company-ratings-grid[b-4ocau0fhci] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.company-rating-card[b-4ocau0fhci] {
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    padding: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.company-rating-card:hover[b-4ocau0fhci] {
    border-color: var(--crm-border-strong);
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.10);
}

.company-rating-header[b-4ocau0fhci] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.company-name[b-4ocau0fhci] {
    font-weight: 600;
    color: var(--crm-text);
    font-size: 0.92rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-feedbacks[b-4ocau0fhci] {
    font-size: 0.72rem;
    color: var(--crm-text-muted);
    background: var(--crm-surface-hover);
    padding: 0.1rem 0.55rem;
    border-radius: 2rem;
    font-weight: 600;
    flex-shrink: 0;
}

.rating-bar-container[b-4ocau0fhci] {
    height: 8px;
    background: var(--crm-surface-hover);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.6rem;
}

.rating-bar[b-4ocau0fhci] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
}

.rating-details[b-4ocau0fhci] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rating-stars .star-sm[b-4ocau0fhci] { font-size: 15px; }

.rating-value[b-4ocau0fhci] {
    font-weight: 700;
    font-size: 1rem;
    color: var(--crm-text);
}

/* Recent feedback list */
.feedback-list[b-4ocau0fhci] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 420px;
    overflow-y: auto;
}

.feedback-item[b-4ocau0fhci] {
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    border-left: 4px solid var(--crm-border-strong);
    border-radius: 12px;
    padding: 1rem;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.feedback-item:hover[b-4ocau0fhci] {
    background: var(--crm-surface-hover);
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.10);
}

.feedback-item.unread[b-4ocau0fhci] {
    border-left-color: var(--crm-primary);
    background: color-mix(in srgb, var(--crm-primary) 8%, var(--crm-surface-raised));
}

.feedback-header[b-4ocau0fhci] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.feedback-info[b-4ocau0fhci] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.feedback-company[b-4ocau0fhci] {
    font-weight: 600;
    color: var(--crm-text);
}

.feedback-ticket[b-4ocau0fhci] {
    font-size: 0.78rem;
    color: var(--crm-text-muted);
}

.feedback-rating[b-4ocau0fhci] { display: flex; gap: 1px; }
.feedback-rating .star[b-4ocau0fhci] { font-size: 17px; color: var(--crm-border-strong); }
.feedback-rating .star.filled[b-4ocau0fhci] { color: #f59e0b; }

.feedback-comment[b-4ocau0fhci] {
    margin: 0 0 0.5rem;
    color: var(--crm-text-secondary);
    font-style: italic;
    font-size: 0.9rem;
    line-height: 1.45;
}

.feedback-comment.no-comment[b-4ocau0fhci] { color: var(--crm-text-muted); opacity: 0.75; }

.feedback-footer[b-4ocau0fhci] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: var(--crm-text-muted);
}

.feedback-meta[b-4ocau0fhci] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.feedback-meta .material-icons[b-4ocau0fhci] { font-size: 14px; }

/* Empty state */
.dash-empty[b-4ocau0fhci] {
    text-align: center;
    color: var(--crm-text-muted);
    padding: 2rem 0;
}

.dash-empty .material-icons[b-4ocau0fhci] { font-size: 44px; opacity: 0.5; }
.dash-empty p[b-4ocau0fhci] { margin: 0.5rem 0 0; }

/* Responsive */
@media (max-width: 768px) {
    .dashboard-page[b-4ocau0fhci] { padding: 1rem; }
    .toolbar-actions[b-4ocau0fhci] { width: 100%; }
    .ops-card-body[b-4ocau0fhci] { grid-template-columns: 1fr; }
    .ops-load-compact[b-4ocau0fhci] { width: 100%; justify-content: space-between; }
}

@media (max-width: 640px) {
    .toolbar-actions[b-4ocau0fhci] {
        grid-template-columns: 1fr 1fr;
    }

    .toolbar-actions[b-4ocau0fhci]  .tb-primary {
        grid-column: 1 / -1;
    }

    .ops-card-head[b-4ocau0fhci] {
        align-items: stretch;
    }

    .ops-actions[b-4ocau0fhci] {
        grid-template-columns: 1fr;
    }

    .ops-action-title[b-4ocau0fhci],
    .ops-action-caption[b-4ocau0fhci] {
        white-space: normal;
    }

    .metric-grid[b-4ocau0fhci] {
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
    }

    .metric-tile[b-4ocau0fhci] {
        gap: 0.6rem;
        padding: 0.75rem 0.8rem;
        border-radius: 12px;
    }

    .metric-icon[b-4ocau0fhci] {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }

    .metric-icon .material-icons[b-4ocau0fhci] { font-size: 20px; }

    .metric-value[b-4ocau0fhci] { font-size: 1.45rem; }

    .metric-label[b-4ocau0fhci] { font-size: 0.66rem; }

    .company-ratings-grid[b-4ocau0fhci] { grid-template-columns: 1fr; }
}
/* /Pages/ExpenseReceipts/Index.razor.rz.scp.css */
/*
    Elenco note spese di un contenitore (intervento, visita, iniziativa).

    Gli stili ricalcano quelli dell'elenco generale (Overview.razor.css) perche' e' lo stesso
    dato e deve leggersi allo stesso modo. Non si riusano: il CSS di Blazor e' scoped per
    componente, e l'unica alternativa - portarli in un foglio globale - li renderebbe modificabili
    da qualunque pagina senza accorgersene.
*/

.receipts-table-wrap[b-xqjjbwm1oo] {
    overflow-x: auto;
    background: var(--crm-surface-raised, #fff);
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 12px;
}

.receipts-table[b-xqjjbwm1oo] {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}

.receipts-table th[b-xqjjbwm1oo] {
    text-align: left;
    padding: .6rem .8rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--crm-text-muted, #64748b);
    border-bottom: 1px solid var(--crm-border, #e8ecf1);
    white-space: nowrap;
}

.receipts-table td[b-xqjjbwm1oo] {
    padding: .55rem .8rem;
    border-bottom: 1px solid var(--crm-border, #eef2f6);
    color: var(--crm-text, #1f2937);
}

.receipts-table tbody tr[b-xqjjbwm1oo] {
    cursor: pointer;
    transition: background-color .12s ease;
}

.receipts-table tbody tr:hover[b-xqjjbwm1oo] {
    background: var(--crm-surface-hover, #f1f5f9);
}

.receipts-table .num[b-xqjjbwm1oo] {
    text-align: right;
    white-space: nowrap;
}

.nowrap[b-xqjjbwm1oo] {
    white-space: nowrap;
}

.merchant[b-xqjjbwm1oo] {
    max-width: 22rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Allegato ed estrazione automatica: due dettagli che nella scheda erano una riga ciascuno e
   qui bastano come segno accanto al dato che qualificano. */
.row-flag[b-xqjjbwm1oo] {
    font-size: .95rem;
    vertical-align: middle;
    color: var(--crm-text-muted, #64748b);
}

.row-warn td[b-xqjjbwm1oo] {
    background: color-mix(in srgb, #f59e0b 6%, transparent);
}

.to-convert-badge[b-xqjjbwm1oo] {
    font-size: .72rem;
    font-weight: 600;
    color: #b45309;
    background: color-mix(in srgb, #f59e0b 16%, transparent);
    padding: .1rem .45rem;
    border-radius: 2rem;
    white-space: nowrap;
}

.status[b-xqjjbwm1oo] {
    font-size: .72rem;
    font-weight: 600;
    padding: .1rem .5rem;
    border-radius: 2rem;
    white-space: nowrap;
}

.status.ok[b-xqjjbwm1oo] {
    color: #15803d;
    background: color-mix(in srgb, #16a34a 12%, transparent);
}

.status.pending[b-xqjjbwm1oo] {
    color: var(--crm-text-muted, #64748b);
    background: var(--crm-surface-muted, #f1f5f9);
}

/* Tipologia di spesa */
.category[b-xqjjbwm1oo] {
    font-size: .78rem;
    white-space: nowrap;
}

/* "Da indicare" non e' un trattino qualunque: e' la voce che manca al rimborso. */
.category-missing[b-xqjjbwm1oo] {
    font-weight: 600;
    color: #b45309;
}

/* Proposta non ancora confermata: si distingue, ma senza gridare. */
.category-suggested[b-xqjjbwm1oo] {
    display: inline-block;
    margin-left: .25rem;
    font-size: .7rem;
    font-weight: 700;
    color: #4f46e5;
    cursor: help;
}

/* Azioni: icone soltanto, perche' la riga intera apre gia' il dettaglio. */
.row-actions[b-xqjjbwm1oo] {
    white-space: nowrap;
    text-align: right;
}

.icon-action[b-xqjjbwm1oo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-left: .15rem;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--crm-text-muted, #64748b);
    text-decoration: none;
}

.icon-action .material-icons[b-xqjjbwm1oo] {
    font-size: 1rem;
}

.icon-action:hover[b-xqjjbwm1oo] {
    background: var(--crm-surface-hover, #f1f5f9);
    color: var(--crm-text, #1f2937);
}

.icon-action.ok:hover[b-xqjjbwm1oo] {
    color: #15803d;
}

.icon-action.danger:hover[b-xqjjbwm1oo] {
    color: #b91c1c;
}

.icon-action:disabled[b-xqjjbwm1oo] {
    opacity: .45;
    cursor: default;
}

/*
    Schermi stretti: la tabella scorre in orizzontale come nell'elenco generale, ma prima si
    lasciano cadere le colonne che su un telefono non servono a decidere niente - la persona
    (quasi sempre chi guarda) e il controvalore in valuta base. Data, esercente, tipologia e
    importo restano, ed e' quello che si cerca guardando le spese dal cellulare.
*/
@media (max-width: 640px) {
    .col-user[b-xqjjbwm1oo],
    .col-base[b-xqjjbwm1oo] {
        display: none;
    }

    .merchant[b-xqjjbwm1oo] {
        max-width: 10rem;
    }
}

/* Rimborso calcolato (chilometri, diaria): si distingue da una spesa con scontrino. */
.calc-badge[b-xqjjbwm1oo] {
    display: inline-block;
    margin-left: .4rem;
    padding: 0 .45rem;
    border-radius: 999px;
    font-size: .7rem;
    line-height: 1.4;
    color: var(--crm-primary, #1565c0);
    background: color-mix(in srgb, var(--crm-primary, #1565c0) 14%, transparent);
}

.calc-detail[b-xqjjbwm1oo] {
    font-size: .8rem;
    color: var(--crm-text-muted, #6c757d);
}
/* /Pages/ExpenseReceipts/Overview.razor.rz.scp.css */
.expenses-overview[b-36zm71lgof] {
    padding: 0 1rem 1.5rem;
}

/* Filtri */
.filters-bar[b-36zm71lgof] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin-bottom: 1rem;
}

.filter-group[b-36zm71lgof] {
    display: inline-flex;
    border: 1px solid var(--crm-border, #e5e7eb);
    border-radius: 8px;
    overflow: hidden;
    background: var(--crm-surface, #fff);
}

.chip[b-36zm71lgof] {
    border: none;
    background: transparent;
    padding: .35rem .7rem;
    font-size: .8rem;
    font-weight: 600;
    color: var(--crm-text-muted, #64748b);
    cursor: pointer;
    white-space: nowrap;
    transition: background-color .15s ease, color .15s ease;
}

.filter-group .chip + .chip[b-36zm71lgof] {
    border-left: 1px solid var(--crm-border, #e5e7eb);
}

.chip:hover:not(:disabled)[b-36zm71lgof] {
    background: var(--crm-surface-hover, #f1f5f9);
}

.chip.active[b-36zm71lgof] {
    background: color-mix(in srgb, #6366f1 12%, var(--crm-surface, #fff));
    color: var(--crm-text, #1f2937);
}

.chip:disabled[b-36zm71lgof] {
    opacity: .45;
    cursor: default;
}

.chip-wide[b-36zm71lgof] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    border: 1px solid var(--crm-border, #e5e7eb);
    border-radius: 8px;
    background: var(--crm-surface, #fff);
}

.chip-wide .material-icons[b-36zm71lgof] {
    font-size: 1rem;
}

/* Il report sta accanto al pulsante di creazione ma non compete con lui: e' un'azione sulla
   pagina, non il gesto principale. */
.chip-report[b-36zm71lgof] {
    margin-left: auto;
}

.chip-report + .btn-new[b-36zm71lgof] {
    margin-left: 0;
}

.btn-new[b-36zm71lgof] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    margin-left: auto;
    padding: .35rem .8rem;
    border-radius: 8px;
    background: #4f46e5;
    color: #fff;
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.btn-new:hover[b-36zm71lgof] {
    background: #4338ca;
    color: #fff;
}

.btn-new .material-icons[b-36zm71lgof] { font-size: 1.1rem; }

/* Totali */
.tiles[b-36zm71lgof] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.tile[b-36zm71lgof] {
    background: var(--crm-surface-raised, #fff);
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 12px;
    padding: .8rem 1rem;
}

.tile-label[b-36zm71lgof] {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--crm-text-muted, #64748b);
}

.tile-value[b-36zm71lgof] {
    margin-top: .2rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--crm-text, #1f2937);
}

/* Spese senza cambio: dichiarate, non nascoste */
.to-convert[b-36zm71lgof] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    border-left: 3px solid #b45309;
    border-radius: 12px;
    background: color-mix(in srgb, #f59e0b 10%, var(--crm-surface-raised, #fff));
}

.to-convert > .material-icons[b-36zm71lgof] {
    color: #b45309;
    flex-shrink: 0;
}

.to-convert-text[b-36zm71lgof] {
    font-size: .82rem;
    color: var(--crm-text-muted, #64748b);
}

.btn-link-inline[b-36zm71lgof] {
    margin-left: auto;
    background: none;
    border: none;
    color: #b45309;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.btn-link-inline:hover[b-36zm71lgof] { text-decoration: underline; }

/* Spaccati */
.breakdown[b-36zm71lgof] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
    font-size: .82rem;
}

.breakdown-label[b-36zm71lgof] {
    font-weight: 600;
    color: var(--crm-text-muted, #64748b);
}

.breakdown-item[b-36zm71lgof] {
    padding: .15rem .55rem;
    border-radius: 2rem;
    background: var(--crm-surface-muted, #f8fafc);
    border: 1px solid var(--crm-border, #e5e7eb);
    color: var(--crm-text, #1f2937);
}

/* Tabella */
.receipts-table-wrap[b-36zm71lgof] {
    overflow-x: auto;
    background: var(--crm-surface-raised, #fff);
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 12px;
}

.receipts-table[b-36zm71lgof] {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}

.receipts-table th[b-36zm71lgof] {
    text-align: left;
    padding: .6rem .8rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--crm-text-muted, #64748b);
    border-bottom: 1px solid var(--crm-border, #e8ecf1);
    white-space: nowrap;
}

.receipts-table td[b-36zm71lgof] {
    padding: .55rem .8rem;
    border-bottom: 1px solid var(--crm-border, #eef2f6);
    color: var(--crm-text, #1f2937);
}

.receipts-table tbody tr[b-36zm71lgof] {
    cursor: pointer;
    transition: background-color .12s ease;
}

.receipts-table tbody tr:hover[b-36zm71lgof] {
    background: var(--crm-surface-hover, #f1f5f9);
}

.receipts-table .num[b-36zm71lgof] {
    text-align: right;
    white-space: nowrap;
}

.merchant[b-36zm71lgof] {
    max-width: 22rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.row-warn td[b-36zm71lgof] { background: color-mix(in srgb, #f59e0b 6%, transparent); }

.ctx[b-36zm71lgof] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: .8rem;
    color: var(--crm-text-muted, #64748b);
    white-space: nowrap;
}

.ctx .material-icons[b-36zm71lgof] { font-size: .95rem; }

.ctx-link[b-36zm71lgof] {
    text-decoration: none;
}

    .ctx-link:hover[b-36zm71lgof] {
        color: var(--crm-primary, #2563eb);
        text-decoration: underline;
    }

.to-convert-badge[b-36zm71lgof] {
    font-size: .72rem;
    font-weight: 600;
    color: #b45309;
    background: color-mix(in srgb, #f59e0b 16%, transparent);
    padding: .1rem .45rem;
    border-radius: 2rem;
    white-space: nowrap;
}

.status[b-36zm71lgof] {
    font-size: .72rem;
    font-weight: 600;
    padding: .1rem .5rem;
    border-radius: 2rem;
    white-space: nowrap;
}

.status.ok[b-36zm71lgof] {
    color: #15803d;
    background: color-mix(in srgb, #16a34a 12%, transparent);
}

.status.pending[b-36zm71lgof] {
    color: var(--crm-text-muted, #64748b);
    background: var(--crm-surface-muted, #f1f5f9);
}

/* Vuoto e paginazione */
.empty-state[b-36zm71lgof] {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1.5rem;
    border: 1px dashed var(--crm-border-strong, #cbd5e1);
    border-radius: 12px;
    background: var(--crm-surface-muted, #f8fafc);
}

.empty-state .material-icons[b-36zm71lgof] {
    font-size: 1.6rem;
    color: var(--crm-text-muted, #64748b);
}

.empty-title[b-36zm71lgof] { font-weight: 700; color: var(--crm-text, #1f2937); }
.empty-text[b-36zm71lgof] { font-size: .82rem; color: var(--crm-text-muted, #64748b); }

.pager[b-36zm71lgof] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: .75rem;
}

.pager .chip[b-36zm71lgof] {
    border: 1px solid var(--crm-border, #e5e7eb);
    border-radius: 8px;
    background: var(--crm-surface, #fff);
}

.pager-info[b-36zm71lgof] {
    font-size: .8rem;
    color: var(--crm-text-muted, #64748b);
}

/* Intervallo di date: sta nella barra dei filtri e ne segue la forma, cosi' non sembra un
   modulo a parte ma un filtro come gli altri. */
.date-range[b-36zm71lgof] {
    align-items: center;
    gap: .35rem;
    padding: 0 .6rem;
}

.date-range label[b-36zm71lgof] {
    font-size: .78rem;
    font-weight: 600;
    color: var(--crm-text-muted, #64748b);
}

.chip-date[b-36zm71lgof] {
    border: none;
    background: transparent;
    color: var(--crm-text, #1f2937);
    font-size: .8rem;
    font-weight: 600;
    padding: .3rem .2rem;
}

.chip-date:focus-visible[b-36zm71lgof] {
    outline: 2px solid color-mix(in srgb, #6366f1 45%, transparent);
    border-radius: 6px;
}

/* Tipologia di spesa */
.chip-select[b-36zm71lgof] {
    border: 1px solid var(--crm-border, #e5e7eb);
    border-radius: 8px;
    background: var(--crm-surface, #fff);
    color: var(--crm-text, #1f2937);
    max-width: 14rem;
}

.category[b-36zm71lgof] {
    font-size: .78rem;
    white-space: nowrap;
}

/* "Da indicare" non e' un trattino qualunque: e' la voce che manca al rimborso. */
.category-missing[b-36zm71lgof] {
    font-weight: 600;
    color: #b45309;
}

/* Proposta non ancora confermata: si distingue, ma senza gridare - nel caso normale e' giusta. */
.category-suggested[b-36zm71lgof] {
    display: inline-block;
    margin-left: .25rem;
    font-size: .7rem;
    font-weight: 700;
    color: #4f46e5;
    cursor: help;
}

.breakdown-item.breakdown-missing[b-36zm71lgof] {
    border-style: dashed;
    color: #b45309;
}

/* Tema scuro: solo i letterali ambra/verde, le --crm-* si adattano da sole */
body.dark-theme .to-convert[b-36zm71lgof] { border-left-color: #f59e0b; }
body.dark-theme .to-convert > .material-icons[b-36zm71lgof],
body.dark-theme .btn-link-inline[b-36zm71lgof],
body.dark-theme .to-convert-badge[b-36zm71lgof] { color: #fbbf24; }
body.dark-theme .status.ok[b-36zm71lgof] { color: #86efac; }
/* Il calendario nativo si disegna da sé: senza questo resta chiaro dentro una barra scura. */
body.dark-theme .chip-date[b-36zm71lgof] { color-scheme: dark; }
body.dark-theme .category-missing[b-36zm71lgof],
body.dark-theme .breakdown-item.breakdown-missing[b-36zm71lgof] { color: #fbbf24; }
body.dark-theme .category-suggested[b-36zm71lgof] { color: #a5b4fc; }

/* Rimborso calcolato (chilometri, diaria): si distingue da una spesa con scontrino. */
.calc-badge[b-36zm71lgof] {
    display: inline-block;
    margin-left: .4rem;
    padding: 0 .45rem;
    border-radius: 999px;
    font-size: .7rem;
    line-height: 1.4;
    color: var(--crm-primary, #1565c0);
    background: color-mix(in srgb, var(--crm-primary, #1565c0) 14%, transparent);
}

.calc-detail[b-36zm71lgof] {
    font-size: .8rem;
    color: var(--crm-text-muted, #6c757d);
}
/* /Pages/FileTransfers/Index.razor.rz.scp.css */
/* Condivisione file: colori solo dalle variabili --crm-*. */

.ft-page[b-yexii8zpbj] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 1100px;
    padding: 1rem;
}

.ft-card[b-yexii8zpbj] {
    border: 1px solid var(--crm-border, #dfe7f1);
    border-radius: 14px;
    background: var(--crm-surface, #fff);
    padding: 1.25rem;
}

.ft-card h3[b-yexii8zpbj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.ft-files[b-yexii8zpbj] {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ft-files li[b-yexii8zpbj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.6rem;
    border-radius: 8px;
    background: var(--crm-surface-muted, #f8fafc);
}

.ft-name[b-yexii8zpbj] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ft-size[b-yexii8zpbj] {
    color: var(--crm-text-muted, #6c757d);
    font-size: 0.85rem;
}

.ft-x[b-yexii8zpbj] {
    border: 0;
    background: transparent;
    color: var(--crm-text-muted, #6c757d);
    display: inline-flex;
    padding: 0;
}

.ft-actions[b-yexii8zpbj] {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
}

.ft-empty[b-yexii8zpbj] {
    color: var(--crm-text-muted, #6c757d);
    padding: 1rem 0;
}

.ft-badge[b-yexii8zpbj] {
    display: inline-block;
    padding: 0.1rem 0.6rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
}

.ft-ok[b-yexii8zpbj] {
    background: color-mix(in srgb, var(--crm-success, #198754) 15%, transparent);
    color: var(--crm-success, #198754);
}

.ft-off[b-yexii8zpbj],
.ft-old[b-yexii8zpbj] {
    background: color-mix(in srgb, var(--crm-text-muted, #6c757d) 15%, transparent);
    color: var(--crm-text-muted, #6c757d);
}

.ft-drop[b-yexii8zpbj] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 1.5rem 1rem;
    text-align: center;
    border: 2px dashed var(--crm-border, #dfe7f1);
    border-radius: 12px;
    background: var(--crm-surface-muted, #f8fafc);
    transition: border-color 0.15s, background 0.15s;
}

.ft-drop > .material-icons[b-yexii8zpbj] {
    font-size: 40px;
    color: var(--crm-primary, #0066cc);
}

.ft-drop:hover[b-yexii8zpbj],
.ft-drop-over[b-yexii8zpbj] {
    border-color: var(--crm-primary, #0066cc);
    background: color-mix(in srgb, var(--crm-primary, #0066cc) 8%, transparent);
}

.ft-drop-off[b-yexii8zpbj] {
    opacity: 0.6;
}

/* Il campo vero copre tutta la zona ed e' invisibile: riceve clic e file trascinati. */
.ft-drop[b-yexii8zpbj]  .ft-drop-input,
.ft-drop-input[b-yexii8zpbj] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.ft-wait[b-yexii8zpbj] {
    margin-top: 1rem;
}

.ft-wait-msg[b-yexii8zpbj] {
    margin-top: 0.4rem;
    font-size: 0.9rem;
    color: var(--crm-text-muted, #6c757d);
}
/* /Pages/GanttPlans/Edit.razor.rz.scp.css */
/* .rz-dropdown e' inline-flex senza width: si dimensionerebbe sul contenuto, restando
   piu' stretto degli altri campi. ::deep perche' il markup e' generato dal componente Radzen. */
.plan-fields[b-w5gn3px0s0]  .rz-dropdown {
    width: 100%;
}
/* /Pages/GanttPlans/PhaseEdit.razor.rz.scp.css */
/* L'anteprima resta visibile mentre si compilano i campi della fase nella colonna a sinistra. */
.gantt-preview-sticky[b-iw88bzpl28] {
    position: sticky;
    top: 1rem;
}

/* .rz-dropdown e' inline-flex senza width: si dimensionerebbe sul contenuto, restando
   piu' stretto degli altri campi. ::deep perche' il markup e' generato dal componente Radzen.
   Il dropdown "Aggiungi predecessore" ha uno Style inline esplicito e non viene toccato. */
.phase-fields[b-iw88bzpl28]  .rz-dropdown {
    width: 100%;
}
/* /Pages/Invoices/TicketInvoicing.razor.rz.scp.css */
/* Assistenza da fatturare: una scheda per cliente, colori solo dalle variabili --crm-*. */

.ti-page[b-m608qjrknb] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 1100px;
    padding: 1rem;
}

.ti-card[b-m608qjrknb] {
    border: 1px solid var(--crm-border, #dfe7f1);
    border-radius: 14px;
    background: var(--crm-surface, #fff);
    overflow: hidden;
}

.ti-head[b-m608qjrknb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--crm-border, #dfe7f1);
    background: var(--crm-surface-muted, #f8fafc);
}

.ti-head > .material-icons[b-m608qjrknb] {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 20px;
    background: color-mix(in srgb, var(--rz-primary, #1976d2) 14%, transparent);
    color: var(--rz-primary, #1976d2);
}

.ti-head > div[b-m608qjrknb] {
    flex: 1;
    min-width: 0;
}

.ti-head h3[b-m608qjrknb] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.ti-head p[b-m608qjrknb] {
    margin: 0.125rem 0 0;
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.ti-section + .ti-section[b-m608qjrknb] {
    border-top: 1px solid var(--crm-border, #dfe7f1);
}

.ti-section-head[b-m608qjrknb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    font-size: 0.8125rem;
    color: var(--crm-text, #1f2937);
}

.ti-section-head > .material-icons[b-m608qjrknb] {
    font-size: 18px;
    color: var(--rz-primary, #1976d2);
}

.ti-count[b-m608qjrknb] {
    padding: 0 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    background: color-mix(in srgb, var(--rz-primary, #1976d2) 14%, transparent);
    color: var(--rz-primary, #1976d2);
}

.ti-count-chase[b-m608qjrknb] {
    background: color-mix(in srgb, var(--rz-danger, #dc2626) 14%, transparent);
    color: var(--rz-danger, #dc2626);
}

.ti-chase[b-m608qjrknb] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.125rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--rz-danger, #dc2626);
}

.ti-chase > .material-icons[b-m608qjrknb] {
    font-size: 14px;
}

.ti-hint[b-m608qjrknb] {
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.ti-actions[b-m608qjrknb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-top: 1px solid var(--crm-border, #dfe7f1);
}

.ti-actions-sub[b-m608qjrknb] {
    border-top-style: dashed;
}

.ti-blocked[b-m608qjrknb] {
    color: var(--crm-text-muted, #64748b);
}

.ti-note[b-m608qjrknb] {
    max-width: 320px;
    font-size: 0.75rem;
}

.ti-warn[b-m608qjrknb] {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.25rem;
    color: var(--rz-warning-darker, #b45309);
}

.ti-warn > .material-icons[b-m608qjrknb] {
    font-size: 14px;
    margin-top: 1px;
}

.ti-table th[b-m608qjrknb],
.ti-table td[b-m608qjrknb] {
    padding: 0.5rem 1.25rem;
    vertical-align: middle;
    font-size: 0.8125rem;
}

.ti-desc[b-m608qjrknb] {
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ti-empty[b-m608qjrknb] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2.5rem;
    border: 1px dashed var(--crm-border, #dfe7f1);
    border-radius: 14px;
    color: var(--crm-text-muted, #64748b);
    font-size: 0.875rem;
}

@media (max-width: 767px) {
    .ti-page[b-m608qjrknb] {
        padding: 0.5rem;
    }

    .ti-desc[b-m608qjrknb] {
        max-width: 140px;
    }

    .ti-table th[b-m608qjrknb],
    .ti-table td[b-m608qjrknb] {
        padding: 0.375rem 0.5rem;
    }
}
/* /Pages/MachineBackups/Create.razor.rz.scp.css */
.backup-create-page[b-bp4fl8nkes] { max-width: 1040px; margin: 0 auto; padding: 1rem 0 2rem; display: grid; gap: 1.25rem; }
.icon-command[b-bp4fl8nkes] { width: 38px; height: 38px; flex: 0 0 38px; border: 0; background: transparent; color: var(--rz-text-color); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.icon-command:hover[b-bp4fl8nkes] { background: var(--rz-base-200); }
.create-content[b-bp4fl8nkes] { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 1.25rem; align-items: start; }
.file-section[b-bp4fl8nkes], .metadata-section[b-bp4fl8nkes] { display: grid; gap: .85rem; }
.file-section h2[b-bp4fl8nkes], .metadata-section h2[b-bp4fl8nkes] { margin: 0; font-size: 1rem; }
.drop-zone[b-bp4fl8nkes] { min-height: 290px; border: 2px dashed var(--rz-border-color); background: var(--rz-base-100); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 2rem; text-align: center; transition: border-color .15s, background-color .15s; }
.drop-zone.is-dragging[b-bp4fl8nkes] { border-color: var(--rz-primary); background: var(--rz-primary-lighter); }
.drop-zone .file-input[b-bp4fl8nkes] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.drop-icon[b-bp4fl8nkes] { font-size: 3rem; color: var(--rz-primary); }
.drop-zone strong[b-bp4fl8nkes] { font-size: 1.1rem; }
.drop-zone > span:not(.material-symbols-outlined)[b-bp4fl8nkes], .drop-zone small[b-bp4fl8nkes] { color: var(--rz-text-secondary-color); }
.browse-command[b-bp4fl8nkes] { border: 1px solid var(--rz-primary); color: var(--rz-primary); padding: .5rem .9rem; cursor: pointer; font-weight: 600; }
.browse-command:hover[b-bp4fl8nkes] { background: var(--rz-primary-lighter); }
.selected-file[b-bp4fl8nkes] { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; border: 1px solid var(--rz-border-color); padding: .8rem; }
.selected-file > .material-symbols-outlined[b-bp4fl8nkes] { color: var(--rz-primary); }
.selected-file strong[b-bp4fl8nkes], .selected-file small[b-bp4fl8nkes] { display: block; overflow-wrap: anywhere; }
.selected-file small[b-bp4fl8nkes] { margin-top: .15rem; color: var(--rz-text-secondary-color); }
.upload-progress[b-bp4fl8nkes] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem; }
.upload-progress progress[b-bp4fl8nkes] { width: 100%; height: .65rem; accent-color: var(--rz-primary); }
.upload-progress small[b-bp4fl8nkes] { color: var(--rz-text-secondary-color); font-variant-numeric: tabular-nums; }
.metadata-section[b-bp4fl8nkes] { border-left: 1px solid var(--rz-border-color); padding-left: 1.25rem; }
.metadata-section label[b-bp4fl8nkes] { display: grid; gap: .4rem; font-weight: 600; }
.metadata-section label small[b-bp4fl8nkes] { color: var(--rz-text-secondary-color); font-weight: 400; }
.form-error[b-bp4fl8nkes] { display: flex; align-items: center; gap: .5rem; color: var(--rz-danger); border-left: 3px solid var(--rz-danger); padding: .7rem .85rem; background: var(--rz-base-200); }
.create-actions[b-bp4fl8nkes] { border-top: 1px solid var(--rz-border-color); padding-top: 1rem; display: flex; justify-content: flex-end; gap: .65rem; }
@media (max-width: 760px) { .backup-create-page[b-bp4fl8nkes] { padding-inline: .25rem; } .create-content[b-bp4fl8nkes] { grid-template-columns: 1fr; } .metadata-section[b-bp4fl8nkes] { border-left: 0; border-top: 1px solid var(--rz-border-color); padding: 1rem 0 0; } .drop-zone[b-bp4fl8nkes] { min-height: 230px; } }
/* /Pages/MachineBackups/Index.razor.rz.scp.css */
.backup-workspace[b-ls4b4odbz3] { display: grid; gap: 1rem; }
.backup-header[b-ls4b4odbz3] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.backup-header h3[b-ls4b4odbz3] { margin: 0; font-size: 1.15rem; }
.backup-header p[b-ls4b4odbz3] { margin: .25rem 0 0; color: var(--rz-text-secondary-color); }
.backup-toolbar[b-ls4b4odbz3] { display: flex; align-items: center; gap: .5rem; }
.file-cell strong[b-ls4b4odbz3], .file-cell small[b-ls4b4odbz3] { display: block; overflow-wrap: anywhere; }
.file-cell small[b-ls4b4odbz3] { color: var(--rz-text-secondary-color); margin-top: .15rem; }
.version-badge[b-ls4b4odbz3] { display: inline-flex; min-width: 42px; justify-content: center; padding: .2rem .45rem; background: var(--rz-primary-lighter); color: var(--rz-primary-dark); border-radius: 4px; font-weight: 700; }
.file-cell[b-ls4b4odbz3] { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.file-cell > .material-symbols-outlined[b-ls4b4odbz3] { color: var(--rz-text-secondary-color); }
/* Riferimento a un sistema esterno: puo' essere lungo, quindi si tronca e resta per intero nel title. */
.external-ref[b-ls4b4odbz3] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cell-empty[b-ls4b4odbz3] { color: var(--rz-text-secondary-color); }
.backup-action[b-ls4b4odbz3] { width: 34px; height: 34px; border: 0; background: transparent; color: var(--rz-primary); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; }
.backup-action.danger[b-ls4b4odbz3] { color: var(--rz-danger); }
.backup-action:hover[b-ls4b4odbz3] { background: var(--rz-base-200); }
@media (max-width: 768px) {
  .backup-header[b-ls4b4odbz3] { align-items: flex-start; }
  .backup-toolbar[b-ls4b4odbz3] { flex-wrap: wrap; justify-content: flex-end; }
}
/* /Pages/MachineStatus/Index.razor.rz.scp.css */
/* Colori dalle variabili del tema: la scheda deve reggere chiaro e scuro senza ritocchi. */
.machine-status[b-y1d8pkhr5d] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.ms-card[b-y1d8pkhr5d] {
    border: 1px solid var(--crm-border, rgba(128, 128, 128, 0.3));
    border-radius: 12px;
    overflow: hidden;
    background: var(--crm-surface, transparent);
}

.ms-head[b-y1d8pkhr5d] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    border-bottom: 1px solid var(--crm-border, rgba(128, 128, 128, 0.3));
}

.ms-head h3[b-y1d8pkhr5d] {
    margin: 0;
    font-size: 1rem;
    flex: 1;
}

.ms-head .material-icons[b-y1d8pkhr5d] {
    color: var(--crm-primary, #0f4a8a);
}

.ms-count[b-y1d8pkhr5d] {
    font-size: 0.8rem;
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--crm-primary, #0f4a8a) 15%, transparent);
    color: var(--crm-primary, #0f4a8a);
}

.ms-empty[b-y1d8pkhr5d] {
    margin: 0;
    padding: 1.1rem;
    font-size: 0.9rem;
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}

/* La tabella scorre per conto suo: una linea con venti schede non deve far scorrere la pagina. */
.ms-table[b-y1d8pkhr5d] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    display: block;
    overflow-x: auto;
}

.ms-table th[b-y1d8pkhr5d],
.ms-table td[b-y1d8pkhr5d] {
    padding: 0.5rem 1.1rem;
    text-align: left;
    white-space: nowrap;
    border-bottom: 1px solid color-mix(in srgb, var(--crm-border, gray) 50%, transparent);
}

.ms-table th[b-y1d8pkhr5d] {
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}

.ms-table tbody tr:last-child td[b-y1d8pkhr5d] {
    border-bottom: none;
}

.ms-kind[b-y1d8pkhr5d] {
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.1rem 0.45rem;
    border-radius: 5px;
    border: 1px solid var(--crm-border, rgba(128, 128, 128, 0.4));
}

.ms-version[b-y1d8pkhr5d] {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.85rem;
}

.ms-sub[b-y1d8pkhr5d] {
    font-size: 0.8rem;
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}

/* Non parla da piu' di una settimana: la versione qui e' l'ultima nota, non quella di adesso. */
.ms-stale[b-y1d8pkhr5d] {
    color: var(--crm-warning, #ed6c02);
    font-weight: 600;
}

.ms-reset[b-y1d8pkhr5d] {
    margin-left: 0.4rem;
    font-size: 0.7rem;
    padding: 0.05rem 0.4rem;
    border-radius: 5px;
    background: color-mix(in srgb, var(--crm-warning, #ed6c02) 18%, transparent);
    color: var(--crm-warning, #ed6c02);
}

.ms-totals[b-y1d8pkhr5d] {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 1rem 1.1rem;
}

.ms-total[b-y1d8pkhr5d] {
    display: flex;
    flex-direction: column;
}

.ms-total-value[b-y1d8pkhr5d] {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.1;
}

.ms-total-label[b-y1d8pkhr5d] {
    font-size: 0.8rem;
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}
/* /Pages/ProductReleases/Create.razor.rz.scp.css */
.backup-create-page[b-nry3pra9jg] { max-width: 1040px; margin: 0 auto; padding: 1rem 0 2rem; display: grid; gap: 1.25rem; }
.icon-command[b-nry3pra9jg] { width: 38px; height: 38px; flex: 0 0 38px; border: 0; background: transparent; color: var(--rz-text-color); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.icon-command:hover[b-nry3pra9jg] { background: var(--rz-base-200); }
.create-content[b-nry3pra9jg] { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 1.25rem; align-items: start; }
.file-section[b-nry3pra9jg], .metadata-section[b-nry3pra9jg] { display: grid; gap: .85rem; }
.file-section h2[b-nry3pra9jg], .metadata-section h2[b-nry3pra9jg] { margin: 0; font-size: 1rem; }
.drop-zone[b-nry3pra9jg] { min-height: 290px; border: 2px dashed var(--rz-border-color); background: var(--rz-base-100); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; padding: 2rem; text-align: center; transition: border-color .15s, background-color .15s; }
.drop-zone.is-dragging[b-nry3pra9jg] { border-color: var(--rz-primary); background: var(--rz-primary-lighter); }
.drop-zone .file-input[b-nry3pra9jg] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.drop-icon[b-nry3pra9jg] { font-size: 3rem; color: var(--rz-primary); }
.drop-zone strong[b-nry3pra9jg] { font-size: 1.1rem; }
.drop-zone > span:not(.material-symbols-outlined)[b-nry3pra9jg], .drop-zone small[b-nry3pra9jg] { color: var(--rz-text-secondary-color); }
/* Il framework colora <code> di rosa/rosso per il tema chiaro: illeggibile sul
   riquadro grigio del drop-zone in tema scuro. Qui e' solo un suggerimento
   testuale, non codice da evidenziare: eredita il colore del testo intorno. */
.drop-zone code[b-nry3pra9jg], .metadata-section code[b-nry3pra9jg] { color: inherit; background: none; padding: 0; }
.browse-command[b-nry3pra9jg] { border: 1px solid var(--rz-primary); color: var(--rz-primary); padding: .5rem .9rem; cursor: pointer; font-weight: 600; }
.browse-command:hover[b-nry3pra9jg] { background: var(--rz-primary-lighter); }
.selected-file[b-nry3pra9jg] { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; border: 1px solid var(--rz-border-color); padding: .8rem; }
.selected-file > .material-symbols-outlined[b-nry3pra9jg] { color: var(--rz-primary); }
.selected-file strong[b-nry3pra9jg], .selected-file small[b-nry3pra9jg] { display: block; overflow-wrap: anywhere; }
.selected-file small[b-nry3pra9jg] { margin-top: .15rem; color: var(--rz-text-secondary-color); }
.upload-progress[b-nry3pra9jg] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem; }
.upload-progress progress[b-nry3pra9jg] { width: 100%; height: .65rem; accent-color: var(--rz-primary); }
.upload-progress small[b-nry3pra9jg] { color: var(--rz-text-secondary-color); font-variant-numeric: tabular-nums; }
.metadata-section[b-nry3pra9jg] { border-left: 1px solid var(--rz-border-color); padding-left: 1.25rem; }
.metadata-section label[b-nry3pra9jg] { display: grid; gap: .4rem; font-weight: 600; }
.metadata-section label small[b-nry3pra9jg] { color: var(--rz-text-secondary-color); font-weight: 400; }
.form-error[b-nry3pra9jg] { display: flex; align-items: center; gap: .5rem; color: var(--rz-danger); border-left: 3px solid var(--rz-danger); padding: .7rem .85rem; background: var(--rz-base-200); }
.create-actions[b-nry3pra9jg] { border-top: 1px solid var(--rz-border-color); padding-top: 1rem; display: flex; justify-content: flex-end; gap: .65rem; }
@media (max-width: 760px) { .backup-create-page[b-nry3pra9jg] { padding-inline: .25rem; } .create-content[b-nry3pra9jg] { grid-template-columns: 1fr; } .metadata-section[b-nry3pra9jg] { border-left: 0; border-top: 1px solid var(--rz-border-color); padding: 1rem 0 0; } .drop-zone[b-nry3pra9jg] { min-height: 230px; } }

/* Le variabili --rz-* qui sopra non seguono il tema scuro dell'app (solo le
   --crm-* lo fanno): senza queste eccezioni il riquadro resta grigio chiaro
   anche di notte. Stesso schema delle altre pagine non ancora convertite,
   vedi il blocco "Tema scuro" in app.css. */
body.dark-theme .icon-command[b-nry3pra9jg] { color: var(--crm-dark-text); }
body.dark-theme .icon-command:hover[b-nry3pra9jg] { background: var(--crm-dark-surface-hover); }
body.dark-theme .drop-zone[b-nry3pra9jg] { background: var(--crm-dark-surface); border-color: var(--crm-dark-border); }
body.dark-theme .drop-zone.is-dragging[b-nry3pra9jg] { border-color: var(--crm-dark-primary); background: var(--crm-dark-surface-raised); }
body.dark-theme .drop-zone strong[b-nry3pra9jg] { color: var(--crm-dark-text); }
body.dark-theme .drop-zone > span:not(.material-symbols-outlined)[b-nry3pra9jg],
body.dark-theme .drop-zone small[b-nry3pra9jg],
body.dark-theme .selected-file small[b-nry3pra9jg],
body.dark-theme .upload-progress small[b-nry3pra9jg],
body.dark-theme .metadata-section label small[b-nry3pra9jg] {
    color: var(--crm-dark-muted);
}
body.dark-theme .browse-command[b-nry3pra9jg] { border-color: var(--crm-dark-primary); color: var(--crm-dark-primary); }
body.dark-theme .browse-command:hover[b-nry3pra9jg] { background: rgba(90, 167, 255, 0.1); }
body.dark-theme .selected-file[b-nry3pra9jg] { border-color: var(--crm-dark-border); }
body.dark-theme .selected-file strong[b-nry3pra9jg] { color: var(--crm-dark-text); }
body.dark-theme .selected-file > .material-symbols-outlined[b-nry3pra9jg] { color: var(--crm-dark-primary); }
body.dark-theme .metadata-section[b-nry3pra9jg] { border-left-color: var(--crm-dark-border); }
body.dark-theme .metadata-section label[b-nry3pra9jg] { color: var(--crm-dark-text); }
body.dark-theme .form-error[b-nry3pra9jg] { background: var(--crm-dark-surface-raised); }
body.dark-theme .create-actions[b-nry3pra9jg] { border-top-color: var(--crm-dark-border); }
@media (max-width: 760px) {
    body.dark-theme .metadata-section[b-nry3pra9jg] { border-top-color: var(--crm-dark-border); }
}
/* /Pages/ProductReleases/Index.razor.rz.scp.css */
.backup-workspace[b-6mktusf80b] { display: grid; gap: 1rem; }
.backup-header[b-6mktusf80b] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.backup-header h3[b-6mktusf80b] { margin: 0; font-size: 1.15rem; }
.backup-header p[b-6mktusf80b] { margin: .25rem 0 0; color: var(--rz-text-secondary-color); }
.backup-toolbar[b-6mktusf80b] { display: flex; align-items: center; gap: .5rem; }
.file-cell strong[b-6mktusf80b], .file-cell small[b-6mktusf80b] { display: block; overflow-wrap: anywhere; }
.file-cell small[b-6mktusf80b] { color: var(--rz-text-secondary-color); margin-top: .15rem; }
.version-badge[b-6mktusf80b] { display: inline-flex; min-width: 42px; justify-content: center; padding: .2rem .45rem; background: var(--rz-primary-lighter); color: var(--rz-primary-dark); border-radius: 4px; font-weight: 700; }
.file-cell[b-6mktusf80b] { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.file-cell > .material-symbols-outlined[b-6mktusf80b] { color: var(--rz-text-secondary-color); }
.cell-empty[b-6mktusf80b] { color: var(--rz-text-secondary-color); }
.backup-action[b-6mktusf80b] { width: 34px; height: 34px; border: 0; background: transparent; color: var(--rz-primary); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; }
.backup-action.danger[b-6mktusf80b] { color: var(--rz-danger); }
.backup-action:hover[b-6mktusf80b] { background: var(--rz-base-200); }
@media (max-width: 768px) {
  .backup-header[b-6mktusf80b] { align-items: flex-start; }
  .backup-toolbar[b-6mktusf80b] { flex-wrap: wrap; justify-content: flex-end; }
}

/* Stessa ragione di Create.razor.css: le variabili --rz-* non seguono il tema
   scuro dell'app. */
body.dark-theme .backup-header p[b-6mktusf80b],
body.dark-theme .file-cell small[b-6mktusf80b],
body.dark-theme .cell-empty[b-6mktusf80b] {
    color: var(--crm-dark-muted);
}
body.dark-theme .file-cell > .material-symbols-outlined[b-6mktusf80b] { color: var(--crm-dark-muted); }
body.dark-theme .version-badge[b-6mktusf80b] { background: rgba(90, 167, 255, .18); color: var(--crm-dark-primary); }
body.dark-theme .backup-action[b-6mktusf80b] { color: var(--crm-dark-primary); }
body.dark-theme .backup-action:hover[b-6mktusf80b] { background: var(--crm-dark-surface-hover); }
/* /Pages/Settings/GlobalSettings/Edit.razor.rz.scp.css */
/* Impostazioni generali: schede nello stile di Backup macchine e Smistamento ticket. Tutti i
   colori passano dalle variabili --crm-*, cosi' la pagina regge anche il tema scuro. */

.gs-page[b-yx9sx58db0] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 1280px;
    padding: 1rem;
}

.gs-grid[b-yx9sx58db0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(440px, 1fr));
    gap: 1rem;
    align-items: start;
}

/* ─── Scheda ─────────────────────────────────────────────────────────────── */

.gs-card[b-yx9sx58db0] {
    border: 1px solid var(--crm-border, #dfe7f1);
    border-radius: 14px;
    background: var(--crm-surface, #fff);
    overflow: hidden;
}

.gs-card.is-on[b-yx9sx58db0] {
    border-color: color-mix(in srgb, #2e7d32 40%, var(--crm-border, #dfe7f1));
}

.gs-card.is-off .gs-body[b-yx9sx58db0] {
    opacity: 0.7;
}

.gs-head[b-yx9sx58db0] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--crm-border, #dfe7f1);
    background: var(--crm-surface-muted, #f8fafc);
}

.gs-head > .material-icons[b-yx9sx58db0] {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 20px;
    background: color-mix(in srgb, var(--rz-primary, #1976d2) 14%, transparent);
    color: var(--rz-primary, #1976d2);
}

.gs-head > div:not(.gs-switch)[b-yx9sx58db0] {
    flex: 1;
    min-width: 0;
}

.gs-head h3[b-yx9sx58db0] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.gs-head p[b-yx9sx58db0] {
    margin: 0.125rem 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--crm-text-muted, #64748b);
}

.gs-switch[b-yx9sx58db0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.gs-switch span[b-yx9sx58db0] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--crm-text-muted, #64748b);
}

.gs-body[b-yx9sx58db0] {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    padding: 1.125rem 1.25rem;
}

/* ─── Campi ──────────────────────────────────────────────────────────────── */

.gs-fields[b-yx9sx58db0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.75rem 1rem;
}

.gs-fields-tight[b-yx9sx58db0] {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.gs-field[b-yx9sx58db0] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.gs-field > label[b-yx9sx58db0],
.gs-product > label[b-yx9sx58db0] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.gs-inline[b-yx9sx58db0] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.gs-help[b-yx9sx58db0] {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--crm-text-muted, #64748b);
}

.gs-warn[b-yx9sx58db0] {
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    border: 1px solid color-mix(in srgb, #ed6c02 55%, transparent);
    border-left-width: 4px;
    background: color-mix(in srgb, #ed6c02 14%, var(--crm-surface, #fff));
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--crm-text, #1f2937);
}

.gs-switch-row[b-yx9sx58db0] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0;
    cursor: pointer;
}

.gs-switch-row > span[b-yx9sx58db0] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.gs-switch-title[b-yx9sx58db0] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--crm-text, #1f2937);
}

/* Prodotto di servizio: etichetta, scelta e prezzo sulla stessa riga. */
.gs-product[b-yx9sx58db0] {
    display: grid;
    grid-template-columns: 120px 1fr 130px;
    align-items: center;
    gap: 0.75rem;
}

.gs-price[b-yx9sx58db0] {
    font-size: 0.8125rem;
    text-align: right;
    color: var(--crm-text-muted, #64748b);
    white-space: nowrap;
}

/* ─── Pulsanti ───────────────────────────────────────────────────────────── */

.gs-actions[b-yx9sx58db0] {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--crm-border, #dfe7f1);
    border-radius: 14px;
    background: var(--crm-surface, #fff);
    box-shadow: var(--crm-shadow, 0 -6px 18px rgba(31, 42, 68, 0.08));
}

@media (max-width: 767px) {
    .gs-page[b-yx9sx58db0] {
        padding: 0.5rem;
    }

    .gs-grid[b-yx9sx58db0] {
        grid-template-columns: 1fr;
    }

    .gs-product[b-yx9sx58db0] {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .gs-price[b-yx9sx58db0] {
        text-align: left;
    }
}
/* /Pages/Settings/MachineBackups/Index.razor.rz.scp.css */
/* Colori dalle variabili del tema: la pagina deve reggere chiaro e scuro senza ritocchi. */
.backup-page[b-agpa49enbb] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 900px;
}

.backup-card[b-agpa49enbb] {
    border: 1px solid var(--crm-border, rgba(128, 128, 128, 0.3));
    border-radius: 12px;
    background: var(--crm-surface, transparent);
    overflow: hidden;
}

.card-head[b-agpa49enbb] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--crm-border, rgba(128, 128, 128, 0.3));
}

.card-head .material-icons[b-agpa49enbb] {
    font-size: 1.75rem;
    color: var(--crm-primary, #0f4a8a);
}

.card-head h3[b-agpa49enbb] {
    margin: 0;
    font-size: 1.05rem;
}

.card-head p[b-agpa49enbb] {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}

.card-switch[b-agpa49enbb] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    white-space: nowrap;
}

.backup-card.is-off .card-head .material-icons[b-agpa49enbb] {
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}

.card-body[b-agpa49enbb] {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.hint[b-agpa49enbb] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--crm-text-muted, rgba(128, 128, 128, 0.9));
}

.warn[b-agpa49enbb] {
    margin: 0;
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    background: color-mix(in srgb, var(--crm-warning, #ed6c02) 12%, transparent);
    color: var(--crm-warning, #ed6c02);
}

.backup-actions[b-agpa49enbb] {
    display: flex;
    justify-content: flex-end;
}
/* /Pages/Settings/TechnicianVpn.razor.rz.scp.css */
.vpn-page[b-3wri012ds0] { max-width: 1500px; margin: 0 auto; padding: 1rem; color: var(--crm-text); }
.vpn-header[b-3wri012ds0] { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:1.5rem; }
.vpn-header h1[b-3wri012ds0] { margin:.25rem 0; font-size:clamp(1.75rem,3vw,2.25rem); font-weight:700; letter-spacing:-.035em; }
.vpn-header p[b-3wri012ds0],.vpn-detail-head p[b-3wri012ds0] { margin:0; color:var(--crm-text-muted); }
.vpn-eyebrow[b-3wri012ds0] { color:var(--crm-primary); font-size:.72rem; font-weight:750; letter-spacing:.12em; }
.vpn-header-actions[b-3wri012ds0],.vpn-revoke-actions[b-3wri012ds0],.vpn-target-actions[b-3wri012ds0] { display:flex; gap:.625rem; flex-wrap:wrap; }
.vpn-button[b-3wri012ds0] { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:40px; padding:.55rem .9rem; border:1px solid transparent; border-radius:var(--crm-radius-sm); font-size:.84rem; font-weight:650; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s,transform .15s; }
.vpn-button:hover:not(:disabled)[b-3wri012ds0] { transform:translateY(-1px); }
.vpn-button:disabled[b-3wri012ds0] { opacity:.5; cursor:not-allowed; }
.vpn-button .material-icons[b-3wri012ds0] { font-size:18px; }
.vpn-button.primary[b-3wri012ds0] { color:var(--crm-text-on-primary); background:var(--crm-primary); }
.vpn-button.primary:hover:not(:disabled)[b-3wri012ds0] { background:var(--crm-primary-hover); }
.vpn-button.secondary[b-3wri012ds0] { color:var(--crm-text); background:var(--crm-surface); border-color:var(--crm-border-strong); }
.vpn-button.secondary:hover:not(:disabled)[b-3wri012ds0] { background:var(--crm-surface-hover); }
.vpn-button.danger[b-3wri012ds0] { color:var(--crm-danger); background:var(--crm-danger-soft); border-color:color-mix(in srgb,var(--crm-danger) 32%,transparent); }
.vpn-button.small[b-3wri012ds0] { min-height:34px; padding:.4rem .65rem; font-size:.76rem; }
.vpn-alert[b-3wri012ds0] { display:flex; align-items:center; gap:.65rem; padding:.85rem 1rem; margin-bottom:1rem; border:1px solid; border-radius:var(--crm-radius); font-size:.87rem; }
.vpn-alert .material-icons[b-3wri012ds0] { font-size:20px; }.vpn-alert.error[b-3wri012ds0] { color:var(--crm-danger); background:var(--crm-danger-soft); border-color:color-mix(in srgb,var(--crm-danger) 24%,transparent); }.vpn-alert.success[b-3wri012ds0] { color:var(--crm-success); background:var(--crm-success-soft); border-color:color-mix(in srgb,var(--crm-success) 24%,transparent); }
.vpn-health[b-3wri012ds0] { display:flex; align-items:center; gap:.85rem; padding:1rem 1.1rem; border:1px solid var(--crm-border); border-radius:var(--crm-radius); background:var(--crm-surface); box-shadow:var(--crm-shadow-sm); }
.vpn-health-icon[b-3wri012ds0] { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; color:var(--crm-success); background:var(--crm-success-soft); }
.vpn-health.warning .vpn-health-icon[b-3wri012ds0] { color:var(--crm-warning); background:var(--crm-warning-soft); }
.vpn-health>div[b-3wri012ds0] { display:flex; flex-direction:column; gap:.18rem; }.vpn-health strong[b-3wri012ds0] { font-size:.86rem; }.vpn-health div span[b-3wri012ds0] { color:var(--crm-text-muted); font-size:.75rem; }
.vpn-inline-link[b-3wri012ds0] { display:inline-flex; align-items:center; gap:.4rem; margin-left:auto; color:var(--crm-link); font-size:.8rem; font-weight:600; text-decoration:none; }.vpn-inline-link .material-icons[b-3wri012ds0] { font-size:18px; }
.vpn-stats[b-3wri012ds0] { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1rem 0 1.25rem; }
.vpn-stats article[b-3wri012ds0] { display:flex; align-items:center; gap:.9rem; min-height:84px; padding:1rem; background:var(--crm-surface); border:1px solid var(--crm-border); border-radius:var(--crm-radius); box-shadow:var(--crm-shadow-sm); }
.vpn-stats article>.material-icons[b-3wri012ds0] { display:grid; place-items:center; width:42px; height:42px; border-radius:10px; color:var(--crm-primary); background:var(--crm-primary-soft); }
.vpn-stats article div[b-3wri012ds0] { display:flex; flex-direction:column; }.vpn-stats strong[b-3wri012ds0] { font-size:1.55rem; line-height:1; letter-spacing:-.03em; }.vpn-stats small[b-3wri012ds0] { margin-top:.35rem; color:var(--crm-text-muted); font-size:.74rem; }
.vpn-workspace[b-3wri012ds0] { display:grid; grid-template-columns:300px minmax(0,1fr); gap:1rem; align-items:start; }
.vpn-directory[b-3wri012ds0],.vpn-detail[b-3wri012ds0] { min-width:0; overflow:hidden; background:var(--crm-surface); border:1px solid var(--crm-border); border-radius:14px; box-shadow:var(--crm-shadow); }
.vpn-directory-head[b-3wri012ds0] { display:flex; align-items:end; justify-content:space-between; padding:1.25rem 1.1rem .5rem; }.vpn-directory-head span[b-3wri012ds0] { color:var(--crm-text-muted); font-size:.65rem; font-weight:700; letter-spacing:.1em; }.vpn-directory-head h2[b-3wri012ds0] { margin:.2rem 0 0; font-size:1rem; }.vpn-directory-head b[b-3wri012ds0] { min-width:26px; padding:.2rem .45rem; border-radius:var(--crm-radius-pill); color:var(--crm-text-muted); background:var(--crm-surface-muted); text-align:center; font-size:.72rem; }
.vpn-search[b-3wri012ds0] { position:relative; display:block; margin:.75rem 1rem; }.vpn-search .material-icons[b-3wri012ds0] { position:absolute; left:.75rem; top:50%; transform:translateY(-50%); color:var(--crm-text-muted); font-size:18px; pointer-events:none; }.vpn-search input[b-3wri012ds0] { padding-left:2.25rem !important; }
.vpn-page input:not([type=checkbox])[b-3wri012ds0],.vpn-page select[b-3wri012ds0] { width:100%; min-height:42px; padding:.6rem .75rem; color:var(--crm-text); background:var(--crm-surface-muted); border:1px solid var(--crm-border-strong); border-radius:var(--crm-radius-sm); outline:none; }
.vpn-page input:focus[b-3wri012ds0],.vpn-page select:focus[b-3wri012ds0] { border-color:var(--crm-primary); box-shadow:var(--crm-focus-ring); }.vpn-page input[readonly][b-3wri012ds0] { color:var(--crm-text-muted); }.vpn-page input[type=checkbox][b-3wri012ds0] { width:18px; height:18px; accent-color:var(--crm-primary); }
.vpn-page label[b-3wri012ds0] { display:flex; flex-direction:column; gap:.45rem; min-width:0; color:var(--crm-text-secondary); font-size:.78rem; font-weight:650; }.vpn-page label small[b-3wri012ds0] { color:var(--crm-text-muted); font-weight:400; line-height:1.5; }
.vpn-computer-list[b-3wri012ds0] { max-height:500px; padding:.25rem .55rem .65rem; overflow-y:auto; }
.vpn-computer[b-3wri012ds0] { display:flex; align-items:center; gap:.65rem; width:100%; margin-bottom:.25rem; padding:.8rem .65rem; color:var(--crm-text); background:transparent; border:1px solid transparent; border-radius:9px; text-align:left; cursor:pointer; }.vpn-computer:hover[b-3wri012ds0] { background:var(--crm-surface-hover); }.vpn-computer.selected[b-3wri012ds0] { color:var(--crm-primary); background:var(--crm-primary-soft); border-color:color-mix(in srgb,var(--crm-primary) 25%,transparent); }
.vpn-device-icon[b-3wri012ds0] { display:grid; place-items:center; width:36px; height:36px; flex:none; border-radius:9px; color:var(--crm-primary); background:var(--crm-primary-soft); font-size:20px; }.vpn-computer-copy[b-3wri012ds0] { display:flex; flex:1; min-width:0; flex-direction:column; gap:.2rem; }.vpn-computer-copy strong[b-3wri012ds0],.vpn-computer-copy small[b-3wri012ds0] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.vpn-computer-copy strong[b-3wri012ds0] { font-size:.82rem; }.vpn-computer-copy small[b-3wri012ds0] { color:var(--crm-text-muted); font-size:.7rem; }.vpn-computer-copy em[b-3wri012ds0],.vpn-state[b-3wri012ds0] { width:max-content; padding:.16rem .42rem; border-radius:var(--crm-radius-pill); font-size:.64rem; font-style:normal; font-weight:700; }.ready[b-3wri012ds0] { color:var(--crm-primary); background:var(--crm-primary-soft); }.online[b-3wri012ds0] { color:var(--crm-success); background:var(--crm-success-soft); }.muted[b-3wri012ds0] { color:var(--crm-text-muted); background:var(--crm-surface-active); }.warning[b-3wri012ds0] { color:var(--crm-warning); background:var(--crm-warning-soft); }.vpn-chevron[b-3wri012ds0] { color:var(--crm-text-disabled); font-size:18px; }
.vpn-directory-foot[b-3wri012ds0] { display:flex; align-items:flex-start; gap:.5rem; padding:.9rem 1rem; color:var(--crm-text-muted); background:var(--crm-surface-muted); border-top:1px solid var(--crm-border); }.vpn-directory-foot .material-icons[b-3wri012ds0] { font-size:17px; }.vpn-directory-foot p[b-3wri012ds0] { margin:0; font-size:.7rem; line-height:1.5; }
.vpn-list-empty[b-3wri012ds0] { padding:2rem 1rem; color:var(--crm-text-muted); font-size:.8rem; text-align:center; }
.vpn-detail-head[b-3wri012ds0] { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem 1.6rem 1rem; }.vpn-detail-head h2[b-3wri012ds0] { margin:.25rem 0; font-size:1.35rem; }.vpn-detail-head p[b-3wri012ds0] { font-size:.78rem; }
.vpn-state[b-3wri012ds0] { flex:none; padding:.35rem .65rem; }
.vpn-tabs[b-3wri012ds0] { display:flex; gap:1.5rem; padding:0 1.6rem; border-bottom:1px solid var(--crm-border); overflow-x:auto; }.vpn-tabs button[b-3wri012ds0] { padding:.85rem 0; color:var(--crm-text-muted); background:none; border:0; border-bottom:2px solid transparent; font-size:.78rem; font-weight:600; white-space:nowrap; cursor:pointer; }.vpn-tabs button.active[b-3wri012ds0] { color:var(--crm-primary); border-bottom-color:var(--crm-primary); }.vpn-tabs button:disabled[b-3wri012ds0] { opacity:.45; cursor:not-allowed; }
.vpn-editor[b-3wri012ds0] { margin:0; padding:1.5rem 1.6rem; border:0; }.vpn-editor:disabled[b-3wri012ds0] { opacity:.62; }
.vpn-section-title[b-3wri012ds0] { display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; }.vpn-section-title:not(:first-child)[b-3wri012ds0] { margin-top:1.5rem; }.vpn-section-title>span[b-3wri012ds0] { display:grid; place-items:center; width:32px; height:32px; flex:none; color:var(--crm-primary); background:var(--crm-primary-soft); border-radius:8px; font-size:.7rem; font-weight:800; }.vpn-section-title h3[b-3wri012ds0] { margin:0; font-size:.93rem; }.vpn-section-title p[b-3wri012ds0] { margin:.15rem 0 0; color:var(--crm-text-muted); font-size:.72rem; }
.vpn-fields[b-3wri012ds0] { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }.vpn-expiry[b-3wri012ds0] { margin-top:1rem; padding-bottom:1.4rem; border-bottom:1px solid var(--crm-border); }
.vpn-mono[b-3wri012ds0],.vpn-page pre[b-3wri012ds0] { font-family:var(--crm-font-mono); font-size:.76rem; }
.panel-search[b-3wri012ds0] { margin:.75rem 0; max-width:430px; }
.vpn-grants[b-3wri012ds0] { max-height:390px; overflow:auto; border:1px solid var(--crm-border); border-radius:var(--crm-radius); }.vpn-grants table[b-3wri012ds0] { width:100%; border-collapse:collapse; }.vpn-grants th[b-3wri012ds0] { position:sticky; top:0; z-index:1; padding:.75rem .9rem; color:var(--crm-text-secondary); background:var(--crm-surface-muted); font-size:.71rem; text-align:left; }.vpn-grants th small[b-3wri012ds0] { display:block; margin-top:.15rem; color:var(--crm-text-muted); font-weight:400; }.vpn-grants td[b-3wri012ds0] { padding:.75rem .9rem; border-top:1px solid var(--crm-border); font-size:.78rem; }.vpn-grants th:not(:first-child)[b-3wri012ds0],.vpn-grants td:not(:first-child)[b-3wri012ds0] { width:115px; text-align:center; }.vpn-grants td strong[b-3wri012ds0],.vpn-grants td span[b-3wri012ds0],.vpn-grants td small[b-3wri012ds0] { display:block; }.vpn-grants td span[b-3wri012ds0],.vpn-grants td small[b-3wri012ds0] { margin-top:.15rem; color:var(--crm-text-muted); font-size:.69rem; }
.vpn-summary[b-3wri012ds0] { display:flex; justify-content:space-between; gap:.75rem; margin-top:.75rem; font-size:.75rem; }.vpn-summary span[b-3wri012ds0] { color:var(--crm-text-muted); }
.vpn-note[b-3wri012ds0] { margin-top:.8rem; padding:.7rem .85rem; color:var(--crm-text-muted); background:var(--crm-warning-soft); border-left:3px solid var(--crm-warning); border-radius:4px; font-size:.73rem; }.vpn-note button[b-3wri012ds0] { padding:0; color:var(--crm-link); background:none; border:0; cursor:pointer; }
.vpn-savebar[b-3wri012ds0],.vpn-revoke[b-3wri012ds0] { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.6rem; border-top:1px solid var(--crm-border); }.vpn-savebar[b-3wri012ds0] { background:var(--crm-surface-muted); }.vpn-savebar div[b-3wri012ds0],.vpn-revoke>div:first-child[b-3wri012ds0] { display:flex; flex-direction:column; }.vpn-savebar strong[b-3wri012ds0],.vpn-revoke strong[b-3wri012ds0] { font-size:.78rem; }.vpn-savebar small[b-3wri012ds0],.vpn-revoke p[b-3wri012ds0] { margin:.2rem 0 0; color:var(--crm-text-muted); font-size:.7rem; }
.vpn-empty[b-3wri012ds0] { display:flex; min-height:360px; padding:3rem; align-items:center; justify-content:center; flex-direction:column; text-align:center; background:var(--crm-surface); border:1px solid var(--crm-border); border-radius:14px; }.vpn-empty.compact[b-3wri012ds0] { min-height:470px; border:0; }.vpn-empty-icon[b-3wri012ds0] { display:grid; place-items:center; width:68px; height:68px; margin-bottom:1rem; color:var(--crm-primary); background:var(--crm-primary-soft); border-radius:18px; }.vpn-empty-icon .material-icons[b-3wri012ds0] { font-size:34px; }.vpn-empty h2[b-3wri012ds0] { margin:0; font-size:1.35rem; }.vpn-empty p[b-3wri012ds0] { max-width:480px; margin:.6rem 0 1.2rem; color:var(--crm-text-muted); line-height:1.6; }
.vpn-setup[b-3wri012ds0],.vpn-history[b-3wri012ds0] { padding:1.5rem 1.6rem; }.vpn-page pre[b-3wri012ds0] { margin:0 0 1rem; padding:1rem; overflow-wrap:anywhere; white-space:pre-wrap; color:var(--crm-text); background:var(--crm-surface-muted); border:1px solid var(--crm-border); border-radius:var(--crm-radius); line-height:1.7; }
.vpn-target-heading[b-3wri012ds0] { display:flex; align-items:end; justify-content:space-between; margin:2rem 0 .75rem; }.vpn-target-heading h3[b-3wri012ds0] { margin:0; font-size:.95rem; }.vpn-target-heading p[b-3wri012ds0] { margin:.2rem 0 0; color:var(--crm-text-muted); font-size:.72rem; }.vpn-target-heading>span[b-3wri012ds0] { padding:.2rem .5rem; color:var(--crm-text-muted); background:var(--crm-surface-muted); border-radius:var(--crm-radius-pill); font-size:.7rem; }
.vpn-targets[b-3wri012ds0] { border-top:1px solid var(--crm-border); }.vpn-target[b-3wri012ds0] { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--crm-border); }.vpn-target>div:first-child[b-3wri012ds0] { display:flex; align-items:center; gap:.65rem; min-width:0; }.vpn-target>div:first-child>.material-icons[b-3wri012ds0] { color:var(--crm-primary); }.vpn-target strong[b-3wri012ds0],.vpn-target small[b-3wri012ds0] { display:block; }.vpn-target strong[b-3wri012ds0] { font-size:.8rem; }.vpn-target small[b-3wri012ds0] { margin-top:.15rem; color:var(--crm-text-muted); font-size:.7rem; }
.vpn-history>h3[b-3wri012ds0] { margin:0; font-size:1rem; }.vpn-history>p[b-3wri012ds0] { color:var(--crm-text-muted); font-size:.75rem; }.vpn-history article[b-3wri012ds0] { display:flex; align-items:flex-start; gap:.7rem; padding:1rem 0; border-bottom:1px solid var(--crm-border); }.vpn-timeline-dot[b-3wri012ds0] { width:9px; height:9px; margin-top:.25rem; flex:none; background:var(--crm-primary); border:3px solid var(--crm-primary-soft-strong); border-radius:50%; box-sizing:content-box; }.vpn-history article div[b-3wri012ds0] { flex:1; }.vpn-history article strong[b-3wri012ds0] { font-size:.78rem; }.vpn-history article p[b-3wri012ds0] { margin:.2rem 0 0; color:var(--crm-text-muted); font-size:.7rem; }.vpn-history time[b-3wri012ds0] { color:var(--crm-text-muted); font-size:.68rem; }

@media (max-width:1100px) { .vpn-workspace[b-3wri012ds0] { grid-template-columns:1fr; }.vpn-computer-list[b-3wri012ds0] { max-height:240px; }.vpn-directory-foot[b-3wri012ds0] { display:none; } }
@media (max-width:850px) { .vpn-stats[b-3wri012ds0] { grid-template-columns:repeat(2,1fr); }.vpn-header[b-3wri012ds0] { align-items:flex-start; flex-direction:column; }.vpn-header-actions[b-3wri012ds0] { width:100%; }.vpn-header-actions .vpn-button[b-3wri012ds0] { flex:1; } }
@media (max-width:620px) { .vpn-page[b-3wri012ds0] { padding:.5rem; }.vpn-health[b-3wri012ds0] { align-items:flex-start; flex-wrap:wrap; }.vpn-inline-link[b-3wri012ds0] { width:100%; margin-left:0; padding-top:.4rem; }.vpn-fields[b-3wri012ds0] { grid-template-columns:1fr; }.vpn-editor[b-3wri012ds0],.vpn-setup[b-3wri012ds0],.vpn-history[b-3wri012ds0] { padding:1.1rem; }.vpn-detail-head[b-3wri012ds0],.vpn-savebar[b-3wri012ds0],.vpn-revoke[b-3wri012ds0] { padding:1rem 1.1rem; flex-wrap:wrap; }.vpn-tabs[b-3wri012ds0] { padding:0 1.1rem; }.vpn-grants th:not(:first-child)[b-3wri012ds0],.vpn-grants td:not(:first-child)[b-3wri012ds0] { width:78px; padding:.65rem .4rem; }.vpn-target[b-3wri012ds0] { align-items:flex-start; flex-direction:column; }.vpn-target-actions[b-3wri012ds0] { width:100%; }.vpn-target-actions .vpn-button[b-3wri012ds0] { flex:1; }.vpn-stats article[b-3wri012ds0] { min-height:72px; padding:.75rem; }.vpn-stats article>.material-icons[b-3wri012ds0] { width:36px; height:36px; }.vpn-stats strong[b-3wri012ds0] { font-size:1.25rem; } }
/* /Pages/Settings/TicketRouting/Index.razor.rz.scp.css */
/* Smistamento AI dei ticket: tutti i colori passano dalle variabili --crm-*, cosi' la pagina
   resta leggibile anche a tema scuro senza una seconda serie di regole. */

.routing-page[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    max-width: 1100px;
    padding: 1rem;
}

/* ─── Stato generale ─────────────────────────────────────────────────────── */

.routing-hero[b-ql2ii0skfu] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--crm-border, #dfe7f1);
    border-radius: 14px;
    background: var(--crm-surface, #fff);
    box-shadow: var(--crm-shadow, 0 12px 28px rgba(31, 42, 68, 0.07));
}

.routing-hero.is-on[b-ql2ii0skfu] {
    border-color: color-mix(in srgb, #2e7d32 45%, var(--crm-border, #dfe7f1));
}

.hero-icon[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--rz-primary, #1976d2) 14%, transparent);
    color: var(--rz-primary, #1976d2);
}

.hero-icon .material-icons[b-ql2ii0skfu] {
    font-size: 26px;
}

.hero-copy[b-ql2ii0skfu] {
    flex: 1;
    min-width: 0;
}

.hero-copy h2[b-ql2ii0skfu] {
    margin: 0 0 0.25rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.hero-copy p[b-ql2ii0skfu] {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--crm-text-muted, #64748b);
}

.hero-badges[b-ql2ii0skfu] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.75rem;
}

.hero-switch[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    padding-top: 0.25rem;
}

.hero-switch span[b-ql2ii0skfu] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--crm-text-muted, #64748b);
}

/* ─── Chip di stato ──────────────────────────────────────────────────────── */

.badge-chip[b-ql2ii0skfu] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
}

.badge-chip .material-icons[b-ql2ii0skfu] {
    font-size: 14px;
}

.badge-chip.small[b-ql2ii0skfu] {
    padding: 1px 8px;
    font-size: 0.6875rem;
}

.badge-chip.ok[b-ql2ii0skfu] {
    background: color-mix(in srgb, #2e7d32 16%, transparent);
    color: color-mix(in srgb, #2e7d32 75%, var(--crm-text, #1f2937));
}

.badge-chip.warn[b-ql2ii0skfu] {
    background: color-mix(in srgb, #ed6c02 18%, transparent);
    color: color-mix(in srgb, #ed6c02 78%, var(--crm-text, #1f2937));
}

.badge-chip.danger[b-ql2ii0skfu] {
    background: color-mix(in srgb, #c62828 16%, transparent);
    color: color-mix(in srgb, #c62828 78%, var(--crm-text, #1f2937));
}

.badge-chip.neutral[b-ql2ii0skfu] {
    background: var(--crm-surface-hover, #f1f5f9);
    color: var(--crm-text-muted, #64748b);
}

/* ─── Avvisi ─────────────────────────────────────────────────────────────── */

.routing-warnings[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.warning-row[b-ql2ii0skfu] {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    border: 1px solid transparent;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--crm-text, #1f2937);
}

.warning-row .material-icons[b-ql2ii0skfu] {
    font-size: 20px;
    flex: 0 0 20px;
}

.warning-row.warn[b-ql2ii0skfu] {
    background: color-mix(in srgb, #ed6c02 10%, var(--crm-surface, #fff));
    border-color: color-mix(in srgb, #ed6c02 35%, transparent);
}

.warning-row.warn .material-icons[b-ql2ii0skfu] {
    color: #ed6c02;
}

.warning-row.danger[b-ql2ii0skfu] {
    background: color-mix(in srgb, #c62828 10%, var(--crm-surface, #fff));
    border-color: color-mix(in srgb, #c62828 35%, transparent);
}

.warning-row.danger .material-icons[b-ql2ii0skfu] {
    color: #c62828;
}

.warning-row code[b-ql2ii0skfu] {
    padding: 1px 5px;
    border-radius: 5px;
    background: var(--crm-surface-hover, #f1f5f9);
    font-size: 0.78rem;
}

/* ─── Card ───────────────────────────────────────────────────────────────── */

.routing-card[b-ql2ii0skfu] {
    border: 1px solid var(--crm-border, #dfe7f1);
    border-radius: 14px;
    background: var(--crm-surface, #fff);
    overflow: hidden;
}

.card-head[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--crm-border, #dfe7f1);
    background: var(--crm-surface-muted, #f8fafc);
}

.card-head > .material-icons[b-ql2ii0skfu] {
    color: var(--crm-text-muted, #64748b);
    font-size: 20px;
}

.card-head h3[b-ql2ii0skfu] {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.card-sub[b-ql2ii0skfu] {
    display: block;
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.card-body[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
    padding: 1.25rem;
}

.card-foot[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--crm-border, #dfe7f1);
    background: var(--crm-surface-muted, #f8fafc);
}

.foot-note[b-ql2ii0skfu] {
    margin-right: auto;
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

/* ─── Campi ──────────────────────────────────────────────────────────────── */

.field[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.field > label[b-ql2ii0skfu] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.field-help[b-ql2ii0skfu] {
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--crm-text-muted, #64748b);
}

.threshold-row[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 0.5rem;
}

.threshold-value[b-ql2ii0skfu] {
    min-width: 52px;
    text-align: right;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--rz-primary, #1976d2);
}

.switch-list[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0.25rem;
    border-top: 1px dashed var(--crm-border, #dfe7f1);
}

.switch-row[b-ql2ii0skfu] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding-top: 0.75rem;
    margin: 0;
    cursor: pointer;
}

.switch-title[b-ql2ii0skfu] {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--crm-text, #1f2937);
}

.switch-help[b-ql2ii0skfu] {
    display: block;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--crm-text-muted, #64748b);
}

/* ─── Statistiche ────────────────────────────────────────────────────────── */

.stats-grid[b-ql2ii0skfu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    background: var(--crm-border, #dfe7f1);
}

.stat[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 1rem 1.25rem;
    background: var(--crm-surface, #fff);
}

.stat-value[b-ql2ii0skfu] {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--crm-text, #1f2937);
}

.stat-label[b-ql2ii0skfu] {
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.stat.ok .stat-value[b-ql2ii0skfu] {
    color: #2e7d32;
}

.stat.warn .stat-value[b-ql2ii0skfu] {
    color: #ed6c02;
}

.stat.accent .stat-value[b-ql2ii0skfu] {
    color: var(--rz-primary, #1976d2);
}

/* ─── Gruppi ─────────────────────────────────────────────────────────────── */

.groups-list[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
}

.group-row[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--crm-border, #dfe7f1);
}

.group-row:last-child[b-ql2ii0skfu] {
    border-bottom: none;
}

.group-head[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.group-title[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.group-name[b-ql2ii0skfu] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.group-meta[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.meta-item[b-ql2ii0skfu] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.meta-item .material-icons[b-ql2ii0skfu] {
    font-size: 15px;
}

.meta-item.muted[b-ql2ii0skfu] {
    opacity: 0.8;
    font-style: italic;
}

.group-actions[b-ql2ii0skfu] {
    display: flex;
    justify-content: flex-end;
}

.empty-row[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem;
    color: var(--crm-text-muted, #64748b);
    font-size: 0.875rem;
}

/* ─── Prova ──────────────────────────────────────────────────────────────── */

.preview-actions[b-ql2ii0skfu] {
    display: flex;
    justify-content: flex-end;
}

.preview-result[b-ql2ii0skfu] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid var(--crm-border, #dfe7f1);
    background: var(--crm-surface-muted, #f8fafc);
}

.preview-result.auto[b-ql2ii0skfu] {
    border-color: color-mix(in srgb, #2e7d32 40%, transparent);
    background: color-mix(in srgb, #2e7d32 8%, var(--crm-surface, #fff));
}

.preview-result.manual[b-ql2ii0skfu] {
    border-color: color-mix(in srgb, #ed6c02 40%, transparent);
    background: color-mix(in srgb, #ed6c02 8%, var(--crm-surface, #fff));
}

.preview-result.error[b-ql2ii0skfu] {
    border-color: color-mix(in srgb, #c62828 40%, transparent);
    background: color-mix(in srgb, #c62828 8%, var(--crm-surface, #fff));
}

.preview-head[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--crm-text, #1f2937);
}

.preview-head .material-icons[b-ql2ii0skfu] {
    font-size: 20px;
    color: var(--crm-text-muted, #64748b);
}

.confidence[b-ql2ii0skfu] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.confidence-bar[b-ql2ii0skfu] {
    position: relative;
    flex: 1;
    height: 8px;
    border-radius: 999px;
    background: var(--crm-surface-hover, #f1f5f9);
    overflow: hidden;
}

.confidence-fill[b-ql2ii0skfu] {
    height: 100%;
    border-radius: 999px;
    background: var(--rz-primary, #1976d2);
}

/* Tacca della soglia: rende immediato il "ci arriva o no" senza leggere due numeri. */
.confidence-threshold[b-ql2ii0skfu] {
    position: absolute;
    top: -2px;
    width: 2px;
    height: 12px;
    background: var(--crm-text, #1f2937);
    opacity: 0.65;
}

.confidence-value[b-ql2ii0skfu] {
    min-width: 44px;
    text-align: right;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--crm-text, #1f2937);
}

.preview-reason[b-ql2ii0skfu] {
    font-size: 0.8125rem;
    font-style: italic;
    line-height: 1.5;
    color: var(--crm-text-muted, #64748b);
}

.preview-candidates[b-ql2ii0skfu] {
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.candidates-label[b-ql2ii0skfu] {
    font-weight: 600;
}

@media (max-width: 767px) {
    .routing-page[b-ql2ii0skfu] {
        padding: 0.5rem;
        gap: 0.75rem;
    }

    .routing-hero[b-ql2ii0skfu] {
        flex-wrap: wrap;
    }

    .hero-switch[b-ql2ii0skfu] {
        flex-direction: row;
        width: 100%;
        justify-content: flex-start;
        gap: 0.5rem;
    }

    .group-meta[b-ql2ii0skfu] {
        width: 100%;
    }

    .meta-item[b-ql2ii0skfu] {
        max-width: 100%;
    }
}
/* /Pages/TicketChats/ChatMessage.razor.rz.scp.css */
.chat-bubble[b-wdu2jo1ddl] {
    max-width: 75%;
    min-width: 0;
    color: var(--crm-text);
    border: 1px solid var(--crm-border);
    box-shadow: var(--crm-shadow-sm);
}

.chat-received[b-wdu2jo1ddl] {
    background: color-mix(in srgb, var(--crm-info) 14%, var(--crm-surface));
    border-color: color-mix(in srgb, var(--crm-info) 35%, var(--crm-border));
}

.chat-sent[b-wdu2jo1ddl] {
    background: color-mix(in srgb, var(--crm-success) 16%, var(--crm-surface));
    border-color: color-mix(in srgb, var(--crm-success) 35%, var(--crm-border));
}

.chat-ticket[b-wdu2jo1ddl] {
    background: color-mix(in srgb, var(--crm-warning) 14%, var(--crm-surface));
    border-color: color-mix(in srgb, var(--crm-warning) 35%, var(--crm-border));
}

.chat-bubble hr[b-wdu2jo1ddl] {
    border-color: var(--crm-border-strong);
    opacity: .6;
}

.chat-bubble small[b-wdu2jo1ddl] {
    color: var(--crm-text-muted);
}

.chat-attach[b-wdu2jo1ddl] {
    color: var(--crm-link);
}

/* Il testo va a capo: niente scorrimento orizzontale, anche con righe lunghissime. */
.msg-chat[b-wdu2jo1ddl] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    margin: 0;
    color: inherit;
}

.chat-mention[b-wdu2jo1ddl] {
    font-weight: 600;
    color: var(--crm-link);
    background: color-mix(in srgb, var(--crm-info) 18%, transparent);
    border-radius: 4px;
    padding: 0 3px;
}

.msg-collapsed[b-wdu2jo1ddl] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 10;
    line-clamp: 10;
    overflow: hidden;
}

.msg-toggle[b-wdu2jo1ddl] {
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--crm-link);
}
/* /Pages/TicketChats/Unread.razor.rz.scp.css */
/* ========================================
   POSTA IN ARRIVO CHAT TICKET
   stesso linguaggio visivo di Tickets/Create.razor.css
   ======================================== */

.chat-inbox[b-xgc3nohh8w] {
    background: var(--crm-page-bg, #fafbfc);
    padding: 0 0 2rem;
    max-width: 1200px;
}

/* ─── Barra superiore ─────────────────────────────────────────────────── */
.inbox-toolbar[b-xgc3nohh8w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    background: var(--crm-surface-raised, #ffffff);
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 12px;
    padding: 1rem 1.5rem;
    margin-bottom: 1.25rem;
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.inbox-summary[b-xgc3nohh8w] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.inbox-summary > .material-icons[b-xgc3nohh8w] {
    font-size: 1.75rem;
    color: var(--crm-link, #0f4a8a);
    opacity: 0.9;
}

.inbox-summary-text[b-xgc3nohh8w] {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.inbox-count[b-xgc3nohh8w] {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--crm-text, #2d3748);
}

.inbox-meta[b-xgc3nohh8w] {
    font-size: 0.8rem;
    color: var(--crm-text-muted, #718096);
}

/* ─── Elenco ──────────────────────────────────────────────────────────── */
.inbox-list[b-xgc3nohh8w] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.inbox-item[b-xgc3nohh8w] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: var(--crm-surface-raised, #ffffff);
    border: 1px solid var(--crm-border, #e8ecf1);
    border-left: 4px solid var(--crm-link, #0f4a8a);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.inbox-item:hover[b-xgc3nohh8w],
.inbox-item:focus-visible[b-xgc3nohh8w] {
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(31, 42, 68, 0.12);
    border-color: var(--crm-link, #0f4a8a);
    outline: none;
}

/* ─── Avatar ──────────────────────────────────────────────────────────── */
.inbox-avatar[b-xgc3nohh8w] {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--crm-link, #0f4a8a);
    background: color-mix(in srgb, var(--crm-link, #0f4a8a) 14%, transparent);
}

/* ─── Corpo ───────────────────────────────────────────────────────────── */
.inbox-body[b-xgc3nohh8w] {
    flex: 1 1 auto;
    min-width: 0;
}

.inbox-line-top[b-xgc3nohh8w] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
}

.inbox-sender[b-xgc3nohh8w] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--crm-text, #2d3748);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-date[b-xgc3nohh8w] {
    flex: 0 0 auto;
    font-size: 0.75rem;
    color: var(--crm-text-muted, #718096);
    white-space: nowrap;
}

.inbox-line-ticket[b-xgc3nohh8w] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.inbox-ticket-number[b-xgc3nohh8w] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--crm-link, #0f4a8a);
}

.inbox-ticket-number .material-icons[b-xgc3nohh8w] {
    font-size: 0.95rem;
}

.inbox-company[b-xgc3nohh8w] {
    font-size: 0.78rem;
    color: var(--crm-text-muted, #718096);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 22ch;
}

.inbox-chip[b-xgc3nohh8w] {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.55rem;
    border-radius: 50px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.chip-closed[b-xgc3nohh8w] {
    background: color-mix(in srgb, #16a34a 14%, var(--crm-surface-raised, #ffffff));
    color: #15803d;
    border: 1px solid color-mix(in srgb, #16a34a 28%, var(--crm-border, #dfe7f1));
}

.chip-blocked[b-xgc3nohh8w] {
    background: color-mix(in srgb, #e11d48 14%, var(--crm-surface-raised, #ffffff));
    color: #e11d48;
    border: 1px solid color-mix(in srgb, #e11d48 28%, var(--crm-border, #dfe7f1));
}

.inbox-subject[b-xgc3nohh8w] {
    margin-top: 0.3rem;
    font-size: 0.82rem;
    color: var(--crm-text-muted, #718096);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-preview[b-xgc3nohh8w] {
    margin-top: 0.4rem;
    font-size: 0.88rem;
    color: var(--crm-text, #2d3748);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.preview-deleted[b-xgc3nohh8w],
.preview-attachment[b-xgc3nohh8w] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--crm-text-muted, #718096);
    font-style: italic;
}

.preview-attachment[b-xgc3nohh8w] {
    font-style: normal;
    margin-left: 0.5rem;
}

.preview-deleted .material-icons[b-xgc3nohh8w],
.preview-attachment .material-icons[b-xgc3nohh8w] {
    font-size: 1rem;
}

/* ─── Lato destro ─────────────────────────────────────────────────────── */
.inbox-side[b-xgc3nohh8w] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    align-self: center;
}

.inbox-badge[b-xgc3nohh8w] {
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 700;
    color: #ffffff;
    background: var(--crm-link, #0f4a8a);
}

.inbox-go[b-xgc3nohh8w] {
    color: var(--crm-text-muted, #718096);
    font-size: 1.35rem;
}

/* ─── Stato vuoto ─────────────────────────────────────────────────────── */
.inbox-empty[b-xgc3nohh8w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    background: var(--crm-surface-raised, #ffffff);
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 12px;
    padding: 3rem 1.5rem;
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.inbox-empty .material-icons[b-xgc3nohh8w] {
    font-size: 3rem;
    color: #16a34a;
    opacity: 0.75;
}

.inbox-empty h5[b-xgc3nohh8w] {
    margin: 0.25rem 0 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--crm-text, #2d3748);
}

.inbox-empty p[b-xgc3nohh8w] {
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
    color: var(--crm-text-muted, #718096);
}

/* ─── Schermi stretti ─────────────────────────────────────────────────── */
@media (max-width: 576px) {
    .inbox-item[b-xgc3nohh8w] {
        padding: 0.85rem 0.9rem;
        gap: 0.75rem;
    }

    .inbox-avatar[b-xgc3nohh8w] {
        width: 2.1rem;
        height: 2.1rem;
        font-size: 0.75rem;
    }

    .inbox-company[b-xgc3nohh8w] {
        max-width: 14ch;
    }

    .inbox-go[b-xgc3nohh8w] {
        display: none;
    }
}
/* /Pages/TicketInterventions/Edit.razor.rz.scp.css */
.ticket-intervention-edit-heading[b-cwd765jay9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ticket-context-toggle[b-cwd765jay9] {
    white-space: nowrap;
}
/* /Pages/TicketInterventions/InterventionsReadList.razor.rz.scp.css */
.irl-list[b-2s2kxbmgup] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.irl-item[b-2s2kxbmgup] {
    border: 1px solid var(--crm-border, #e8ecf1);
    border-left: 3px solid var(--crm-primary, #3b5bdb);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    background: var(--crm-surface-raised, #ffffff);
}

.irl-head[b-2s2kxbmgup] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.9rem;
    font-size: 0.85rem;
    color: var(--crm-text-muted, #64748b);
}

.irl-date[b-2s2kxbmgup] {
    font-weight: 700;
    color: var(--crm-text, #1f2937);
}

.irl-user[b-2s2kxbmgup] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.irl-user .material-icons[b-2s2kxbmgup] {
    font-size: 16px;
}

.irl-type[b-2s2kxbmgup] {
    padding: 0.1rem 0.55rem;
    border-radius: 2rem;
    background: var(--crm-surface-muted, #f1f5f9);
    font-size: 0.75rem;
    font-weight: 600;
}

.irl-time[b-2s2kxbmgup] {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}

.irl-label[b-2s2kxbmgup] {
    margin-top: 0.6rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text-muted, #64748b);
}

.irl-text[b-2s2kxbmgup] {
    margin-top: 0.15rem;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--crm-text, #374151);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.irl-muted[b-2s2kxbmgup] {
    margin-top: 0.5rem;
    font-style: italic;
    color: var(--crm-text-muted, #94a3b8);
}

.irl-empty[b-2s2kxbmgup] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: var(--crm-text-muted, #64748b);
}

.irl-empty .material-icons[b-2s2kxbmgup] {
    font-size: 18px;
}
/* /Pages/Tickets/Assign.razor.rz.scp.css */
.assign-users-container[b-ewnqmu8l2y] {
    padding: 1.5rem;
    max-width: 100%;
    margin: 0 auto;
}

.assign-header h5[b-ewnqmu8l2y] {
    display: flex;
    align-items: center;
    color: var(--crm-text, #2c3e50);
    font-weight: 600;
}

.search-section[b-ewnqmu8l2y] {
    position: relative;
}

.search-section input[b-ewnqmu8l2y] {
    padding-left: 45px !important;
}

.assigned-users-section[b-ewnqmu8l2y],
.available-users-section[b-ewnqmu8l2y] {
    margin-bottom: 1.5rem;
}

.user-badge[b-ewnqmu8l2y] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 50px;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.user-badge:hover[b-ewnqmu8l2y] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.user-avatar[b-ewnqmu8l2y] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
}

.user-name[b-ewnqmu8l2y] {
    font-weight: 500;
}

.btn-remove[b-ewnqmu8l2y] {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
    cursor: pointer;
}

.btn-remove:hover[b-ewnqmu8l2y] {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    transform: scale(1.1);
}

.btn-remove i[b-ewnqmu8l2y] {
    font-size: 1rem;
    font-weight: bold;
}

.users-grid[b-ewnqmu8l2y] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    max-height: 400px;
    overflow-y: auto;
    padding: 0.5rem;
}

.user-card[b-ewnqmu8l2y] {
    border: 2px solid var(--crm-border, #e9ecef);
    border-radius: 12px;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    background: var(--crm-surface-raised, white);
    position: relative;
}

.user-card:hover[b-ewnqmu8l2y] {
    border-color: #667eea;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.15);
    transform: translateY(-2px);
}

.user-card.selected[b-ewnqmu8l2y] {
    border-color: #667eea;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
}

.user-card-content[b-ewnqmu8l2y] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.user-avatar-large[b-ewnqmu8l2y] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.user-info[b-ewnqmu8l2y] {
    flex: 1;
    min-width: 0;
}

.user-name-full[b-ewnqmu8l2y] {
    font-weight: 600;
    color: var(--crm-text, #2c3e50);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-email[b-ewnqmu8l2y] {
    font-size: 0.8rem;
    color: var(--crm-text-muted, #6c757d);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.check-icon[b-ewnqmu8l2y] {
    color: #667eea;
    display: flex;
    align-items: center;
}

.check-icon .material-icons[b-ewnqmu8l2y] {
    font-size: 24px;
}

.assign-footer[b-ewnqmu8l2y] {
    border-top: 1px solid var(--crm-border, #e9ecef);
    padding-top: 1rem;
}

/* Alert per stato "nessun utente selezionato" */
.alert-info[b-ewnqmu8l2y] {
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    border: 2px solid #2196f3;
    border-radius: 12px;
    color: #0d47a1;
    padding: 1rem;
}

.alert-info .bi-info-circle-fill[b-ewnqmu8l2y] {
    font-size: 1.5rem;
    color: #2196f3;
}

.alert-info strong[b-ewnqmu8l2y] {
    color: #1565c0;
}

.alert-info small[b-ewnqmu8l2y] {
    color: #424242;
    font-size: 0.875rem;
}

/* ? NUOVO: Badge Workload (carico di lavoro utenti) */
.workload-badge[b-ewnqmu8l2y] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 0.5rem;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.workload-free[b-ewnqmu8l2y] {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border: 1px solid #28a745;
}

.workload-low[b-ewnqmu8l2y] {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border: 1px solid #28a745;
}

.workload-medium[b-ewnqmu8l2y] {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    color: #856404;
    border: 1px solid #ffc107;
    animation: pulse-yellow-b-ewnqmu8l2y 2s ease-in-out infinite;
}

.workload-high[b-ewnqmu8l2y] {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    border: 1px solid #dc3545;
    animation: pulse-red-b-ewnqmu8l2y 2s ease-in-out infinite;
}

@keyframes pulse-yellow-b-ewnqmu8l2y {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.4);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(255, 193, 7, 0);
    }
}

@keyframes pulse-red-b-ewnqmu8l2y {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.4);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(220, 53, 69, 0);
    }
}

/* ? NUOVO: Link Scheduler (pulsante piccolo) */
.btn-scheduler-link[b-ewnqmu8l2y] {
    background: none;
    border: 1px solid #667eea;
    color: #667eea;
    padding: 0.3rem 0.6rem;
    border-radius: 6px;
    font-size: 0.75rem;
    cursor: pointer;
    margin-top: 0.5rem;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.btn-scheduler-link:hover[b-ewnqmu8l2y] {
    background: #667eea;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

@media (max-width: 576px) {
    .users-grid[b-ewnqmu8l2y] {
        grid-template-columns: 1fr;
    }

    .assign-users-container[b-ewnqmu8l2y] {
        padding: 1rem;
    }
}
/* /Pages/Tickets/Close.razor.rz.scp.css */
/* ========================================
   TICKET CLOSE - stesso linguaggio visivo
   della tab Ticket Data (Details.razor.css)
   ======================================== */

.ticket-details-page[b-nw8iq9b670] {
    background: var(--crm-page-bg, #fafbfc);
    padding-bottom: 2rem;
}

.modern-preview-container[b-nw8iq9b670] {
    max-width: 1200px;
    margin: 0;
    padding: 1.5rem;
}

/* Header Card */
.preview-header-card[b-nw8iq9b670] {
    background: var(--crm-surface-raised, #ffffff);
    border-radius: 12px;
    padding: 1.5rem 2rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.header-content[b-nw8iq9b670] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.ticket-number[b-nw8iq9b670] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ticket-number .material-icons[b-nw8iq9b670] {
    font-size: 1.75rem;
    color: #16a34a;
    opacity: 0.9;
}

.ticket-number h3[b-nw8iq9b670] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--crm-text, #2d3748);
    letter-spacing: -0.02em;
}

.ticket-status[b-nw8iq9b670] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1.1rem;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ticket-status .material-icons[b-nw8iq9b670] {
    font-size: 1rem;
}

.ticket-status.priority-low[b-nw8iq9b670] { background: color-mix(in srgb, #16a34a 15%, transparent); color: #16a34a; }
.ticket-status.priority-medium[b-nw8iq9b670] { background: color-mix(in srgb, #ca8a04 15%, transparent); color: #ca8a04; }
.ticket-status.priority-high[b-nw8iq9b670] { background: color-mix(in srgb, #dc2626 15%, transparent); color: #dc2626; }

/* Section Cards */
.description-card[b-nw8iq9b670] {
    background: var(--crm-surface-raised, #ffffff);
    border-radius: 12px;
    margin-bottom: 1.5rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
    overflow: hidden;
}

.card-header-modern[b-nw8iq9b670] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: var(--crm-surface-muted, #f8f9fb);
    border-bottom: 1px solid var(--crm-border, #e8ecf1);
}

.card-header-modern .material-icons[b-nw8iq9b670] {
    font-size: 1.25rem;
    color: var(--crm-text-muted, #64748b);
}

.card-header-modern .material-icons.text-success[b-nw8iq9b670] {
    color: #16a34a;
}

.card-header-modern h5[b-nw8iq9b670] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--crm-text, #475569);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.header-meta[b-nw8iq9b670] {
    margin-left: auto;
    font-size: 0.82rem;
    color: var(--crm-text-muted, #94a3b8);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.req-dot[b-nw8iq9b670] {
    color: #dc2626;
    font-weight: 700;
}

.card-body-modern[b-nw8iq9b670] {
    padding: 1.5rem;
}

.description-text[b-nw8iq9b670] {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--crm-text, #374151);
    white-space: pre-wrap;
    text-align: left;
}

/* Summary header (title + action/badge on the right) */
.summary-header[b-nw8iq9b670] {
    justify-content: space-between;
    flex-wrap: wrap;
}

.summary-title[b-nw8iq9b670] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.summary-readonly[b-nw8iq9b670] {
    color: var(--crm-text, #243244);
    font-size: 0.95rem;
    line-height: 1.55;
    white-space: pre-wrap;
    padding: 0.6rem 0.8rem;
    border-left: 3px solid #8091c8;
    background: var(--crm-surface-muted, #f8fafc);
    border-radius: 6px;
}

/* Visibility badges */
.visibility-badge[b-nw8iq9b670] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: 2rem;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: 0;
}

.visibility-badge .material-icons[b-nw8iq9b670] {
    font-size: 14px;
}

.visibility-badge.visible[b-nw8iq9b670] { background: color-mix(in srgb, #16a34a 15%, transparent); color: #16a34a; }
.visibility-badge.hidden[b-nw8iq9b670] { background: var(--crm-surface-hover, #eef1f5); color: var(--crm-text-muted, #667085); }

/* "Usa come soluzione" button */
.btn-use-summary[b-nw8iq9b670] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #3b5bdb;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.4rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}

.btn-use-summary:hover[b-nw8iq9b670] { background: #364fc7; }
.btn-use-summary .material-icons[b-nw8iq9b670] { font-size: 16px; }

/* Info grid (modalità intervento + note) */
.info-grid[b-nw8iq9b670] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
    align-items: start;
}

.info-grid .description-card[b-nw8iq9b670] {
    margin-bottom: 0;
}

/* Senza la modalità di intervento resta solo le note: una colonna sola, così la card
   non si allarga a metà griglia lasciando un buco accanto. */
.info-grid-single[b-nw8iq9b670] {
    grid-template-columns: 1fr;
}

/* Chiusura non disponibile: l'ostacolo dichiarato sopra il pulsante */
.close-blocked[b-nw8iq9b670] {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    border-left: 3px solid #b45309;
    border-radius: 12px;
    background: color-mix(in srgb, #f59e0b 10%, var(--crm-surface-raised, #ffffff));
}

.close-blocked > .material-icons[b-nw8iq9b670] {
    color: #b45309;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.close-blocked-title[b-nw8iq9b670] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--crm-text, #1f2937);
}

.close-blocked-text[b-nw8iq9b670] {
    margin-top: 0.2rem;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--crm-text-muted, #64748b);
}

.close-blocked-link[b-nw8iq9b670] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.6rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #b45309;
    text-decoration: none;
}

.close-blocked-link:hover[b-nw8iq9b670] {
    text-decoration: underline;
}

.close-blocked-link .material-icons[b-nw8iq9b670] {
    font-size: 1rem;
}

/* Tema scuro: l'ambra scura è illeggibile su fondo scuro (le variabili --crm-* si adattano
   da sole, questi tre colori sono letterali e vanno schiariti a mano). */
body.dark-theme .close-blocked[b-nw8iq9b670] {
    border-left-color: #f59e0b;
}

body.dark-theme .close-blocked > .material-icons[b-nw8iq9b670],
body.dark-theme .close-blocked-link[b-nw8iq9b670] {
    color: #fbbf24;
}

/* Note toggle header behaves like a section header */
.note-toggle[b-nw8iq9b670] {
    width: 100%;
    border: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.note-toggle.collapsed[b-nw8iq9b670] {
    border-bottom: none;
}

.note-toggle-right[b-nw8iq9b670] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.chevron[b-nw8iq9b670] {
    color: var(--crm-text-muted, #94a3b8);
    transition: transform 0.2s ease;
}

.chevron.open[b-nw8iq9b670] { transform: rotate(180deg); }

/* Footer actions */
.close-actions-card[b-nw8iq9b670] {
    background: var(--crm-surface-raised, #ffffff);
    border-radius: 12px;
    border: 1px solid var(--crm-border, #e8ecf1);
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
    padding: 1.25rem 1.5rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

/* Loading */
.preview-loading[b-nw8iq9b670] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
    background: var(--crm-page-bg, #fafbfc);
}

/* Responsive */
@media (max-width: 768px) {
    .modern-preview-container[b-nw8iq9b670] {
        padding: 1rem;
    }

    .preview-header-card[b-nw8iq9b670] {
        padding: 1rem 1.25rem;
    }

    .header-content[b-nw8iq9b670] {
        flex-direction: column;
        align-items: flex-start;
    }

    .ticket-number h3[b-nw8iq9b670] {
        font-size: 1.25rem;
    }

    .info-grid[b-nw8iq9b670] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/Tickets/Create.razor.rz.scp.css */
/* ========================================
   TICKET CREATE - stesso linguaggio visivo
   di Close.razor.css e Details.razor.css
   ======================================== */

.ticket-create-page[b-zqfmieqw0z] {
    background: var(--crm-page-bg, #fafbfc);
    padding-bottom: 2rem;
}

.modern-preview-container[b-zqfmieqw0z] {
    max-width: 1200px;
    margin: 0;
    padding: 1.5rem;
}

/* Header. E' il contenitore di riferimento dello stepper: la pagina sta dentro un
   layout con barra laterale, quindi la larghezza utile non è quella del viewport. */
.preview-header-card[b-zqfmieqw0z] {
    container-type: inline-size;
    background: var(--crm-surface-raised, #ffffff);
    border-radius: 12px;
    padding: 1.5rem 2rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.header-content[b-zqfmieqw0z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.ticket-number[b-zqfmieqw0z] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ticket-number .material-icons[b-zqfmieqw0z] {
    font-size: 1.75rem;
    color: var(--crm-link, #0f4a8a);
    opacity: 0.9;
}

.ticket-number h3[b-zqfmieqw0z] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--crm-text, #2d3748);
    letter-spacing: -0.02em;
}

.step-counter[b-zqfmieqw0z] {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.9rem;
    border-radius: 50px;
    background: color-mix(in srgb, var(--crm-link, #0f4a8a) 12%, transparent);
    color: var(--crm-link, #0f4a8a);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

/* ─── Stepper ─────────────────────────────────────────────────────────── */
.wizard-steps[b-zqfmieqw0z] {
    display: flex;
    align-items: flex-start;
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
}

.wizard-step[b-zqfmieqw0z] {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    text-align: center;
}

/* Linea di collegamento: parte dal centro del pallino precedente */
.wizard-step[b-zqfmieqw0z]::before {
    content: "";
    position: absolute;
    top: 15px;
    right: 50%;
    left: -50%;
    height: 2px;
    background: var(--crm-border, #e8ecf1);
}

.wizard-step:first-child[b-zqfmieqw0z]::before {
    display: none;
}

.wizard-step.done[b-zqfmieqw0z]::before,
.wizard-step.current[b-zqfmieqw0z]::before {
    background: var(--crm-link, #0f4a8a);
}

.wizard-dot[b-zqfmieqw0z] {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid var(--crm-border, #e8ecf1);
    background: var(--crm-surface-raised, #ffffff);
    color: var(--crm-text-muted, #94a3b8);
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.wizard-dot .material-icons[b-zqfmieqw0z] {
    font-size: 17px;
}

.wizard-step.done .wizard-dot[b-zqfmieqw0z] {
    background: var(--crm-link, #0f4a8a);
    border-color: var(--crm-link, #0f4a8a);
    color: #fff;
}

.wizard-step.current .wizard-dot[b-zqfmieqw0z] {
    border-color: var(--crm-link, #0f4a8a);
    color: var(--crm-link, #0f4a8a);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--crm-link, #0f4a8a) 14%, transparent);
}

.wizard-label[b-zqfmieqw0z] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.76rem;
    color: var(--crm-text-muted, #94a3b8);
}

.wizard-step.current .wizard-label[b-zqfmieqw0z] {
    color: var(--crm-text, #2d3748);
    font-weight: 600;
}

.wizard-step.done .wizard-label[b-zqfmieqw0z] {
    color: var(--crm-text, #475569);
}

/* Quando lo spazio si stringe restano i pallini: le etichette non ci stanno.
   La media query è il ripiego per i browser senza container query. */
@container (max-width: 700px) {
    .wizard-label[b-zqfmieqw0z] {
        display: none;
    }

    .wizard-steps[b-zqfmieqw0z] {
        margin-top: 1.25rem;
    }
}

@media (max-width: 700px) {
    .wizard-label[b-zqfmieqw0z] {
        display: none;
    }
}

/* ─── Card di sezione ─────────────────────────────────────────────────── */
.description-card[b-zqfmieqw0z] {
    background: var(--crm-surface-raised, #ffffff);
    border-radius: 12px;
    margin-bottom: 1.5rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
    overflow: hidden;
}

.card-header-modern[b-zqfmieqw0z] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: var(--crm-surface-muted, #f8f9fb);
    border-bottom: 1px solid var(--crm-border, #e8ecf1);
}

.card-header-modern .material-icons[b-zqfmieqw0z] {
    font-size: 1.25rem;
    color: var(--crm-text-muted, #64748b);
}

.card-header-modern h5[b-zqfmieqw0z] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--crm-text, #475569);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.card-body-modern[b-zqfmieqw0z] {
    padding: 1.5rem;
}

/* ─── Campi ───────────────────────────────────────────────────────────── */
.field[b-zqfmieqw0z] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.field[b-zqfmieqw0z]  .label-floating,
.field[b-zqfmieqw0z]  label {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--crm-text-muted, #64748b);
}

/* L'ordine visivo è etichetta sopra, campo sotto, anche dove il markup
   del componente mette la label dopo il controllo. */
.field[b-zqfmieqw0z]  .label-floating {
    order: -1;
}

.field-grid[b-zqfmieqw0z] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.25rem;
}

.card-body-modern[b-zqfmieqw0z]  .validation-message {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: #dc2626;
}

.card-body-modern[b-zqfmieqw0z]  .validation-errors {
    margin: 0 0 1rem;
    padding: 0.75rem 1rem 0.75rem 2rem;
    border: 1px solid color-mix(in srgb, #dc2626 35%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, #dc2626 8%, transparent);
    color: #dc2626;
    font-size: 0.85rem;
}

/* ─── Assegnazione ────────────────────────────────────────────────────── */
.assigned-users-box[b-zqfmieqw0z] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 10px;
    background: var(--crm-surface-muted, #f8f9fb);
}

.assigned-users-empty[b-zqfmieqw0z] {
    padding: 0.9rem;
    border: 1px dashed var(--crm-border-strong, #d9e1e8);
    border-radius: 10px;
    background: var(--crm-surface-muted, #f8f9fb);
    color: var(--crm-text-muted, #94a3b8);
    font-size: 0.88rem;
    text-align: center;
}

.assigned-user-chip[b-zqfmieqw0z] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.55rem 0.35rem 0.35rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 2rem;
    background: var(--crm-surface-raised, #ffffff);
    font-size: 0.85rem;
    color: var(--crm-text, #374151);
}

/* Il primo scelto e' il responsabile: e' l'unica differenza che conta fra le pastiglie */
.assigned-user-chip.main[b-zqfmieqw0z] {
    border-color: var(--crm-link, #0f4a8a);
    background: color-mix(in srgb, var(--crm-link, #0f4a8a) 8%, var(--crm-surface-raised, #ffffff));
}

.chip-avatar[b-zqfmieqw0z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--crm-link, #0f4a8a) 85%, #000);
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
}

.chip-name[b-zqfmieqw0z] {
    font-weight: 500;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chip-main-star[b-zqfmieqw0z] {
    color: var(--crm-link, #0f4a8a);
    font-size: 0.85rem;
}

.chip-remove[b-zqfmieqw0z] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--crm-text-muted, #94a3b8);
    cursor: pointer;
    transition: background-color 150ms ease, color 150ms ease;
}

.chip-remove:hover[b-zqfmieqw0z] {
    background: color-mix(in srgb, #dc2626 12%, transparent);
    color: #dc2626;
}

.chip-remove i[b-zqfmieqw0z] {
    font-size: 0.7rem;
}

.assign-actions[b-zqfmieqw0z] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

/* ─── Riepilogo ───────────────────────────────────────────────────────── */
.recap-list[b-zqfmieqw0z] {
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    gap: 0.6rem 1.5rem;
    margin: 0;
    align-items: baseline;
}

.recap-list dt[b-zqfmieqw0z] {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--crm-text-muted, #64748b);
}

.recap-list dt[b-zqfmieqw0z]  .label-floating {
    margin: 0;
    font: inherit;
    color: inherit;
}

.recap-list dd[b-zqfmieqw0z] {
    margin: 0;
    font-size: 0.92rem;
    color: var(--crm-text, #374151);
}

.recap-text[b-zqfmieqw0z] {
    white-space: pre-wrap;
    line-height: 1.6;
}

@media (max-width: 600px) {
    .recap-list[b-zqfmieqw0z] {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }

    .recap-list dd[b-zqfmieqw0z] {
        margin-bottom: 0.6rem;
    }
}

/* ─── Esito ───────────────────────────────────────────────────────────── */
.result-card[b-zqfmieqw0z] {
    border-color: color-mix(in srgb, #16a34a 40%, var(--crm-border, #e8ecf1));
}

.result-body[b-zqfmieqw0z] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.result-icon[b-zqfmieqw0z] {
    font-size: 2.25rem;
    color: #16a34a;
}

.result-text[b-zqfmieqw0z] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.result-text h5[b-zqfmieqw0z] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--crm-text, #2d3748);
}

.result-meta[b-zqfmieqw0z] {
    font-size: 0.85rem;
    color: var(--crm-text-muted, #94a3b8);
    font-variant-numeric: tabular-nums;
}

.result-actions[b-zqfmieqw0z] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
    flex-wrap: wrap;
}

/* ─── Azioni della procedura ──────────────────────────────────────────── */
.wizard-actions[b-zqfmieqw0z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem 1.5rem;
    border-radius: 12px;
    background: var(--crm-surface-raised, #ffffff);
    border: 1px solid var(--crm-border, #e8ecf1);
    box-shadow: var(--crm-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}

.wizard-actions-end[b-zqfmieqw0z] {
    margin-left: auto;
    display: flex;
    gap: 0.5rem;
}
/* /Pages/Tickets/Details.razor.rz.scp.css */
/* ========================================
   TICKET DETAILS - MODERN CLEAN DESIGN
   Colori sobri, chiari, quasi bianchi
   ======================================== */

/* Container principale */
.ticket-details-page[b-6kpu5vh297] {
    background: var(--crm-page-bg);
    min-height: 100vh;
    padding-bottom: 2rem;
}

.modern-preview-container[b-6kpu5vh297] {
    max-width: 1200px;
    margin: 0;
    padding: 1.5rem;
}

/* Header Card - Ticket Number & Status */
.preview-header-card[b-6kpu5vh297] {
    background: var(--crm-surface);
    border-radius: 12px;
    padding: 1.5rem 2rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--crm-border);
    box-shadow: var(--crm-shadow));
}

.header-content[b-6kpu5vh297] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.ticket-number[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ticket-number .material-icons[b-6kpu5vh297] {
    font-size: 1.75rem;
    color: var(--crm-primary);
}

.ticket-number h3[b-6kpu5vh297] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--crm-text);
    letter-spacing: -0.02em;
}

.ticket-status[b-6kpu5vh297] {
    padding: 0.5rem 1.25rem;
    border-radius: 50px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Description Card */
.description-card[b-6kpu5vh297] {
    background: var(--crm-surface);
    border-radius: 12px;
    margin-bottom: 1.5rem;
    border: 1px solid var(--crm-border);
    box-shadow: var(--crm-shadow));
    overflow: hidden;
}

.card-header-modern[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: var(--crm-surface-muted);
    border-bottom: 1px solid var(--crm-border);
}

.card-header-modern .material-icons[b-6kpu5vh297] {
    font-size: 1.25rem;
    color: var(--crm-text-muted);
}

.card-header-modern h5[b-6kpu5vh297] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--crm-text);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.card-body-modern[b-6kpu5vh297] {
    padding: 1.5rem;
}

.description-text[b-6kpu5vh297] {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--crm-text);
    white-space: pre-wrap;
    text-align: left;
}

.operational-summary-card[b-6kpu5vh297] {
    border-color: var(--crm-border);
    margin-bottom: 1rem;
}

.summary-header[b-6kpu5vh297] {
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.summary-title[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.summary-meta[b-6kpu5vh297] {
    color: var(--crm-text-muted);
    font-size: 0.82rem;
}

.summary-body[b-6kpu5vh297] {
    padding: 0.75rem 1.25rem;
}

.summary-read-row[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.summary-readonly[b-6kpu5vh297] {
    flex: 1 1 auto;
    color: var(--crm-text);
    font-size: 0.95rem;
    line-height: 1.55;
    white-space: pre-wrap;
    padding: 0.55rem 0.75rem;
    border-left: 3px solid var(--crm-primary);
    background: var(--crm-surface-muted);
    border-radius: 6px;
}

.summary-empty[b-6kpu5vh297] {
    flex: 1 1 auto;
    color: var(--crm-text-muted);
    font-size: 0.92rem;
    padding: 0.2rem 0;
}

.summary-editor[b-6kpu5vh297] {
    width: 100%;
    min-height: 130px;
    resize: vertical;
    font-size: 0.95rem;
    line-height: 1.5;
}

.summary-actions[b-6kpu5vh297] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    margin-top: 0.75rem;
}

.summary-actions-readonly[b-6kpu5vh297] {
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-top: 0;
}

.summary-message[b-6kpu5vh297] {
    margin-top: 0.5rem;
    padding: 0.45rem 0.65rem;
    border-radius: 6px;
    font-size: 0.84rem;
}

.summary-message-info[b-6kpu5vh297] {
    background: var(--crm-info-soft);
    color: var(--crm-info);
    border: 1px solid color-mix(in srgb, var(--crm-info) 30%, transparent);
}

.summary-message-error[b-6kpu5vh297] {
    background: var(--crm-danger-soft);
    color: var(--crm-danger);
    border: 1px solid color-mix(in srgb, var(--crm-danger) 30%, transparent);
}

.ticket-block-banner[b-6kpu5vh297] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--crm-danger) 35%, var(--crm-border));
    border-left: 5px solid var(--crm-danger);
    border-radius: 8px;
    background: var(--crm-danger-soft);
    box-shadow: var(--crm-shadow));
}

.ticket-block-icon[b-6kpu5vh297] {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--crm-danger);
    background: color-mix(in srgb, var(--crm-danger) 18%, transparent);
}

.ticket-block-title[b-6kpu5vh297] {
    font-weight: 700;
    color: var(--crm-danger);
}

.ticket-block-reason[b-6kpu5vh297] {
    color: var(--crm-text);
    white-space: pre-wrap;
    line-height: 1.45;
}

.ticket-block-meta[b-6kpu5vh297] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .35rem;
    font-size: .82rem;
    color: var(--crm-text-muted);
}

.ticket-block-resolved[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
    padding: .65rem .85rem;
    border: 1px solid color-mix(in srgb, var(--crm-success) 35%, var(--crm-border));
    border-radius: 8px;
    background: var(--crm-success-soft);
    color: var(--crm-success);
    font-size: .9rem;
}

@media (max-width: 640px) {
    .summary-read-row[b-6kpu5vh297] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.5rem;
    }

    .summary-actions-readonly[b-6kpu5vh297] {
        justify-content: flex-start;
    }
}

/* Info Grid */
.info-grid[b-6kpu5vh297] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1.25rem;
    /* Ogni scheda alta quanto il suo contenuto. Senza questo la griglia le allunga tutte
       all'altezza della piu' alta, e quelle con due righe restano mezze vuote. */
    align-items: start;
}

/* Info Cards */
.info-card[b-6kpu5vh297] {
    background: var(--crm-surface);
    border-radius: 12px;
    border: 1px solid var(--crm-border);
    box-shadow: var(--crm-shadow));
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.info-card:hover[b-6kpu5vh297] {
    box-shadow: var(--crm-shadow);
}

.info-card-header[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.875rem 1.25rem;
    background: var(--crm-surface-muted);
    border-bottom: 1px solid var(--crm-border);
}

.info-card-header .material-icons[b-6kpu5vh297] {
    font-size: 1.15rem;
    color: var(--crm-text-muted);
}

.info-label[b-6kpu5vh297] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--crm-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.info-card-body[b-6kpu5vh297] {
    padding: 1rem 1.25rem;
}

/* Info Rows */
.info-row[b-6kpu5vh297] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--crm-border);
}

.info-row:last-child[b-6kpu5vh297] {
    border-bottom: none;
    padding-bottom: 0;
}

.info-row:first-child[b-6kpu5vh297] {
    padding-top: 0;
}

.info-key[b-6kpu5vh297] {
    font-size: 0.8rem;
    color: var(--crm-text-muted);
    font-weight: 500;
    flex-shrink: 0;
    text-align: left;
}

.info-value[b-6kpu5vh297] {
    font-size: 0.9rem;
    color: var(--crm-text);
    font-weight: 500;
    text-align: left;
    word-break: break-word;
    /* Senza questi il valore non puo' restringersi nel flex e i contenuti lunghi
       (es. il nome della fase di commessa) escono dalla scheda e vengono tagliati. */
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
}

/* Un badge dentro info-value va a capo invece di sforare la scheda. */
.info-value .badge[b-6kpu5vh297] {
    white-space: normal;
    text-align: left;
}

/* La riga della commessa e' un link con icona: teniamoli sulla stessa riga, allineati. */
.info-value a .material-icons[b-6kpu5vh297] {
    vertical-align: middle;
    margin-right: 2px;
}

.company-name[b-6kpu5vh297] {
    color: var(--crm-link);
    font-weight: 600;
}

/* Scadenza gia' passata su un ticket aperto. */
.value-scaduto[b-6kpu5vh297] {
    color: var(--crm-danger);
    font-weight: 700;
}

.time-badge[b-6kpu5vh297] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--crm-surface-hover);
    padding: 0.25rem 0.6rem;
    border-radius: 6px;
    font-size: 0.85rem;
}

.time-badge .material-icons[b-6kpu5vh297] {
    font-size: 0.95rem;
    color: var(--crm-text-muted);
}

/* ========================================
   ASSIGNED USERS SECTION - Clean Design
   ======================================== */

.assigned-users-section[b-6kpu5vh297] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--crm-border);
}

.claim-panel[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.8rem 0.9rem;
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    border-radius: 8px;
}

.claim-copy[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
}

.claim-copy > .material-icons[b-6kpu5vh297] {
    flex: 0 0 auto;
    color: var(--crm-text-muted);
    font-size: 1.25rem;
}

.claim-title[b-6kpu5vh297] {
    color: var(--crm-text);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.claim-subtitle[b-6kpu5vh297] {
    color: var(--crm-text-muted);
    font-size: 0.78rem;
    line-height: 1.25;
}

.claim-owned[b-6kpu5vh297] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex: 0 0 auto;
    padding: 0.35rem 0.6rem;
    border-radius: 6px;
    background: var(--crm-success-soft);
    color: var(--crm-success);
    border: 1px solid color-mix(in srgb, var(--crm-success) 28%, var(--crm-border));
    font-size: 0.78rem;
    font-weight: 700;
}

.claim-owned .material-icons[b-6kpu5vh297] {
    font-size: 1rem;
}

/* ─── Smistamento AI ─────────────────────────────────────────────────────── */

/* Suggerimento in attesa: si distingue dal pannello del gruppo perche' e' una proposta,
   non uno stato del ticket. */
.ai-routing-panel[b-6kpu5vh297] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-top: 0.85rem;
    padding: 0.8rem 0.9rem;
    border-radius: 8px;
    border: 1px solid color-mix(in srgb, var(--crm-ai) 32%, var(--crm-border));
    background: color-mix(in srgb, var(--crm-ai) 8%, var(--crm-surface));
}

.ai-routing-head[b-6kpu5vh297] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.ai-routing-head > .material-icons[b-6kpu5vh297] {
    font-size: 1.15rem;
    color: var(--crm-ai);
}

.ai-routing-copy[b-6kpu5vh297] {
    min-width: 0;
}

.ai-routing-title[b-6kpu5vh297] {
    color: var(--crm-text);
    font-size: 0.88rem;
    line-height: 1.25;
}

.ai-routing-sub[b-6kpu5vh297] {
    color: var(--crm-text-muted);
    font-size: 0.76rem;
    line-height: 1.35;
}

.ai-routing-reason[b-6kpu5vh297] {
    color: var(--crm-text-muted);
    font-size: 0.78rem;
    font-style: italic;
    line-height: 1.4;
    padding-left: 1.7rem;
}

.ai-routing-actions[b-6kpu5vh297] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-left: 1.7rem;
}

/* Gruppo scelto dall'AI: marchio discreto accanto al nome, il dettaglio sta nel tooltip. */
.ai-assigned-badge[b-6kpu5vh297] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 0.4rem;
    padding: 1px 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--crm-ai) 14%, transparent);
    color: color-mix(in srgb, var(--crm-ai) 80%, var(--crm-text));
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    vertical-align: middle;
    cursor: help;
}

.ai-assigned-badge .material-icons[b-6kpu5vh297] {
    font-size: 0.8rem;
}

.assigned-header[b-6kpu5vh297] {
    margin-bottom: 0.75rem;
}

.assigned-label[b-6kpu5vh297] {
    font-size: 0.8rem;
    color: var(--crm-text-muted);
    font-weight: 500;
}

.assigned-users-list[b-6kpu5vh297] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.assigned-user-item[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.875rem;
    background: var(--crm-surface-muted);
    border-radius: 10px;
    border: 1px solid var(--crm-border);
    transition: all 0.2s ease;
}

.assigned-user-item:hover[b-6kpu5vh297] {
    background: var(--crm-surface-hover);
    border-color: var(--crm-border-strong);
}

.assigned-user-item.main-user[b-6kpu5vh297] {
    background: color-mix(in srgb, var(--crm-primary) 12%, var(--crm-surface));
    border-color: color-mix(in srgb, var(--crm-primary) 35%, var(--crm-border));
}

.assigned-user-item.main-user:hover[b-6kpu5vh297] {
    background: color-mix(in srgb, var(--crm-primary) 18%, var(--crm-surface));
}

.user-avatar[b-6kpu5vh297] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--crm-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: #ffffff;
    flex-shrink: 0;
    text-transform: uppercase;
}

.main-user .user-avatar[b-6kpu5vh297] {
    background: var(--crm-primary);
}

.user-info[b-6kpu5vh297] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    flex: 1;
    text-align: left;
}

.user-name[b-6kpu5vh297] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--crm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.main-badge[b-6kpu5vh297] {
    font-size: 0.7rem;
    color: var(--crm-link);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.no-users[b-6kpu5vh297] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem;
    background: var(--crm-surface-muted);
    border-radius: 8px;
    color: var(--crm-text-muted);
    font-size: 0.875rem;
}

.no-users .material-icons[b-6kpu5vh297] {
    font-size: 1.25rem;
    opacity: 0.6;
}

/* Users Card - Span full width on larger screens */
.users-card[b-6kpu5vh297] {
    grid-column: span 1;
}

/* Il cliente chiude la prima riga: con tre colonne, i dati del ticket ne occupano una e il cliente
   le altre due. Senza, la terza colonna restava vuota e la riga sembrava tagliata a meta'. */
.client-card[b-6kpu5vh297] {
    grid-column: span 1;
}

@media (min-width: 992px) {
    .users-card[b-6kpu5vh297],
    .client-card[b-6kpu5vh297] {
        grid-column: span 2;
    }
}

/* Footer Actions Card */
.card.border-0.shadow-sm.mt-4[b-6kpu5vh297] {
    background: var(--crm-surface);
    border-radius: 12px !important;
    border: 1px solid var(--crm-border) !important;
    box-shadow: var(--crm-shadow)) !important;
}

.card.border-0.shadow-sm.mt-4 .card-body[b-6kpu5vh297] {
    padding: 1.25rem 1.5rem;
    justify-content: flex-start;
}

/* Loading State */
.preview-loading[b-6kpu5vh297] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
    background: var(--crm-page-bg);
}

/* Responsive */
@media (max-width: 768px) {
    .modern-preview-container[b-6kpu5vh297] {
        padding: 1rem;
    }

    .preview-header-card[b-6kpu5vh297] {
        padding: 1rem 1.25rem;
    }

    .header-content[b-6kpu5vh297] {
        flex-direction: column;
        align-items: flex-start;
    }

    .ticket-number h3[b-6kpu5vh297] {
        font-size: 1.25rem;
    }

    .info-grid[b-6kpu5vh297] {
        grid-template-columns: 1fr;
    }

    .info-row[b-6kpu5vh297] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .info-value[b-6kpu5vh297] {
        text-align: left;
    }

    .assigned-user-item[b-6kpu5vh297] {
        padding: 0.5rem 0.75rem;
    }

    .claim-panel[b-6kpu5vh297] {
        align-items: flex-start;
        flex-direction: column;
    }

    .claim-title[b-6kpu5vh297] {
        white-space: normal;
    }

    .user-avatar[b-6kpu5vh297] {
        width: 32px;
        height: 32px;
        font-size: 0.75rem;
    }
}

/* Print Styles */
@media print {
    .ticket-details-page[b-6kpu5vh297] {
        background: white;
    }

    .info-card[b-6kpu5vh297],
    .description-card[b-6kpu5vh297],
    .preview-header-card[b-6kpu5vh297] {
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .card.border-0.shadow-sm.mt-4[b-6kpu5vh297] {
        display: none;
    }
}
/* /Pages/Tickets/TicketBlockDialog.razor.rz.scp.css */
.ticket-block-dialog[b-wp5u64skep] {
    display: grid;
    gap: 1rem;
    min-width: min(520px, 88vw);
}

.block-dialog-icon[b-wp5u64skep] {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.block-dialog-icon.block[b-wp5u64skep] {
    background: #fee2e2;
    color: #b91c1c;
}

.block-dialog-icon.resolve[b-wp5u64skep] {
    background: #dcfce7;
    color: #15803d;
}

.block-dialog-copy h5[b-wp5u64skep] {
    margin: 0 0 .25rem;
    font-size: 1rem;
    font-weight: 700;
}

.block-dialog-copy p[b-wp5u64skep] {
    margin: 0;
    color: var(--crm-text-muted, #64748b);
}

.block-dialog-error[b-wp5u64skep] {
    color: #b91c1c;
    font-size: .85rem;
}

.block-dialog-actions[b-wp5u64skep] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}
/* /Pages/Tickets/TicketContextPanel.razor.rz.scp.css */
.tcp[b-4ij921sqpn] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.tcp-title[b-4ij921sqpn] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--crm-text, #475569);
}

.tcp-title .material-icons[b-4ij921sqpn] {
    font-size: 1.15rem;
    color: var(--crm-text-muted, #64748b);
}

.tcp-meta[b-4ij921sqpn] {
    margin-left: auto;
    font-size: 0.8rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--crm-text-muted, #64748b);
}

.tcp-count[b-4ij921sqpn] {
    padding: 0 0.5rem;
    border-radius: 2rem;
    background: var(--crm-surface-muted, #f1f5f9);
    font-size: 0.75rem;
    color: var(--crm-text-muted, #64748b);
}

.tcp-description[b-4ij921sqpn] {
    padding: 0.75rem 1rem;
    border: 1px solid var(--crm-border, #e8ecf1);
    border-radius: 8px;
    background: var(--crm-surface-muted, #f8fafc);
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--crm-text, #374151);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
/* /Pages/Tickets/WorkList.razor.rz.scp.css */
/* ========================================
   LAVORI - l'elenco che il tecnico apre la mattina.
   Stessa grammatica visiva della Dashboard: schede, accento colorato per famiglia,
   colori sempre da variabili --crm-* cosi' il tema scuro segue da solo.
   ======================================== */

.work-page[b-kg42483w2w] {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    gap: 1.1rem;
}

/* ---------- Intestazione ---------- */
.work-head[b-kg42483w2w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    background: var(--crm-surface);
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    box-shadow: var(--crm-shadow));
    padding: 1rem 1.25rem;
}

.work-head-title[b-kg42483w2w] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.work-head-icon[b-kg42483w2w] {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--crm-primary) 15%, transparent);
    color: var(--crm-primary);
}

.work-head-icon .material-icons[b-kg42483w2w] {
    font-size: 23px;
}

.work-head-title h2[b-kg42483w2w] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--crm-text);
}

.work-head-title p[b-kg42483w2w] {
    margin: 0.1rem 0 0;
    font-size: 0.82rem;
    color: var(--crm-text-muted);
}

.work-head-side[b-kg42483w2w] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Contatori: si vedono solo quando hanno qualcosa da dire. */
.work-stat[b-kg42483w2w] {
    --stat-accent: var(--crm-text-muted);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    height: 32px;
    padding: 0 0.7rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--stat-accent) 26%, transparent);
    background: color-mix(in srgb, var(--stat-accent) 10%, transparent);
    color: var(--stat-accent);
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.work-stat .material-icons[b-kg42483w2w] {
    font-size: 16px;
}

.work-stat strong[b-kg42483w2w] {
    font-size: 0.9rem;
    line-height: 1;
}

.stat-late[b-kg42483w2w] { --stat-accent: var(--crm-danger); }
.stat-free[b-kg42483w2w] { --stat-accent: var(--crm-warning); }

/* ---------- Gruppo ---------- */
.work-group[b-kg42483w2w] {
    --group-accent: var(--crm-primary);
    background: var(--crm-surface);
    border: 1px solid var(--crm-border);
    border-radius: 12px;
    box-shadow: var(--crm-shadow));
    overflow: hidden;
}

.group-assistenza[b-kg42483w2w] { --group-accent: var(--crm-primary); }
.group-commessa[b-kg42483w2w] { --group-accent: var(--crm-warning); }
.group-bloccate[b-kg42483w2w] { --group-accent: var(--crm-text-muted); }

.work-group-head[b-kg42483w2w] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 1.1rem;
    border-bottom: 1px solid var(--crm-border);
    background: linear-gradient(90deg, color-mix(in srgb, var(--group-accent) 9%, transparent), transparent 60%);
}

.work-group-icon[b-kg42483w2w] {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--group-accent) 16%, transparent);
    color: var(--group-accent);
}

.work-group-icon .material-icons[b-kg42483w2w] {
    font-size: 19px;
}

.work-group-name[b-kg42483w2w] {
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--crm-text);
}

.work-group-count[b-kg42483w2w] {
    min-width: 26px;
    height: 24px;
    padding: 0 0.5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--group-accent) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--group-accent) 24%, transparent);
    color: var(--group-accent);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}

.work-group-note[b-kg42483w2w] {
    margin-left: auto;
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--crm-text-muted);
}

/* ---------- Riga ---------- */
.work-row[b-kg42483w2w] {
    display: grid;
    grid-template-columns: 4px auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.7rem 1.1rem 0.7rem 0;
    border-bottom: 1px solid var(--crm-border);
    cursor: pointer;
    transition: background 0.18s ease;
}

.work-row:last-child[b-kg42483w2w] {
    border-bottom: 0;
}

.work-row:hover[b-kg42483w2w] {
    background: var(--crm-surface-hover);
}

/* La barretta a sinistra: e' la sola cosa che cambia colore riga per riga. */
.work-row-bar[b-kg42483w2w] {
    align-self: stretch;
    background: color-mix(in srgb, var(--group-accent) 55%, transparent);
}

.work-row.in-ritardo .work-row-bar[b-kg42483w2w] {
    background: var(--crm-danger);
}

.work-num[b-kg42483w2w] {
    align-self: center;
    min-width: 3.4rem;
    text-align: center;
    padding: 0.15rem 0.4rem;
    border-radius: 8px;
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    color: var(--crm-text-muted);
    font-size: 0.74rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.work-row-main[b-kg42483w2w] {
    min-width: 0;
}

.work-row-title[b-kg42483w2w] {
    color: var(--crm-text);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-row-meta[b-kg42483w2w] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.work-tag[b-kg42483w2w] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    color: var(--crm-text-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.work-tag .material-icons[b-kg42483w2w] {
    font-size: 13px;
    flex-shrink: 0;
}

.work-tag span[b-kg42483w2w] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tag-commessa[b-kg42483w2w] {
    background: color-mix(in srgb, var(--group-accent) 10%, transparent);
    border-color: color-mix(in srgb, var(--group-accent) 24%, transparent);
    color: var(--group-accent);
}

.tag-blocco[b-kg42483w2w] {
    background: color-mix(in srgb, var(--crm-warning) 12%, transparent);
    border-color: color-mix(in srgb, var(--crm-warning) 28%, transparent);
    color: var(--crm-warning);
}

.work-row-side[b-kg42483w2w] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    white-space: nowrap;
}

.work-scadenza[b-kg42483w2w] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--crm-surface-muted);
    border: 1px solid var(--crm-border);
    color: var(--crm-text-muted);
    font-size: 0.76rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.work-scadenza .material-icons[b-kg42483w2w] {
    font-size: 14px;
}

.work-row.in-ritardo .work-scadenza[b-kg42483w2w] {
    background: color-mix(in srgb, var(--crm-danger) 12%, transparent);
    border-color: color-mix(in srgb, var(--crm-danger) 30%, transparent);
    color: var(--crm-danger);
}

.work-row .work-arrow[b-kg42483w2w] {
    color: var(--crm-border-strong);
    font-size: 18px;
    transition: transform 0.18s ease, color 0.18s ease;
}

.work-row:hover .work-arrow[b-kg42483w2w] {
    color: var(--group-accent);
    transform: translateX(2px);
}

/* Le bloccate restano in secondo piano: si leggono, non si prendono. */
.work-group.group-bloccate .work-row-title[b-kg42483w2w] {
    font-weight: 500;
    color: var(--crm-text-muted);
}

/* ---------- Stati ---------- */
.work-empty[b-kg42483w2w] {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    background: var(--crm-surface);
    border: 1px solid color-mix(in srgb, var(--crm-success) 26%, var(--crm-border));
    border-radius: 12px;
    box-shadow: var(--crm-shadow));
    padding: 2.75rem 1.5rem;
    text-align: center;
}

.work-empty .material-icons[b-kg42483w2w] {
    font-size: 44px;
    color: var(--crm-success);
}

.work-empty strong[b-kg42483w2w] {
    color: var(--crm-text);
    font-size: 1rem;
}

.work-empty span:not(.material-icons)[b-kg42483w2w] {
    color: var(--crm-text-muted);
    font-size: 0.85rem;
}

.work-error[b-kg42483w2w] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    border: 1px solid color-mix(in srgb, var(--crm-danger) 32%, transparent);
    background: color-mix(in srgb, var(--crm-danger) 8%, var(--crm-surface));
    border-radius: 12px;
    padding: 0.9rem 1.1rem;
    color: var(--crm-danger);
    font-weight: 600;
}

/* ---------- Schermi stretti ---------- */
@media (max-width: 640px) {
    .work-head[b-kg42483w2w] {
        padding: 0.9rem 1rem;
    }

    .work-head-side[b-kg42483w2w] {
        width: 100%;
        justify-content: flex-start;
    }

    .work-row[b-kg42483w2w] {
        grid-template-columns: 4px auto minmax(0, 1fr);
        row-gap: 0.5rem;
        padding: 0.7rem 0.9rem 0.7rem 0;
    }

    .work-row-title[b-kg42483w2w] {
        white-space: normal;
    }

    .work-row-side[b-kg42483w2w] {
        grid-column: 2 / -1;
        flex-wrap: wrap;
    }

    .work-arrow[b-kg42483w2w] {
        display: none;
    }
}
/* /Shared/Components/AttachmentImage.razor.rz.scp.css */
.attachment-image[b-0z0cdk6zl9] {
    display: grid;
    gap: .5rem;
    justify-items: start;
}

.attachment-image img[b-0z0cdk6zl9] {
    max-width: 100%;
    border: 1px solid var(--crm-border);
    border-radius: 8px;
    background: var(--crm-surface-muted);
}

.attachment-image.loading[b-0z0cdk6zl9],
.attachment-image.missing[b-0z0cdk6zl9] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 140px;
    border: 1px dashed var(--crm-border);
    border-radius: 8px;
    color: var(--crm-text-muted);
    font-size: .85rem;
}

.attachment-download[b-0z0cdk6zl9] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--crm-link);
    font-weight: 800;
    font-size: .82rem;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.attachment-download:hover[b-0z0cdk6zl9] {
    text-decoration: underline;
}

.attachment-download .material-icons[b-0z0cdk6zl9] {
    font-size: 18px;
}
/* /Shared/Components/Gantt/GanttTemplatePreview.razor.rz.scp.css */
.tpl-gantt-wrap[b-cng6eimrzd] {
    --g-bar: var(--crm-link, #3b82f6);
    --g-milestone: #f59e0b;
    --g-surface: var(--crm-surface, #fff);
    --g-muted: var(--crm-surface-muted, #f8fafc);
    --g-border: var(--crm-border, #e5e7eb);
    --g-text: var(--crm-text, #1f2937);
    --g-textmuted: var(--crm-text-muted, #6b7280);
    color: var(--g-text);
}

.tpl-gantt-empty[b-cng6eimrzd] {
    border: 1px dashed var(--g-border);
    border-radius: 10px;
    color: var(--g-textmuted);
}

.tpl-gantt-note[b-cng6eimrzd] {
    font-style: italic;
    opacity: .8;
}

/* Layout a due pannelli */
.tpl-gantt-grid[b-cng6eimrzd] {
    display: flex;
    border: 1px solid var(--g-border);
    border-radius: 10px;
    overflow: hidden;
    background: var(--g-surface);
}

.tpl-gantt-left[b-cng6eimrzd] {
    flex: 0 0 auto;
    width: 200px;
    border-right: 1px solid var(--g-border);
    background: var(--g-muted);
}

.tpl-gantt-left-head[b-cng6eimrzd] {
    display: flex;
    align-items: center;
    padding: 0 .6rem;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--g-textmuted);
    border-bottom: 1px solid var(--g-border);
}

.tpl-gantt-left-row[b-cng6eimrzd] {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding-right: .5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--g-border) 55%, transparent);
    font-size: .82rem;
}

.tpl-gantt-name[b-cng6eimrzd] {
    display: flex;
    align-items: center;
    gap: .25rem;
    min-width: 0;
    flex: 1 1 auto;
}

.tpl-gantt-name .text-truncate[b-cng6eimrzd] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tpl-ms-ico[b-cng6eimrzd] {
    font-size: 13px;
    color: var(--g-milestone);
    flex: 0 0 auto;
}

.tpl-gantt-dur[b-cng6eimrzd] {
    flex: 0 0 auto;
    font-size: .7rem;
    color: var(--g-textmuted);
    font-variant-numeric: tabular-nums;
}

/* Timeline: si allarga fino a riempire lo spazio, scorre solo se sotto la larghezza minima */
.tpl-gantt-right[b-cng6eimrzd] {
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
}

.tpl-gantt-chart[b-cng6eimrzd] {
    /* min-width / max-width sono impostati inline in base ai giorni totali */
    width: 100%;
    padding-right: 10px; /* respiro per milestone/frecce a fine piano */
    box-sizing: border-box; /* senza questo il padding sfora e crea uno scroll orizzontale */
}

.tpl-gantt-plot[b-cng6eimrzd] {
    position: relative;
    width: 100%;
}

.tpl-gantt-axis[b-cng6eimrzd] {
    position: relative;
    border-bottom: 1px solid var(--g-border);
    background: var(--g-muted);
}

.tpl-gantt-axis-seg[b-cng6eimrzd] {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .65rem;
    color: var(--g-textmuted);
    font-variant-numeric: tabular-nums;
}

.tpl-gantt-axis-seg.wk[b-cng6eimrzd] {
    border-left: 1px solid var(--g-border);
    font-weight: 600;
    color: var(--g-text);
}

.tpl-gantt-body[b-cng6eimrzd] {
    position: relative;
}

.tpl-gantt-vline[b-cng6eimrzd] {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: color-mix(in srgb, var(--g-border) 45%, transparent);
}

.tpl-gantt-vline.wk[b-cng6eimrzd] {
    background: var(--g-border);
}

.tpl-gantt-row-bg[b-cng6eimrzd] {
    position: absolute;
    left: 0;
    right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--g-border) 45%, transparent);
}

.tpl-gantt-bar[b-cng6eimrzd] {
    position: absolute;
    height: 20px;
    border-radius: 5px;
    background: var(--g-bar);
    display: flex;
    align-items: center;
    padding: 0 6px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}

.tpl-gantt-bar-label[b-cng6eimrzd] {
    font-size: .72rem;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .25);
}

.tpl-gantt-ms[b-cng6eimrzd] {
    position: absolute;
    width: 14px;
    height: 14px;
    background: var(--g-milestone);
    transform: rotate(45deg);
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
}

/* Connettori di dipendenza (gomiti in percentuale, niente SVG) */
.tpl-dep-seg[b-cng6eimrzd] {
    position: absolute;
    height: 1px;
    background: var(--g-textmuted);
    opacity: .55;
    pointer-events: none;
}

.tpl-dep-seg.v[b-cng6eimrzd] {
    width: 1px;
    height: auto;
}

.tpl-dep-arrow[b-cng6eimrzd] {
    position: absolute;
    width: 0;
    height: 0;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 5px solid var(--g-textmuted);
    opacity: .55;
    pointer-events: none;
}
/* /Shared/Components/Gantt/RedGGantt.razor.rz.scp.css */
/* Gantt commessa: scala a giorni lavorativi, larghezza colonna calcolata a runtime
   (--rg-day) e colori derivati dal tema CRM cosi' da reggere chiaro e scuro. */
.redg-gantt-wrap[b-uk4nguy4ma] {
    --rg-accent: var(--crm-link, #0f4a8a);
    --rg-milestone: #f59e0b;
    --rg-surface: var(--crm-surface, #fff);
    --rg-surface-muted: var(--crm-surface-muted, #f8fafc);
    --rg-border: var(--crm-border, #dfe7f1);
    --rg-line: color-mix(in srgb, var(--rg-border) 70%, transparent);
    --rg-line-soft: color-mix(in srgb, var(--rg-border) 40%, transparent);
    --rg-text: var(--crm-text, #1f2937);
    --rg-muted: var(--crm-text-muted, #64748b);
    --rg-row: 34px;
    color: var(--rg-text);
}

/* Le altezze di righe e teste sono calcolate in C#: senza border-box i bordi le
   sfalserebbero e le due colonne non resterebbero allineate. */
.redg-gantt-wrap[b-uk4nguy4ma],
.redg-gantt-wrap *[b-uk4nguy4ma] {
    box-sizing: border-box;
}

.gantt-empty[b-uk4nguy4ma] {
    border: 1px dashed var(--rg-border);
    border-radius: 10px;
}

/* ─── Toolbar ─────────────────────────────────────────────────────────── */
.rg-toolbar[b-uk4nguy4ma] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .5rem;
}

.rg-zoom[b-uk4nguy4ma] {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--rg-border);
    border-radius: 8px;
    overflow: hidden;
    background: var(--rg-surface);
}

.rg-zoom-btn[b-uk4nguy4ma],
.rg-zoom-label[b-uk4nguy4ma],
.rg-tool-btn[b-uk4nguy4ma] {
    border: 0;
    background: transparent;
    color: var(--rg-text);
    font-size: .74rem;
    line-height: 1;
    cursor: pointer;
}

.rg-zoom-btn[b-uk4nguy4ma] {
    display: inline-flex;
    align-items: center;
    padding: 0 .4rem;
}

.rg-zoom-btn .material-icons[b-uk4nguy4ma] {
    font-size: 16px;
}

.rg-zoom-btn:disabled[b-uk4nguy4ma] {
    opacity: .35;
    cursor: default;
}

.rg-zoom-label[b-uk4nguy4ma] {
    min-width: 62px;
    padding: .35rem .3rem;
    border-left: 1px solid var(--rg-border);
    border-right: 1px solid var(--rg-border);
    color: var(--rg-muted);
    font-variant-numeric: tabular-nums;
}

.rg-zoom-label.fit[b-uk4nguy4ma] {
    color: var(--rg-accent);
    font-weight: 600;
}

.rg-zoom-btn:hover:not(:disabled)[b-uk4nguy4ma],
.rg-zoom-label:hover[b-uk4nguy4ma],
.rg-tool-btn:hover[b-uk4nguy4ma] {
    background: var(--crm-surface-hover, #f1f5f9);
}

.rg-tool-btn[b-uk4nguy4ma] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .35rem .55rem;
    border: 1px solid var(--rg-border);
    border-radius: 8px;
    background: var(--rg-surface);
}

.rg-tool-btn .material-icons[b-uk4nguy4ma] {
    font-size: 15px;
}

.rg-legend[b-uk4nguy4ma] {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-left: auto;
    color: var(--rg-muted);
    font-size: .68rem;
}

.rg-legend-item[b-uk4nguy4ma] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    white-space: nowrap;
}

.rg-dot[b-uk4nguy4ma] {
    width: 9px;
    height: 9px;
    border-radius: 3px;
}

.rg-dot.planned[b-uk4nguy4ma] { background: color-mix(in srgb, var(--rg-accent) 45%, transparent); }
.rg-dot.active[b-uk4nguy4ma] { background: var(--rg-accent); }
.rg-dot.done[b-uk4nguy4ma] { background: #16a34a; }
.rg-dot.late[b-uk4nguy4ma] { background: #e11d48; }
.rg-dot.blocked[b-uk4nguy4ma] { background: #b91c1c; }

@media (max-width: 991px) {
    .rg-legend[b-uk4nguy4ma] {
        display: none;
    }
}

/* ─── Griglia: un solo contenitore scrollabile, colonna sinistra congelata ── */
.rg-grid[b-uk4nguy4ma] {
    position: relative;
    display: flex;
    align-items: flex-start;
    max-height: min(70vh, 760px);
    overflow: auto;
    border: 1px solid var(--rg-border);
    border-radius: 10px;
    background: var(--rg-surface);
    overscroll-behavior-x: contain;
}

.rg-left[b-uk4nguy4ma] {
    position: sticky;
    left: 0;
    z-index: 6;
    flex: 0 0 clamp(190px, 26%, 330px);
    width: clamp(190px, 26%, 330px);
    background: var(--rg-surface-muted);
    border-right: 1px solid var(--rg-border);
    box-shadow: 1px 0 0 var(--rg-border);
}

.rg-left-head[b-uk4nguy4ma],
.rg-left-row[b-uk4nguy4ma] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .35rem;
    padding-right: 8px;
}

.rg-left-head[b-uk4nguy4ma] {
    position: sticky;
    top: 0;
    z-index: 2;
    padding-left: 10px;
    background: var(--rg-surface-muted);
    border-bottom: 1px solid var(--rg-border);
    color: var(--rg-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.rg-left-row[b-uk4nguy4ma] {
    border-bottom: 1px solid var(--rg-line);
    cursor: pointer;
}

.rg-left-row.hover[b-uk4nguy4ma] {
    background: var(--crm-surface-hover, #f1f5f9);
}

.rg-left-row.summary .rg-name-text[b-uk4nguy4ma] {
    font-weight: 600;
}

.rg-name[b-uk4nguy4ma] {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 4px;
    font-size: .76rem;
}

.rg-name-text[b-uk4nguy4ma] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rg-metrics[b-uk4nguy4ma] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex: 0 0 auto;
}

/* ─── Canvas temporale ────────────────────────────────────────────────── */
.rg-canvas[b-uk4nguy4ma] {
    position: relative;
    flex: 0 0 auto;
    user-select: none;
    touch-action: pan-x pan-y;
}

.rg-head[b-uk4nguy4ma] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--rg-surface-muted);
    border-bottom: 1px solid var(--rg-border);
}

.rg-months[b-uk4nguy4ma] {
    position: relative;
    height: 20px;
    border-bottom: 1px solid var(--rg-line);
}

.rg-month[b-uk4nguy4ma] {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-left: 1px solid var(--rg-border);
    color: var(--rg-muted);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.rg-month:first-child[b-uk4nguy4ma] {
    border-left: 0;
}

.rg-days[b-uk4nguy4ma] {
    position: relative;
    height: 28px;
}

.rg-day[b-uk4nguy4ma] {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    overflow: hidden;
    color: var(--rg-muted);
    font-size: .66rem;
}

.rg-day.week-start[b-uk4nguy4ma] {
    box-shadow: inset 1px 0 0 var(--rg-border);
}

/* Giunzione dove weekend/festivi sono stati compressi */
.rg-day.gap[b-uk4nguy4ma] {
    box-shadow: inset 2px 0 0 color-mix(in srgb, var(--rg-milestone) 55%, transparent);
}

.rg-day.today[b-uk4nguy4ma] {
    background: color-mix(in srgb, #ef4444 12%, transparent);
}

.rg-day-num[b-uk4nguy4ma] {
    color: var(--rg-text);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.rg-day.today .rg-day-num[b-uk4nguy4ma] {
    color: #ef4444;
}

.rg-day-name[b-uk4nguy4ma] {
    font-size: .6rem;
    text-transform: uppercase;
    opacity: .8;
}

/* ─── Corpo: reticolo disegnato in CSS, non un div per giorno ─────────── */
.rg-body[b-uk4nguy4ma] {
    position: relative;
    background-image:
        repeating-linear-gradient(to bottom, transparent 0 calc(var(--rg-row) - 1px), var(--rg-line) calc(var(--rg-row) - 1px) var(--rg-row)),
        repeating-linear-gradient(to right, var(--rg-line-soft) 0 1px, transparent 1px var(--rg-day));
}

.rg-row-hover[b-uk4nguy4ma] {
    position: absolute;
    left: 0;
    right: 0;
    background: color-mix(in srgb, var(--rg-accent) 7%, transparent);
    pointer-events: none;
}

.rg-week-line[b-uk4nguy4ma],
.rg-gap-line[b-uk4nguy4ma],
.rg-today[b-uk4nguy4ma] {
    position: absolute;
    top: 0;
    bottom: 0;
}

.rg-week-line[b-uk4nguy4ma] {
    width: 1px;
    background: var(--rg-border);
}

.rg-gap-line[b-uk4nguy4ma] {
    width: 3px;
    margin-left: -1px;
    background: repeating-linear-gradient(to bottom,
        color-mix(in srgb, var(--rg-milestone) 55%, transparent) 0 4px,
        transparent 4px 8px);
}

.rg-today[b-uk4nguy4ma] {
    width: 2px;
    background: #ef4444;
    z-index: 2;
    pointer-events: none;
}

/* Sopra le barre, non sotto: un connettore costretto ad attraversare una barra resta leggibile
   invece di sparirci dentro. Il disegno non intercetta il mouse, quindi trascinare le barre
   continua a funzionare. */
.rg-deps[b-uk4nguy4ma] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
    pointer-events: none;
    overflow: visible;
}

.rg-deps path[b-uk4nguy4ma] {
    fill: none;
    stroke: var(--rg-muted);
    stroke-width: 1.3;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .6;
}

.rg-deps marker path[b-uk4nguy4ma] {
    fill: var(--rg-muted);
    stroke: none;
    opacity: .8;
}

/* ─── Barre ───────────────────────────────────────────────────────────── */
.rg-bar[b-uk4nguy4ma] {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: 0 7px;
    border-radius: 5px;
    background: var(--rg-accent);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .18);
    cursor: grab;
    transition: box-shadow 120ms ease, filter 120ms ease;
}

.rg-bar:active[b-uk4nguy4ma] {
    cursor: grabbing;
}

.rg-bar.hover[b-uk4nguy4ma] {
    filter: brightness(1.06);
    box-shadow: 0 2px 6px rgba(15, 23, 42, .26);
}

.rg-bar.planned[b-uk4nguy4ma] { background: color-mix(in srgb, var(--rg-accent) 45%, var(--rg-surface)); }
.rg-bar.active[b-uk4nguy4ma] { background: var(--rg-accent); }
.rg-bar.done[b-uk4nguy4ma] { background: #16a34a; }
.rg-bar.late[b-uk4nguy4ma] { background: #e11d48; }

.rg-bar.blocked[b-uk4nguy4ma] {
    background: #b91c1c;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .4), 0 1px 2px rgba(15, 23, 42, .2);
}

/* Riga di riepilogo: evidenzia la finestra della fase padre senza sembrare un'attivita' esecutiva. */
.rg-bar.summary[b-uk4nguy4ma] {
    /* 9px a sinistra: il nome deve partire dopo la testata disegnata con ::before */
    padding: 0 9px;
    border-radius: 999px;
    background: linear-gradient(90deg, #64748b 0%, #94a3b8 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5), 0 1px 2px rgba(15, 23, 42, .12);
    cursor: pointer;
    opacity: .95;
}

.rg-bar.summary[b-uk4nguy4ma]::before,
.rg-bar.summary[b-uk4nguy4ma]::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 7px;
    height: 14px;
    border-color: #64748b;
    border-style: solid;
    transform: translateY(-50%);
}

.rg-bar.summary[b-uk4nguy4ma]::before {
    left: -1px;
    border-width: 0 0 0 2px;
    border-radius: 2px 0 0 2px;
}

.rg-bar.summary[b-uk4nguy4ma]::after {
    right: -1px;
    border-width: 0 2px 0 0;
    border-radius: 0 2px 2px 0;
}

.rg-bar.summary .rg-bar-progress[b-uk4nguy4ma],
.rg-bar.summary .rg-handle[b-uk4nguy4ma] {
    display: none;
}

.rg-bar.summary .rg-bar-label[b-uk4nguy4ma] {
    font-weight: 600;
}

.rg-bar-progress[b-uk4nguy4ma] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .22);
    border-radius: inherit;
    pointer-events: none;
}

.rg-bar-label[b-uk4nguy4ma] {
    position: relative;
    min-width: 0;
    z-index: 1;
    font-size: .71rem;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .28);
}

/* Barra troppo corta per il testo: l'etichetta esce di fianco */
.rg-bar-label.outside[b-uk4nguy4ma] {
    position: absolute;
    left: calc(100% + 6px);
    max-width: 220px;
    padding: 1px 5px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--rg-surface) 90%, transparent);
    color: var(--rg-text);
    text-shadow: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .14);
    pointer-events: none;
}

/* Vicino al bordo destro l'etichetta si ribalta a sinistra */
.rg-bar-label.outside.flip[b-uk4nguy4ma] {
    left: auto;
    right: calc(100% + 6px);
}

.rg-bar-badge[b-uk4nguy4ma],
.rg-bar-blocked[b-uk4nguy4ma] {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    font-size: .64rem;
    line-height: 1;
    border-radius: 6px;
    font-variant-numeric: tabular-nums;
}

.rg-bar-badge[b-uk4nguy4ma] {
    margin-left: auto;
    padding: 1px 4px;
    background: rgba(255, 255, 255, .26);
    color: #fff;
}

.rg-bar-blocked[b-uk4nguy4ma] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 1px 5px;
    background: rgba(255, 255, 255, .92);
    color: #991b1b;
    font-weight: 700;
}

.rg-bar-blocked .material-icons[b-uk4nguy4ma] {
    font-size: 12px;
}

.rg-handle[b-uk4nguy4ma] {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: 9px;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: ew-resize;
}

.rg-handle.start[b-uk4nguy4ma] { left: 0; border-radius: 5px 0 0 5px; }
.rg-handle.end[b-uk4nguy4ma] { right: 0; border-radius: 0 5px 5px 0; }

.rg-handle:hover[b-uk4nguy4ma] {
    background: rgba(255, 255, 255, .3);
}

.rg-milestone[b-uk4nguy4ma] {
    position: absolute;
    z-index: 4;
    width: 14px;
    height: 14px;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background: var(--rg-milestone);
    transform: rotate(45deg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .22);
    cursor: grab;
}

.rg-milestone:active[b-uk4nguy4ma] {
    cursor: grabbing;
}

.rg-milestone.hover[b-uk4nguy4ma] {
    filter: brightness(1.1);
}

/* ─── Pillole e icone della colonna attivita' ─────────────────────────── */
.gantt-ms-ico[b-uk4nguy4ma] {
    color: var(--rg-milestone);
    vertical-align: middle;
}

.gantt-blocked-ico[b-uk4nguy4ma] {
    color: #dc2626;
    vertical-align: middle;
}

.gantt-progress-pill[b-uk4nguy4ma] {
    display: inline-block;
    font-size: .67rem;
    padding: 1px 6px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--rg-border) 70%, transparent);
    color: var(--rg-text);
    font-variant-numeric: tabular-nums;
}

.gantt-progress-pill.auto[b-uk4nguy4ma] {
    background: color-mix(in srgb, var(--rg-accent) 18%, transparent);
    color: var(--rg-accent);
}

.gantt-ticket-pill[b-uk4nguy4ma] {
    display: inline-block;
    font-size: .64rem;
    padding: 1px 5px;
    border-radius: 8px;
    border: 1px solid var(--rg-border);
    color: var(--rg-muted);
    font-variant-numeric: tabular-nums;
}

.gantt-ticket-pill.blocked[b-uk4nguy4ma] {
    border-color: #fecaca;
    background: #fee2e2;
    color: #991b1b;
    font-weight: 700;
}

.gantt-editor[b-uk4nguy4ma] {
    background: var(--rg-surface-muted);
}

.gantt-dep-remove:hover[b-uk4nguy4ma] {
    color: #e11d48;
}
/* /Shared/Components/ScrollableText.razor.rz.scp.css */
.st-wrap[b-zsz3fxkqb6] {
    position: relative;
}

.st-body[b-zsz3fxkqb6] {
    overflow-y: auto;
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--crm-text);
    white-space: pre-wrap;
    word-break: break-word;
    text-align: left;
}

/* Discreto: piccolo, trasparente, in alto a destra, e si vede meglio solo passandoci sopra. */
.st-expand[b-zsz3fxkqb6] {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    border: 0;
    border-radius: .35rem;
    background: color-mix(in srgb, var(--crm-surface, transparent) 85%, transparent);
    color: var(--crm-text-muted, #9e9e9e);
    opacity: .6;
    cursor: pointer;
}

.st-expand:hover[b-zsz3fxkqb6],
.st-expand:focus-visible[b-zsz3fxkqb6] {
    opacity: 1;
    color: var(--crm-text);
}

.st-expand .material-icons[b-zsz3fxkqb6] {
    font-size: 1.05rem;
}

.st-full[b-zsz3fxkqb6] {
    max-height: 70vh;
    overflow-y: auto;
    font-size: 1rem;
    line-height: 1.7;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Shared/MainLayout.razor.rz.scp.css */
.page[b-674zyuawbf] {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--crm-page-bg);
}

.main[b-674zyuawbf] {
    flex: 1;
    background: var(--crm-page-bg);
}

.sidebar[b-674zyuawbf] {
    background: var(--crm-nav-bg);
    border-right: 1px solid var(--crm-nav-border);
}

.logo[b-674zyuawbf] {
    height: 40px;
    margin-right: auto;
}

.top-row[b-674zyuawbf] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 3.5rem;
    background: var(--crm-surface);
    border-bottom: 1px solid var(--crm-border);
}

.topbar-actions[b-674zyuawbf] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-left: 0.85rem;
}

.connection-status[b-674zyuawbf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem;
    color: var(--crm-text-muted);
}

.top-row[b-674zyuawbf]  a,
.top-row[b-674zyuawbf]  .btn-link {
    white-space: nowrap;
    text-decoration: none;
}

.content-scroll[b-674zyuawbf] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-674zyuawbf] {
        display: none;
    }

    .logo[b-674zyuawbf] {
        display: none;
    }

    .top-row.auth[b-674zyuawbf] {
        justify-content: space-between;
    }

    .topbar-actions[b-674zyuawbf] {
        gap: 0.45rem;
        margin-left: auto;
    }
}

@media (min-width: 641px) {
    .page[b-674zyuawbf] {
        flex-direction: row;
    }

    .sidebar[b-674zyuawbf] {
        width: 236px;
        height: 100vh;
        position: sticky;
        top: 0;
        flex: 0 0 236px;
    }

    .top-row[b-674zyuawbf] {
        position: sticky;
        top: 0;
        z-index: 5;
    }

    .top-row[b-674zyuawbf] {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Shared/MainLayoutCustomer.razor.rz.scp.css */
.page[b-2ygsofxn1i] {
    position: relative;
    display: flex;
    flex-direction: column;
    
}

.main[b-2ygsofxn1i] {
    flex: 1;
}

.sidebarMain[b-2ygsofxn1i] {
    background: var(--crm-nav-bg);
    border-right: 1px solid var(--crm-nav-border);
}

.top-row[b-2ygsofxn1i] {
    border-bottom: 1px solid var(--crm-border);
    justify-content: space-between;
    height: 3.5rem;
    display: flex;
    align-items: center;
    background: var(--crm-surface);
}

.top-row[b-2ygsofxn1i]  .logo {
    height: 40px;
}

   
    .top-row[b-2ygsofxn1i]  a, .top-row .btn-link[b-2ygsofxn1i] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

    .top-row a:first-child[b-2ygsofxn1i] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-2ygsofxn1i] {
        display: none;
    }

    .top-row.auth[b-2ygsofxn1i] {
        justify-content: space-between;
    }

    .top-row a[b-2ygsofxn1i], .top-row .btn-link[b-2ygsofxn1i] {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-2ygsofxn1i] {
        flex-direction: row;
    }

    .sidebarMain[b-2ygsofxn1i] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-2ygsofxn1i] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main > div[b-2ygsofxn1i] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Shared/NavMenu.razor.rz.scp.css */
/* Barra laterale. I colori vengono da theme.css (--crm-nav-*) e seguono il tema. */

.modern-topbar[b-dvh4t14lw5] {
    display: flex;
    align-items: center;
    height: 3.5rem;
    padding: 0 1rem;
    background: var(--crm-nav-bg);
    border-bottom: 1px solid var(--crm-nav-border);
}

.navbar-brand[b-dvh4t14lw5] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

.brand-mark[b-dvh4t14lw5] {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--crm-primary), var(--crm-primary-hover));
    border-radius: 9px;
}

.brand-mark .material-icons[b-dvh4t14lw5] {
    font-size: 20px;
}

.brand-text[b-dvh4t14lw5] {
    color: var(--crm-text);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.navbar-toggler[b-dvh4t14lw5] {
    display: inline-grid;
    width: 40px;
    height: 40px;
    margin-left: auto;
    padding: 0;
    place-items: center;
    color: var(--crm-nav-text);
    background: transparent;
    border: 0;
    border-radius: var(--crm-radius-sm);
}

.navbar-toggler:hover[b-dvh4t14lw5] {
    background: var(--crm-nav-hover);
}

.modern-nav[b-dvh4t14lw5] {
    height: calc(100vh - 3.5rem);
    padding: 0.75rem 0.6rem 1rem;
    overflow-y: auto;
    color: var(--crm-nav-text);
    background: var(--crm-nav-bg);
}

.nav-root[b-dvh4t14lw5] {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    gap: 2px;
}

.nav-spacer[b-dvh4t14lw5] {
    flex: 1 1 auto;
}

.nav-divider[b-dvh4t14lw5] {
    height: 1px;
    margin: 0.5rem 0.4rem;
    background: var(--crm-nav-border);
}

/* Link e intestazioni di gruppo hanno la stessa geometria, ma non lo stesso peso:
   il link e' una destinazione, l'intestazione e' un contenitore e resta piu' tenue. */
.modern-nav[b-dvh4t14lw5]  .nav-link,
.nav-group-header[b-dvh4t14lw5] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    min-height: 38px;
    padding: 0.45rem 0.7rem;
    color: var(--crm-nav-text);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    background: transparent;
    border: 0;
    border-radius: var(--crm-radius-sm);
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease;
}

.modern-nav[b-dvh4t14lw5]  .nav-link:hover,
.nav-group-header:hover[b-dvh4t14lw5] {
    color: var(--crm-nav-text);
    background: var(--crm-nav-hover);
}

.modern-nav[b-dvh4t14lw5]  .nav-link.active {
    color: var(--crm-nav-active-text);
    font-weight: 600;
    background: var(--crm-nav-active-bg);
}

.modern-nav[b-dvh4t14lw5]  .nav-link.active::before {
    position: absolute;
    inset-block: 9px;
    inset-inline-start: -0.6rem;
    width: 3px;
    content: "";
    background: var(--crm-primary);
    border-radius: 0 3px 3px 0;
}

.modern-nav[b-dvh4t14lw5]  .nav-icon {
    flex: 0 0 auto;
    font-size: 21px;
    color: var(--crm-nav-text-muted);
    transition: color 120ms ease;
}

.modern-nav[b-dvh4t14lw5]  .nav-link:hover .nav-icon,
.nav-group-header:hover[b-dvh4t14lw5]  .nav-icon {
    color: var(--crm-nav-text);
}

.modern-nav[b-dvh4t14lw5]  .nav-link.active .nav-icon {
    color: var(--crm-nav-active-text);
}

.modern-nav[b-dvh4t14lw5]  .nav-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Intestazione di gruppo */
.nav-group-header[b-dvh4t14lw5] {
    color: var(--crm-nav-text);
}

.nav-group.has-active > .nav-group-header[b-dvh4t14lw5] {
    color: var(--crm-nav-active-text);
}

.nav-group.has-active > .nav-group-header[b-dvh4t14lw5]  .nav-icon {
    color: var(--crm-nav-active-text);
}

.nav-chevron[b-dvh4t14lw5] {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 18px;
    color: var(--crm-nav-text-muted);
    transition: transform 160ms ease;
}

.nav-group.is-open > .nav-group-header .nav-chevron[b-dvh4t14lw5] {
    transform: rotate(180deg);
}

/* Voci dentro un gruppo: rientrate e con una linea guida a sinistra */
.nav-group-items[b-dvh4t14lw5] {
    position: relative;
    margin: 2px 0 4px 1.05rem;
    padding-left: 0.55rem;
    border-left: 1px solid var(--crm-nav-border);
    animation: nav-reveal-b-dvh4t14lw5 140ms ease-out;
}

.modern-nav[b-dvh4t14lw5]  .nav-sub {
    min-height: 34px;
    padding: 0.35rem 0.6rem;
    font-size: 0.86rem;
    color: var(--crm-nav-text-muted);
}

.modern-nav[b-dvh4t14lw5]  .nav-sub .nav-icon {
    font-size: 18px;
}

.modern-nav[b-dvh4t14lw5]  .nav-sub:hover {
    color: var(--crm-nav-text);
}

.modern-nav[b-dvh4t14lw5]  .nav-sub.active::before {
    inset-inline-start: calc(-0.55rem - 1px);
    inset-block: 8px;
}

/* Sotto-etichette dentro un gruppo lungo (Commerciale) */
.nav-sub-label[b-dvh4t14lw5] {
    padding: 0.55rem 0.6rem 0.15rem;
    color: var(--crm-nav-section);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Contatore */
.modern-nav[b-dvh4t14lw5]  .nav-badge {
    flex: 0 0 auto;
    min-width: 1.35rem;
    padding: 0.1rem 0.4rem;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    background: var(--crm-danger);
    border-radius: var(--crm-radius-pill);
}

/* Voce di servizio in fondo */
.modern-nav[b-dvh4t14lw5]  .nav-quiet {
    color: var(--crm-nav-text-muted);
    font-size: 0.84rem;
}

.modern-nav[b-dvh4t14lw5]::-webkit-scrollbar {
    width: 6px;
}

.modern-nav[b-dvh4t14lw5]::-webkit-scrollbar-thumb {
    background: var(--crm-nav-border);
    border-radius: 6px;
}

@keyframes nav-reveal-b-dvh4t14lw5 {
    from { opacity: 0; transform: translateY(-3px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (min-width: 641px) {
    .navbar-toggler[b-dvh4t14lw5] {
        display: none;
    }

    .collapse[b-dvh4t14lw5] {
        display: block;
    }
}

@media (max-width: 640px) {
    .modern-nav[b-dvh4t14lw5] {
        height: auto;
        max-height: calc(100vh - 3.5rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nav-group-items[b-dvh4t14lw5],
    .nav-chevron[b-dvh4t14lw5],
    .modern-nav[b-dvh4t14lw5]  .nav-link {
        animation: none;
        transition: none;
    }
}
/* /Shared/NavMenuClient.razor.rz.scp.css */
/* Menu del portale cliente. Stessi colori della barra interna (theme.css). */

.modern-topbar[b-19pmu8mig7] {
    display: flex;
    align-items: center;
    height: 3.5rem;
    padding: 0 1rem;
    background: var(--crm-nav-bg);
    border-bottom: 1px solid var(--crm-nav-border);
}

.navbar-brand[b-19pmu8mig7] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

.brand-mark[b-19pmu8mig7] {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--crm-primary), var(--crm-primary-hover));
    border-radius: 9px;
}

.brand-mark .material-icons[b-19pmu8mig7] {
    font-size: 20px;
}

.brand-text[b-19pmu8mig7] {
    color: var(--crm-text);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.navbar-toggler[b-19pmu8mig7] {
    display: inline-grid;
    width: 40px;
    height: 40px;
    margin-left: auto;
    padding: 0;
    place-items: center;
    color: var(--crm-nav-text);
    background: transparent;
    border: 0;
    border-radius: var(--crm-radius-sm);
}

.navbar-toggler:hover[b-19pmu8mig7] {
    background: var(--crm-nav-hover);
}

.client-nav[b-19pmu8mig7] {
    height: calc(100vh - 3.5rem);
    padding: 0.75rem 0.6rem;
    overflow-y: auto;
    background: var(--crm-nav-bg);
}

.client-nav[b-19pmu8mig7]  .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 38px;
    padding: 0.45rem 0.7rem;
    margin-bottom: 2px;
    color: var(--crm-nav-text);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.25;
    text-decoration: none;
    border-radius: var(--crm-radius-sm);
    transition: background-color 120ms ease, color 120ms ease;
}

.client-nav[b-19pmu8mig7]  .nav-link:hover {
    color: var(--crm-nav-text);
    background: var(--crm-nav-hover);
}

.client-nav[b-19pmu8mig7]  .nav-link.active {
    color: var(--crm-nav-active-text);
    font-weight: 600;
    background: var(--crm-nav-active-bg);
}

.client-nav[b-19pmu8mig7]  .nav-link.active::before {
    position: absolute;
    inset-block: 9px;
    inset-inline-start: -0.6rem;
    width: 3px;
    content: "";
    background: var(--crm-primary);
    border-radius: 0 3px 3px 0;
}

.client-nav[b-19pmu8mig7]  .material-icons {
    flex: 0 0 auto;
    font-size: 21px;
    color: var(--crm-nav-text-muted);
}

.client-nav[b-19pmu8mig7]  .nav-link.active .material-icons {
    color: var(--crm-nav-active-text);
}

.client-nav[b-19pmu8mig7]  .nav-text {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (min-width: 641px) {
    .navbar-toggler[b-19pmu8mig7] {
        display: none;
    }

    .collapse[b-19pmu8mig7] {
        display: block;
    }
}

@media (max-width: 640px) {
    .client-nav[b-19pmu8mig7] {
        height: auto;
        max-height: calc(100vh - 3.5rem);
    }
}
/* /Shared/PrintLayout.razor.rz.scp.css */
.page[b-yjt8xiwhyi] {
    position: relative;
    display: flex;
    flex-direction: column;
}

.main[b-yjt8xiwhyi] {
    flex: 1;
}

.sidebar[b-yjt8xiwhyi] {
    background-image: linear-gradient(180deg, #222e3c 0%, #222e3c 100%);
    /* background-image: url("../imgs/forex.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;*/
    /*background-color: #0e122e;*/
}


.logo[b-yjt8xiwhyi]
{
    width: 150px;
    margin-right: auto;
}

.top-row[b-yjt8xiwhyi] {
    /*background-color: #f7f7f7;*//* aplus */
    background-color: #141c24; /*chronos*/
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-yjt8xiwhyi]  a, .top-row[b-yjt8xiwhyi]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-yjt8xiwhyi]  a:hover, .top-row[b-yjt8xiwhyi]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-yjt8xiwhyi]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-yjt8xiwhyi] {
        display: none;
    }
    .logo[b-yjt8xiwhyi]
    {
        display: none;
    }
    .top-row.auth[b-yjt8xiwhyi] {
        justify-content: space-between;
    }

    .top-row[b-yjt8xiwhyi]  a, .top-row[b-yjt8xiwhyi]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-yjt8xiwhyi] {
        flex-direction: row;
    }

    .sidebar[b-yjt8xiwhyi] {
        width: 200px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-yjt8xiwhyi] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-yjt8xiwhyi]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-yjt8xiwhyi], article[b-yjt8xiwhyi] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Shared/ThemeToggle.razor.rz.scp.css */
.theme-toggle-shell[b-prc4n1cqm7] {
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
}

.theme-toggle-shell[b-prc4n1cqm7]  .theme-toggle {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    padding: 0;
    border-radius: 50%;
    box-shadow: none;
}

.theme-toggle-shell[b-prc4n1cqm7]  .theme-toggle .rzi {
    font-size: 1.25rem;
}
