.b360-cockpit-banner {
    border: 0;
    border-left: 5px solid #198754;
    background: linear-gradient(135deg, #ffffff 0%, #f5faf7 100%);
}

.b360-channel-card,
.b360-kpi-card,
.b360-module-card {
    border: 0;
    transition: transform .15s ease, box-shadow .15s ease;
}

.b360-channel-card:hover,
.b360-module-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .10) !important;
}

.b360-channel-card { border-top: 4px solid transparent; }
.b360-channel-api { border-top-color: #0d6efd; }
.b360-channel-h2h { border-top-color: #6f42c1; }
.b360-channel-mail { border-top-color: #198754; }
.b360-channel-portail { border-top-color: #fd7e14; }

.b360-channel-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: .45rem;
}

.b360-channel-api .b360-channel-dot { background: #0d6efd; }
.b360-channel-h2h .b360-channel-dot { background: #6f42c1; }
.b360-channel-mail .b360-channel-dot { background: #198754; }
.b360-channel-portail .b360-channel-dot { background: #fd7e14; }

.b360-kpi-card { border-left: 4px solid #dee2e6; }
.b360-kpi-success { border-left-color: #198754; }
.b360-kpi-stp { border-left-color: #0d6efd; }
.b360-kpi-danger { border-left-color: #dc3545; }

.b360-orchestration {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) repeat(5, minmax(125px, 1fr));
    gap: .7rem;
    align-items: stretch;
}

.b360-channel-group,
.b360-orchestration-step {
    position: relative;
    border: 1px solid #e9ecef;
    border-radius: .75rem;
    background: #fff;
}

.b360-channel-group {
    padding: .75rem;
}

.b360-channel-group-title {
    margin-bottom: .55rem;
    text-align: center;
    font-size: .78rem;
    font-weight: 700;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.b360-channel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(100px, 1fr));
    gap: .5rem;
}

.b360-entry-channel {
    min-height: 78px;
    padding: .65rem .45rem;
    border: 1px solid #e9ecef;
    border-top-width: 3px;
    border-radius: .55rem;
    text-align: center;
    background: #f8f9fa;
}

.b360-entry-api { border-top-color: #0d6efd; }
.b360-entry-h2h { border-top-color: #6f42c1; }
.b360-entry-mail { border-top-color: #198754; }
.b360-entry-portail { border-top-color: #fd7e14; }

.b360-entry-icon {
    display: block;
    margin-bottom: .15rem;
    font-size: 1.1rem;
}

.b360-orchestration-step {
    display: flex;
    min-height: 178px;
    padding: 1rem .65rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.b360-step-engine {
    border-color: rgba(13, 110, 253, .35);
    background: rgba(13, 110, 253, .04);
}

.b360-channel-group::after,
.b360-orchestration-step:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -.75rem;
    top: 45%;
    z-index: 2;
    color: #6c757d;
    font-weight: 700;
}

.b360-orchestration-icon {
    display: block;
    font-size: 1.35rem;
    margin-bottom: .35rem;
}

.b360-last-flow {
    background: linear-gradient(135deg, #0d6efd 0%, #084298 100%);
    color: #fff;
}

.b360-reference { overflow-wrap: anywhere; }
.b360-table thead th { white-space: nowrap; }

@media (max-width: 1399.98px) {
    .b360-orchestration {
        grid-template-columns: repeat(3, minmax(180px, 1fr));
    }

    .b360-channel-group {
        grid-column: 1 / -1;
    }

    .b360-channel-grid {
        grid-template-columns: repeat(4, minmax(120px, 1fr));
    }

    .b360-channel-group::after,
    .b360-orchestration-step::after {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .b360-orchestration,
    .b360-channel-grid {
        grid-template-columns: 1fr;
    }

    .b360-channel-group {
        grid-column: auto;
    }

    .b360-orchestration-step {
        min-height: 120px;
    }
}
