/**
 * ENNU Practice Manager - Main CSS Orchestrator
 *
 * This file imports all modular CSS components
 * Used when loading ALL styles (admin backend, etc.)
 *
 * For production use, consider using the conditional loader
 * that only loads required modules per shortcode
 *
 * @package ENNU_Practice_Manager
 * @version 1.0.0
 * @author ENNU Life
 */

/* === BASE LAYER === */
/* Core design tokens and variables */
@import url('base/variables.css');

/* Reusable component styles (buttons, cards, tables, etc.) */
@import url('base/components.css');

/* Utility classes for rapid development */
@import url('base/utilities.css');

/* === FEATURE LAYER === */
/* Individual shortcode-specific styles */

/* Dashboard shortcode */
@import url('features/pm-dashboard.css');

/* Scheduling shortcode */
@import url('features/pm-scheduling.css');

/* Inventory management shortcode */
@import url('features/pm-inventory.css');

/* Compliance monitoring shortcode */
@import url('features/pm-compliance.css');

/* Communications shortcode */
@import url('features/pm-communications.css');

/* System administration shortcode */
@import url('features/pm-system.css');

/* Analytics shortcode */
@import url('features/pm-analytics.css');

/* Patient management shortcode */
@import url('features/pm-patients.css');

/* Revenue analytics shortcode */
@import url('features/pm-revenue.css');

/* === GLOBAL OVERRIDES === */

/**
 * WordPress Admin Bar compatibility
 */
.admin-bar .pm-modal {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .pm-modal {
        top: 46px;
    }
}

/**
 * Print styles
 */
@media print {
    .pm-btn,
    .pm-modal__close,
    .pm-tabs,
    .ennu-pm-header,
    .pm-form__actions {
        display: none !important;
    }

    .ennu-pm-section,
    .pm-card {
        border: none !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }

    .pm-table {
        font-size: 10pt;
    }
}

/**
 * Accessibility improvements
 */
.pm-btn:focus,
.pm-form__input:focus,
.pm-form__select:focus {
    outline: 2px solid var(--pm-primary);
    outline-offset: 2px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/**
 * High contrast mode support
 */
@media (prefers-contrast: high) {
    .pm-btn,
    .pm-badge,
    .pm-card {
        border-width: 2px;
    }
}
