/* Display Utilities */

/* Visibility */

/* Display */
.hidden { display: none !important; }
/* Screen Reader Only */
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/* Focus utilities */
    outline-offset: 2px;
}

}

/* Opacity */
.opacity-50 { opacity: 0.5; }
.opacity-75 { opacity: 0.75; }
/* Pointer Events */

/* User Select */

/* Cursor */

/* Resize */

/* Object Fit */
/* Object Position */

/* Responsive Display Utilities */
@media (max-width: 576px) {
    .hidden-xs { display: none !important; }
    .hidden-sm { display: none !important; }
    .hidden-md { display: none !important; }
    .hidden-lg { display: none !important; }
    .print-hidden { display: none !important; }
    .print-visible { display: block !important; }
}

/* Loading states */
    pointer-events: none;
    cursor: wait;
}

    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid transparent;
    border-top-color: var(--accent-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Disabled state */
    pointer-events: none;
    cursor: not-allowed;
}

/* Hover states */
    transition: opacity 0.3s ease;
}

}

/* Backdrop utilities */
}

}

}
