body {
    font-family: 'Space Grotesk', sans-serif;
}

/* Navigation */
.navbar-nav .nav-item {
    margin-right: 0.5rem;
}

/* DataTables */
.datatable td,
.datatable-filterable td {
    vertical-align: middle;
}

.datatable th,
.datatable td,
.datatable-filterable th,
.datatable-filterable td {
    text-align: left !important;
}

.datatable td:last-child,
.datatable th:last-child,
.datatable-filterable td:last-child,
.datatable-filterable th:last-child {
    text-align: right;
    white-space: nowrap;
    width: 1%;
}

/* Dropzone */
.dropzone-area {
    border: 2px dashed #dee2e6;
    border-radius: 0.5rem;
    padding: 2rem 1rem;
    text-align: center;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s, background-color 0.2s;
}

.dropzone-area:hover,
.dropzone-area.dragover {
    border-color: #0d6efd;
    background-color: #f0f6ff;
}

.dropzone-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.dropzone-filename {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Batch selection */
.batch-checkbox-col {
    width: 1% !important;
    text-align: center !important;
}

.batch-toolbar {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
}

/* Password toggle */
.password-toggle {
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    background: transparent;
    border: 1px solid #dee2e6;
    border-left: none;
    border-radius: 0 0.375rem 0.375rem 0;
}

/* Focus visible pour accessibilité clavier */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* Skip to content (accessibilité) */
.skip-to-content {
    position: absolute;
    top: -100%;
    left: 0;
    z-index: 9999;
    padding: 0.5rem 1rem;
    background: #0d6efd;
    color: #fff;
    text-decoration: none;
}

.skip-to-content:focus {
    top: 0;
}

/* DataTables responsive */
.dataTables_wrapper {
    width: 100%;
}

.dataTables_wrapper .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Responsive mobile */
@media (max-width: 767.98px) {
    .batch-toolbar {
        flex-wrap: wrap;
    }

    .batch-toolbar form {
        width: 100%;
        justify-content: flex-end;
    }

    /* Empiler les cards formulaire facture */
    .invoice-form .col-md-8,
    .invoice-form .col-md-4 {
        width: 100%;
    }

    /* Filtres dashboard empilés */
    #dashboard-filters .col-md-2 {
        width: 50%;
    }

    /* Actions compactes */
    .datatable td:last-child,
    .datatable-filterable td:last-child {
        white-space: nowrap;
    }
}

@media (max-width: 575.98px) {
    .navbar-brand img {
        height: 24px;
    }

    h1 {
        font-size: 1.5rem;
    }

    .btn-sm {
        font-size: 0.75rem;
        padding: 0.2rem 0.4rem;
    }

    /* Filtres dashboard pleine largeur */
    #dashboard-filters .col-md-2 {
        width: 100%;
    }
}
