/**
 * Content Component - Admin Interface
 *
 * Main content area with cards, sections, and containers.
 * Responsive spacing and max-width management.
 */

@layer admin-components {
    /**
     * Main Content Container
     */
    .admin-content {
        padding: var(--admin-spacing-content-padding);
        background-color: var(--admin-content-bg);
        color: var(--admin-content-text);
        overflow-x: hidden;

        /* Wide: Center content with max-width */
        @media (min-width: 1440px) {
            max-width: var(--admin-spacing-content-max-width);
            margin: 0 auto;
            width: 100%;
        }

        /* Mobile: Reduce padding */
        @media (max-width: 767px) {
            padding: var(--admin-spacing-md);
        }
    }

    /**
     * Content Header
     */
    .admin-content__header {
        margin-bottom: var(--admin-spacing-xl);
    }

    .admin-content__title {
        font-size: var(--admin-font-size-3xl);
        font-weight: 700;
        color: var(--admin-content-text);
        margin: 0 0 var(--admin-spacing-sm);

        @media (max-width: 767px) {
            font-size: var(--admin-font-size-2xl);
        }
    }

    .admin-content__description {
        font-size: var(--admin-font-size-base);
        color: var(--admin-content-text);
        opacity: 0.8;
        margin: 0;
        line-height: 1.6;
    }

    /**
     * Content Actions (Header with Actions)
     */
    .admin-content__header--with-actions {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: var(--admin-spacing-md);

        @media (max-width: 767px) {
            flex-direction: column;
            align-items: stretch;
        }
    }

    .admin-content__title-group {
        flex: 1;
        min-width: 0;
    }

    .admin-content__actions {
        display: flex;
        align-items: center;
        gap: var(--admin-spacing-sm);
        flex-shrink: 0;

        @media (max-width: 767px) {
            width: 100%;
            justify-content: flex-start;
        }
    }

    /**
     * Card Component
     */
    .admin-card {
        background-color: var(--admin-content-bg);
        border: 1px solid var(--admin-border-light);
        border-radius: var(--admin-radius-lg);
        padding: var(--admin-spacing-lg);
        box-shadow: var(--admin-shadow-sm);

        /* Hover effect for interactive cards */
        &.admin-card--interactive {
            cursor: pointer;
            transition: all var(--admin-transition-base);

            &:hover {
                border-color: var(--admin-border-medium);
                box-shadow: var(--admin-shadow-md);
                transform: translateY(-2px);
            }
        }
    }

    .admin-card__header {
        margin-bottom: var(--admin-spacing-md);
        padding-bottom: var(--admin-spacing-md);
        border-bottom: 1px solid var(--admin-border-light);
    }

    .admin-card__title {
        font-size: var(--admin-font-size-lg);
        font-weight: 600;
        color: var(--admin-content-text);
        margin: 0;
    }

    .admin-card__subtitle {
        font-size: var(--admin-font-size-sm);
        color: var(--admin-content-text);
        opacity: 0.7;
        margin: var(--admin-spacing-xs) 0 0;
    }

    .admin-card__body {
        margin: 0;
    }

    .admin-card__footer {
        margin-top: var(--admin-spacing-md);
        padding-top: var(--admin-spacing-md);
        border-top: 1px solid var(--admin-border-light);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--admin-spacing-sm);
    }

    /**
     * Section Component
     */
    .admin-section {
        margin-bottom: var(--admin-spacing-2xl);

        &:last-child {
            margin-bottom: 0;
        }
    }

    .admin-section__header {
        margin-bottom: var(--admin-spacing-lg);
    }

    .admin-section__title {
        font-size: var(--admin-font-size-xl);
        font-weight: 600;
        color: var(--admin-content-text);
        margin: 0 0 var(--admin-spacing-xs);
    }

    .admin-section__description {
        font-size: var(--admin-font-size-sm);
        color: var(--admin-content-text);
        opacity: 0.8;
        margin: 0;
    }

    /**
     * Stats Grid (Dashboard Cards)
     */
    .admin-stats-grid {
        display: grid;
        gap: var(--admin-spacing-md);
        grid-template-columns: 1fr;

        @media (min-width: 768px) {
            grid-template-columns: repeat(2, 1fr);
        }

        @media (min-width: 1024px) {
            grid-template-columns: repeat(4, 1fr);
        }
    }

    .admin-stat-card {
        background-color: var(--admin-content-bg);
        border: 1px solid var(--admin-border-light);
        border-radius: var(--admin-radius-lg);
        padding: var(--admin-spacing-lg);
    }

    .admin-stat-card__label {
        font-size: var(--admin-font-size-sm);
        color: var(--admin-content-text);
        opacity: 0.7;
        margin: 0 0 var(--admin-spacing-xs);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        font-weight: 600;
    }

    .admin-stat-card__value {
        font-size: var(--admin-font-size-3xl);
        font-weight: 700;
        color: var(--admin-content-text);
        margin: 0 0 var(--admin-spacing-sm);
        line-height: 1.2;
    }

    .admin-stat-card__change {
        font-size: var(--admin-font-size-sm);
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: var(--admin-spacing-xs);

        &.admin-stat-card__change--positive {
            color: var(--admin-accent-success);
        }

        &.admin-stat-card__change--negative {
            color: var(--admin-accent-error);
        }

        &.admin-stat-card__change--neutral {
            color: var(--admin-content-text);
            opacity: 0.6;
        }
    }

    .admin-stat-card__icon {
        width: 40px;
        height: 40px;
        padding: var(--admin-spacing-sm);
        background-color: var(--admin-bg-secondary);
        border-radius: var(--admin-radius-md);
        color: var(--admin-accent-primary);
        margin-bottom: var(--admin-spacing-md);
    }

    /**
     * Empty State
     */
    .admin-empty-state {
        text-align: center;
        padding: var(--admin-spacing-2xl);
        color: var(--admin-content-text);
    }

    .admin-empty-state__icon {
        width: 64px;
        height: 64px;
        margin: 0 auto var(--admin-spacing-lg);
        opacity: 0.4;
    }

    .admin-empty-state__title {
        font-size: var(--admin-font-size-xl);
        font-weight: 600;
        margin: 0 0 var(--admin-spacing-sm);
    }

    .admin-empty-state__description {
        font-size: var(--admin-font-size-base);
        opacity: 0.8;
        margin: 0 0 var(--admin-spacing-lg);
    }

    .admin-empty-state__action {
        /* Button styles inherited */
    }

    /**
     * Loading State
     */
    .admin-loading {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: var(--admin-spacing-2xl);
        color: var(--admin-content-text);
    }

    .admin-loading__spinner {
        width: 40px;
        height: 40px;
        border: 3px solid var(--admin-border-light);
        border-top-color: var(--admin-accent-primary);
        border-radius: 50%;
        animation: admin-spin 0.8s linear infinite;
    }

    .admin-loading__text {
        margin-top: var(--admin-spacing-md);
        font-size: var(--admin-font-size-sm);
        opacity: 0.8;
    }

    @keyframes admin-spin {
        to {
            transform: rotate(360deg);
        }
    }
}
