/* Helpers (Tokens & Utilities) */
@import '../Helpers/Css/_tokens.css';
@import '../Helpers/Css/_utilities.css';

/* Base */
@import 'base/_variables.css';
@import 'base/_colors.css';
@import 'base/_typography.css';

/* Layouts */
@import 'layouts/_grid.css';
@import 'layouts/_auth.css';
@import 'layouts/_home.css';
@import 'layouts/_otp.css';

/* Components */
@import 'components/_buttons.css';
@import 'components/_forms.css';
@import 'components/_dropdowns.css';
@import 'components/_notifications.css';
@import 'components/_checkboxes.css';
@import 'components/_file-upload.css';
@import 'components/_password-strength.css';
@import 'components/_navbar.css';
@import 'components/_sidemenu.css';
@import 'components/_footer.css';
@import 'components/_breadcrumb.css';
@import 'components/_ui.css';
@import 'components/_settings.css';
@import 'components/_cards.css';
@import 'components/_hero.css';
@import 'components/_support.css';
@import 'components/_app-cards.css';
@import 'components/_app-dashboard.css';
@import 'components/_language-switcher.css';
@import 'components/_notice.css';
@import 'components/_help.css';
@import 'components/_tabs.css';
@import 'components/_pipeline.css';
@import 'components/_tables.css';
@import 'components/_ticket-notification.css';

/* Pages */
@import 'pages/_help.css';
@import 'pages/_documentation.css';

/* Reset de base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--color-text-primary);
    background-color: var(--color-background-primary);
    min-height: 100vh;
    position: relative;
}

/* Global container override: make containers full-width across the app */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl,
.container-fluid {
    max-width: 100% !important;
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
}

/* Main Content */
.main-content {
    /* Avoid extra scroll: account for paddings and fixed navbar/footer */
    min-height: calc(100vh - var(--navbar-height) - var(--footer-height) - var(--spacing-lg));
    padding-top: calc(var(--navbar-height) + var(--spacing-lg));
    margin-left: var(--sidebar-width);
    padding-bottom: var(--footer-height);
}

@media (max-width: 768px) {
    .main-content {
        margin-left: 0;
        padding-top: calc(var(--navbar-height) + var(--spacing-md));
        padding-bottom: 70px;
        min-height: calc(100vh - var(--navbar-height) - 70px - var(--spacing-md));
    }
}

.page-content {
    flex: 1;
    padding: var(--spacing-xl);
}

/* Ensure container vertical padding so content doesn’t hide under navbar/footer */
.container-p-y {
    padding-top: calc(var(--navbar-height, 64px) + var(--spacing-lg, 1rem));
    padding-bottom: var(--footer-height, 70px);
}

@media (max-width: 768px) {
    .container-p-y {
        padding-top: calc(var(--navbar-height, 64px) + var(--spacing-md, 0.75rem));
        padding-bottom: 70px;
    }
}

/* Utilitaires hérités (à migrer progressivement) */
.text-muted {
    color: var(--color-text-secondary);
}

.page-header {
    margin-bottom: var(--spacing-xl);
}

.page-header h1 {
    font-size: var(--font-size-xxl);
    margin-bottom: var(--spacing-sm);
    color: var(--color-text-primary);
}

/* Animation de chargement */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.loading {
    animation: spin 1s linear infinite;
}
