/* style.css */

/* Custom Scrollbar */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Button Utilities */
.btn-primary {
    background-color: #2563eb; /* brand-600 */
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 500;
    transition: all 0.2s;
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.3);
}
.btn-primary:hover {
    background-color: #1d4ed8; /* brand-700 */
}
.btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-ghost {
    color: #475569; /* slate-600 */
    background-color: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 500;
    transition: all 0.2s;
}
.btn-ghost:hover {
    background-color: #f1f5f9; /* slate-100 */
    color: #0f172a; /* slate-900 */
}

/* Utility for view toggling */
.hidden {
    display: none !important;
}

/* Spinner Animation */
@keyframes spin {
    to { transform: rotate(360deg); }
}
.spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.75s linear infinite;
    margin-right: 0.5rem;
}
