/**
 * Admin-specific CSS Reset
 *
 * Minimal reset für Admin-Interface, baut auf Framework-Reset auf.
 */

@layer admin-generic {
    /**
     * Box Sizing
     */
    .admin-layout *,
    .admin-layout *::before,
    .admin-layout *::after {
        box-sizing: border-box;
    }

    /**
     * Remove default margins
     */
    .admin-layout h1,
    .admin-layout h2,
    .admin-layout h3,
    .admin-layout h4,
    .admin-layout h5,
    .admin-layout h6,
    .admin-layout p,
    .admin-layout ul,
    .admin-layout ol,
    .admin-layout figure {
        margin: 0;
    }

    /**
     * Remove default list styles
     */
    .admin-layout ul,
    .admin-layout ol {
        padding: 0;
        list-style: none;
    }

    /**
     * Links
     */
    .admin-layout a {
        color: var(--admin-link-color);
        text-decoration: none;
        transition: color var(--admin-transition-fast);
    }

    .admin-layout a:hover {
        color: var(--admin-link-hover);
    }

    .admin-layout a:focus-visible {
        outline: 2px solid var(--admin-focus-ring);
        outline-offset: 2px;
        border-radius: var(--admin-radius-sm);
    }

    /**
     * Buttons
     */
    .admin-layout button {
        font-family: inherit;
        font-size: inherit;
        line-height: inherit;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
    }

    /**
     * Images
     */
    .admin-layout img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    /**
     * Reduced Motion
     */
    @media (--admin-reduced-motion) {
        .admin-layout *,
        .admin-layout *::before,
        .admin-layout *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
        }
    }
}
