        .ico {
            width: 18px;
            height: 18px;
            display: inline-block;
            vertical-align: middle;
            opacity: .8
        }

        .ico-muted {
            opacity: .35
        }

        .dot {
            width: 8px;
            height: 8px;
            border-radius: 9999px;
            display: inline-block;
            margin-right: .5rem
        }

        .dot-green {
            background: #22c55e
        }

        .dot-blue {
            background: #3b82f6
        }

        .dot-amber {
            background: #f59e0b
        }

        .dot-slate {
            background: #64748b
        }

        .card {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 14px;
            overflow: hidden;
        }

        .th {
            font-size: .75rem;
            font-weight: 600;
            color: #64748b;
            text-transform: uppercase;
            padding: .9rem 1rem;
        }

        .td {
            padding: 1rem;
        }

        .row {
            border-top: 1px solid #eef2f7;
        }

        .btn {
            border-radius: 10px;
            padding: .55rem .9rem;
            font-weight: 600;
        }

        .btn-primary {
            background: #682C6E;
            color: #fff;
        }

        .btn-primary:hover {
            filter: brightness(0.95);
        }

        .btn-ghost {
            border: 1px solid #e5e7eb;
            background: #fff;
            color: #111827;
        }

        .btn-ghost:hover {
            border-color: #cbd5e1;
        }

        .pill-sel {
            background: #f4e5f6;
            border: 1px solid #e5e7eb;
            border-radius: 9999px;
            padding: .35rem .6rem;
            font-weight: 600;
        }

        .input {
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            padding: .55rem .9rem;
        }

        .input:focus {
            outline: none;
            border-color: #682C6E;
            box-shadow: 0 0 0 3px rgba(104, 44, 110, .15);
        }

        .cell-center {
            text-align: center;
            min-width: 60px;
        }

        /* Amélioration responsive pour mobile */
        @media (max-width: 768px) {

            .th,
            .td {
                font-size: 0.7rem;
                padding: 0.6rem 0.3rem;
            }

            .ico {
                width: 14px;
                height: 14px;
            }

            .cell-center {
                min-width: 45px;
            }

            .btn {
                padding: 0.4rem 0.6rem;
                font-size: 0.85rem;
            }

            .input {
                padding: 0.45rem 0.7rem;
                font-size: 0.9rem;
            }
        }